Задать вопрос
  • Как правильно реализовать архитектуру CMS для распространения по модели SaaS?

    @grinat
    Докер это не про saas. И база должна быть одна, есть сущность пользователь, а у пользователя проект, который может быть визиткой, лендингом еще какой-то хренью. База одна, если будешь все делить, то ты в одиночку окажешься неспособен поддерживать эту систему.
    Ответ написан
  • Как делать 3D модели по фото не идеально точными?

    GavriKos
    @GavriKos Куратор тега Unity
    Модели для игр не должны соответствовать реальному миру, а должны соответствовать требованиям геймдизайнеров. Пока не усвоите это - вы не моделлер игрового мира.

    Ну а так - заведите линейку (рекомендую металлическую), и бейте себя по рукам когда будут приступы перфекционизма.
    Ответ написан
    7 комментариев
  • Наилучший метод для изучения английского?

    sim3x
    @sim3x
    Простыню не читал
    Лучший метод - практика 24/7
    Ответ написан
    14 комментариев
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    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 комментариев
  • Как обойти большой json файл и обновить все связанные записи в MySQL, с отставанием от файла < 2 сек.?

    Правильное решение - парсер должен сам сразу писать в БД.

    Если это невозможно надо постараться максимально устранить накладки и двойные обработки:
    На каждую итерацию work.php отправляет ID в скрипт getEvent.php с помощью fsockopen.
    ... В getEvent.php опять же идет гет актуального JSON, декод и скрипт ищет в "events" ID, которое ему отправил work.php затем обрабатывает эти данные и обновляет их в базе MYSQL

    Вот это что за хрень? Почему work.php не может сразу отправить данные getEvent? Зачем getEvent заново гетит JSON и заново ищет там ID?
    А потом вы жалуетесь что:
    Оперативка кушается потому что в work.php каждые 2 секунды гетится json + в 600-800 открытых getEvent.php тоже гетится этот же json.


    чтобы они не отставали от данных в json файле более чем на 2 секунды.

    И сколько гигабайт в вашем JSON что процесс не может его обойти и отправить мускул за 2 секунды?
    Ответ написан
    4 комментария
  • Почему PHP теряет популярность?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    PHP не мода, php - классика, а классика никогда не умирает. Если умрет php, то умрут все остальные языки backend разработки потому что появится что-то такое, что сможет в разы превзойти пхп в простоте, скорости и удобстве, на данный момент что джава, что питон, что руби +- одинаковые, каждый подходит для своих целей. Тот же питон выбирают из-за простоты интеграции нейронных сетей, но если говорить не о узких, а о главных параметрах (функционал, скорость и тд) все популярные бэк языки более или менее одинаковые смотрите те же сухие графики.
    А о уменьшении вакансий - глупость несусветная. трын тут приведена статистика за 2018 год и обоих графиках по вакансиям лидирует в сравнении с java/python PHP, при том на первых двух пишут как бэкэнд, так и миллион других штук. А на втором графике и вовсе пхп опережает js (единственный язык в самой популярной сфере разработки).

    А вот если речь идет о реально крупных компаниях (amazon, google...) там как раз предпочитают python из-за выше упомянутой простоты интеграции нейросетей, а java из-за стабильной поддержки сверх высоких нагрузок.

    Меньше слушайте диванных экспертов, пхп предрекают смерть с 00-х годов, что то он слишком долго дергается для мертвеца.
    Ответ написан
    1 комментарий
  • Почему домашняя проводная сеть обеспечивает только 100 Мбит/сек, и как повысить скорость до гигабитной?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для проверки чистой скорости сети передача файлов с винта на винт не подходит, вы можете упираться в пропускную способность жёсткого диска.
    Используйте специальные утилиты, например, iperf.
    Если iperf тоже покажет 100 Мбит/с, то надо смотреть в каком режиме работают сетевые карты, не включен ли на них режим принудительного ограничения скорости, проверять разводку кабеля на соответствие стандарту.
    Ответ написан
    3 комментария
  • Как избежать в Figma прилипания элементов к фрейму?

    katia-ekb
    @katia-ekb
    UI / UX дизайнер
    чтобы не учитывались привязки при изменении размера фрейма зажимайте Сmd (мак) или Ctrl (винда)
    Ответ написан
    10 комментариев
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    Moskus
    @Moskus
    Когда советуют, убедитесь, что у вас и у аудитории этого совета одна цель. Потому что "как можно скорее начать пользоваться фреймворками" - это если задача - как можно скорее начать шлёпать продукт и деньги получать. А если задача - научиться программировать, фреймворки тут не при чем.
    Ответ написан
    14 комментариев
  • В PHP канонично сначала проверить, потом сделать или попробовать и обработать ошибку?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    В таком примере, как вы привели, if() проверяет только условие существования файла или директории. А try-catch обработает бОльшее число ситуаций: если это не файл, а директория, если права не позволяют читать, если устройство гакнулось и не прочиталось.
    пример автора вопроса
    # Вариант 1:
    f getFileContent(filename){
      if (!file_exists(filename)) {error: file not found}
      return file_content(filename)
    }
    
    # Вариант 2:
    f getFileContent(filename){
      try return file_content(filename)
      catch FileNotFoundException {error: file not found}
    }


    По замыслу if отличается тем, что проверяет предусмотренные варианты, а исключения кидаются в непредусмотренных. Все бросаемые исключения надо документировать, чтобы их кто-то где-то, в итоге, поймал.

    Условные операторы только для локальной логики внутри функции. Отлов исключений может иметь многоуровневую иерархию вне функции, класса. Например, случай не файла-а-папки отловится в одном, а случай нечитаемого сломанного устройства – на самом верхнем уровне всего приложения. И по-разному будут обработаны.

    Внешние материалы по теме:
    1. Пост по теме (на англ.)
    2. скорость выполнения с исключениями и без (без быстрее)
    3. Exception patterns, в частности:


    Ответ написан
    6 комментариев
  • В PHP канонично сначала проверить, потом сделать или попробовать и обработать ошибку?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Очень хороший вопрос и тема, в которой самое чудовищное количество самых дремучих северий на единицу кода.

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

    Я понимаю, что это звучит богохульством для среднего пользователя похапе, но в реальности программы пишутся совсем по-другому.

    Пример: В обоих приведенных выше случаях мы имеем масло масляное: попытка подменить пхп в выборосе ошибки. Вопрос - зачем? Если файл не найден, то РНР сам прекрасно сообщит нам об ошибке, причем в подробностях, и скажет в чем конкретно заключается проблема. А по строчке "file not found" иди гадай - путь ли кривой или в имени файла опечатка, или вообще пустоту передали.

    Любые проверки надо делать только тогда, когда есть осмысленный сценарий их обработки.

    И обсуждать выше приведенные примеры имеет смысл только если автор вопроса предоставит такой сценарий. тупое error: file not found таким сценарием не является. Так что в общем случае оставляем код в покое и не устраиваем никакого карго культа из перехвата ошибок.

    Если чисто выбирать между двумя действиями (проверка и чтение) и одним (сразу читаем, потом ловим исключение),

    то последнее предпочтительнее, поскльку это атомарная операция, в то время как между проверкой и чтением состояние системы сожет измениться (файл может быть удален).

    Но повторюсь, если нет никакого осмысленного сценария обработки ошибки, то ловить её не надо.
    Ответ написан
    6 комментариев
  • Если я буду брать удаленный ресурс (.js, .css, .jpg...) по https, а сайт с ресурсом доступен по http. Или наоборот. Всегда ли получится взять?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    доступ от хттп хоста к хттпс ресурсам - можно
    доступ от хттп хоста к хттп ресурсам - можно
    доступ от хттпс хоста к хттпс ресурсам - можно
    доступ от хттпс хоста к хттп ресурсам - низя
    Ответ написан
    2 комментария
  • Как создавать компоненты, есть ли какие либо стайлгайды или практические руководства?

    Xuxicheta
    @Xuxicheta
    инженер
    В разных фреймворках роль компонентов немножко разная.
    Но в целом следует соблюдать solid, компонент должен делать что-нибудь одно, иметь лаконичный интерфейс, расширяться через обертки и общаться только с ближайшими сущностями.

    Сверхспособность правильно делить приложение на компоненты придет только с практикой. Пока можно стремиться к "чем проще компонент, тем лучше", особенно это характерно для реакта.
    Ответ написан
    Комментировать
  • Новый ноутбук (win10, hdd) грузит винт на 100%. Почему?

    moropsk
    @moropsk
    Ответ, да.

    Родной HDD скорей всего со скоростью вращения шпинделя 5400 об., замена на 7200 проблемы не решит.
    Только после замены на SSD будет заметно на глаз, увеличение скорости работы системы.
    Ответ написан
    2 комментария
  • Куда двигаться в изучении frontend-разработки, программирования?

    criticalsomethoughts
    @criticalsomethoughts
    UI\UX Developer, Project Manager
    Что я знаю?:

    1. HTML - не знаете, HTML это не быстро найти и интегрировать код, а нормальное знание семантической верстки, что бы потом не тошнило SEOшников от отсутствия тэгов header\footer
    2. c CSS все очень странно, что значит средне-начальный уровень? Позиционирование в CSS, одна из начальных и простых тем, это не работа с анимацией, svg и тд и тп. Изучите лучше, особенно перед тем как копаться в WP и плагинах типо Elementor.
    3. Все остальное не читал, т.к как именно после этого многие на тостере пишут что веб - это работа для макак.

    Те пет-проекты, которые вы закинули на гитхаб - не ваши, это уроки с youtube, по которым люди учаться верстке, возьмите один сложный макет, нарисованный в обычном psd, сверстайте его, посадите с нуля на WP, столкнитесь с тучей ньюансов - таких как - создание адаптивного, кроссбраузерного, семантически правильного шаблона, с грамотной посадкой под WP.

    И после этого повторите так еще 7-8 раз. После этого либо вылезайте на hh, либо думайте о фрилансе(не факт).
    Ответ написан
    5 комментариев
  • Каковы зарплаты junior frontend разработчика?

    Zoominger
    @Zoominger
    System Integrator
    Чтобы не натягивать на себя розовые очки, хотелось бы знать, насколько такие зарплаты реальны и если все это ложь для привлечения внимания

    Лжи там нет, почему-то вы не указали, что требуется опыт. Кроме того, требования для джуна в вебе гораздо выше, чем вы описали (очевидно, это осталось в "по-мелочи") и больше подходят для миддла.

    А так, конечно, известный факт, что джун JS на удалёнке имеет от 150k в месяц.

    Кстати:
    Открываю я 3 вакансии на

    А почему только 3? На остальных - бесплатная стажировка?
    Ответ написан
  • Каковы зарплаты junior frontend разработчика?

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