Задать вопрос
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    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 комментариев
  • Как получить все элементы с определенным id и применить к ним какую либо функцию?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    id обязательно должны быть уникальными. Нельзя использовать один id для нескольких элементов.

    Зато className может присутствовать у многих элементов. Назначьте всем слайдам класс slide-item

    Upd. примерно так можно, коротко и просто:
    Ответ написан
  • Возможно ли содержать сервер дома?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    Жил да был черный кот за углом...
    Что-то последнее время стало много вопросов на эту тему...

    Ну ладно, еще раз, как человек, уже больше года держащий дома самый настоящий серверный сервер (а не рабочую станцию, работающую сервером) выскажу свое мнение.

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

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

    К сожалению, плюсов не бывает без минусов :) Хотелось бы о них тоже поподробнее - не чтобы отговорить, а чтобы предупредить.

    - Цена, комплекутха, ЗиП. Новое серверное железо очень дорогое. Сервак за пол-лимона - это как здрассьте. "Для себя" обычно берут бу железо. Это довольно распространенный метод, так что существуют специальные конторы, торгующие бу серверным железом. Насколько оно старое? Обычно не моложе пяти лет. Почему пяти? В крупных конторах есть регламенты, по которым железо списывается по истечении определенного срока, обычно он пять лет. Списывается, независимо от состояния, даже если оно идеальное. Бу сервер можно прикупить за вполне приемлемые деньги (разумеется имея в виду, что винты нужно брать новые и не десктопные, а именно рейдовые). Комплектуху и ЗиП покупать можно в тех же конторах.

    - Размещение. Сервер обычно в серверном корпусе, который ставится в стойку. Добро, если у Вас есть стойка :) а иначе его нужно куда-то пристроить - а без стойки эта большая плоская хреновина будет весьма неудобной для резмещения (Лайфхак: у меня лежит на шкафу)

    - Шум. такого понятия как
    тихий серверный шкаф

    не существует. От слова совсем. Потому что шкаф - для серверной. Даже самый тихий сервер (а я подбирал именно по "тихости") даже при самых низких оборотах кулера (в BIOS - 4500 об/мин) - довольно заметно шумит. Кроме того, если температура повышается, сервер автоматически кладет на настройки BIOS и повышает скорость вращения кулеров - в итоге у меня сервер в людбое время устойчиво негромко гудит и периодически взвывает - потому что перегревается.

    - Комфортная температура. Для сервера и человека - она разная и поэтому запросто получится, что Вам придется выделить серверу отдельную комнату :D

    - Елестричество. Сервер жрет электричество. Круглые сутки, как дозорный в будке. Готовьтесь к повышению счетов от энергосбыта. Кроме того, сервер без упса будет падать при просадках - а в домах они не редкость. (У меня тоже нет упса :( )

    - Изнашиваемые части. Про ЗиП было уже сказано - так вот, не забывайте, что сервер содержит части, которые ломаются :) Кулеры, винты - все это нужно будет покупать :)

    - Интернет-канал. Для физиков как правило flat-rate не предоставляют (ну либо заломят, как с юрика), поэтому держать там нагруженный сайт Вы не сможете - он будет адово тормозить. Хотя обычный сайт работать будет (если пров дает белые IP).

    - Анти-вирус, анти-ддос, анти-спам, анти-все-остальное. Все это придется делать самому либо просто забить. Разумеется, профессиональному админу это сделать несложно.

    - Настройка, резервное копирование. Фактически повторение предыдущего пункта - спихнуть нее на кого, сами, все сами...

    - Изменить IP практически невозможно, уж не говоря о его регулярной смене.
    Ответ написан
    12 комментариев
  • DOM банально не работает. В чем дело?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Flask
    Седой и строгий
    Flask тут вообще не при чём. Ваш скрипт начинает выполняться сразу, как только загрузится, а загружается он раньше, чем страница. Либо перенесите тег <script> перед закрывающим тегом </body>, либо весь код внутрь обработчика DOMContentLoaded.
    Ответ написан
    2 комментария
  • Насколько законен перехват https трафика (mitm путем подмены сертификата) работодателем?

    deepblack
    @deepblack
    но перехват трафика - это неправомерный доступ к личной информации (уголовный кодекс).

    Откуда на рабочем месте личная информация?
    Там только рабочая может быть (и должна быть).

    Другое дело если вам на личный смартфон пытаются поставить подобную штуку или на личный ноутбук.
    Ответ написан
    Комментировать
  • Эталонная модель ЛВС?

    @MechanID
    Админ хостинг провайдера
    Идеала нет.
    Есть реали в виде помещений, персонала, их потребностей и бюджета.
    Сеть как и любой другой проэкт нуждается в ТЗ.
    Ответ написан
    Комментировать
  • Вредно ли втыкать 2 usb устройства в один порт usb?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Физическим разветвлением у вас ничего не выйдет, т.к. по USB можно подключить либо одно активное устройство, либо концентратор с ограничениями в работе подключаемых уже в него.
    Колхозить вам придётся путём пересборки готового USB хаба и установки внутри ноута, причём место на плату + 2 коннектора у вас появится только при замене дисковода на заглушку.
    Ответ написан
    Комментировать
  • Как обезопасить себя от проблем с законом размещая чужой сайт на своем хостинг аккаунте или регистрируя домен для чужого сайта?

    Zoominger
    @Zoominger
    System Integrator
    Не размещать сайт на своём хостинге, очевидно.
    Других советов с такой постановкой вопроса не дать.
    Ответ написан
    5 комментариев
  • Поменял процессор и появилась проблема. Почему?

    @vanillathunder
    Для начала проверь температуры под нагрузкой, еще вариант что мощности питания не хватает, тогда это уже проблема.
    Ответ написан
  • Есть ли способ защитить информацию, которую выводит php файл при обращении к нему из js AJAX'ом?

    hzzzzl
    @hzzzzl
    никак, всё что вернется со стороны сервера в браузер будет видно в консоли
    (если конфиденциально, то делать этот скрипт на стороне сервера, и возвращать уже готовый результат?)
    Ответ написан
    Комментировать
  • Как из JSON получить значение?

    Lynn
    @Lynn
    nginx, js, css
    YouTube_obj.items[0].contentDetails.duration

    Кто ж так форматирует?!
    Ответ написан
    3 комментария
  • Как сделать платежную систему с залогом?

    Jump
    @Jump
    Системный администратор со стажем.
    Как сделать платежную систему с залогом?
    Обратится к профильным специалистам. Т.е к банкирам.

    может быть есть готовые библиотеки
    При чем тут библиотеки? Это услуга банка или иной финансовой организации.
    Ответ написан
    Комментировать
  • Как найти исходное число?

    WizardNG
    @WizardNG
    Математика, 3-й класс
    X+0.3*Y = Y
    X = Y - 0.3*Y
    X = 0.7 * Y
    Y = X / 0.7
    Ответ написан
    1 комментарий
  • Перенос большой mysql базы на другой сервер?

    На первом сервере делаете mysqldump, не забыв его сжать
    Копируете дамп на второй сервер
    На втором сервере разворачивается дамп через консольный клиент mysql

    P. S. База маленькая
    Ответ написан
    7 комментариев
  • Можно ли в браузере сделать компилятор и среду исполнения Си-программ?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Универсальный ответ на все такие вопросы - Js - полный по Тьюрингу язык, так что на нем можно запрограммировать все что угодно.

    Вот, например, первая квака https://habr.com/ru/post/177159/
    Ответ написан
    1 комментарий
  • Как сократить логическое выражение в php?

    @D3lphi
    1. Записываем булеву функцию.
    2. Находим минимальную ДНФ / КНФ функции.
    3. Смотрим, какая из форм проще.
    4. Используем.
    Ответ написан
    1 комментарий
  • Можно ли получить внутреннее значение PHP массива сохраненного в MySQL с помощью serialize() не доставая весь массив?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вопрос из серии: стреляю себе в ногу, больно, как стрелять себе в ногу, но что бы не больно?

    Нормализируйте БД и не пользуйтесь serialize для вставки. Вот эти 200 элементов мне почему-то так кажется, отлично бы лежали в отдельных строках отдельной таблицы.
    Ответ написан
    Комментировать
  • Может ли быть API не как API?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    просто в копилку https://habr.com/ru/post/441854/
    (в остальном поддержу предыдущие ответ)
    Ответ написан
    3 комментария
  • Как правильно реализовать запрет выдачи адресов в DHCP?

    Запрет на ДХЦП - защита от дураков. Тру-хакер пропишет IP руками )
    Вам нужно "тушить" порты которые не юзаются на коммутаторах или юзать порт-секурити ;)
    Ответ написан
    7 комментариев
  • Для чего нужна авторизация в WEB API?

    @EvgeniiR
    https://github.com/EvgeniiR
    Аутентификация может быть сложнее чем ввод логина и пароля. Вот захотите вы двухфакторку через Google authenticator/смс/email ввести, и логинить по новой каждый раз будет не вариант.
    Ну и хранить логин и пароль клиента в открытом виде на клиенте все время работы приложения.. Не всем понравится.
    Ответ написан
    Комментировать