Задать вопрос
  • Как изучать администрирование линукс самостоятельно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Чтение книг тут вобщем-то не очень полезно потому что каждый автор описывает линукс применительно к каким-то промышленным решениям где сразу "всего много". Много хостов в сети. Много серверов приложений и хранилищ и много задач.

    Изучать будет трудно. Линукс не прощает грубых ошибок. Если проводить аналогии то Windows - это электродрель где всё в резиновых ручках безопасно и красиво и удобно лежит в руке. С такой дрелью вам ничего не грозит. И можно сделать дырочки в стенах безопасно. А Линукс в этом сравнении - это строительный бур, которым вы можете снести стену, но и легко пробурить себе ногу. Тоесть когда вы начнёте эксперименты (особенно на привилегиях root) то думайте что по ту сторону нет вообще никаких защит. Удалить корень файловой системы одним жестом очень просто, как уже отметили выше.

    Но для домашнего варианта можно придумать нечто вроде : создать свою мини-сеть с DNS, файрволом, прокси, и медиасервером для фильмов. Вот с этого можно начинать. Можно поднять игровые серверы Майнкрафта, фермы майнинга или генерации радужных таблиц. По поводу Mint - всё в принципе хорошо. Вообще важен не дистрибутив а скорость трабл-шутинга. И надо не боятся работать с консолью. Не надейтесь что если вы подняли Smb через UI - то это достижение. Нужно поймать траблу. Зайти в консоль и ее пофиксить. Я гарантирую что через UI большинство траблов не фиксятся. В этом есть особая философия. Поэтому и устанавливайте и конфигурите софт через консоль.
    Ответ написан
    1 комментарий
  • Зачем надо закрывать курсор при работе с БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что курсор может потреблять ресурсы. Например вы захотели взять первые 10 строк из 10000000 выборки но предварительно отсортировали. Выбрали 10 строк и не сделали финализирующие протокольные действия в Python. База данных будет удерживать в памяти алгоритмы и структуры данных для снапшота результата этого запроса до тех пор пока не придет явный CLOSE с вашей стороны либо интеллекуальный драйвер который еще и обладает логикой уборки мусора сам не догадается что Statement уже вышел из scope вашего использования и может быть удалён GC.

    Я был свидетелем ситуации когда крупное ent-приложение Java/Oracle переполняло память из-за неверной обработки Exception и плодила много незакрытых курсоров в БД. Java от этого не сильно страдала (GC всё убирал) но страдал Oracle. Потому что уборка происходила слишком поздно. Пофиксилось тогда переписыванием с try на try-with-resources.

    Поэтому если вы неряшливо обращаетесь с курсорами (явными и неявными (обычный select к примеру может прождать неявный курсор)) то не ваше приложение а база данных почувствует себя плохо. Как быстро и какие ошибки вы будете получать - зависит от настроек вашей БД.
    Ответ написан
    Комментировать
  • Как определить, в какой ситуации оптимальнее использовать подзапросы, а не соединения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут нечего думать. Смотрите что показывает explain plan и меряйте время отклика.

    SQL как язык - это чистая теория. То есть известен результат но неизвестно каким способом конкретная dbms его достигает. Операция explain будет зависеть от выбора dbms (Oracle, Postgres e.t.c) и будет по разному показывать реализацию алгоритма выборки для каждого select.

    Спрогнозировать как будет выглядеть план сложно. Даже разные версии Oracle к примеру могут показать разный план на одном тексте запроса.
    Ответ написан
    Комментировать
  • Сколько брать денег за код на тему распознавания лиц?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В подобного рода задачах сложно написать acceptance criteria. Ну например сколько процентов лиц у вас будут распознаны верно? 90% ? 99?

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

    Тоесть договорняк должен быть не просто детальным а ооооочень детальным. Даже более чем в разработке например чят-ботов. Учебный сет. Контрольный сет. Все должно быть прозрачно и ясно.
    Ответ написан
    Комментировать
  • Как решить задачу с символами? Почему не работает одна функция?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Размышления по code-review. Мне совершенно непонятно почему в одном условии выбран switch а в другом if.

    switch (a) {
        case 'n': fl = (b == 'o'); break;
        case 'o': fl = (b == 'n'); break;
        }

    Они ведь совершенно одинаковые по смыслу! Кроме того case без default секции всегда рассматривается как потенциальный баг.
    Ответ написан
  • Как с помощью python вшить информацию в музыку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если короткий ответ - то да. Если более длиный. Смотря в каком формате музыка. Для mp3 существует одни библиотеки, для Vorbis другие ну и для Apple - форматов тоже что-то своё.
    Ответ написан
    Комментировать
  • Как спроектировать инфраструктуру серверов для бюджетного учреждения?

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

    Тоесть не так жестко привязывать сервисы к железкам. Да и идея импортозамещения - тоже важна. Как выше пишут.
    Ответ написан
    Комментировать
  • Как удобно переключаться между двумя дисками?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для SATA устройств есть карман. Можно по крайней мере кнопкой включать или выключать один или несколько внешних HDD. Под внешним я подразумеваю такой-же HDD только в корзинке.
    Ответ написан
    Комментировать
  • Планшеты с камерой на 200Мп?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На самом деле маркетинговый смысл - правильный. Ни к чему ставить дорогую камеру в планшет.
    Ведь планшетом просто мало фотографируют. В противоположность мобилой - делают очень много снимков.
    А облачный аккаунт позволяет вам просто складывать снимки в одно место.

    У меня до сих пор лежит Prestigio где камера - хуже некуда. Но я ей сделал всего пару снимков типа QR код и скан копии документов.
    Ответ написан
    Комментировать
  • Как построить архитектуру сервиса на базе Azure?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По второму пункту.
    2. БД/хранилище.

    По хранилищу можно брать Azure Blob Storage. Оно выглядит как файловая система но имеет API несколько отличный от традиционного.

    По поводу БД - можно брать Azure CosmosDb который вроде как совместим с API SQL, Mongo, Cassandra.

    По другим сервисам не скажу. Там наверное много вариантов как что делать. Но ввиду отсутствия каких-то архитектурных мыслей - вы можете брать какую угодно набор сервисов и просто наблюдать производительность и смотреть на биллинг. Если где-то станет плохо - вот тогда уже и будет повод порассуждать. А так - недостаточно информации чтобы придумать что-то типичное.
    Ответ написан
    Комментировать
  • Почему текстура на материале размазывается?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Текстуры линейно накладываются только на плоскости. Всякие сферы и кривые поверхности требуют специального подхода.
    Ответ написан
    Комментировать
  • Как JPA понимает, какую реализацию использовать?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Ты можешь запустить процесс с опцией -verbose:class и в stdout будет видна загрузка классов ClassLoader. По namespace можно понять какие имплементации подгружаются в этот момент. Да Hibernate - это самая популярная реализация JPA. Вроде есть еще EcliplseLink но я с ним не работал.

    Вообще я не уверен что JPA и Hibernate имеют отношение "is a" / "has a". Современный Hibernate слишком сложен и я подозреваю что у него свои возможности уже давно перкрывают просто JPA. За деталями лучше идти на авторский сайт https://hibernate.org/
    Ответ написан
    Комментировать
  • Как организовать Wi-Fi сеть на уличном складе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лучше брать дипазон 2.4 Ghz. У него дальность действия - больше.
    Ответ написан
    Комментировать
  • Как выбирать последующие записи в SQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно помнить о том что между вычитыванием 1-й и 2-й страницы таблица могла быть изменена. И процесс может либо пропустить какую-то строку либо прочитать дубликат. У этой проблемы есть много решений. Почти все они лежат в плоскости транзакций. Но поскольку тема тегирована только SQL - то непонятно с какой dbms мы имеем дело. Реализация режимов транзакций - вещь крайне нестандартизированная.

    Тоесть чтобы обсуждать правильный pagination нам нужно понять что по ту сторону application. Oracle? MSSQL? e.t.c.
    Ответ написан
    Комментировать
  • Какую спецальность выбрать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Современный фронт-енд это уже не дизайн. Лет 20 назад оно было дизайном и учились на веб-мастеров. Лабать теги со стилями - уже не специальность. Щас надо знать программирование. JS из простого языка скриптинга стал интересным языком со множеством возможностей. Поэтому надо выбирать специальность ПО однозначно.
    Ответ написан
    Комментировать
  • Как написать расширение для браузера в виде dll?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы подобное амбициозно ТЗ оценил в несколько лет разработки для 1 разработчика. С учетом кодинга на сях и того что браузеры Mozilla, Chrome e.t.c. имеют скорее всего разные API Extensions и под каждого из них надо оценивать и создавать отдельный проект.

    Данное требование
    изменяющее содержимое веб-страниц. Всех. Абсолютно всех. Без исключения. И чтобы со стороны сайтов это расширение невозможно было детектировать.

    имеет противоречия. Ну я-бы по крайней мере не взялся такое обеспечить никогда.
    Вы уже ломаете логику написанную сайтом и при этом хотите чтобы
    "со стороны" сайтов это прошло незаметным. Будет заметен баг. Да что там
    говорить. Баги и по более мелким поводам возникали.

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

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

    В сквозное шифрование всего трафика я не очень верю. Ведь анализаторам и наблюдателям нужен какой-то доступ к анализу - пускай даже и обезличенному. Да и вообще. Слишком велик соблазн продать аналитику кому-то.

    Кроме того очень часто мессенджеры которые громко заявляют о своей приватности и безопасности в час Х внезапно оказывается что вовсе они и не приватные.

    Если-бы я искал приватности то наверное в первую очередь не использовал бы популярное. Собственный IRC был-бы приватнее чем телеграм.
    Ответ написан
    Комментировать
  • Отсутствие файла opensearch-tar-install.sh?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В первом пункте ты его должен был скачать.
    Ответ написан
    Комментировать
  • Как правильно разделить большой модуль с единственным классом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть такое старое правило что сначала нужно писать тесты. Без тестов ты конечно можешь начать рефакторинг но если что-то сломалось то сложно будет детектировать поломку именно в тот момент. Это всплывёт позднее.

    Далее без исходников сложно что-либо советовать. Тут - сколько людей столько и мнений.
    Ответ написан
    7 комментариев
  • Бесконечная длина пароля при конечном алфавите в string.printable python?

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