• JQuery есть ли смысл изучать?

    BOOMER_74
    @BOOMER_74
    Full-Stack разработчик
    А зачем писать свои костыли, если за тебя уже написали другие? В jQuery можно решить некоторые вещи в одну короткую строчку, за место n-строчного решения на pure JS.
    Ответ написан
    Комментировать
  • Как орфографически правильно вывести данный статус?

    gubin_niko
    @gubin_niko
    /**
       * Склонение строки согласно переданному числу
       * titles example: ['рубль', 'рубля', 'рублей']
       *
       * @param $number
       * @param $titles
       * @param bool $returnNumber
       * @return string
       */
      public function declension($number, $titles, $returnNumber = false)
      {
        $cases = [2, 0, 1, 1, 1, 2];
    
        return ($returnNumber ? $number . ' ' : '') . $titles[($number % 100 > 4 && $number % 100 < 20) ? 2 : $cases[min($number % 10, 5)]];
      }
    Ответ написан
    Комментировать
  • Как правильно выбрать данные из массива?

    @artem78
    Мой вариант не слишком оптимальный, но работает:
    <?php
    
    $url = [
    	['url'=>'http://example.com','id'=>1],
    	['url'=>'https://example.com','id'=>2],
    	['url'=>'https://url.com','id'=>3],
    	['url'=>'http://example.com','id'=>4],
    	['url'=>'http://big.com','id'=>5],
    	['url'=>'http://big.com','id'=>6],
    	['url'=>'http://data.com','id'=>7],
    	['url'=>'https://data.com','id'=>9],
    	['url'=>'https://shop.com','id'=>10],
    	['url'=>'https://shops.com','id'=>11],
    ];
    
    $http_urls = [];
    $https_urls = [];
    
    // Отделяем url-ы с https от http
    foreach ($url as $item) {
    	if (preg_match('/^https/i', $item['url'])) {
    		$https_urls[] = stripProto($item['url']);
    	} else {
    		$http_urls[] = stripProto($item['url']);
    	}
    }
    
    // Находим одинаковые адреса в обоих массивах
    $urls_itersect = array_intersect($http_urls, $https_urls);
    
    // Оставляем в исходном массиве только url-ы с http, которые содержатся в массиве $urls_itersect
    $url = array_filter($url, function($item) use ($urls_itersect) {
    	if (preg_match('/^http[^s]/i', $item['url']) && in_array(stripProto($item['url']), $urls_itersect)) {
    		return true;
    	} else {
    		return false;
    	}
    });
    
    print_r($url);
    
    
    
    // Возвращает url без протокола
    function stripProto($url) {
    	if (preg_match('/^https?(.+)$/i', $url, $m)) {
    		return $m[1];
    	}
    }


    Демо: ideone.com/AG8FMa
    Ответ написан
    Комментировать
  • Как в цикле получить сразу два поста за одну итерацию?

    AlexMaxTM
    @AlexMaxTM
    Получите сначала все нужные посты в какой-нибудь массив. Потом уже организуйте цикл в котором будет выводится по два поста за раз.
    Ответ написан
    3 комментария
  • На кой ... нужны современный популярные js-фреймворки среднестатистическому интернет-магазину?

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

    @BorisKorobkov
    Web developer
    Маленькие девочки, когда добираются до маминой косметички, красятся много и ярко, считая, что чем больше и ярче - тем лучше. Со стороны это вызывает лишь снисходительную улыбку и мысли типа "чем бы дитя не тешилось...".

    Начинающий кодеры, когда узнают про эффекты анимации, прикручивают их все на свою страничку, считая, что чем больше и ярче - тем лучше. Со стороны это вызывает лишь снисходительную улыбку и мысли типа "чем бы дитя не тешилось...".
    Хотите такой реакции посетителей - вперед.
    Ответ написан
    Комментировать
  • Чем отличается junior от middle? а Senior?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Вот как это выглядит с т.з. работодателя

    Джун
    - собеседование
    изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок.
    - испытательный срок
    долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов.
    - работа
    научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.

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

    Синьор
    - собеседование
    указывает на ошибку в тестовом задании, предлагает два решения проблемы, над которой команда пыхтела последнюю неделю и альтернативный стек технологий, на который можно перевести проект
    - испытательный срок
    рефакторит проект, делает билд джун-устойчивым, по ходу дела пишет алгоритм для киллер-фичи, запланированной только на следующий квартал и под конец испытательного срока организует воркшоп, на котором представляет свои наработки "в свободное время" по переводу проекта на другой стек технологий, в которых уже реализована большая часть функционала следующего релиза.
    - работа
    пинками помогает команде в переходе на одобренный руководством новый стек, в чем его активно поддерживает джун, окрыленный тем, что теперь его накопившиеся косяки точно никто не заметит, переводит проект на новый стек, увеличивает производительность в два раза, через год переводит еще раз, периодически генерирует идеи новых продуктов, может пропасть на неделю и вернуться с новой фичей, а может уйти в накопившийся за несколько лет отпуск и больше не вернуться, т.к. случайно встретил старого знакомого, передложившего другой мега-проект с гига-зарплатой.
    Ответ написан
    4 комментария
  • Как вырасти до middle деволпера?

    @GrimJack
    Другие фреймворки
    JS фреймворки, я, например, сейчас занялся изучением vue (сам в аналогичной ситуации)
    Но меня от js адски тошнит, так что это модет стать борьбой с сами собой
    Ответ написан
    4 комментария
  • Что означает эта запись в PHP?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Этот оператор, ->, как я понял, является оператором доступа к классу. но мы уже вызвали функцию

    Это оператор вызова метода объекта. Функция вполне может вернуть объект, что в данном случае и происходит. Это называется method chaining.
    Этот код можно переписать вот так:
    $route = Route::get('/home', 'HomeController@index');
    $route->name('home');
    Ответ написан
    1 комментарий
  • Как сделать окошко при первом заходе на сайт?

    REZ1DENT3
    @REZ1DENT3
    web-developer
    Ответ написан
    Комментировать
  • Каким должен быть правильный контроллер?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    Нету единого правильного способа реализации MVC, поэтому в Laravel, Yii2 и других фреймворках и проектах реализовано правильно, но по своему. Вам же стоит использовать не какой-то "правильный" подход реализации, а более удобен и понятен вам, не зацикливайтесь сильно о других людях которые придут на ваше место потому что всем не угодить, некого универсального подхода нету, достаточно тщательно комментировать свой код и писать код так что бы его легко было масштабировать и вносить любые другие правки.
    По поводу холиварах о том какой должна быть модель, выдержка из статьи:
    В описании оригинальной реализации MVC в Smalltalk упоминается о пассивной и активной модели. Пассивная модель не осведомлена о существовании представления, контроллера, и даже о своем участии в MVC-триаде. Контроллер отслеживает изменения модели и оповещает представление. При этом либо контроллер передает представлению информацию об изменениях, либо представление самостоятельно выбирает данные из модели. Более изящным решением является активная модель. Активность модели проявляется в ее праве самостоятельно оповестить представление об изменении своего состояния. Чтобы не нарушить основное требование MVC о независимости модели от представления и контроллера, механизм оповещения реализуется на основе шаблона проектирования Observer.

    А так же сама статья рекомендуемая к прочтению: rsdn.org/article/patterns/generic-mvc.xml
    Ответ написан
    Комментировать
  • Почему не совпадает CSRF токен?

    @GrimJack
    Попробуйте внутри прописать еще, как мета поле
    Сейчас нет возможности найти, загуглите, часто такое поднималось
    Ответ написан
    Комментировать
  • Стоит ли учить Jquery в нынешнее время?

    ShadowOfCasper
    @ShadowOfCasper
    Middle User Interface Web Developer
    Стоит. Каждой задаче свой инструмент. Если ангуляр и реакт вошли в моду, это не значит, что способы упрощённой манипуляции домом из неё вышли. Если тебе кто-то говорит, что jQuery - костыль для людей, не умеющих нативно перебирать ноды или писать xmlhttprequest - скажи им, что компьютер - это костыль для людей, не умеющих жить без гугла и социалок. jQuery всегда будет популярен. Он упрощает простые обмены данных, классов в пределах DOM, умеет работать с ajax и значительно упрощает синтаксис.
    Ответ написан
    3 комментария
  • Анимации в python GUI?

    Djaler
    @Djaler
    Сеньор-помидор
    Джва года такую программу жду
    Ответ написан
    1 комментарий
  • Как сделать API для веб-приложения написанном на Django?

    neatsoft
    @neatsoft
    Life is too short for bad software
    Django REST framework
    Quickstart
    Tutorial
    Ответ написан
    Комментировать
  • Где хранить классы в PHP MVC?

    iNickolay
    @iNickolay
    Судя по последним вопросам вы решили создать проект по концепции MVC, не зная MVC :)
    Почитайте про неё, хотя бы.
    Можно, например, тут. Или посмотрите структуру какого-нибудь MVC-фреймворка (Yii, Laravel, ...).
    Ответ написан
    Комментировать
  • Как быстро создавать типовые сайты на Laravel?

    @Kostik_1993
    Web Developer
    Можно же это все в виде composer пакетов сделать и прописать в composer.json все что нужно
    Ответ написан
    5 комментариев
  • Как исправить ошибку Invalid argument supplied for foreach()?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Забыл передать второй параметр true. По умолчанию возвращает объект.

    $json = json_decode($start, true);

    Еще можно ошибки проверить, если функция вернула null: php.net/manual/ru/function.json-last-error.php
    Ответ написан
    Комментировать