Задать вопрос
  • Еще проще и более практический пример рекурсии?

    Kulaxyz
    @Kulaxyz
    Могу лучше
    Приведу пример, который сам на днях использовал. К сожалению не на JS, а на PHP и он не такой простой, но возможно немного вам поможет:
    public function post()
        {
            if (!$this->parent()) {
                return  $this->commentable_id;
            }
            else {
                return $this->parent()->post();
            }
        }

    В общем суть такая, что нужно было уведомлять пользователя, если кто-то прокомментировал его пост, при этом, на сайте многоуровневая система комментариев. И если кто-то написал ответ на комментарий, то он уже никак не связан с постом, а автора уведомить всё таки нужно. Если комментарий написан не как ответ на чей-то, а как просто коммент под сам пост, то у него parent вернёт null, а иначе вернёт комментарий, ответом на который он является. И с помощью рекурсии я реализовал получение id поста, на который кто-то оставил коммент: в момент создания комментария вызывается этот метод post (функция, если так понятнее), которая, если это коммент первого уровня, вернёт id поста, а если нет, то вызовет этот же метод, но уже у комментария, ответом на который является данный. И эта функция будет вызываться сколько угодно много раз, пока не дойдёт до высшего уровня и не получит оттуда id поста.
    Ответ написан
    1 комментарий
  • "Проднижение" сайта через 100% отказ и попытки взлома. Что можно сделать?

    @Otrivin
    junior full-stack сисадмин
    Если Ваш сайт ориентирован на РФ, а боты валят из-за рубежа, можете уйти под бесплатную защиту cloudflare, запретив там подключения не из РФ.

    Или отдавайте статичный html с левым счётчиком метрики/без него, для посетителей с указывающей на спамера совокупностью признаков.

    PS интересно, gzip-бомбы ещё живы?
    Ответ написан
    2 комментария
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    Можно ли себя называть миддлом, если твой код говно?

    Неа. Если только хреновым миддлом. Ну и смотря насколько говно - там тоже разные сорта. Может, ваш код очень даже по сравнению с.

    как писать поддерживаемый код?

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

    miraage
    @miraage
    Старый прогер
    как писать поддерживаемый код?

    Если уж очень коротко, то соблюдать SOLID/GRASP. Мне понравился твит одного из авторов React Router:
    https://twitter.com/mjackson/status/1171524189850701825

    Most common mistake software developers make: putting stuff in the wrong place. Coupling responsibilities and concepts that should be kept separate.
    For me, this is 95% of software development. Just figuring out *where* things belong.


    Что гуглить, что учить?

    Фундаментальные знания, вроде вышеупомянутых SOLID/GRASP, паттерны (не только классические паттерны, но и вообще, общеизвестные решения определённых задач), базовые структуры данных. Фреймворки/библиотеки всегда будут приходить/уходить, что-то будет забываться. А фундаментальные знания всегда актуальны.

    Может литературу какую почитать посоветуете?

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

    Можно ли себя называть миддлом, если твой код говно?

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

    И ответ на главный вопрос.
    Как перестать говнокодить и принимать неверные архитектурные решения?

    Это невозможно. Все проекты, которые чуток сложнее CRUD-ов, рано или поздно обрастают говнокодом. Никто не пишет идеальный код. Код должен работать и решать проблемы бизнеса.
    Ответ написан
    6 комментариев
  • Потоки в python, для чего?

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

    Допустим, вам необходимо скачать несколько файлов с сайта. Если делать это обычным методом, то они будут скачиваться по-очереди, т.е 1 -> 2 -> 3 и т.д. Но с помощью потоков можно распараллелить этот процесс
    См. пример ниже:

    from threading import Thread
    url = ["https://test.com/23123", "https://test.com/2343" ...]
    
    def download(url):
         file = requests.get(url)
         with open("photo.jpg", "wb") as f:
                f.write(file.content)
    
    for i in url:
         Thread(target=download, args=(i,)).start()
    Ответ написан
    3 комментария
  • Bluetooth Прерывания музыки после разговора, кто виновен - телефон, наушники, софт?

    Stalker_RED
    @Stalker_RED
    tl;dr: купи айфон, или купи проводные, или играй в эту лотерею пока не угадаешь, или стань системным программистом и разберись что там корейцы накосячили.

    Есть кодек из 1988, и есть кучка более современных, но платных, при этом многие из них - фуфло. В итоге некоторые компании пилят свои версии кодеков, чтоб никому не платить. Они типа совместимы с разными устройствами, но не всегда (ОЧЕНЬ НЕ ВСЕГДА).
    А еще у этого всего есть пачка настоек, и в настройках тоже можно нарукожопить.

    И да, это может вообще быть проблемой плеера, а не телефона и ушей :)
    Ответ написан
    Комментировать
  • Что если взять фото из новостей (сайт, тв,..), каковы штрафы за авторские права?

    @anton99zel
    29а класс средней школы №7
    Работал я в редакции новостей и скажу, что даже новостники тырят фотографии друг у друга.
    Если Вы хотите использовать чужие фотографии, то вы должны найти на сайте прямой запрет. Если запрета нет, указывая активную ссылку на сайт рядом с фотографией, проблем не будет.
    Обычно такие моменты решаются так: "Алло, уберите фото!".
    До штрафа или суда редко доходит, особенно если с вас взять нечего. Однако, отвечая на вопрос - Да, такое возможно. И это называется не штраф, а компенсация и зависит от жадности автора и его юристов.
    Ответ написан
    3 комментария
  • Быстрый парсер кодов ответа сервера для 1 млн сайтов. Пока что выбрал PHP?

    @ArgosX
    Для данного случая рассмотрите вариант python,nodejs,go
    Ответ написан
    Комментировать
  • Каковы зарплаты junior frontend разработчика?

    @Stergy
    Как по мне все довольно индивидуально, у меня опыт 1 год и 3 месяца.
    Начинал практически с нуля.
    Мои зарплаты по месяцам если интересно.
    1й-3й месяц работы 10к рублей в месяц - знания нулевые, в основном учил основы
    после 3 месяцев сменил работу, ибо устали меня учить и получалось так себе, решил уйти + это была удаленка, прибавляй все сопутсвтующие сложности
    3й месяц - 1 год работы устроился в офис стажером, зп $200 - $800 (варировалась т.к. была почасовка и зп менялось в зависиомости от отработанных часов)
    После года - новая работа, работаю с июля(уже 3 месяца) Зп в районе $2000.
    Опять же уровень свой оцениваю - как низкий, серьезный буст по зарплате в моей ситуации происходит только при смене работы. В рамках одной работы больше чем на 1,5$ в час за раз не повышали.
    Вот как-то так, отвечая на ваш вопрос, что сейчас что год назад я джун. Но за год я вырос значительно, но весь рост все равно в рамках джуна. Поэтому нужно учитывать какого джуна ищут и что хотят видеть. Вряд ли абсолютному новичку дадут сразу 80к рублей, думаю для этого все же нужно немного повариться за меньшую зп.
    Ответ написан
    3 комментария
  • Как в ВК через метод messages.send отправить ссылку на пользователя без его упоминания?

    Pigeon1235
    @Pigeon1235
    disable_mentions: 1
    Ответ написан
    Комментировать
  • Стоит ли хранить базы данных на SSD?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    сервер базы стоит на SSD
    Я думаю, где стоит сам сервер - особой разницы нет.

    Меня интересует стоит ли хранить сами базы на SDD или лучше их перенести на HDD для продления жизни SDD?
    Для ответа на этот вопрос, нужно оценить следующие факторы:
    1. Оно Вам действительно нужно, что бы базы работали на SSD, скорости HDD не хватает?
    2. Резервирование диска? Т.е. если диск "крякнется" - есть дублирующий носитель, RAID или что-то ещё подобное? Если у одного из дисков он есть - лучше хранить на том диске, у которого оно есть.

    3.
    Стоит отметить что базу используя для личной разработки.
    Дочитал до этого пункта и... Из личного опыта могу рассказать Вам одну историю... Есть у нас сервер 1U, купленный изначально "для работы", потом мы его отдали под проект. В сервере среди прочего стоит SSD, самый обыкновенный, на 120Гб, из числа тех что стоят сейчас в районе 1500руб., стоит он там уже более 2-х лет (с того момента как мы его отдали проекту), ежедневно и беспрерывно, 24х7 диск "молотит" база достаточно крупного проекта (и сам проект стоит там же), изначально было много опасений на тему того, что диск не проживёт там и месяц... но, любопытство всё же пересилило и мы решили попробовать. Результат - по прошествии 2+ лет "здоровье" диска в районе 74%, думаю ещё года 3 он там проживёт за милую душу. Единственное отличие нашего диска от тех, что продаются сейчас - у него MLC-память, но что-то мне подсказывает, что этот факт никак не даёт диску сколь-нибудь фантастическую живучесть по сравнению со всеми остальными.

    P.S. С учётом цен на SSD на сегодняшний день, и того, что Вы собираетесь его использовать даже не в боевых условиях - я бы не стал забивать себе голову такими мелочами. Храните базу там, где Вам удобнее. Скорее всего, диск будет выброшен и заменён на другой раньше по техническим причинам, чем успеет "сдохнуть".
    Ответ написан
    1 комментарий
  • Как сделать отставание прокрутки фона?

    JaxAdam
    @JaxAdam
    Junior Full-Stack Developer
    Свойство background-position и событие window.onscroll(). Почитайте, поиграйтесь.
    Пример того, что вы ищете:
    вот тут
    Ответ написан
    4 комментария
  • Как в github может быть рабочая ссылка на файл, а файл в репозитории отсутствует?

    @timokins
    При создании релиза можно загрузить файлы двумя способами:

    binaries:

    5d810b6abefa7942713381.png
    и files:

    5d810b961f18c096092710.png
    Ваш пример был загружен вторым способом
    Ответ написан
    Комментировать
  • Какой KPI применяется к системным администраторам/системным техникам/тех.поддержке?

    Sanes
    @Sanes
    Похоже кому-то заняться нечем.
    У вас отдел продаж? Или поддержка? Какой еще KPI?

    системный администратор,сервисный инженер и системного техника (aka эникейщик)
    У перечисленных специалистов работа не потоковая.
    Ответ написан
    5 комментариев
  • Почему числа выводятся начиная не с 0 а с 1?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    В этом варианте кода на момент вывода к i уже прибавлена единица. Соответственно вывод начнется со значения 1 и будет 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    var i = 0;
    while (i < 10) {
        i += 1;
        console.log(i)
    }


    А в этом варианте кода на момент вывода i единица еще не прибавлена. Соответственно вывод начнется со значения 0 и будет 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    var i = 0;
    while (i < 10) {
        console.log(i)
        i += 1;
    }
    Ответ написан
    8 комментариев
  • Как работать с шаблонами?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    точка - это любой 1 символ
    звездочка - это ноль или больше символов
    Ответ написан
    1 комментарий
  • Что нужно знать, чтобы сказать "Я знаю/могу программировать на powershell"?

    @tartarelin
    Про себя могу сказать, что я ничего толком не знаю в PS, когда надо написать какой-то скрипт, то открываю Гугл и пишу там "powershell check file" или "powershell заменить текст в файле" и так шаг за шагом.
    Но это не помешало мне написать в резюме, что я знаю PS, пройти собеседование и устроиться на работу
    Ответ написан
    Комментировать
  • Зачем использовать flywaydb в django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Нет у flyway никаких преимуществ в Django.
    Ответ написан
    Комментировать