• Почему для скриптинга в шелле используется bash а не более современный язык программирования?

    Alex_Wells
    @Alex_Wells
    Saboteur,
    Как вы это сделаете в принципе?

    Контейнеры :)

    А wget никогда не был частью баш

    Вот именно) Как и миллион других инструментов. Не использовать ничего, кроме базового набора тогда?)

    Проблема большинства ООП программистов - оверинженеринг. Огромный оверинженеринг.
    Контейнеры - то есть чтобы запустить скрипт установки mysql или скрипт для обновления версии httpd вы будете устанавливать докер и запускать контейнер?

    Это не оверинжениринг. Это "используем современные подходящие технологии, без велосипедов и заебов". Да, намного проще запустить контейнер с клиентом мускула, что бы создать базу и намного проще обновить контейнер с httpd, чем пытатся сделать это руками/косячной автоматизацией на баш. Мало того, что это проще, это еще и быстрее, стабильней и точно будет работать на всех устройствах. Конечно там, где в принципе поднимается докер - но ему много и не нужно.

    Банально, скопировать файл - проще в баш, чем в python и проще чем в джава.

    Банально, работать в командной строке - проще чем в баш, чем в интерпретаторе питона.

    Банально, написать stop/start скрипт - проще на bash. Даже в вашей java бутспринг под капотом запускает баш скрипт, который запускает java ;)

    Я к тому и веду, что, имхо!!, это временно. Как я и сказал, джава уже наращивает мощности и копирование файла там становится настолько же простым, как и в баше. Только, опять же, джава легко тестируется, более удобна, легко шерит код между проектом и "скриптами" автоматизации, не использует никакие костыли.
  • Почему для скриптинга в шелле используется bash а не более современный язык программирования?

    Alex_Wells
    @Alex_Wells
    Saboteur, и зачем нужна совместимость bash, если набор другого софта, без которого девопс как без рук, на каждом отдельном инстенсе - разный? Какой смысл от миллиарда устройств с bash, если на одном из них не будет wget?) Не проще ли зафорсить версии ВСЕГО софта, а не просто надеятся на обратную совместимость bash, раз это и так нужно делать? И делается то это элементарно - контейнеры. А тогда и обратная совместимость нахер не нужна (конечно, в рамках разумного), и использовать можно что угодно.

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

    Alex_Wells
    @Alex_Wells
    jazzus,
    Документация и придумана, чтобы не нужно было лазить по классам

    Нет, для этого придумана архитектура и неймспейсы :) А в документации должна быть крупица от всего, что есть во всех этих классах, чисто для понимания общей картины.

    инструкция к технике. чтобы ты пользовался, кофеек пил, а не ковырялся с отверткой

    Так и я об этом. Техника, обычно, не делается такой, что бы к ней нужна была инструкция на 100 страниц. Максимум - несколько десятков простых последовательных пунктов, а не справочник, иначе людям проще и быстрее разобраться самому.

    Это где дока убогая?

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

    Alex_Wells
    @Alex_Wells
    jazzus, интересно даже, сколько раз в день ты заходишь в какую-либо доку инструмента, с которым работаешь? Я вот могу на пальцах сосчитать разы за последний год, когда я лазил в доку. 75% кейсов это upgrade guide и changelog. "профи" туда не лазят, они и так знают или могут найти это в коде быстрее, чем в убогой доке.

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

    Другое дело, что она НЕ должна учить тебя, как использовать другие инструменты, на которых базируется желанмый инструмент, это да.
  • Остаются ли какие-то "следы" при использовании с ноутбука через VPN (или Tor) интернета, раздаваемого с телефона?

    Alex_Wells
    @Alex_Wells
    JohnMirra, интересно, а не проще ли поставить нормальный уникальный пароль на google аккаунт, привязать номер, включить двухфакторку и использовать обычный парольный менеджер для всего остального? Шанс взлома в таком случае равен абсолютному нулю. С нового девайса невозможно будет зайти, даже с девайсом, так как даже обычный граф. ключ сломать не получится.

    И, действительно, вопрос: при чем тут вообще, нахрен, vpn и tor?

    Анонимность и безопасность никак не связаны.
  • Как использовать JOIN в Eloquent ORM?

    Alex_Wells
    @Alex_Wells
    Speakermen, ну есстественно, что другой. Но судя по структуре, он и должен быть другой
  • Как использовать JOIN в Eloquent ORM?

    Alex_Wells
    @Alex_Wells
    Speakermen, с какого хрена использовать join'ы, когда есть релейшены?

    https://laravel.com/docs/8.x/eloquent-relationships
  • Какой Wi-Fi-роутер выбрать в квартиру фрилансеров?

    Alex_Wells
    @Alex_Wells
    Не соглашусь. Всю жизнь были tp-link, плевался на него каждый раз, как видел. Потом взял Xiaomi Mini, прошил на Padavan и он идеально работал более года, после чего отдал его и купил 4-ку и тот до сих пор отлично работает у меня.
  • Есть ли книги с систематизированным изучением C#?

    Alex_Wells
    @Alex_Wells
    А по книжкам можно? Что за бред..

    Язык учится по его ДОКУМЕНТАЦИИ и на ПРАКТИКЕ. Книги настолько же полезны или бесполезны, насколько и видосы.
  • Как спроектировать фреймворк?

    Alex_Wells
    @Alex_Wells
    Flying, потому что я, разбираясь во всем этом, понимая, почему архитектура такая большая/продуманная и какие у этого плюсы на практике использования и в имея достаточно опыта с различными фреймворками и их внутренним устройством, все равно бы проебался с десяток раз при реализации своего фреймворка.

    А потом еще с десяток раз проебался, когда попытался бы его использовать на реальном проекте и понял, что хорошая архитектура - это много времени. Нет какой-то маленькой, но нужной фичи - потрать на ее продумывание, реализацию, написание тестов миллион времени так, что на тебя посмотрят как на идиота, когда ты скажешь ПМу, сколько ты убил на это времени.

    А что бы это делать быстро, нужно иметь опыт. phpstan как тест, есть опыт делать быстро или на каждую фигню будет уходить по несколько дней)
  • Где можно посмотреть практики написания хороших тестов для laravel?

    Alex_Wells
    @Alex_Wells
    А лучше всего делать прямо противоположно к тому, как велит "laravel way". Обычно это заканчивается печально.
  • Как сделать запрос к базе данных?

    Alex_Wells
    @Alex_Wells
    Владислав Лысков, зачем там join? semi-join оптимизации современных движков на 100% заменяют джоины, если только мы не говорим о выборке из джоина.
  • Как записать последовательные значения max+1 в SQL без дублирования данных?

    Alex_Wells
    @Alex_Wells
    ReginaStart, оберни в транзакцию и добавь ->lockForUpdate() к выборке.

    У тебя получится вот это: https://dev.mysql.com/doc/refman/8.0/en/innodb-loc...
  • Как записать последовательные значения max+1 в SQL без дублирования данных?

    Alex_Wells
    @Alex_Wells
    Покажи код и запросы. Не понятно нихрена, что ты и как делаешь. 99% что тебе поможет lockForUpdate.
  • Стоит ли начинать учить Kotlin?

    Alex_Wells
    @Alex_Wells
    Василий Банников, ... сменить target для проекта на native/javascript по ходу роста kotlin'а - это не проблема, если ты изначально пользуешься только kotlin'овыми депенденси. А они есть. Можно спокойно писать проект на kotlin'е под jvm сейчас и за день перейти на javascript/native позже.

    А смысл kotlin'а не в том, что бы иметь свой ахеренный компайлер, и даже наоборот - в том, что бы его не иметь.
  • Единая авторизация нескольких приложений на поддоменах laravel?

    Alex_Wells
    @Alex_Wells
    Сергей delphinpro, нет, не "правильней". Правильно МЕНЯТЬ дефолтные значениая максимально, что бы .env файл так же был максимально пустой. Это сильно упрощает изменения в .env у команды, работающей над проектом.

    В данном случае вообще не имеет смысла устанавливать отличающийся SESSION_DRIVER и SESSION_COOKIE, лучше всего поставить дефолтные значения в конфиге и нигде в .env'е не перебивать.
  • Какое самое правильное и элегантное решение для поиска в таблице по всем столбцам используя eloquent?

    Alex_Wells
    @Alex_Wells
    TanykaGURU,
    о, еще один умник написал, который ничего не умеет, но балаболит будь здоров.)) Еще наверное себя считает сеньором))), ахахах

    Ну да, по тебе то сразу видно, что ты синиор) Ведь синиоры очень часто задают такие тупые вопросы, абсолютно не понимая структуру реляционной базы и инструментов, с которыми работает) Уже говорил про эффект Даннига-Крюгера, почитай.

    loquent НЕ ЗНАЕТ, ахахахахахахахах,

    Ну, покажи мне, "умнику, который ничего не умеет", как же из Елоквента достать структуру базы, которую ты нигде не описываешь, создавая модель? Как жаль, что я не получу ответа от такого гения, как ты!

    В свои пакеты не лезь? ахахахах, я написал за свою жизнь столько коммерческих пакетов, что тебе и не снилось, дятё.

    Твои пет-проекты - это не коммерция, открываю секрет.

    Ну говнокод пишут все, главное вовремя его рефракторить, и сырое не оставлять сырым.

    Нет, прикинь, обычно нормальные программисты стараются его НЕ писать в принципе и продумывать все максимально, дабы дальше не рефакторить. А если ты пишешь код с мнением о том, что ты будешь его позже рефакторить, то ты, представь себе, говнокодер.
  • Рсширение для Laravel Job истории и статусов?

    Alex_Wells
    @Alex_Wells
    vism, решений не знаю, мы используем хорайзон, но и тот не для UI, а для горизонтального и вертикального скейлинга. В принципе, в UI заходим крайне редко, ибо нет необходимости. Все failed и success падает в логи, оттуда в ELK, индексируется и у девелоперов есть вся инфа для дебага и алерты, если вдруг настал пиец.

    Собственно вопрос: для каких целей нужен UI?