• Как лучше организовать хранение данных?

    @Arlekcangp
    Ivan_doc, Просто для информации: Насколько я знаю, некий аналог access есть в Open Offcie. Я никогда его не пробовал, но возможно он работает =)
    На счёт использовать Sqlite я бы поспорил, даже если сейчас делаете только для одного компьютера. Возьни примерно одинаково что и с нормальной базой, но с нормальной базой потом нет проблем подключить ещё пользователей. А с Sqlite сначала надо будет мигрировать.
    Написано
  • Как создаётся курс биткоина?

    @Arlekcangp
    Добавлю немного "опасного марксисткого говна" (кто не в курсе, это из "рецензии" "графини" Собчак о фильме Джокер =)) Так вот, в целом всё написанное верно, за исключением одной мелкой детали: не стоимость, а цена. Стоимость - это количество труда вложенное в товар. Она остаётся той, какой была на момент создания этого товара (и может измеряться не только в каких-то денежных единицах, но и, например, в часах. Также как и цена, этот показатель относителен, т к в одном обществе тот же товар можно произвести с меньшими затратами чем в другом, но тем не менее у него хотя бы есть основа помимо хаоса рынка..) Здесь речь идёт именно о цене. Кроме того сам биткоин не является товаром в классическом понимании. Скорее это ценная "бумага", поэтому его цена напрямую определяется держателями и теми, кто может как то на него влиять. И совершенно не зависит от объективных затрат на его "добычу" (легко можно показать периоды в истории цен биткойна с совершенно разным соотношением между затратами на "добычу", средств для этой "добычи" и его ценой ) Я бы сказал что цена есть некий интегральный результат хаотических взаимодействий (иногда не очень хаотических, если речь идёт об уже контролируемом влиянии, как в примере с биржей) Упомянутые современные "теории" пытаются объяснить цену некой "субъективной полезностью". Биткоин (а также и подавляющее большинство товарных рынков) убедительно демонстрируют несостоятельность таких теорий, а значит и всех уравнений, которые вроде как должны предсказывать хотя бы движение цен на большом масштабе, но не могут предсказать даже глобальные кризисы. Поэтому однозначный ответ на вопрос: "Никакой формулы нет, если только вы не можете влиять на это сами" В качестве примера: Си Цзиньпинь успешно повлиял - запрет майнинга в Китае на продолжительно время опустил цены криптовалют. А ведь по сути ничего не изменилось, и даже наоборот уменьшение добычи должно было вызвать дефицит биткойна и цена должа была пойти вверх... (а только лишь одно обсуждение возможно запрета в РФ вообще чуть ли не 30% их сбило. При том очевидно, что если бы в РФ запрещать начали раньше Китая, то такого эффекта не наблюдалось бы)
  • Python, postgress, pandas - куда утекает память?

    @Arlekcangp
    Сергей Горностаев, Ну не знаю... С моей точки зрения аналитика может легко включать в себя доступ к нескольким БД и при этом поддерживать обновления данных периодически... Я всё же надеюсь, что и авторы pandas тоже такой точки зрения придерживаются.
  • Python, postgress, pandas - куда утекает память?

    @Arlekcangp
    Сергей Горностаев,
    вряд ли его авторы предполагали такое использование.

    Чего такого необычного в этом коде ? Тем более что в вопросе на SO код ещё проще. Подождём, может автор вопроса что-нибудь напишет, нашёл он утечку или нет.
  • Какой Xeon выбрать под рабочую станцию для machine learning?

    @Arlekcangp
    А можете пояснить, как многопроцессорность играет в минус по скорости работы с памятью? На каждый процессор выделяются свои 4 канала памяти, в чем собственно проблема?

    Да,но не забывайте про синхронизацию. Т к память между ними разделяется, то при обращениях к одной и той же области один всё равно будет ждать. Но тут понятно, что сравнивать надо одинаковое количество ядер. На мой взгляд лучше взять скажем 24 ядра в одном камне, чем 2 по 12 ядер. И по-моему частота памяти в двух-сокетных системах ниже. К тому же мать на два сокета обычно дороже. Другое дело, если вы оба процессора берёте по максимуму. Но с другой стороны я посмотрел на цены... Может быть вы правы и лучше взять два сокета по финансовым соображениям. (ну это не зря выходит дешевле. Значит такой вариант скорее всего хуже чем один CPU на вдвое больше потоков И да, посмотрел цены на tr4 и офигел! Жалею что пару лет назад не купил себе )))
  • Визуализатор множеств с поддержкой операций над ними?

    @Arlekcangp
    Рискну порекомендовать такой реликт, как Foxpro. Для практических целей лучше не использовать, но чем хорош: даёт возможность непосредственно редактировать модель данных руками и тут же просматривать таблицы и менять данные в них. С другой стороны сейчас всё тоже самое можно делать в Sql management studio и MS SQL сервере. Возьмите пример базы какой-нибудь или сами накидайте быстренько. И на пример объясните знакомому как работают объединения таблиц Соглашусь c остальными, что одной диаграммы Венна тут будет маловато. В реляционной модели главное не сами множества, а отношения между ними - прямые и обратные ссылки, один-ко-многим и т.д. Раз поняв это, будет фундамент с которого уже можно нырять в любую БД или диалект.
  • Какие книги стоит почитать для поднятия навыков в написание кода для игр в Unity новичку?

    @Arlekcangp
    Как я подозреваю, вопрос всё же был о разработке самих игр. (по крайней мере я подписался на него из-за этого =)
  • Какой Xeon выбрать под рабочую станцию для machine learning?

    @Arlekcangp
    vldud, Ну в таком случае почему бы не рассмотреть вместе с Xeon и старые Threadripper или даже Ryzen. (может быть и Epyc, но новые - это целое состояние, а старых как то видимо мало и китайцы их не распродают) Там в соседней ветке про память пишут... Я бы тут добавил что тогда предпочтительнее брать однопроцессорную систему и причём такую, которая не нуждается в ECC-памяти и поддерживает обычный DDR4. Потому что и многопроцессорность и ECC играют в минус по скорости работы с памятью. (вот первая же ссылка в гугл. Не воспринимайте как рекомендацию, просто для сравнения: 24 потока, 4 канала памяти https://aliexpress.ru/item/1005003433333770.html?_... )
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Arlekcangp
    SantaDelToro, Мне кажется, имеет место банальный перегиб в "техничности" интервью. Т е те кто его проводят задались целью через маленький кусочек кода извлечь знания о том, способен ли кандидат делать то что им нужно. На мой взгляд это в принципе не работает. (Именно поэтому я за тестовые задания, вместо "листочка с ручкой". А ведь когда то на заре и сам так пробовал мучить людей. Слава галактике, понимание абсурдности этой затеи пришло довольно быстро.) И, думаю, в этом конкретном случае спорить с интервьюерами бесполезно. Они чётко настроились на то, что хотят получить. Аж так сильно, что забыли донести эту позицию до кандидата внятным языком. Показав им, что они не правы, вы, возможно, облегчите дорогу другим кандидатам, но не себе. А может даже они всё равно продолжат воспринимать только тех, кто заучил определение из "правильного" учебника. Поэтому с ними можно спорить, но потом всё равно придется соглашаться. А тогда какой в этом смысл ? Я считаю, пусть идут своей дорогой.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Arlekcangp
    Матвей Румынин,
    не думаю что это технически в движке именно так и реализовано.

    Но так реализовать как минимум можно. И такая реализация как раз является унификацией - т е исключает выделенные объекты, коим является глобальное окружение в js. Другая реализация скорее всего преследует цели оптимизации производительности. Я сомневаюсь, что в тех же современных реализациях Scheme переменные внутри let реализованы таким же наивным способом через lambda, каким это показано во всей литературе (кроме спец. литературы по построению компиляторов и интерпретаторов). Но ведь это не является поводом к пересмотру определения...
  • Как реализовывают "платные" библиотеки в dotnet?

    @Arlekcangp
    Влад,
    А новая native сборка насколько легко поддается реверсинжинирингу?

    Это всегда вопрос упорства "черной шляпы". Если в этом реверсе есть смысл (т е это скажем не банальный UI-фреймворк, а какой-то алгоритм, который атакующий хочет потом продать или использовать в своём продукте (причём вот в этих случаях уже есть смысл, т к юридически может не быть факта нарушения интеллектуальных прав или это может быть тяжело доказать), то это рано или поздно распотрошат и никакая защита не поможет. Что касается Net framework то на мой взгляд там изначально дела обстояли лучше чем в той же Java. Декомпиляторы были, но выдавали такую абракадабру, что надо иметь очень сильное желание этим заниматься. (это даже без обфускаторов, просто если проект собран в релиз без лишней информации в ассембли) Но это было давно. А сейчас, если вас действительно этот вопрос заботит, то как первый этап, я бы взял все возможные декомпиляторы и обфускаторы и сам посмотрел бы на каком уровне находится декомпиляция чистого кода и обфусцированного. Если же у вас в проекте прям очень know how там , то вы можете пригласить кого-нибудь из "белых шляп" проверить насколько тяжело вашу модель зашиты сломать. И испросить советов у него. Абсолютной защиты в любом случае не бывает. Нужно исходить из того, что вы защищаете и для чего оно может понадобится взломщикам.
  • Как реализовывают "платные" библиотеки в dotnet?

    @Arlekcangp
    Ну самый банальный банальный пример - записать куда-нибудь дату первого запуска. Обычно это либо файл/встроенная БД в файле, либо реестр. (понятно, что могут найти, ну так взломать можно всё) Можно конечно через интернет её сообщать сервису, а потом при каждом запуске проверять (так например продукты автодеска делают и многие другие), но по-моему для библиотеки это черезчур (да я бы сказал что и для другого софта тоже, но кто ж меня будет слушать...) Есть ещё аппратные usb-ключи, но это как я понимаю уже не про триал-периоды. Но в него может прошиваться какая то информация, которую приложение потом может читать. В принципе никто не мешает и триал-ключ выпустить. Только дорого это. С другой стороны при таких ценах более тысячи не деревянных, уже не так и дорого - хоть каждый год новый выпускайте.
  • Что возвращает Kafka на front?

    @Arlekcangp
    1.Из вопроса не понятно, кафка под вашим контролем или это сторонняя система ? Если под вашим, то не понятно зачем оно нужно в такой простой схеме ? Неужто получение информации о фильме такая времезатратная и ресурсозатратная операция, что нужно её выполнять через шину сообщений ?
    2.Обычно фронт вообще не взаимодействует с брокерами сообщений напрямую. Вместо этого вы пишите свой сервис (на Java, Go, PHP, C# или ещё на чём, в принципе и nodejs можно) который получает запрос с фрона, оформляет его в виде сообщения в кафку (для этого для всех популярных языков и платформ есть sdk), ждёт оттуда ответ и оформляет этот ответ для фронта в виде JSON. У кафки свой протокол взаимодействия и он основан на сообщениях. Т е ответ вы тоже будете получать в виде сообщения, а не синхронно, как в случае с REST API.
  • Как реализовывают "платные" библиотеки в dotnet?

    @Arlekcangp
    На мой взгляд немного странный вопрос. По-моему тут "кто во что горазд". Самый простой способ, это пройтись обфускатором, который вырежет всю информацию о символах, а что не вырежет, то "понадкусает" - заменит абракадаброй. Плюс вставит пару защит от декомпиляции и дампирования. Понятно, что это так себе защита. Но если подумать, а кому нужно ломать упомянутый набор компонентов то ? Коммерческое приложение со взломанными либами - это так себе идея. Рано или поздно юристы его "настигнут". А open source - тем более мимо. Остаются студенты-практиканты, которым заняться нечем...
  • Разница в стримах коллекций и массива?

    @Arlekcangp
    Tidus,
    знаете, ответ на данный сабж - что аррей это спец.тип и поэтому он не содержит методов - едва ли прямо очень глубокий

    По-моему он достаточен для большинства применений. Для меня это вполне достаточно, что бы понять, что реализация массивов зашита на низком уровне JVM. Вам же, если вам недостаточно, никто не мешает взять исходные коды или отладчик и пойти ковырять какую-либо реализацию JVM. Наивно ждать, что на таким образом заданный вопрос, вам дадут исчерпывающий все аспекты, ответ. Из важного, на мой взгляд, следует знать, что в отличие от других типов при работе с массивами не происходит боксинг/анбоксинг, ну и так же то, что уже сказали: Array - это по сути Си-массив. В JVM есть интринсики по работе с Си-массивами и областями памяти (например, копирование и заполнение). Отсюда все проблемы с тем, что не смотря на то, что создатели JVM очень старались скрыть детали реализации, некоторые вещи очевидно с массивами JVM будет вынуждена выполнять не так, как с обычными объектами. Но могу сказать, что на мой взгляд слишком детальные знания об этом могут быть даже избыточными. Завтра выйдет новая JVM, в которой массивы будут реализованными по другому и все эти знания окажутся не нужными ( может ради того, что бы знать архитектуру такого ПО, можно потратить время. Но из вопроса никак не следует, что вы интересуетесь именно с этой целью. И изучать придется всю архитектуру JVM, что бы понять, почему такое решение было принято, а не только отдельно массивы)
    А также мой ответ, что аррей лист - это обёртка над арреем

    Вот уже поправили себя же - не любой List, а именно ArrayList. Но вы же должны понимать, что в контексте этих знаний, ваш вопрос становится абсурдным. Очевидно, что для того и был сделан лист, потому что массив как спец.тип не в состоянии поддержать все те операции, которые требуются от листа. И не должен. Ну а дальше с этого уже различие пошло и в стримах.
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    @Arlekcangp
    Матвей Румынин,
    Глобальный объект window существует весь рантайм от запуска программы до ее завершения.

    Т е если структура данные плюс функция порождена компилятором/рантаймом/интерпретатором то это не замыкание ?
  • Разница в стримах коллекций и массива?

    @Arlekcangp
    Tidus, Вам стоит признать, что вы действительно не знаете достаточно базовой вещи - Array в Java специальный тип (странно, но он не примитивный и является потомком Object, однако это не рядовой объект, т к JVM имеет специальный код для обработки массивов.) Уж не знаю, что сейчас за учебники такие по Java, в которых не упоминают хотя бы базовое, что Array - спец. тип...
  • Разница в стримах коллекций и массива?

    @Arlekcangp
    Jacen11, Не думаю, что это хорошая идея оскорблять вопрощающего, только за то что он преувеличивает в резюме свои возможности, а на деле не знает чем массив отличается от коллекции. Он закономерно отпирается, т к мало кто согласится в своей неправоте, когда это доносят до него в унизительном тоне. Ну то что преувеличил, конечно не молодец. С другой стороны сейчас все так делают, дабы обойти HR отдел... Плохо, но это реальность к сожалению...
  • Я сделал Code Review, может быть я где-то ошибся или у вас есть что добавить?

    @Arlekcangp
    Ошибки в тех доках - обычное явление. То что потом будет опубликовано, должно вычитываться корректорами. Код ревью к такому не относится (ну если это не open source с публичным циклом разработки), так что на ошибки плевать. Хоть матом пишите (естественно, не в отношении автора, а про жизнь тяжелую =)
  • Entity framework INSERT?

    @Arlekcangp
    Алекс Федоров, А почему я не вижу у вас описание этого reward_type и status в вашей сущности ViolationRequest ? Что туда записать зависит от того как это поле описано в сущности (у вас же code first, верно ?) Либо же это поле у вас есть в базе, но нет в сущности. Тогда нужно его добавить. И тут зависит как его описать от того что хранится в базе в нём. Если это строка, то вы можете описать его как string. Если же у вас в коде это enum, в базе строка, то нужно описать как enum и указать EF, что enum нужно хранить строкой. Один из вариантов как это сделать здесь https://nodogmablog.bryanhogan.net/2014/11/saving-...