Задать вопрос
  • Стоит ли читать Философия Java в переводе на русский язык?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если это Брюс Эккель - то я читал ее в 2013 году. Тогда хорошо зашла. Но я не знаю насколько книга актуальна для современной Java. После того как сообщество перешло на такой бешеный темп создания релизов - то книги стали устаревать быстрее.
    Ответ написан
    6 комментариев
  • Что не так с первичным ключом в Базе Данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это sequence. Последовательность. Это - как туалетная бумага. Использованные номера можно выкинуть. Зачем их повторно брать? У вас же нет желания из мусорного ведра тягать грязные бумажки?
    Ответ написан
    Комментировать
  • Как можно без сторонних библиотек быстро и кроссплатформенно прочитать или записать некоторый кусок байтов с диска или на диск?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проще всего с этим работать на линуксе. Эта операционка отображает все диски на блочные устройства /dev/* и позволяет с ними работать просто как с очень большими файлами.

    Разумеется права суперпользователя тебе пригодятся. Механизмы безопасности никто не отменял. В Windows тоже есть аналог для таких устройств.
    Ответ написан
    Комментировать
  • Сколько всего ip адресов в глобальном интернете?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Реально можно использовать чуть меньше 2 млрд адресов
    IPv4. Фактически последние IP-blocks были распределены много лет назад.
    Сейчас только за счет NAT и серых адресов в ротации абоненты и получают в аренду
    ардеса.

    Новые адреса можно добыть только забрав их номера у корпораций которые в свое время
    нахватали много.
    Самой большой долей адресов владеет США.

    По IPv6 не скажу. Не знаю.
    Ответ написан
    3 комментария
  • Как работает автогенерация плейлистов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы не спешил обзывать это явление искусственным интеллектом. Может быть просто кластеризация?
    Ответ написан
    3 комментария
  • Можно как-то в чем-то (под Ubuntu) посмотреть визуально коммиты [и ветки] в хронологическом порядке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сложно говорить о хронологии, когда люди делают коммиты в оффлайне, в разных часовых поясах и со сбитыми внутренними часами. Задачка блин для Эйнштейна.

    Я-бы предложил рассматривать не хронологию а топологию. Это более корректно. Коммиты - это орграф. DAG. И у него есть последовательность действий над бранчами.
    Ответ написан
    1 комментарий
  • Как сделать auto increment колонку, которая увеличивается относительно другой колонки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По виду это похоже на троичную систему счисления. Ее можно получить просто пересчитывая нормальный sequence. Пишу на псевдокоде.

    create table ПочемуАвторНикогдаНеПишетНазваниеТаблиц (
       id sequence,
       class_id int GENERATED ALWAYS AS (id / 3),
       student_id int GENERATED ALWAYS AS (id % 3)  
    );
    Ответ написан
    Комментировать
  • Как соотносятся между собой mysql и mariadb?

    mayton2019
    @mayton2019
    Bigdata Engineer
    почему при работе в командной строке я продолжаю подключаться через mysql -u -p

    MariaDb поддерживает тот-же сетевой протокол что и MySQL.
    Ответ написан
    Комментировать
  • Перспективно ли изучения GO для начинающих?

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


    Письмо, полное сомнений и множества вопросов. Я не совсем понял что требуется от нас. Если отвечать на главный вопрос - то да. Перспективно. Go драйвит Google как основной язык для микросервисов. Но учитывая возраст кандидата я-бы спросил следующее.
    - как с английским?
    - как быстро обучаешся чему-то новому?
    - согласен ли на релокацию?

    Какие перспективы в РФ - понятия не имею но перспективы в зарубежных конторах - есть.

    Хочу предупредить автора об ошибках которые я сам совершал. Я думал что дело в языках и технологиях. Но это не так. Дело в коммуникациях. Я работал минимум с 5 зарубежными компаниями и я своими глазами видел что мои знания просто нивелировались на фоне например моего не очень сильного английского. А другие teammates в силу широких коммуникатиционных скилов могли очень быстро найти контакт с нужными людьми и обходили
    меня в карьере достаточно быстро.

    По сути когда тебе за 40 - вообще не имеет значения какой язык ты знаешь. У тебя за плечами должен быть уже
    такой багаж что тебя можно просто брать как опытного советника в технических вопросах. Язык можно подучить но если речь идет просто о распределенных системах и микро-сервисах то больше знаний требуется в части например анализа узких мест системы. Кеширования. Грамотного дизайна безопасности и репликаций и бекапов и восстановления от сбоев. Этот пласт знаний вообще лежит вне языка. И поэтому джун даже очень хорошо выучивший Go или Python не может решать такие вопросы. А автор - скорее всего может. Барьером может быть
    какая-то банальность. Например язык. Поэтому я и спрашиваю.
    Ответ написан
    4 комментария
  • Как можно вычислить тип?

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

    if isinstance(message.text, int):
    Ответ написан
  • Как выполнять SOAP запросы в нескольких параллельных потоках?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Давайте оценим время для 1 потока. 47К позиций - это надо полагать 47 тыщ SOAP-requests надо сделать. Берем среднее время 400 ms до 3s это будет допустим 1700 ms.

    47000 * 1700 ms = 79900s = 1331min = 22hours.

    22 часа на 1-поточную загрузку товаров.

    Из личного впечатления. SOAP - это не очень быстрый протокол. Хрен его закешируешь на н-жинкс. И я думаю что если его запускать в 2-4-8 потоков то ситуация может усугубиться. Если время прыгает в диапазоне от 400 мс до нескольких секунд то это значит что нагрузка в базе плавает сильно. И владелец этого SOAP-сервиса будет ой как не в востороге от ваших экспериментов. Вряд-ли он предполагал что кто-то будет делать массовые выгрузки.

    Самый лучший вариант - предупредить его письменно об этой задаче и о том что вы собираетесь делать. Возможно он сообразит что дело пахнет DDOS-ом и сам предложит вам другой вариант выгрузки.
    Ответ написан
    Комментировать
  • Как написать метод который принимает строку, преобразует ее и возвращет строку?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В задаче есть 2 смысла. Первое это собственно алгоритмизация. Показать преподавателю как вы умеете декомпозировать задачу на примитивные шаги. И показать оптимизации. StringBuilder к примеру. И второй смысл - просто решить задачу например используя JavaStreams. Это будет красивее. Компактнее. Но показать алгоритмизацию будет неудобно.
    Ответ написан
    3 комментария
  • Стоит ли использовать Object как тип возвращаемого значение метода в java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Что с этим Object будет делать вызывающий? Непонятно.

    Я-бы обсудил контракт этого метода. Если он должен вернуть заглушку которая просто символизирует пустой результат вызова - то можно использовать Optional и указать опциональный тип. Если пустой список - то Collection.emptyList().

    Я не вижу никакого смысла в бизнес-приложении использовать тип Object. Он - технический. А не прикладной.
    Ответ написан
    5 комментариев
  • Более быстрый способ нахождения всех делителей числа?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Суть вопроса - алгоритм факторизации.

    Чтобы ускорить факторизацию есть много путей. Во первых - отказаться от языка Python в пользу C++ или Rust.

    Во вторых - запоминать найденные primes и использовать их для следующего шага. Грубо говоря факторизация требует эффективного генератора primes. А он в свою очередь... Саморекурсивен. Требует такого-же генератора меньшей мощности.

    И step надо делать не по 1 элементу а по нечётным начиная с 3.

    Есть ещё алгоритм Эратосфена. Обрати внимание.

    И есть очень глобальная задача, такая как доказательство простоты. Для нее есть целый список алгоритмов. Они сложные и интересные. Часть из них - вероятностные. Используются в критпографии.
    Ответ написан
    Комментировать
  • Делаю changelog на pgsql выходить ошибка, как решить?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Что за вертикальная палочка? Зачем она?

    ALTER TABLE sl.lesson {
        DROP CONSTRAINT lesson_timetable_id_fkey |
        DROP COLUMN timetable_id
    }


    А это что?
    liquibase.exception.ValidationFailedException: Validation Failed:


    Изменял change-sets грязными руками? Этого нельзя делать. То что установлено в репо - маркируется контрольной суммой и нельзя фиксить задним числом. Создаёшь новый changeset который исправляет.
    Ответ написан
    Комментировать
  • Какой самый легкий путь для создания модели с помощью машинного обучения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что рынок "машинного обучения" сильно перегрет. Каждый newcomer решает любую задачу маш-обучем даже если ему надо сложить 2 + 2. Я не шучу это действительно так. Доходит до смешного. Там где нужен фильтр низкой частоты или расчет арифметического среднего все пытаются втащить методы которые на два порядка сложнее и энергозатратнее.

    По поводу вопроса. Допустим ты играешь в PacMan (желтый колобок который кушает белые точки на черном фоне) и ты хочешь просто найти пакмана - то тебе достаточно к примеру уменьшить размер экрана в 32 раза и тогда колобок станет размером в 1 пиксел (я предполагаю что он был размером 32 на 32). При усреднении цвета - брать max. Между черным и желтым - всегда выбирать желтый. Далее после того как колобок найден на мелком поле - и известны его координаты - можно двигаться в обратную сторону увеличивая масштаб. И за 5 итераций найти точные координаты ПакМана. В моём алгоритме вобщем-то нет никакого opencv. И я утверждаю что мой алгоритм менее ресурсоёмок чем все прочие подходы.

    Впрочем это - просто идея. Ее можно бесконечно упрощать или улучшать. Возможен кейс когда враги скушали пак-мана и он будет плохо распознан моим методом. Вобщем есть огромное пространство для фантазии и алгоримизации без машинного обучения.
    Ответ написан
    2 комментария
  • Как до обучить Pytesseract под свой шрифт?

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

    В случае с билибердой написанной как

    fffjjj ....

    второй уровень даёт сбой. Он не видит знакомых слов.

    На самом деле я не знаю как работает тессеракт. Надо читать его настройки. Но если-бы я распознавал билиберду из символов - то я-бы искал именно эти языковые семантические настройки.
    Ответ написан
    Комментировать
  • На каком ЯП стоит писать программу для управления компьютерным клубом (десктоп)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут наверное главный вопрос не язык а ОС и платформа. Подозреваю что клуб работает на Windows десктопах. И нужно искать тот инструмент который ближе (нативнее) по отношению к этой ОС. Разумеется глупо выбирать Java/Python. Надо брать технологии которые опираются на .Net. VB/C#/F#. Да много их.
    Ответ написан
    Комментировать
  • Бот не отправляет переменные?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это не будет работать. Последнее несколько чисел в номере карты - контрольные. Они страхуют ввод номера карты от опечаток. Посмотри что такое алгоритм Луна.

    И первые несколько цифр показывают обычно код банка и код платежной системы (Viza, Maestro). Нагуглишь сам.
    Ответ написан
    Комментировать
  • Какие книги по машинному обучению стоит изучить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я бы очень хотел чтобы в книге разбирались конкретные библиотеки (tensorflow например), а не просто голая теория.

    Тут что-то не то. Вопрос не так поставлен. Ведь ТензорФлоу это чертов API и по сути тоже теория. Твой вопрос наверное звучит так что нужны какие-то практические задачи с решениями. Верно?
    Ответ написан
    1 комментарий