• Какие есть интересные сайты со статьями на тему Frontend?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Есть еще вот такой неплохой ресурс alistapart.com
    Ответ написан
    Комментировать
  • С чего начать рефакторинг?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Для начала надо понять, каким должен быть код:
    прочитать основные принципы MCV и основные принципы ООП, научиться писать комментарии в коде.
    Если после этого вопрос останется - менять профессию.
    Ответ написан
    Комментировать
  • Какой PHP фреймворк посоветуете для быстрой разработки проекта?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    - Представление о MVC имею. Раньше писал пару проектов на CodeIgniter, но на нём на мой взгляд мало что есть из коробки, и много времени уходит на разработку.
    С тех пор изобрели Composer, при должном желании прикручивается он и к CI в том числе :)

    - Нужен современный не заброшенный фреймворк, с достаточным количеством документации. Не обязательно на русском, но будет плюсом.
    На русском - CodeIgniter, на не русском - Laravel, Symfony и другие.

    - Хотелось бы большое количество подключаемого функционала из коробки, для экономии времени разработки. Например уже написанная логика авторизации, регистрации, восстановления пароля и разграничения по уровням доступа. Понимаю что всё равно придется немного допиливать под свои нужды, но времени это сэкономило бы кучу.
    Composer - решает 99% проблем, практически в любом фреймворке.

    - Возможность работы с различными БД из коробки
    Пока фреймворков без этой штуки не видел, но есть... Вы не поверите, Composer, что бы сменить/поставить "другой" ORM, если Вам "текущий" чем-то не подошел.

    - Поддержка кэширования из коробки. И желательно что бы была поддержка некешируемых областей при генерации страницы, а сам кэш был управляемым.
    То о чем Вы говорите, это: Varnish, Nginx+SSI и т.д. кэширование "из коробки" есть в Symfony (т.к. если его отключить, страницы может генерироваться феерически долго)

    - Не тяжелый фреймворк, в котором оптимизирован код, и который не жрёт огромное количество ресурсов на сервере. Если будет поддержка PHP7 - тоже плюс.
    По моему, любой современный фреймворк, если уже даже "Битрикс" небеизвестный до этого до этого дошел... некоторые фреймворки вообще скоро будут требовать PHP7, а не только "поддерживать".

    - Проект будет ориентировочно крутиться на nginx+php5-fpm. Думаю практически все фреймворки смогут работать в этой среде, но вдруг...
    Я пока таких "вдруг" не встречал. Если у админа голова и руки на месте - то никаких "вдруг" быть не должно. А вообще, у PHP версии 5.х, есть как минимум 3 основных "ветки", это <5.3, >=5.3 или 5.4+ и т.д., ещё кое-какие отличия были в 5.5 и 5.6, но не такие "разительные", подробности можно почитать в истории версий PHP. По этому, нужно конкретнее указывать версию, например, Laravel требует 5.6+

    - Возможность масштабирования. В принципе не обязательно, но возможно однажды будет масштабироваться проект.
    Это не возможность фреймворка - а навык программиста/админа.

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

    1. Yii2
    2. CMS + готовые модули CMS
    3. Вы не забыли, что есть... composer?!

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

    Большое спасибо за время уделенное прочтению моего вопроса, и огромное спасибо за Ваши ответы.
    Не за что! Кнопка "Мне нравиться" - сразу под сообщением :D
    Ответ написан
    4 комментария
  • Какой PHP фреймворк посоветуете для быстрой разработки проекта?

    @entermix
    Попробуйте Google Framework, ничего нового Вам не посоветуют.
    Ответ написан
    Комментировать
  • Как работать новичку, делать как правильно или лишь бы работало php?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    лижь бы

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

    Когда я программирую я вижу насколько ужасен мой код, но поняттия не имею как сделать его лучше

    искать готовые проекты и открытым кодом, смотреть как правильно, есть например https://github.com/yiisoft/yii2

    Или крсота прийдет с опытом

    вряд ли если не уделять ей времени, с опытом придет скорость

    можно прогуглить но это минус к времени

    первый раз да, второй то же, а потом запоминаешь и гуглить не надо

    деайны переработки так как новчек

    неизвестный язык детектед

    Итог:

    Надо учиться, постоянно и много. Если Вы думаете, что этот процесс когда-то закончится - нет. Если Вас это раздражает и доводит до нервных срывов - пейте успокоительное. Если мои советы не устраивают - всегда есть других сферы деятельности. Можно ямы копать, например. Иногда это те же деньги, но нервов меньше и книжки не нужны.
    Ответ написан
    23 комментария
  • Какой поверхностный уровень JavaScript?

    @vshvydky
    Поверхностное знание яваскрипт это его незнание и работа с jquery))) тут таких полно)
    Ответ написан
    Комментировать
  • Как устроиться на работу бывшему ИП?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Я просто оставлю это здесь...
    ffwXS-dFleY.jpg
    Ответ написан
    19 комментариев
  • Как на PHP выполнить долгий скрипт?

    riky
    @riky
    Laravel
    у вас проблема не со временем, а в том что память заканчивается, или memory limit поднимайте или оптимизируйте алгоритм.
    очень подозрительный код, если это консоль, то зачем там ob_* функции и flush ?
    данные не нужно накапливать в памяти сохраняйте обработанные данные сразу в базу или файлы
    Ответ написан
    7 комментариев
  • Что это за ошибка и как ее устранить?

    @feldwebel
    Как-то ты смело к PDOStatement строки конкатенируешь.
    Ответ написан
  • Какие проекты может потянуть один человек?

    Neznayka1979
    @Neznayka1979
    Интересы - IT, психология...
    6c7e635425e24eda90fd4ac9d80c9adb.gif

    Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»
    Ответ написан
    11 комментариев
  • Какие проекты может потянуть один человек?

    Atanvar
    @Atanvar
    Frontend developer
    Что есть проект?
    В туалет сходить тоже можно считать как проект и это сможет потянуть один человек.

    Нужно смотреть из масштабов, а не сферы.
    Ответ написан
    3 комментария
  • Знания для программирования?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    понял, что не хватает знаний в других областях

    Что посоветуете изучить

    Ту область, в которой не хватает знаний. Логично же.
    Ответ написан
    Комментировать
  • Почему Yii/Yii2 не подходит для крупных проектов?

    @karminski
    Senior React.JS Developer
    У нас в компании 4 энтерпрайзных проекта на Yii2. В том числе CRM. В том числе и связь с телефонией, 1С, баг-трекером. Всё работает отлично, без нареканий. О каких "слабых" местах вы говорите? Прекратите читать - начните делать!
    Ответ написан
    7 комментариев
  • В чем суть роутера на php?

    onqu
    @onqu
    weasy
    1. Здесь пугают всякими контроллерами, ларавелями. Давайте жить проще. Для начала дадим определение модному слову роутер. Это маршрутизатор. Что делает маршрутизатор? Правильно. Обрабатывает маршруты, являясь связующим звеном. Маршрутом для web сайта принято считать метод запроса [GET, POST, PUT и другие] и компоненты URI.

    например: https://ru.wikipedia.org/wiki/URI?foo=bar#title
    [схема: https] :// [источник: ru.wikipedia.org] [путь: /wiki/URI] [запрос: ?foo=bar] [фрагмент: #title]


    Но для определения маршрута может браться любая другая информация передаваемая серверу, определение выше это лишь наиболее употребляемые параметры.

    Сама работа, как правило проста: от клиента приходит запрос, маршрутизатор перебирает все заданные ему пути до первого совпадения. При совпадении вызывается определенная вами функция, которая возвращает ответ клиенту.

    2. Он необходим, если в приложении одна точка входа, когда любой запрос приходит на один файл.

    3. Простой пример
    // файл index.php
    
    // Маршруты
    // [маршрут => функция которая будет вызвана]
    $routes = [
        // срабатывает при вызове корня или /index.php
        '/' => 'hello',
        // срабатывает при вызове /about или /index.php/about
        '/about' => 'about',
        // динамические страницы
        '/page' => 'page'
    ];
    
    // возвращает путь запроса
    // вырезает index.php из пути
    function getRequestPath() {
        $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    
        return '/' . ltrim(str_replace('index.php', '', $path), '/');
    }
    
    // наш роутер, в который передаются маршруты и запрашиваемый путь
    // возвращает функцию если маршшрут совпал с путем
    // иначе возвращает функцию notFound
    function getMethod(array $routes, $path) {
        // перебор всех маршрутов
        foreach ($routes as $route => $method) {
            // если маршрут сопадает с путем, возвращаем функцию
            if ($path === $route) {
                return $method;
            }
        }
    
        return 'notFound';
    }
    
    // функция для корня
    function hello() {
        return 'Hello, world!';
    }
    
    // функция для страницы "/about"
    function about() {
        return 'About us.';
    }
    
    // чуть более сложный пример
    // функция отобразит страницу только если
    // в запросе приходит id и этот id равен
    // 33 или 54
    // [/page?id=33]
    function page() {
    
        $pages = [
            33 => 'Сага о хомячках',
            54 => 'Мыши в тумане'
        ];
    
        if (isset($_GET['id']) && isset($pages[$_GET['id']])) {
            return $pages[$_GET['id']];
        }
    
        return notFound();
    }
    
    // метод, который отдает заголовок и содержание для маршрутов,
    // которые не существуют
    function notFound() {
        header("HTTP/1.0 404 Not Found");
    
        return 'Нет такой страницы';
    }
    
    
    // Роутер
    // получаем путь запроса
    $path = getRequestPath();
    // получаем функцию обработчик
    $method = getMethod($routes, $path);
    // отдаем данные клиенту
    echo $method();


    На практике используют более сложные маршрутизаторы, у которых гораздо большие возможности.

    4. Обойтись без него можно. Если каждая страница в вашем приложении будет являться отдельным файлом, который отвечает за отдачу информации.
    index.php
    about.php
    contact.php
    ...


    Это олдскульная структура, в новых проектах почти не применяется.
    Ответ написан
    13 комментариев
  • Какой хороший мануал для настройки VDS ubuntu под веб-хостинг?

    valerium
    @valerium
    Изобретая велосипед
    sudo apt-get install nginx mysql-server php5-fpm php5-mysql
    Ответ написан
    Комментировать
  • Можно ли передавать команды по wi-fi/блютус на arduino?

    Можно.
    К ардуине нужны будут блютус/вай-фай модули с помощью которых можно будет передавать данные.
    Нужна будет программа для управляющего устройства.

    Так же ардуине запрограммировать обработку этих данных.

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

    можете попробовать поразбираться вот в этом, например
    Бутылочный Bluetooth-катер
    Ответ написан
    Комментировать
  • Как сравнить два разных по длинне массива и вернуть совпавшие элементы?

    igorbelikov
    @igorbelikov
    Fullstack Developer
    function get_unique_array(array1, array2) {
      return array1.filter(function(val) {
        return array2.indexOf(val) != -1;
      });
    }
    
    var
      arr_1 = ['a', 'b', 'c'],
      arr_2 = ['b', 'c', 'd', 'e'];
    
    console.log(get_unique_array(arr_1, arr_2)); // ["b", "c"]


    update
    ответ обновлен с использованием примера scapp
    Ответ написан
    8 комментариев
  • Какие преимущества фриланс имеет над работой в офисе?

    trevoga_su
    @trevoga_su
    Я зарегестрировался на двух основых фрилансерских сайтах, посмотрел что хотят заказчики и... с радостью пошел в офис. Давайте я объясню почему.

    1. 90% заказов что я вижу - это постоянное допиливание чего-либо. За копейки. Фактически - говнокодинг какой-то. И при этом туча конкурентов, которые готовые работать за гроши. Мне вообще не хочется напрягаться из-за копеек и каждый раз вникать в новую задачу, ибо та жалкая тысяча рублей что я заработаю на фрилансе (если обойду орду школьников) мне и так придет в 6 утра с сапы))
    Мне гораздо комфортнее работать в офисе с одним проектом, зачастую написав в день пару строк кода и получать стабильно з/п.

    2. Я бы с радостью бы занялся серьезным проектом, разработкой (а не допиливанием опенсорса), но я не встречал подобных вакансий ни разу. Очень сомневаюсь, что сейчас кто-то станет инвестировать в разработку ИМ с нуля, скажем.

    3. Процитирую Лурк:
    ...подавляющее число действительно серьезных коммерческих проектов, как правило связанных с производством ништяков, реализуются коллективом, а не психами-одиночками, и никакая координация через e-mail, web-камеры и мессенджеры не спасет проект от бесславной гибели, если сотрудники не будут IRL бегать от стола к столу, тыкать друг-друга в мониторы и посещать всяческие стафф-митинги.

    - я имею опыт работы в больших корпорациях и могу подписаться под каждым словом этой цитаты. Масштабные проекты, со сложной бизнес-логикой, с огромным количеством кода не могут держаться на удаленке. Нужна постоянная координациях всех дирекций и IT-отделов. Как воздух необходимы митинги разработчиков. Очень долго и часто длятся обсуждения различных решений по поставленным свыше задачам. В переговорках сидят тимлиды и разработчики, ребята из маркетинга, из иных подразделений. Удаленно бы это все просто не работало. Никогда. И с ужасом вспоминаю, как мы однажды "трахались" по скайпу с удаленным верстальщиком - скорость работы занижалась в разы. Он слал какие-то куски JS-кода и мы его тыкали в проект. Мы опплевались.

    Если бы я вел проект, то ни о какой удаленке не могло бы быть и речи! Сотрудники должны быть здесь и сейчас. Не потому, что это была бы моя прихоть, а потому, что команда разработчиков - это единый мозг, управляющий проектом. Разработчики знают бизнес-логику тех или иных мест проекта, тимлиды знают архитектуру. В любой момент может понадобиться консультация между собой или с иными подразделениями компании. Какая удаленка, о чем вы говорите, какой фриланс?)

    Очень подозреваю, что фриланс в 90% случае - это типичный говнокодинг на опенсорсах и пр. низкоквалифицированные вещи, ибо мне очень трудно представить действительно серьезную компанию, которая будет инвестировать в проект, который пишут удаленно какие-то хрены с горы без каких-либо гарантий и отчетности. И мне в разы сложнее представить опытного разработчика, который не может переехать в другой город и получать там солидные деньги, если он действительно профи. А опенсорс допиливать и джумлы ставить, выдавая это за результат своей деятельности... для меня это не работа. Совесть бы замучала.

    4. Финансовая свобода, о которой говорят фрилансеры, меня как-то "пугает". Я в 12 году писал статью про то, что можно считать действительно финансовой свободой разработчику, почитайте - www.phpinfo.su/articles/additionally/azy_svobodnog...
    Суть очень простая - фриланс - этот тот же каторжный труд. Это инвестирование своего времени в точно такую же работу, как и в офисе. Финансовая свобода - это пассивный доход. Это свой бизнес, когда результат НЕ ЗАВИСИТ от вашей ежедневной деятельности. С точки зрения здравого смысла, владелец павильона с жрачкой/одеждой/водкой имеет куда больше свобод, нежели IT-шный фрилансер.
    Ответ написан
    16 комментариев