Задать вопрос
  • Как должна выглядеть UML диаграмма компонентов для функционального подхода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Во первых. Функциональное программирование не запрещает дата-объекты. Вот к примеру если у вас есть таблица Employee из стандартного учебного набора Oracle то она может быть отражена таким образом в Haskell:

    data Employee = Employee {
     empno :: Integer,
     ename :: [Char],
     job :: [Char],
     mgr :: Maybe[Integer],
     hiredate :: Day,
     sal :: Integer,
     comm :: Maybe[Integer],
     deptno :: Integer
    }


    В том что Haskell это достаточно строгий язык который лежит в категории ФП я надеюсь никто не сомневается.

    А в мультипарадигменных языках типа Scala с объектами
    вообще нет проблем. Берите - делайте объекты сколько надо.

    Во вторых, UML проектирование - это такой-себе уровень абстракций, который удобно
    обсуждать с бизнесом и показывать на слайдах. Но он вовсе не обязан следовать буква-в-букву коду.
    Архитектура - это вообще не про код. Это про намерения, про взаимодействие, про стандарты и смыслы.

    Методы UML объектов вы можете сделать функциями. Я не вижу в этом чего-то нерешаемого.
    Рассматривайте метод как функцию где первый аргумент - это сам объект. Это такой легкий
    троллинг ООП. Типа ООП - это функции где первый аргумент == this.
    Ответ написан
    Комментировать
  • Это Объектно-Ориентированный код?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Да это ООП код.
    Ответ написан
    Комментировать
  • Как остановить контейнер Docker и записать его state при внешнем вторжении?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У тебя какое-то противоречие в задании. Сначала нам сообщается что есть "некая логика"
    которая прогнозирует вторжение.

    И тут-же ты спрашиваешь что пойти и куда посмотреть. Ну во первых твоя логика уже знает о триггерах безопасности.
    А во вторых нужно просто логгировать сетевые события. В идеале - писать трафик. Если это веб-сервер
    - то писать тело request-responce. И логи потом уже смотреть после смерти. Post-mortem.
    Ответ написан
  • Можно ли сделать дамп MySQL БД из консоли Linux, исключив из него определенные поля определенных таблиц?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Скорее всего такого готового функционала нет. Но любой думающий девопс или dba сможет
    сделать семейство скриптов которые делают полный экспорт во временную базу и потом
    в этой временной БД делают drop column ... или лучше update set = null. И еще раз полный
    экспорт в файлы.

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

    UPD:
    Ответ написан
    2 комментария
  • Почему все прекращают поддержку 32-битных систем?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Во первых - никто не прекращает. Есть огромный сегмент микропроцессоров малого энергопотребления которые так и останутся 32х битными. Микроконтроллеры и прочее. И операционки и прошивки и код вообще для них как писался так и пишется. И я думаю что такой класс оборудования будет существовать всегда. Нет смысла его каким-то образом хоронить.

    По поводу адресации 64х бит. Насколько я помню адресные линии современных процессоров материнских плат так и не достигли этого размера. Что такое вообще - полный объем памяти с 64х битами - это больше чем во всех датацентрах вместе взятых. Посчитайте сами. Простая арифметика. Каждый бит - удваивает количество железа на борту. Сколько щас Intel Core способен адресовать? Я не помню. Пускай знающие подскажут.

    Тоесть когда мы говорим 64 бит - то надо уточнять какие на самом деле биты имееются в виду. Доступная память для процесса? Ну да. Может быть.

    IBM в 20м веке выпускала железки с 128 битной адресацией но там смысл указателя был немного более сложный. Что-то вроде бесконечной виртуальной ленточной памяти.

    А 64х разрядные регистры были еще у первых Pentium MMX в 90х. Но это не имело отношения к адресации памяти.
    Ответ написан
    Комментировать
  • Как сделать из своего компьютера прокси-сервер (на Windows)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне надо шоб всё по-настоящему

    Поставь себе Linux. Потому что конфиги под Windows - это разочарование. Как с резиновой бабой.
    Вроде и было. Но в то-же время ощущения не те.
    Ответ написан
    1 комментарий
  • Когда в hashtable нужно хранить и ключ и значение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Но если у нас вдруг совпадут хэши то возникнет коллизия, и тогда у нас есть 2 метода её обхода, 1 - открытая адресация 2 - связанный список.


    Да. В связном списке всегда хранятся и ключи и значения. В противном случае вы не докажете что нашли верно.

    UPD: Обновление. Поскольку я был неверно понят комментаторами - я обновляю цитату. Мой комментарий относится ко второму алгоритму. А точнее к структуре данных. В данном случае к связному списку который реализован в 99% хеш-таблиц в Java/DotNet.
    Ответ написан
    8 комментариев
  • Можно ли сжать файлы игры оставив игру работспособной?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В 2000-е на прилавках рынков мне как-то попался в руки CD диск (700Мб) где пираты вкатали аж 4 игры
    (кажется был Quake Ground Zero, KingPin, Blood ,,, и еще какаято).
    Веселое время было. И студии были такие как "Фаргус" и 1С и прочее. Переозвучкой игр занимались.
    Позже другие странные личности (паблишеры) делали такие вот релизы. Но интересно другое.
    В оригинале каждая игра занимала по сидюку. Вопрос- Как? Ответ простой - сжали аудио.
    Тогда игра занимала 100-150 Мб. А остальное - аудиотрек. Вот они взяли аудио (wav обычно или чистый трек)
    сжали в mp3. А при инсталляции - тупо запукалась утилита наподобие bladeencoder и прямо распаковывала
    музло на диск. Прям в логах было видно чем она занята. Вот такой трюк.

    С игрой в 13Гигов надо просто понять из чего эти гигабайты складываются. Если cinematics или музло - то
    иногда его можно удалить и игра себе идет нормально. А иногда и падает с ошибкой. В общем успех зависит
    на 99% как разработчик защитил игру. Бесплатные и indy-games обычно никак не защищаются. А дорогие
    имеют по 5 степеней защит.
    Ответ написан
    3 комментария
  • Какой жесткий диск выбрать для бэкапов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Два диска это хорошо. Пиши на них по очереди. Четные бекапы - на один. Нечетные на другой.

    Данные нужно разделить на классы надежности хранения. Например видеофайл спокойно переживает
    повреждение 1 битика внутри внутри видеопотока. На воспроизведении будет небольшой артифакт для одного кадра либо вообще ты ничего не заметишь. Тоесть видеопоток - восстанавливается.

    Хуже с архивами бинарей. Многие форматы (наподобие zip, gzip) полностью повреждаются начиная со сбойного
    участка. Тоесть могут оказаться полностью негодные. Я обычно такие файлы (бэкапы данных) оборачиваю кодами
    восстановления. Для linux это утилита par2 а для Windows - я не знаю. Надо искать. Но возможно какая-то комбинация ключей в WinRAR даст такой-же эффект надо поискать. Что на Маке я тоже невкурсе.
    Ответ написан
  • Как именно передаються данные по интернету? Более детальное объяснение нужно. Каков весь путь от моего устройства к другому?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1) Отправляю https запрос (GET) сайту
    2) Это сообщение сначала с помощью волн ( 2,4 ГГц ) передаётся моему роутеру. С помощью сетевой карты? Или сокета? Или с помощью чего передаются данные? | Это, насколько я понимаю, у нас канальный уровень (в OSI это и физический и канальный)

    Ты молодец, что ты решил так детально изучать физику процессов. Но по моему слишком глубоко копнул. WIFI тоже имеет свои протоколы связи и ты еще с пол-года на них застрянешь. Вообще науки лучше изучать в "ширину" а не в глубину. Остановись на каком-то уровне.

    А то дойдешь до физики суб-атомного уровня а там еще конь не валялся...
    Ответ написан
    9 комментариев
  • Существует такое понятие, как "Ассоциативный список"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как всегда непонятен контекст. На каком языке автор пишет? Единого ООП не существует.
    Тебе по смыслу подходит много вариантов. Вернуть коллекцию пар. Вернуть мапу.

    Вот бери что по душе.
    public Iterable<Pair<String,String>> takeListOfPairs();
    
    public Map<String,String> takeMap();
    Ответ написан
    Комментировать
  • Как вывести латинский алфавит?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Функция chr() умеет преобразовывать код символа в символ. Знаете ASCII код буквы 'A' ? Дальше - дело техники.
    Ответ написан
    Комментировать
  • Как мне загрузить больше 24000 документов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возможно у UI есть ограничения. Посмотри вот другая утилита есть https://www.mongodb.com/docs/database-tools/mongoi...
    Ответ написан
    Комментировать
  • Как писать код на android?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужна нормальная клавиатура. Купи себе недорогое устройство класса "нетбук".
    На телефоне писать не надо. Это просто неэффективно. Зря портить себе зрение и пальцы.
    Ответ написан
    Комментировать
  • Как заменить LIKE на SUBSTRING?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не помню синтаксис MSSQL но может быть как-то так

    delete 
      dbo.Корреспонденция 
    from 
      dbo.Корреспонденция INNER JOIN dbo.Отправители ON dbo.Корреспонденция.код_отправителя = Отправители.код_отправителя
    where 
      контактный_телефон like '8%' and 
      substring(контактный_телефон,2,1) = substring(контактный_телефон,4,1);


    UPD: подожди лайкать. Единичку забыл в функции.
    Ответ написан
    Комментировать
  • Как проверить ноутбук на совместимость с linux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я в таких случаях просто подмигиваю продавцу.... дескыть. Договоримся. И он позволяет поставить на ноут что угодно в магазине или в сервисном центре и мы далее вместе смотрим как Linux стартует. Расчитываемся и продавец на кармашек получает свои несколько долларов.
    Ответ написан
    1 комментарий
  • API xhr/fetch/rest/soap альтернативы друг другу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор, намешано конечно у тебя в списке.. ой-ой. Но если интересуешся веб-протоколами - посмотри
    еще на GraphQL https://graphql.org/ я думаю он очень интересен для современного разработчика.

    Еще посмотри на QUIC для общего развития https://cloud.google.com/blog/products/gcp/introdu... там интересно.

    REST - это вобщем-то не протокол а скорее философия или архитектурный подход к работе с http. У него - очень размытые границы в реализациях. И иногда сложно взять приложение и классифицировать что оно такое. Рест или не-рест. Рест использует коды ошибок из HTTP и поэтому существует только в слое http.
    В теле REST сообщения может быть что угодно. XML, JSON или просто текст. Неспецифицировано короче. Наивные попытки внести в рест спецификации появились сравнительно недавно. Рест хорошо интегрируется с балансерами и реверс-прокси (nginx).

    SOAP - это именно "протокол". Базируется на XML с жесткой схемой. Причем работающий почти на всех слоях сетей. Может на не только по HTTP но и по сырым сокетам бегать. Хотя в настоящее время - непопулярен. Типизирован. Имеет специальный файл спецификации (WSDL) который точно описывает все сигнатуры методов. Требует большой аккуратности в реализациях. И обычно никто не пишет SOAP клиент-сервер вручную а пользуются генераторами API. Часто используется в банках и крайне консервативных ведомствах.
    Ответ написан
    Комментировать
  • Как fread в PHP бинарного файла созданного в С++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот в stackoverflow пишут https://stackoverflow.com/questions/38859621/readi...
    Ответ написан
    Комментировать
  • Как организовать хранение фронтенда и бекенда?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если это единый проект - то ему нужен один репозиатрий.
    Ответ написан
    2 комментария
  • Существуют ли в opensource-проекты с хорошей архитектурой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    SOLID может на каком-то этапе противоречить например KISS. Например вы, как старший разработчик можете видеть "вперед" и прогнозировать потребность бизнеса в расширении какого-то функционала. И будете закладывать Open/Closed и прочие философии. А разработчик уровня Junior который неделю назад пришел на проект - этого не знает и будет писать "как чукча". Тоесть буквально то что надо сделать - тои напишет. И между вами может возникнуть спор как раз на тему SOLID против KISS. Но вы можете ошибаться в своём прогнозе потребности бизнеса. Или бизнес может передумать. В этом случае правда оказалась на стороне святой простоты (Santa simplicitas).

    Как вы понимаете такие антагонизмы не могут быть удовлетворены аж никогда. Поэтому вы никогда не найдете проекты которые удовлетворяют ВСЕМ философиям которые перечислены в списке одновременно.
    Ответ написан
    Комментировать