Профиль пользователя заблокирован сроком с 20 сентября 2021 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как структурировать разработку веб-приложений?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Контейнеризировать смысл есть всегда - даже если работаешь один. Поднимать окружение локально - та еще хлопота, а с минимальным набором в один стейдж и один продакшен - так вообще жесть.

    docker-compose'ом это собрать выйдет в 10 раз быстрее, и на сервере нужно будет буквально только docker и поставить. Конечно, начать с простенького варианта (просто один компоуз на все окружения).

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

    Второй вариант лучше всего с ПРами, а не мерджами напрямую в главную, даже если из команды их никто не смотрит - просто потому что девелопер сможет посмотреть, че он там накалякал перед мерджом. Ну и CI/CD ерунда автоматически становится доступной и простой, если речь об любом популярном git хосте (github/gitlab/bitbucket).

    Собирать все лучше всего на CI-ке, там часто описано все с екзамплами (в т.ч. для сборки фронта и бэка) и есть кнопочки, с помощью которых можно прямо оттуда сразу релизить на серваки.
    Ответ написан
    1 комментарий
  • На каком языке лучше писать сложные, большие телеграм боты?

    @deliro
    На любом. FSM можно написать на любом языке.
    Ответ написан
    Комментировать
  • Есть ли разница между написаниями?

    @deliro
    Ну подставь id="1; DELETE FROM data" и сразу увидишь:)
    Ответ написан
    Комментировать
  • Какой выбрать парсер для начинающего?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Навыки написания парсера ничем не отличны от навыков программирования. Вы умеете программировать? Давайте начнём с этого. Если нет, то вам стоит поискать какой-то софтвэа, наподобие ZennoPoster. Для того, чтобы его освоить достаточно представлять себе, что такое блок-схема и дружить с логикой.
    Ответ написан
    2 комментария
  • Написание бота для WoT?

    @inforse
    Блять бесят такие ответчики, которые вместо советов начинают нести чушь, лишь бы оставить след в интернете. Вы даже на вопрос не ответили, никто из вас.
    Ответ написан
    Комментировать
  • Какой способ лучше защитит пароль?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Первый вариант, разумеется, вообще ни о чём.

    Есть три вектора атаки на пароли: перебор по радужным таблицам, брутфорс и подбор по словарю.
    От первого защищает соль, от второго алгоритм, от третьего сложность пароля.

    У нас здесь речь идет об алгоритме. То есть, о буртфорсе. Что такое брутфорс? Это тупо подстановка случайных сочетаний символов по очереди и проверка, не совпал ли хэш. Чем быстрее вычисляется хэш, тем быстрее раскалывается пароль.
    ПОЭТОМУ, ключевой характеристикой хэша для паролей является сложность его вычисления.
    Твой ша-пицот-двенадцать выплоненный стопицот раз - это для современной техники как воробей чихнул. А для будущей и подавно.
    Поэтому умные люди придумали алгоритмы которые во-первых вычисляют каждый хэш гораздо медленнее, а во вторых адаптируются под растующую скорость процессоров, и говорят тебе когда пора уже усложнять алгоритм. Именно этим и занимаются встроенные функции, и поэтому ты должен использовать именно их.
    Ответ написан
    Комментировать
  • Один большой бандл для всего или много маленьких модулей лучше грузить на сайт?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Я на эту тему делал доклад: https://www.youtube.com/watch?v=rQDd5kCwDj8
    Там есть и личный опыт и ссылки на исследования.
    Правда, с 2016-го что-то могло поменяться, но я, честно говоря, сомневаюсь.

    Если резюмировать ответ на вопрос: лучше всего собирать две версии - для HTTP/1 и для HTTP/2 и отдавать клиенту то, во что он умеет.
    Ответ написан
  • В чем проблема в SQL файле?

    BorLaze
    @BorLaze
    Java developer
    а кто сказал, что это проблема? редактор? так это проблема редактора

    вот если импорт средствами БД скажет, что что-то не так - тогда да, это будет проблема
    Ответ написан
    Комментировать
  • Что нужно изучать, чтобы лучше понимать Linux?

    @greylordo
    О, а набежали то, набежали))
    Генту, Скрейтч... Зачем? Спугнуть будущего пользователя Линукс?
    Я понимаю желание изучать, но для начала сойдёт обычное использование Линукс. Та же классическая Убунта подойдет. И да - желательно на реальном, но не на основном железе. Не нужно только думать, что Убунту для хомячков. В организациях и серверных решениях этот дистрибутив популярен, пригодится в будущем. Можешь так же к гному привыкать, так как его пилят ред хат, как впрочем и само ядро. Да и волокиты меньше с Убунту. Я для Линукс использую сейчас ноут б.у., взятый с известного сайта объявлений. Можно за те же 12 тыщ найти с конфигом CPU i3, 12Gb RAM, 120 SSD, ~650 GTX GPU. И изучай. Как только освоишься, сразу переходи на Арч. Лично я убил кучу нервных клеток, примерно 3 дня на кучу попыток поставить себе Арч и в итоге достиг своего. В процессе установки, используя Арч вики, поймёшь - из чего примерно состоит дистрибутив, насладишься скоростью работы pacman (не сразу, придет время и поймёшь) и познакомишься с командами. Но это только начало пути. В процессе использования Арча тоже нужно подчерпывать знания из той же Арч вики, а такая возможность представится, поверь. Не забудь про репозиторий herecura в Арче, чтобы не обламываться. Возможно это будут и другие форумы или тот же ютуб. Когда освоишься в Арче и поймёшь, что ты теряешь кучу времени на действия, которые автоматизированы в той же Убунту (это как правило sudo systemctl enable/start сервис) или же замучаешься пользоваться напильником, или захочется ощущать, что твоя система - это что-то единое целое а не мозаика, то возвращайся на Убунту. Вот и весь секрет. Только практика.
    P.S. пользуюсь Линуксом с 2009-2010
    Ответ написан
    Комментировать
  • Как выучить всю нужную математику для нейронных сетей?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Ну после 9-того можно записаться в ближайшую библиотеку ВУЗа и взять учебник по высшей математики хотя бы за первых 3 курса.
    Ответ написан
    3 комментария
  • IDE или редактор кода для C#?

    GavriKos
    @GavriKos
    не такой ресурсоёмкий

    а как вы думаете, откуда там ресуркоемкость? Она как раз из задач и вытекает )))

    Альтернативы вижле, и которые IDE:
    -Rider (точно не быстрее)
    - был такой SharpDevelop - надо смотреть насколько он еще жив
    - MonoDevelop - но это уже с трудом под IDE попадает (((
    Ответ написан
    2 комментария
  • Зачем нужны байты?

    wisgest
    @wisgest
    Не ИТ-специалист
    Строго говоря 8 бит — это не байт, а октет, а байт — это наименьшая адресуемая единица памяти (у отдельных битов собственного адреса нет). Просто обычно эти понятия совпадают.
    Ответ написан
    Комментировать
  • Почему после сортировки ничего происходит?

    Rebel-Cat
    @Rebel-Cat
    ты указал вместо нужной j - "i"
    public void quickSort(int low, int high) {
     while (iDNumber[j].compareTo(base) > 0) {
                    j--;
                }
    Ответ написан
    1 комментарий
  • Как найти машинную бесконечность?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Количество бит под мантиссу с учётом знака - 14.
    Максимальное значение мантиссы - 213-1
    Максимальное значение числа - 1.(1) * 2213-1 < 2 * 2213-1 = 2213 = X ≈ 1.0907 * 102466
    Ответ написан
    3 комментария
  • Есть ли язык Eris и вообще существует-ли?

    FinGanapre
    @FinGanapre
    Это не язык, а обёртка под node.js:
    https://www.npmjs.com/package/eris
    Ответ написан
    Комментировать
  • Какую ОС ставить на домашний хостинг?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ставьте любой голый серверный дистрибутив в минимальном варианте, вайфай вам нужно настраивать только один раз, хотя я бы забил на вайфай и подключил бы проводом, так надёжнее. Если нет сетевой карты, можно купить китайскую USB сетевуху.
    На сервере напрямую ничего не ставить, только в докер-контейнерах.
    Начните с самого простого варианта Ubuntu-Server. Если чем-то в дальнейшем не устроит, легко переставить на что угодно, ведь всё в контейнерах.

    Но я на вашем месте не морочился бы с локальным железом (если вы, конечно, не умный дом городите и не окальный NAS), а завёл себе VDS. Сейчас это недорого и для домашних проектов очень удобно.
    Ответ написан
    3 комментария
  • Где научиться/почитать про общие темы backend?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Купи книжку Котерова РНР7.
    Зумеры от нее воют потому что (там нету видео, а объем текста больше полутора строчек они воспринимать не в состоянии) про собственно РНР там начинается примерно с середины. Как раз потому что сначала там даются именно базовые понятия, без которых нельзя освоить веб-программирование. В том числе что такое НТТР и как оно работает.
    Ответ написан
    1 комментарий
  • В чем разница между dependency injection и методом, который возвращает тип класса?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В чем разница между поехать в отпуск и футболом?
    И в том и в другом случае мы будем носить обувь.
    Вот пример: в холодильник можно поставить пиво, а по карточке можно снять деньги в банкомате.

    Ты, во-первых, не понимаешь что такое dependency injection, а во-вторых - что делает твой код.

    Если отбросить все умные и красивые слова которые ты тут наскреб по сусекам, то оба твоих примера - про type hinting. Только в первом кусочеке кода мы просим интерпретатор проверять входящий параметр, а во втором - возвращаемое значение.
    Type hinting двольно размытый термин, мне больше нравится "контроль типов", который используется в документации. Поскльку в данном случае это не "подсказка", а строгий контроль: скрипт упадёт с ошибкой если в первом примере в метод придет что-то отличное от класса реализующего интерфейс Foo, а во втором - если метод вернет что-то отличное от такого класса.

    Контроль типов надо использовать, чтобы твой код был чище и работал предсказуемее.

    При этом dependency injection вообще не имеет никакого отношения ни к твоим примерам, ни к контролю типов. Внедрение зависимости относится к классам, а не методам. И означает, что если твой класс использует в работе какие-то инструменты, то он берет их не из воздуха - из всяких жлобал, синглетонов, контейнеров, или клепает прямо на месте - а явно получает при создании в виде параметров конструктора.
    Внедрение зависимостей следует использовать, чтобы твой код было легче изменять и поддерживать.
    Ответ написан
    6 комментариев