• Верстка и программирование?

    mrusklon
    @mrusklon
    Не получается? Яростно гугли!
    1) css должен быть один для всех , точнее минимум кода, больше классов , БЕМ и т.п Без таких простых вещей не было бы бутстрапа например
    2) причем в этой истории дизайнер?
    Ответ написан
    6 комментариев
  • Кто-го гонит радио по обычным розеткам 220. Как найти и отблагодорить диджея?

    Jump
    @Jump
    Системный администратор со стажем.
    Да никто по розеткам ничего не гонит.
    Это требует специального оборудования, и крайне маловероятно.

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

    Zoominger
    @Zoominger
    System Integrator
    я так думаю, что конечно же веб

    Нет.

    Сейчас вот зима, можно подрабатывать дворником, можно чистить машины по утрам, можно в доставку курьером устроиться.

    И если вы думаете, что я глумлюсь, то снова нет. Так вы заработаете больше и быстрее, чем если сунетесь в веб, где вам не оставят шансов те, кто берёт меньше, а умеет больше.
    Ответ написан
    3 комментария
  • Как это понимать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Lost in translation.
    В оригинале ничего, естественно, про именованные параметры нет
    Ответ написан
    1 комментарий
  • Стоит ли использовать Elasticsearch в качестве основной бд?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Elasticsearch не является базой данных, а просто поисковым индексом. Использовать его как БД нельзя ни в коем случае.
    - никакой консистентности
    - никакого ACID
    - управление доступом только в коммерческой версии за много денег
    - чтобы изменить тип данных в документе надо изменить маппинг только через полное пересоздание индекса
    - лимит по выдаче данных. Проблемы начинаются уже после первой тысячи в поиске ибо рассчитан он изначально на выдачу 1-3 результатов
    - эластик ест столько памяти сколько есть на виртуалке. Дашь ей 2 Tb RAM и будь уверен - он займет все
    Ответ написан
    22 комментария
  • Удалили акк Upwork с деньгами, что делать?

    Lucian
    @Lucian
    https://t.me/BusinessAndFreelance
    Привет, приписка что бан перманентный, написана для людей которым не важен аккаунт. Вы получили бан, потому что по мнению сотрудников, выдавали себя за другое лицо, вам нужно доказать обратное. Upwork очень жестко относится к таким случаям, благодаря несознательным гражданам, которые интересуются как легко поднять $, сдавая в аренду свой аккаунт гражданам китая.

    1. Прочитать правила upwork еще раз.
    2. Понять какой пункт вы нарушили и добавить это в свое сообщение.
    3. Собрать пакет документов, ссылок и прочей инфы, с которыми писать в сапорт и форум.
    4. Если не получилось, повторить с 1 пункта.

    В суд вы подать можете, но хорошо осведомленного адвоката с интересом в $2500 вы не найдете, придется все делать самому, думаю это будет хорошая практика.
    Ответ написан
    Комментировать
  • Какая вставка в бд будет быстрее? Задать в insert значения к столбцам либо использовать default?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Господи, опять оптимизируем несуществующие проблемы

    Десятки тысяч в минуту это вообще не о чём.
    На моей рабочей пукалке с дешевым ХДД 10 тысяч вставляются за пол-секунды. Обычными подготовленными запросами.
    На нормальном сервере с SSD будут сотни тысяч. в секунду. про минуты вообще речи не идет.

    Что ж вы все так стараетесь решить воображаемые проблемы-то?
    причем самым дурацким способом - высасываете из пальца самую незначительную деталь, которая вообще никак ни на что не влияет - и давай её оптимизировать.

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

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Как вариант, собеседоваться в компании, которые занимаются open-source продуктами
    Ответ написан
    Комментировать
  • Как уже на собеседовании понять, какое в компании качество кода?

    @g_s_e
    Ну вообще стоит начать с того, что Вы подразумеваете под говонокодом. Зачастую говнокод - это не только криво написаный метод/класс, это еще плохо оптимизированная бд, кривая архитектура приложения и неверно выбранные инструменты для решения задач поставленных перед проектом. В любом случае проект делают люди, которые меняться на проекте, посему нужно выяснить детали самого подхода разработки проектов в самой компании:
    - спросить сколько проект находится в разработке, степень покрытия тестами, если прокт древний и не покрыт, то плохо;
    - если проект древний, то узнать обновляются ли на нем версии инструментов/фреймворков на более новые, выяснить что с обратной совместимостью;
    - спросить как происходит процесс мерджа новых фич, если если через мерджреквесты на тимлида, которые он аппрувит или отклоняет, то уже не плохо, и Вам подскажут, проконтролируют, что не плохо. Eсли пуш в ветку девелопмент, то плохо;
    - если используют мерджреквесты на тимлида, то спросить используется ли git-flow, если да, то хорошо, это минимизирует варинт того, что Вы получите кучу крешей от того, что было запушино коллегами, если не используется, то плохо;
    - узнать что проиходит с CI на проекте, если есть тесты, то запускаются ли они при деплойменте, если да то хорошо, нет - плохо;
    - если это web проект, на котором используется бекенд и фронтенд фреймворки, то стоит спросить развернуты ли они на разных серверах, если да то хорошо, если нет то плохо;
    Выяснить это все иначе, чем по косвенным признакам, является маловероятным.
    Ответ написан
    Комментировать
  • Как сделать правильно и лаконично?

    wapster92
    @wapster92 Куратор тега JavaScript
    let f = arg => alert(++arg)
    Ответ написан
    Комментировать
  • На чём построена структура интернета и есть ли шансы положить мировую систему?

    @MR27
    «Инцидент с AS7007». Первый раз интернет сломался в апреле 1997. В ПО одного роутера из автономной системы 7007 была ошибка. В какой-то момент роутер проанонсировал соседям свою внутреннюю таблицу маршрутизации и отправил половину сети в black hole.

    «Пакистан против YouTube». В 2008 году бравые ребята из Пакистана решили заблокировать у себя YouTube. Сделали они это настолько хорошо, что без котиков осталось полмира.

    «Захват префиксов VISA, MasterCard и Symantec компанией Ростелеком». В 2017 году Ростелеком по ошибке начал анонсировать префиксы VISA, MasterCard и Symantec. В результате финансовый трафик направился через каналы, которые контролирует провайдер. Утечка продолжалась недолго, но финансовым компаниям было неприятно.

    «Google против Японии». В августе 2017 Google начал анонсировать в части своих аплинков префиксы крупных японских провайдеров NTT и KDDI. Трафик отправился в Google как транзитный, скорее всего, по ошибке. Так как Google это не провайдер и транзитный трафик не пропускает, то значительная часть Японии осталась без Интернета.

    «DV LINK захватил префиксы Google, Apple, Facebook, Microsoft». В том же 2017 российский провайдер DV LINK начал зачем-то анонсировать сети Google, Apple, Facebook, Microsoft и некоторых других крупных игроков.

    «eNet из США захватил префиксы AWS Route53 и MyEtherwallet». В 2018 году провайдер из Огайо или кто-то из его клиентов проанонсировал сети Amazon Route53 и криптокошелька MyEtherwallet. Атака прошла успешно: даже несмотря на самоподписанный сертификат, предупреждение о котором появлялось пользователю при заходе на сайт MyEtherwallet, многие кошельки угнали и украли часть криптовалюты.

    Подобных инцидентов только за 2017 год было больше 14 000! Сеть все еще децентрализованная, поэтому ломается не все и не у всех. Но инциденты происходят тысячами, и все они связаны с протоколом BGP, на котором работает интернет.

    https://habr.com/en/company/oleg-bunin/blog/456582/
    Ответ написан
    9 комментариев
  • В каких случаях при разработке сайта на PHP лучше использовать не MVC (и его подобия), а какой-нибудь другой подход?

    @EvgeniiR
    https://github.com/EvgeniiR
    В каких случаях при разработке сайта на PHP лучше использовать не MVC (и его подобия), а какой-нибудь другой подход?

    В случаях когда разработчики проекта разбираются в разных подходах и знают какой лучше использовать.
    Во всех остальных случаях лучше этого не делать.

    Большинство даже в MVC никогда не пыталось разобраться, и думает что это когда в проекте 3 папочки есть(model/ view/ controller/).
    Или что MVC было придумано для веб приложений (а это не так :) ).
    Ответ написан
    8 комментариев
  • Как разделить модели в Laravel?

    @vism
    верно мыслишь.
    Сервисный слой называется.
    В сервисах содержится бизнес логика, а в моделях релейшены, скоупы и т.п.
    Ответ написан
    Комментировать
  • Собственные проекты. Стоит ли доводить до идеала?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не совсем понятно, какую цель вы преследуете. Исходя из вашего слова "профитнее" (т.е. по-русски "выгоднее") её можно трактовать по-разному.

    1) Если вы рассматриваете свои игры, как дополнительные пункты в резюме разработчика игр, и выгода для вас означает профессиональный рост и потенциальную зарплату у работодателя, то нужно не вылизывать игру до идеала, а повышать KPI. То есть нужно обращать на те моменты, которые приносят прибыль, а которые не приносят - забить. Однако к программированию это имеет мало отношения, это больше маркетинг, психология, геймдизайн, и вот это вот всё. Одному человеку это, как правило, не под силу. Но если вдруг хотя бы одна из ваших игр будет иметь коммерческий успех, пусть даже вы будете лишь одним из ее разработчиков внутри небольшой команды, то это считается серьезным достижением при устройстве на работу и имеет реально солидный вес, какую бы более узкую специальность вы ни выбрали.

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

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

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

    P.S. На уровне джуна можно быть только помощником. То есть хорошо зная лишь теорию, получать замечания от более опытных товарищей, которые отвечают за успех. Хотя деление это довольно условно. Пет-проекты могут как способствовать росту, так и просто отнимать время, смотря что и как качать.
    Ответ написан
    Комментировать
  • Собственные проекты. Стоит ли доводить до идеала?

    Zoominger
    @Zoominger
    System Integrator
    Да вам в принципе-то особо подобные проекты при поиске работы не помогут, скажу я вам.
    Ибо реальный гейдев отличается от того, что делаете вы.
    Так что ответ: нет.
    Ответ написан
    2 комментария
  • Можно ли получить полноценную orm-структуру моделей через множественный JOIN?

    @pavelpolitaev
    Вот вам сортировка по связанным моделям

    Document::with(['document_customs', 'document_templates'])
                ->withCount(['document_templates as for_sort' => function ($q) {
                    $q->select('field_order');
                }])
                ->where('id', '=', $document->id)
                ->orderBy('for_sort', 'DESC')
                ->get();
    Ответ написан
    2 комментария
  • Безопасность при использовании сессии?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Привяжите идентификатор сессии через fingerprint ("отпечаток" клиента) к клиенту (браузеру), захешируйте (никакого шифрования!) через серверную "соль" и сохраните на клиенте в куках.
    2. Затем, проверяйте этот идентификатор при смене IP-адреса внутри этой сессии, запросив реальный "отпечаток" и его хеш из куков, и проверьте то, что сохранено в сессии на стороне сервера: несовпадение - это чужой! ;)

    Итог: Если кто-то подменит куки, он никак не узнает реального "отпечатка" клиента и ничего не сможет сделать с украденными куками с чужим аккаунтом.
    Ответ написан
    6 комментариев
  • Поговорим о static?

    @l4m3r

    Когда гораздо проще сделать так:
    MyObject::myMethod();


    Если myMethod не влияет на внутреннее состояние объекта (изменяет members) - то так и надо делать (static).
    Пример статических:
    User::getStatusList() -- возвращает список возможных статусов для всех пользователей
    User::findById() -- ищёт в базе по ID и возвращает нового пользователя

    Пример нестатических:
    $user->setName('xxx'); мы работаем только с текущим пользователем
    $user->delete() мы работаем только с текущим пользователем
    Ответ написан
    8 комментариев
  • Можно ли использовать css-переменные с rgba, или как сделать альфа-канал?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    С помощью только CSS — никак в таком виде. CSS не умеет трансформировать форматы цветов. Очевидно, что внутри RGBA должен быть цвет в формате RGB.

    Поэтому только так:



    Если через SASS, то можно конвертировать HEX в RGB с его помощью а-ля так (лучше отдельную функцию использовать)

    Ответ написан
    3 комментария
  • Поступить в университет или пойти на работу после школы?

    Zoominger
    @Zoominger
    System Integrator
    В университет, без вариантов.
    Всё равно потом придётся идти, так что бросайте свои инфантильные отмазки в духе "ой, мне надо это, ой, да я зняю лючше" и вперёд, грызть гранит науки.

    Лично я за работу после школы, так как быстрее вольюсь в IT-сферу,

    Угу, а мы тут с распростёртыми объятиями ждём недоучек, которые даже в шараге не смогли выучиться и на честном слове говорят о своей компетенции.

    Дальше не читал, советую прислушаться.
    Ответ написан
    2 комментария