• Можно ли использовать доп. обращения к базе во благо красоты кода?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    А при чем тут вообще ООП? ООП не говорит нам как часто нужно делать запросы к базе, какие запросы писать. ООП предлагает работать с объектами. При чем тут читаемость вообще? Я могу прочитать как несколько вызовов методов обращения к бд, так и один.
    Сокращение колл-ва обращений к базе - не ООПешный подход. Это подход оптимизации производительности. Если у вас есть 1 запрос, ваш код будет работать быстрее, чем если бы запросов было 2. Читаемость кода улучшает грамотное проектирование методов - разделение ответственности, правильные имена и многое другое.
    В данном случае нет вообще никакого смысла делать несколько одинаковых запросов. В вашем вы скорее всего просто получите ошибку, если элемент в базе не найден. Если нет, то проверки
    if ( $product ) ...
    хватит сполна.
    Ответ написан
    Комментировать
  • Почему права доступа 777 для папки на сервере это опасно?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    А теперь представь, что кто-то нашел уязвимость в твоем коде, который вызывает команду в консоле (exec() например) и теперь он может зайти в эту папку и удалить все что нужно.
    Или у тебя взломали одного из юзеров.
    По большому счету, права для папки - следующий уровень защиты, если первый не сработал.
    Ответ написан
  • Как вы побороли синдром карпального канала?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Если я правильно помню, этот синдром возникает от постоянного пользования мышью, я давно перешел на трекпад и систему mac os, ведь только на этой системе можно без боли в сердце (и только так) пользоваться трекпадом. При том не обязательно покупать мак, как вариант - хакинтош и отдельный трекпад (от епл конечно), я им собственно на протяжении долго времени пользовался.
    Ответ написан
  • Как работать с базами данных заказчиков?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Как вариант: тебе присылают структуру, если у тебя есть какие-то изменения базы, ты присылаешь из в виде запросов отдельно. Они накатывают твои запросы в основную базу.
    Ответ написан
  • Заметна ли разница после перехода с 13 - 14" ноутбука на 16 - 17"?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Сначала работал на pro 13, на работе начал пользоваться pro 16, разницы почти не заметил. Сейчас переодически с одного на другой переключаюсь, никакой разницы.
    А по поводу 25-32 - чушь несусветная. Я на pro 13 перешел с 2-х 23-х дюймовых, первый месяц привыкал, а после свыкся и работаю одинаково что на 13, что на 27 монике.
    Ответ написан
    3 комментария
  • Core i7-10700F греется до 98 градусов с Dark Rock 4. Разве это нормально?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Вентилятор-то хоть крутится? Если да, могу предположить, что радиатор не плотно прижат к процу и/или плохо намазана термопаста.
    Очень сомневаюсь, что корпус может быть на столько плохой, что внутри будет такая жара.
    Ответ написан
    1 комментарий
  • Можно ли устроиться миддлом без опыта работы?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Ну это знания слабого джуна...

    Да и вообще, разработка - это не только теория и сферические магазины в вакууме. Разработка - это релизы, дедлайны, работа с чужим кодом, код ревью, взаимодействие с занудами бэкендерами, идиотами фронтами, успешными-успехами проджект менеджерами, высокомерными лидами и двинутыми дизайнерами. Если вы никогда не работали над продуктовым проектом, вы не знаете истинную цену фич и вылезших багов. Из-за ваших кривых рук не отваливалось приложение у 30% юзеров. Вы не знаете когда можно, а когда не нужно писать код "по книжке".

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

    имея за собой 1 стоящий проект

    Что это вообще такое? Стоящий по вашему? Сколько он приносит денег и сколько в него было инвестировано? Стоящий с точки зрения кода или полезности для людей? Что это была за команда? Что вы использовали?

    позиционировать себя как мидла

    Самое глупое что можно делать - это позиционировать себя не как "разработчик". В один прекрасный момент, когда я считал себя на джун+, меня пригласили на должность среднего мидла и только потому что в своей анкете я указал просто "Разработчик N". Только потому что в компании "Рога и копыта" мидл - это 1 год опыта, а в "Все будет отлично" мидл - это 2+ года и знание A,B,C,D
    Ответ написан
  • Как исправить ошибку required parameter follows optional parameter?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Message: Required parameter $limit follows optional parameter $slug

    А перевести?

    Ошибка простая. Параметры в функциях могут принимать дефолтные значения, выглядит это вот так
    function getAnimations($slug = FALSE
    Но установленные значения по дефолту должны идти всегда после обязательных значений. В вашем случае необходимо сделать одну из 3-х вещей:
    Переместить параметр с дефолтным значением после обязательного параметра:
    public function getAnimations($limit, $slug = FALSE, $type = 3) {

    Убрать дефолтное значение (скорее всего вы его и так передаете)
    public function getAnimations($slug, $limit, $type = 3) {

    Установить дефолтное значение для limit
    public function getAnimations($slug = FALSE, $limit = 20, $type = 3) {
    Ответ написан
    2 комментария
  • Эффективная защита изображений?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Вы ведь понимаете, что что бы отобразить картинку в браузере пользователя, ему нужно ее сначала скачать с сервера?
    Поэтому возможности запретит скачивание полностью нет, но есть вариант поумнее - временные ссылки. Если браузер будет обращаться не на прямую к картинке, а к файлу, который будет решать отдать ли эту картинку, вы сможете выдавать время жизни или ограничение по скачиванию ссылки. Это точно обезопасит от копирайтеров, но от прямых рук не спасет.

    Условно, вы обращаетесь на index.php, он определяет какие ссылки на картинки будут, записывает их в память, следом браузер обращается по этим адресам с картинками и url сгорают. Соответственно для того что бы отобразить нужно сделать запрос на index, без этого ничего. Для загрузки страницы этого хватит, но после загрузки уже скачать не выйдет.
    Ответ написан
    Комментировать
  • Где набраться опыта node.js джуниору?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Кто сказал, что?
    По ощущениями - категорически нет

    Что бы устроиться на должность middle node.js нужно поработать с node.js. В большинстве случаев джун отличатся от мидла опытом работы с технологией. Если вы станите middle php developer, вы сможете претендовать на должность, хоть и крепкого, но джуна для node.
    Хотите писать на node - пишите на node. Нет никого смысла "входить в один язык через другой".
    Ответ написан
    Комментировать
  • Проверка ввода Email без регулярных выражений?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    function testEmailAddress(emailToTest) {
        var atSymbol = emailToTest.indexOf("@");
        if(atSymbol < 1) return false;
        var dot = emailToTest.indexOf(".");
        if(dot <= atSymbol + 2) return false;
        if (dot === emailToTest.length - 1) return false;
    
        return true;
    }
    Ответ написан
    Комментировать
  • Как правильно оценить свой скилл в web программировании?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Устроиться на работу.
    Ответ написан
    Комментировать
  • Расстояние между клиентом и сервером, задержка, как решить?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Как вариант, проложить кабель напрямую от клиента к серверу и пользоваться им. Ну или можно попытаться по уговаривать физику, да бы она чуть смягчила свои законы и позволила вашему трафику двигаться быстрее.
    Ответ написан
    Комментировать
  • Стоит ли менять пк на Macbook pro 13?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    С таким количеством багов с которым я сейчас встречаюсь в экосистеме епель, я никогда не сталкивался на винде. Частично это связанно, конечно, с усложнением аппаратуры (вроде раньше наушники были на проводе, теперь нет), но чувства от перехода с очень неплохого виндовс пк на мак не сказал бы, что очень хорошие. Что-то удобнее, это факт, но есть и вещи в которых винда выигрывает. В общем, как человек, имевший больше 10 лет дело с виндой и скоро будет год как я полностью ушел на эпл (дома и на работе), могу сказать, что ответ что лучше очень неоднозначный.

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

    Когда имеет смысл выбрать мак за место винды:
    1) Вам нужен ноут со всеми вытекающими (нужно часто двигаться и тп)
    2) Вы знаете какие программы вам нужны и знаете что они есть только у яблока (но тогда и вопроса бы такого не задавали)
    Ответ написан
  • Почему по гитфлоу принято начинать новые ветки от develop?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Гитфлоу в данном случае подразумевает, что мастер будет иметь релизные версии. Когда вы закончили спринт, все протестили, подготовили для прода и заливаете на гит. В свою очередь develop - ветка для разработки. Код в develop может быть не полностью протестирован, он может содержать костыли. Он - промежуточное звено между релизами. Если у вас будет только одна главная ветка, вам будет значительно сложнее откатиться назад и посмотреть что там у вас на проде лежит. Понятно дело, что совсем недоработанный код в develop попадать не должен. Он при необходимости должен быть покрыт авто тестами, написан качественно и отревьюен. Но требования к коду менее жесткие.
    Ответ написан
  • Где можно посмотреть такие проекты?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Я бы по рекомендовал смотреть код популярных библиотек. В частности, для симфони. В этих проектах, чаще всего, соблюдаются solid принципы и код выглядит наиболее приемлемо. https://github.com/symfony
    Ответ написан
    Комментировать
  • Нормально ли сделал тестовое задание на PHP (числа Фибоначчи)?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Я свои пять копеек вставлю не с точки зрения алгоритма, а с точки зрения чистокододрочера:

    Это что вообще за дичь? Вы на джуниор битрикс фронтендера устраиваетесь? Вы вообще про ООП слышали? Или что, если для тестового, то можно и по процедурить? Зачем тут вообще html? Это было задание? Ваш код нарушает все принципы современной разработки. Я бы кандидату с таким кодом даже не перезвонил.
    Зачем тут комментарии? Вы думаете человек, который будет ревьюить код не поймет что он делает? Или вы обезьяне этот код показываете так что нужно объяснить такую строку
    // Инициализируем массив с первыми тремя числами Фибоначчи
    $fibonacciNumbers = array(0, 1, 1);

    И вы что в нулевых остались? Почему массив создается уродливым array(), а не []?

    Ну и да, алгоритм очень плохой. Можно написать короче и симпатичнее.

    Моя оценка кода для джуниор php разработчика - 3/10.
    Ответ написан
    4 комментария
  • Почему после 12 декабря перестал работать WhatsApp и как его восстановить?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    https://faq.whatsapp.com/android/troubleshooting/p...
    Последний пункт. Как они, так и я предлагаем скачать apk файл и установить его в обход

    По мимо этого, можете попробовать установить WA business
    Ответ написан
    Комментировать