• Почему не создается файл логирования из артифакта?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Релизная сборка (jar/war/ear) может отличаться по составу файлов от того что видит IDE. Может конфиг собрался не туда.

    Сделай
    <configuration debug="true">
    и процесс инициализации Logback станет более подробным и смотри что он напишет.
    Ответ написан
    6 комментариев
  • Почему C# не кроссплатформенный?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если почитать обучающий портал A tour of the C# language
    https://learn.microsoft.com/en-us/dotnet/csharp/to...
    то там вообще нигде не пишут про кросс-платформенность.

    Мне кажется что этот миф пошел из обсуждения что платформа .Net создавалась MS в противовес
    Java чтобы иметь конкурентное преимуществое для чисто своей Windows-разработки но при этом
    обеспечить удобства (Managed Memory, CLR e.t.c).
    Ответ написан
  • Почему пропускатеся return в одном из методов Enum-класса?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Предположительно идет на вход не та кодировка. Попробуй заменить на "male" / "female" и все будет ОК
    Ответ написан
    Комментировать
  • Какая зависимость в Java приложении к подключению БД?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    1. Java (JDK/JRE) не содержит в себе драйверов доступа к БД вообще. В ней определен только базовый
    интерфейс java.sql.* и существует некий стандарт на то как драйверы должны работать. Например когда мы делаем ResultSet::close, или Statement::close, драйвер может ничего и не делать в этот момент. Все зависит от того
    как производитель (Oracle, MSSQL) реализовал под капотом работу драйвера. Поэтому как работает внутри драйвер это - тайна.

    2. Обычно если в приложении тебе часто и много нужно создавать объектов Connection, то используют пулы коннектов (Hikari Connection pool, DBCP, C3PO). Почитай в этом направлении. Пулы экономят сессионные
    объекты на стороне БД и создают новые коннекты быстрее за счет переиспользования сущесвтующих коннектов.
    В обычном (прямом режиме) работы с БД процесс установки соединения может занимать несколько секунд.
    Это может быть запредельно медленно для некоторых алгоритмов.

    3. В сложных ent. приложениях используются фреймворки типа Spring которые декларируют зависимости одник
    компонент от других
    и также обеспечивают ленивую инициализацию и работу синглтона. Всем новичкам
    нужно знать что такое синглтон и уметь им пользоваться. И лучше уметь это сначала без фреймворка
    чтобы понимать уже как это делает фреймворк.
    Ответ написан
  • Какие существуют кольцевые lock free очереди / каналы для Rust?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе не нужно никакое кольцо. Ищи просто lock-free очереди. Если будет кольцо
    - то тебе не хватит памяти и нужно будет придумывать механизм выхода из
    ситуации (хопа привет блокировка).
    Ответ написан
    Комментировать
  • Почему появляется ошибка Sqlite3.OperationalError: table users has no column named name?

    mayton2019
    @mayton2019
    Bigdata Engineer
    CREATE TABLE IF NOT EXISTS

    Скипает таблицу если она уже существует. Удали таблицу и тогда этот DDL отработает успешно.
    Ответ написан
  • Что потенциально Windows может знать о том что происиходит в Linux, установленные на один жесткий диск?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все зависит от того как отформатирован Linux-диск. Во времена первых Linux Black Cat (я себе ставил)
    почти все пользователи делали большой fat32 раздел чтоб шарить файлы между Windows 98 к примеру
    и Black Cat. Другого способа перекинуть файло не было.

    Потом я где-то находил драйвер ext2fsd который по идее должен был дать возможность Windows-системе
    видеть разделы но я не помню чтоб я его успешно применял.

    Современные версии Linux уже видять NTFS через ntfs-3g поэтому Linux неограничено видит почти все.

    WSL - это вообще отдельная вселенная. Кажется он реализован как Докер контейнер. И видит Windows
    через /mnt/c точку монтирования.
    Ответ написан
  • Почему в https не используется асимметричное шифрование?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Оно используется для проверки сертификатов.
    Ответ написан
    7 комментариев
  • Как увеличить объем разделов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1) Можно создать 7 фолдеров типа /disk1, /disk2 .... и примонтировать диски через mount.
    2) Можно собрать ZFS pool из 7 дисков и подключить их все как один большой диск (zpool create).
    3) Программный JBOD на базе Btrfs (mkfs.btrfs ... )
    4) LVM как уже писали выше
    Ответ написан
    Комментировать
  • Почему после перезагрузки ноутбука на системном диске освобождается 20-30 гб и все начинает лагать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нажми Ctrl+Shift+ESC. Появится таск менеджер. И посмтотри какие процессы висят в топе по CPU, Memory, Disk.
    Ответ написан
  • Как можно ускорить выполнение SQL запроса?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно материализовать. Перечислить все комбинации prop_id и создать такое представление

    prop_ids | responce
    ---------|---------
    '1,2,3'  | [ { "prod_001" : 200 }, { "prod_333" : 134 } , ..... ]
    '2,3,4'  | [.....]
    Ответ написан
  • Как происходит обмен с БД данными в Lineage2?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не специалист в играх но обычно когда хотят гарантированное время выдачи ответа -
    используют key-value dbms,. Они очень хорошо масштабируются и таблица с 10
    записями и таблица с 10 миллиардами записей дают примерно одинаковый отклик.

    Далее - искусство разработчика - уложить действия с инвентарем и действия с балансом золота
    в 1 едиснственную операцию put/get или атомарную операцию с key-value системой.

    Из недостатков. Никакие сортировки и группировки использовать нелзя. Если сильно хочется
    - создается 1 запись типа JSON и там уже заранее лежат отсортированные дочерние записи.
    И такая запись подготавливается в фоновом режиме обычно.
    Ответ написан
    Комментировать
  • Какие простые, "бытовые" задачи подходят для изучения машинного обучения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Машинное обучение (ML) это над-множество задач типа классификация, регрессия, кластеризация
    и детектирование аномалий.
    В последнее время очень часто идет подмена понятий и вместо ML
    задач все время подсовывают нейронные сети, хотя они закрывают некое под-множество этих
    же задач.

    Вы совершенно правильно ставите вопрос говоря
    Но зачем мне инструмент машинное обучение если я и сам могу сравнить все исходные массивы, и найти тот, что совпадает?


    В этом есть инженерная мысль - решать задачи подходящим инструментом. И если ВАША задача решается
    методами базовой линейной алгебры (скалярное произведение векторов)
    или мат-статистики то и решайте ее так как удобно.

    Сама по себе идея например применять нейронные сети не плоха, но с точки зрения экономического расчета
    может быть полностью провальной ведь для хорошей НС - вам надо купить хостинг у гугла с процессорами
    тензоров например
    . А зачем это делать если вы и так решаете вашу задачу просто линейной логикой
    (набором if-else)?
    Ответ написан
    3 комментария
  • Какой есть бесплатный редактор растровой графики для детей похожий на фотошоп?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Gimp очень похож но из-за других хот-кеев и нестандартного меню, вам будет скорее всего
    очень некомфортно на него переходить. Поэтому лучше купить лицензию и работать с комфортом
    как раньше.
    Ответ написан
    Комментировать
  • Как программировать на машинных кодах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня есть идея, создать свой диалект ассемблера с простым синтаксисом, что бы на нем мог программировать любой человек, не проигрывая в скорости.

    Это очень наивная идея. Она была работоспособной в XX веке, когда система команд была простая и процессоры
    были однопоточные и без кешей и конвейеров и микро-кода (КР580, Z80...)

    Современный компиллятор знает больше чем обычный человек-разработчик. И очень мало людей в мире
    в состоянии писать машинный код думая одновременно
    1) О состоянии кешей
    2) О состоянии всех регистров
    3) О микрокоде и о загрузке конвейеров
    4) Об таймингах mmx, sse, avr командах и сравнивать их на ходу по скорости исполнения
    5) О прогнозировании переходов

    Современный компиллятор - видит глубоко и знает очень много. И очень сомнительно что
    человек, а тем более пишуший на новом языке да еще и в каких-то кодах может хоть
    близко подойти к этому пределу. Разумеется мы можем рассмотреть частные случаи
    когда человех перехитрил компиллятор, но промышленная разработка не состоит
    из таких кейсов.

    Обычный кейс - надо писать код.
    Надо писать МНОГО кода.
    Надо не делать ошибок.
    Надо гарантировать хорошую производительность этого кода.
    Ответ написан
    Комментировать
  • Актуален ли ассемблер на сегодняшний день?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ассемблер полезен при анализе прошивок на безопасность.
    При изучении того как работает софт без исходного кода (обратный инжинеринг)
    и при решении задач интеграции разных слоёв софта.

    Ассемблер также очень близко стоит к разработке компилляторов. И если у вас нет
    соотвествующих знаний то строить свой компиллятор вы не сможете. Или вам нужно
    будет изучать готовые back-ends, virtual-machines.

    Ассемблер помогает при анализе узких мест в коде. В частности например
    векторизация вычислений ставит в первую очередь вопросы на которые ассемблер
    отвечает а ЯВУ - нет.

    Знания ассемблера помогают сделать бинарник компактнее. Это важно при разработке
    встраиваемых систем.
    Ответ написан
    Комментировать
  • На какие нагрузки рассчитан диск NAS версии?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Давайте посчитаем скорость 10Тб за 8 часов. Это

    8L * 1024 * 1024 / (10 * 60 * 60) = 233 Mb/s

    233 мегабайта в секунду это очень хорошая скорость.

    По поводу износа. Если это магнитный блин то он страдает не от пропускной способности а от IOPS.
    Тоесть от спорадических движений БМГ туда-сюда (SEEK time). Яркий пример - индекс баз данных. Если вы его
    кладете на магнитный диск и база под нагрузкой то скорее всего повреждение может быть в механике.

    Если вы просто копируете 1 толстый файл - то для HDD это достаточно мягкая нагрузка и он проработает долго.
    Если в RAID то еще дольше.
    Ответ написан
  • Как наработать навык декомпозиции задач?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программирование - это как плаванье. Ты сколько книжек не читай - все равно программистом не станешь.
    Ты просто должен сесть и начать программировать. Прыгнуть в воду и плыть.

    По поводу декомпозиции. Обычно такой вопрос возникает когда кода много или когда задача большая.
    Эта декомпозиция идет параллельно со знанием таких частей ООП как Single-Responsibility, и структурных
    шаблонов проектирования
    . Начни это применять и декомпозиция сама собой пойдет.

    Чаще заказывай code-review своего кода и слушай советы старших коллег. Даже если обидно и стыдно.
    Слушай. Записывай и потом применяй.

    По поводу Алгоритмов и Структур данных. Почитай Никлауса Вирта. Он как раз такую книгу и написал.
    Ответ написан
    Комментировать
  • Python как получить данные из 1С находящейся на удаленном рабочем столе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Попроси себе лицензию и установи этот чортов 1С и работай.
    То что ты хочешь сделать - выглядит со стороны как нарушение инфо-безопасности.
    Ответ написан
    Комментировать