• Какую область программирования выбрать PHP или Java?

    @Vitsliputsli
    Писать плохой код очень легко на любом языке. Вера в то, что язык тебя от этого убережет как раз и приводит к написанию плохого кода в больших количествах, что мы и видим на примере Java.
    В PHP есть все инструменты для написания хорошего кода, но есть и огромный пласт обеспечивающий обратную совместимость версий, позволяющий писать плохой код. И есть огромное кол-во кода демонстрирующее самые ужасные подходы. И что ты выберешь, зависит не от языка.
    Еще хуже дела с JavaScript, так как авторы посчитали, что у них свой "особый" путь. Но он как раз уже практически не используется, во всяком случае там, где заботятся о качестве кода. Т.к. несмотря на монополизированность, есть хорошая замена в виде TypeScript.
  • Какую область программирования выбрать PHP или Java?

    @Vitsliputsli
    Just Me,

    PHP и Java давно идут на убыль

    Как и C#, C++, C, и все остальные языки. Такие заявления мы видим из года в год. И пока, одни используют их как повод чтобы не учить языки, другие учат, и успешно зарабатывают деньги.
  • Как подключить нового пользователя к одному сокету?

    @Vitsliputsli
    Порт он слушает, но читает данные по конкретному установленному соединению. А надо еще и новые соединения принимать, а потом и по ним данные читать. А значит нужна асинхронность. И тут проще взять готовое решение для WebSocket, чем писать все с нуля.
  • Как оптимизировать запрос с большим количеством данных в таблице?

    @Vitsliputsli
    не знаю как оптимизировать

    А зачем его оптимизировать? Оптимизация это жертва чем-то, ради чего-то.
    Например, ради скорости ответа жервуем постоянной памятью и возможно оперативной.

    Возможно ли это сделать без добавления индексов на столбцы, так как размер таблицы сильно увеличится

    сперва постройте индексы и посмотрите, что получится. И по резултату будете переживать о лишнем гигабайте на hdd. Текущее описание, не позволяет говорить о чем-либо ином. Шардирование не такая уж простая штука, поэтому совет "разбейте на таблицы", и уж тем более "по годам", скорее принесет только проблемы, чем существенный выигрыш.

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

    СУБД, как правило, работают именно с кешем, специальным buffer pool, дисковым кешем, но с кешем. Если СУБД постоянно лазает на диск за данными, ни о какой высокой скорости там речи вообще не будет. Т.е. будут отдельные небыстрые запросы при "холодной" загрузке страниц, но общий поток будет быстрым. И вряд ли, у автора как-то иначе, вряд ли у него жесткое правило, что любой запрос должен отрабатывать менее X мс. Понятно, что бывают разные задачи, но в большинстве случаев именно так, и именно для такого использования СУБД и проектируются.
  • Что не так в коде (можете сделать краткое код ревью)?

    @Vitsliputsli
    Евгений Иванов,
    Но ООП в скриптовых языках, как я понимаю, и есть использование статики. Во всех фреймворках очень много обращений к статическим методам. Да, иногда создают экземпляр класса.

    Мне сложно создавать объекты в языке, где срок жизни скрипта ограничен.

    Нет, ООП - это оперирование объектами, статика - это не объекты. Без разницы скриптовой язык или нет. Без разницы какой срок жизни скрипта. Что значит "сложно писать"?

    Я не могу создать подключение к бд 1 раз и хранить ссылку на него. Скрипт завершился - память отчищена. Это не десктопное ПО, где программа работает, пока её не закрыл пользователь.

    Да, но не для каждого же запроса создавать новый коннект.

    Знаю. Так и написал TODO фильтрация данных. Ну и нужны подготавливаемые запросы.

    Видел, но для борьбы с SQL-инъекциями надо использовать подготовленные выражения. А фильтрация SQL с подставленными данными бесполезна.

    Я прочитал несколько статей по MVC и посмотрел много видео. И так до конца и не понял, что есть MVC.
    У каждого MVC - свое. У каждого модель и контроллер что то свое.
    У одних больше логики в модели, у других в контроллере. Одни не любят толстые контроллеры, другие наоборот. Реализация данного паттерна мне не до конца понятна.
    Я считаю, что Модель - это БД, вид - это шаблон, контроллер - это файл/группа файлов которые отображают данные из модели в шаблоне и изменяют состояние переданное из шаблона (пользователь кликнул по кнопке) в модели (БД).

    Есть различные модификации, конечно. Но, модель - это не БД, это вообще вся логика приложения. Толстые контроллеры, сами по себе это не плохо и не хорошо, это показатель того, что скорее всего есть ошибка. Толстые контроллеры появляются чаще всего там, где в них запихнули логику, а это чревато проблемами, поэтому они еще и "уродливые". Когда будете писать разное взаимодействие с пользователями, например добавите еще и API, сразу будет понятно почему не нужно в контроллерах держать логику.
  • Как привести объект родителя к объекту потомка?

    @Vitsliputsli
    Не сильно понятно, что именно нужно. Но скорее всего подойдет шаблон wrapper.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Griboks,

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

    Ну так, а я о чем пишу?!

    Так и напишите, что хз как, но теоретически в каждом отдельном случае создается инженерный проект.
    Чем вряд ли кто будет заниматься, в обсуждаемых вопросах.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Griboks, да не жаль вам, раз такой бесполезный комментарий.
    Хочется по делу, напишите, какую защиту использовали. Какого типа? Если нескольких, то как стыковали.
    Как уже написали, у кого-то и без защиты все работает. Поэтому, если все норм, то не факт, что именно защита работает.
    И, к слову про грозозащитный трос, оборудование горит не потому что молния бьет прямо в провода.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    lolrofl01, очень рад за вашу баню, к сожалению, не у всех так радужно.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Drno, хм, интересно. А грозозащита стоит? У нас при весенних грозах, грозозащита выгорала, без нее выгорали порты.
  • Вопрос по развитию IT?

    @Vitsliputsli
    Я бы "Чистый код" Мартина вообще бы не трогал. Слишком он бросается в крайности, а в реальной жизни нужен баланс. Лучше начать с "Совершенного кода" Макконелла, он более жизненный, и будет с чем сравнить.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Drno, выше зданий обычно и не бывает никогда, а в весенние грозы металл горит обязательно.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Griboks, которая, как правило, выгорает сама, что опять же приводит к неработоспособности. Быть может есть нормальные, но я таких не видел.
  • Как сделать переход с витой пары на оптоволкно?

    @Vitsliputsli
    Проблема в том, что как написал @rPman
    по воздуху ethernet сгорит при первой же грозе
  • Как взять все из таблицы, но с уникальным условием?

    @Vitsliputsli
    Зачем "потом"? Сразу в sql и группировать по title с max или min по id. Другое дело так ли надо, да и выглядит очень подозрительно, вполне возможно ошибка в структуре, как уже написали.
  • Как сделать автоматизацию, чтобы sudo не запрашивал пароль - Ubuntu 18.04?

    @Vitsliputsli
    link_vrb, откуда пароль возьмется? Где-то будет лежать в открытом виде? Но даже если нет, аргументы команды никогда не являлись безопасными, они могут логироваться, сохраняться в истории, а иногда вообще доступны любому мимо проходящему.
  • Реализации протоколов интернет - где, как, кем?

    @Vitsliputsli
    Не совсем понятно о чем идет речь. Если про websocket server то причем здесь http? Если про http web server то причем здесь сокеты?
  • Сколько всего ip адресов в глобальном интернете?

    @Vitsliputsli
    mayton2019, не совсем так, бывает даже от обычных пользователей далеких от серверов и протоколов, слышу, что они покупают белый ip. А значит даже всех костылей не достаточно.
    Но тут уж, что имеем, то имеем.
  • Сколько всего ip адресов в глобальном интернете?

    @Vitsliputsli
    res2001, ресурс IPv4 давно исчерпан. Он все еще живет за счет костылей, потому что фактически адресация поисходит не через него, а с помощью дополнительных механизмов. Большинство машин в интернете по факту не используют IPv4 как интернет протокол, а используют его как протокол локальной сети для подключения к шлюзу, который уже имеет реальный IP и использует его именно как интернет протокол. Когда целый город сидит в интернете под одним адресом, тут явно что-то не то. Вычленение адреса машины не по IP, а по динамическому порту через NAT-таблицы, тоже что-то явно не то. Невозможность подключиться снаружи к такой машине - полное фиаско. А все остальные костыли типа stun лишь подтверждение, что протокол не выполняет своей функции, что как интернет протокол IPv4 давно умер, но его труп дергают за веревочки, делая вид что он жив. Что все к этому идет было понятно даже не в 2000, а уже в 1980-х, поэтому паника обоснованная, но как всегда никто не хочет сделать правильно, если и так деньги платят, поэтому насоздавали костылей и довольны. Сейчас все готово для IPv6, но зачем переходить, если можно барыжить дефицитными IP, и пофиг на то, что IP адреса нужно постоянно переписывать в пакете, что нужно хранить таблицу соответствия портов и адресов, что нужны специальные сервисы типа stun, чтобы заставить работать этот зоопарк.