Ответы пользователя по тегу Веб-разработка
  • Можете ли помочь с наставлением на путь успешного веб разработчика?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. PHP фреймворк (пока что нацелен на yii2.0), что скажете полезно ли и акутально ли?

    Для своей ниши - и полезно и актуально. Рекомендую посмотреть еще Sympfony2.

    2. JS MVC фреймворк (думаю между Angular и Backbone), нужно ли? (jQuery знаю)

    Для задач SPA например - front фреймворки практически обязательно. Если задумали начинать - лучше с Backbone.

    3. Стоит ли сейчас изучать какие то CMS? (думал на счет Drupal)

    Не особо.

    4. CSS компиляторы (типы SASS или еще ято то в этом роде)

    * Препроцессоры)) имеет смысл учить по факту необходимости.

    Вы не прыгайте с технологии на технологию, а изучайте последовательно, иначе в голове каша будет.
    Не льстите себе, и front-end и back-end разработчиком вы не будете, лучше выберите что-то одно. Я не говорю, что "это не возможно". Просто лучше стать толковым синьером в чем-то одном, чем юниором во многих направлениях.
    Ответ написан
    3 комментария
  • Изменение стиля текста для остальных страниц. Как?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Нужно для начала почитать, что такое CSS: что такое селектор и как он работает, так же в чем смысл каскадности CSS.
    Ответ написан
    Комментировать
  • Как синхронизировать проект на CMS?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Используй git Люк!
    Ответ написан
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Не могу сказать, что прям вот каждую секунду нужно все из этого списка использовать, но иногда приходится: PSR, composer, yii, symfony, monolog, phpunit, xdebug, codeception, mysql, couchdb, mongodb, elasticsearch, rabbitmq, redis, memcached, xcache, bash, vagrant.
    Ответ написан
    Комментировать
  • Как выполнить синхронно цикл в nodeJS?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    var func = function (i) {
        return function () {
            console.log('Индекс: ' + i);
        };
    };
    for(var i = 0; i <= 10; i++) {
      setTimeout(func(i), 5000 / i);
    }


    Только i != 0, потому как деление на 0 будет

    Как получить: Индекс: 0, Индекс: 1, Индекс: 2, Индекс: 3... ?

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

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как научиться веб-программированию, если ты гуманитарий?

    Ну, примерно так же как и другим наукам, разница только в том, что все же придется учится, а не "читать по диагонали".

    PHP для даунов-гуманитариев

    Вам зачем оно сдалось? По книгам в стиле "ПоХаПэ за 1 неделю" вы все равно ничему не научитесь толковому, это как бриться обратной стороной бритвы, жжения нет и гель не нужен, но и эффекта тоже никакого.

    Если ваша цель знать-чтобы-знать - забудьте это прос*аное время впустую. Если же для реальной работы - то таки нужно по реальнцм книгам учится, это как минимум 700+ страниц. И да: если будете знать только php и все - это бесполезные знания))
    Ответ написан
    Комментировать
  • Как можно защитить папку от случайных изменений?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    В чем проблема то? удаляешь vendor делаешь `composer install -o` и все счастливы))
    Можешь сделать на vendor: Mark as > Excluded, но от перехода по классам/методам это не спасет.
    Ответ написан
  • Давайте соберем джентльменский набор паттернов проектирования и алгоритмов для прохождения собеседований?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вы бы хоть позицию указали junior/middle/senior/team lead...
    Это не экзамен, на собеседовании вас могут спросить что угодно, посему делать список и ожидать, вас спросят именно из него не совсем корректно.

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

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

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

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Большие деньги вертятся вокруг больших компаний, а большие компании обычно работают во многих областях одновременно.
    Ответ написан
    Комментировать
  • Каков путь от программиста до ИТ директора?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Как выявлять мошеннические отзывы?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    У вас есть выбор: руками, или руками, или забить.
    Ответ написан
    Комментировать
  • Front-End Developer Junior - тяжело ли устроиться на удаленную и постоянную работу?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Эй смотрите все, у него красный диплом! Видишь? Всем нас#ать..

    Меня спросили диплом 1 раз за 6 лет.

    UPD
    Правда был случай у друга-фрилансера не дали рабочую визу в Германию из за отсутствия диплома, хотя договор с работодателем уже был подписан
    Ответ написан
    1 комментарий
  • Зачем нужен Yii и другие подобные фремворки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    CMS - обычно решают конкретные узко специализированные задачи. Тот же WP - это блог и для такого кейса он вполне ок. Если вам нужен не совсем блог, на том же WP разработка вероятно будет сопровождаться анальной болью)). Это просто не целевое применение. То, что на WP и эл. магазины пишут - это просто демонстрация, что вилкой можно в ухе ковыряться))

    Фреймворки обычно имеют более обобщенное целевое предназначение, по этой причине на них обычно легче сделать сайт-визитку, который эл. магазин, немного соц. сеть и частично CRM.

    Пример где стоит использовать CMS: нужен эл. магазин, маленький бюджет и сроки тоже. Берем PrestaShop, устанавливаем, прикручиваем тему, настраиваем. Следующий!

    Пример где стоит использовать фреймворк: вам нужен сайт на подобии того, на котором вы читаете мой ответ. Да, его можно за уши притянуть к понятию "блог", но переписывать и допиливать нужно многовато. Пойдем от обратного (вы таки выбрали WP)
    * Потом поймете, что нужно было еще абстрактный уровень над WP написать, потому как после обновления ваши правки затерлись.
    * Потом вдруг случается несчастье: ваш сайт стал популярным и железо не тянет, вы задумаетесь об масштабировании, но окажется, что система довольно таки целостная и что бы ее разделить придется не хило так по вкалывать.
    * Через какое-то время ваш проект будет на 50% состоять переписанного кода и костылей, обходящих логику WP.
    * Вдруг, на хабре вы читаете статью про уязвимость в вашей версии WP, начинаете ее прикручивать, при этом часть вашего сайта тупо отваливается из-за тех же артефактов и костылей. Вы, ясное дело, фиксите траблюки.
    * В один прекрасный весенний денек, когда птички поют, радость, счастье, улыбки и бла-бла-бла вам звонит руководство и говорит, что "ничего не работает ( с )", отчаянье-печаль-грусть-уныние-безысходность-тлен. Зайдя на главную вы увидите замечательный баннер:
    Вас взломал @ сраный_script_kid. Один глаз начнет немного дергаться, "это нормально ( с )". Восстановившись из бэкапа 4-х недельной давности, вы начинаете судорожно писать 1ккк проверок всего и вся. Система мутирует в еще более страшную и громоздкую хрень.
    * Через какое-то время вас просят добавить фичу "на вчера", а что бы это сделать придется переписать добрую часть вашего монстра, вы (ну судя по количеству факапов) уже с прокачанным скилом "тебе фича не нужна эта" убеждаете руководство в этом, подобные разговоры возникают все чаще и в один прекрасный момент вы, или вас - увольняют.
    * На смену вам компания набирает других человек, которые выльют пару ведер крови из глаз, убедят руководство, что код не саппортабельный и перепишут вашего монстра с 1,5кк строк до 0,3кк на нормальном фреймворке.
    Ответ написан
    1 комментарий
  • Как правильно вести разработку web-проектов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Недавно был подобный вопрос
    Ответ написан
    Комментировать
  • Какие этапы разработки сайта?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Технические этапы:

    0. Оформление ТЗ и утверждение его исполнителем и заказчиком.
    1. Создание и утверждение заказчиком макета сайта.
    2. Рисование дизайна и утверждение заказчиком.
    * Photoshop
    3. Верстка html страниц.
    * HTML
    * CSS
    * JS
    4. Проектирование и реализация ядра системы.
    * Серверный ЯП: php, js (nodejs/iojs), golang, ruby, python,...
    * СУБД: mysql, postgresql, mongodb,...
    * Все остальное, зависящее от конкретного проекта (хотя и ЯП и БД тоже зависят)) ).
    5. Интеграция верстки.
    6. Тестирование и багофикс.
    7. Deploy на production сервер.
    8. Поддержка сайта: фикс багов, мелкие хотелки и т.д.

    Для чего такие вещи в вебе, как python (имеется в виду django) или rubby(ror)? mySQL что за зверь такой?

    Ну, вы хотя бы в wikipedia прочитали что это и зачем.

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

    вопрос в стиле "как сделать программу")) Самый простой сайт: index.html:
    Hello World
    Без знаний HTML ну хотя бы на начальном уровне - в web-разработке делать нечего.

    Ещё интересует выбор IDE для веб разработки...

    Для frontend одна из лучших IDE сейчас - WebStorm. Для backend - все зависит от языка, на котором будет вестись разработка.
    Ответ написан
    1 комментарий
  • В каких книгах описывается создание интернет-магазина с нуля на PHP-MySQL?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Создание эл. магазина с нуля описывается в ТЗ. В книгах вы можете найти только типовые решения типовых задач, но более низкого уровня.

    Посмотрите PrestaShop, код там спроектирован и оформлен вполне не плохо.
    Ответ написан
    Комментировать
  • Как вести разработку уже рабочего проекта (в продакшене)?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Vagrant, или docker с системой максимально похожей на production сервер. Разработку ведем там.
    2. Если никакая vcs не используется - пи"№;ц конечно, но быстро подключайте, иначе бида обеспечена. Рекомендую git + git-flow.
    3. Правки в БД ТОЛЬКО на основе миграций, при этом создавайте как up, так и down.
    4. Возьмите готовую систему для диплоя, либо напишите свой скрипт для этого. Цель в том, что бы минимизировать человеческий фактор при обновлении продакшна на столько, на сколько это возможно.
    5. Все, что находится в /vendor - обязательно должно быть заигнорировано в vcs, composer.json И composer.lock (спс OnYourLips) должен ссылаться на фиксированные версии пакетов.
    6. Код ОЧЕНЬ-ОЧЕНЬ-ОЧЕНЬ желательно покрыть тестами. Самый кульный вариант - запуск тестов после push изменений в главный репозиторий. Для этого можно использовать связку gitlab + gitlab-ci.
    7. На счет доменов - в чем проблема то? Вынесите домен в конфигурацию, и создайте конфиги для локального, тестового и боевого окружений.
    8. На счет записей в БД: да, они обязаны отличаться. По хорошему на проде руками в принципе можно только смотреть, а записывать нельзя. Для тестовой БД - пишите фикстуры.
    9. сразу подумайте на счет логов: если их over-дофига, имеет смысл использовать системы типа logstash, или sentry.
    Ответ написан
    2 комментария
  • Как правильно составлять ТЗ для интернет-магазина?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Все зависит от того, кем вы являетесь в процессе разработки)). Если вы заказчик - ТЗ вне вашей компетенции, вы обязаны предоставить требования к системе, на базе которых уже будет делаться ТЗ специалистом. Дело тут в следующем: не специалист 100% захочет отстрелить себе ногу за свои же деньги.

    Например недавно был вопрос про то, что бы использовать redis как единственную БД, т.е. и платежные транзакции там хранить и все остальное. С точки зрения скорости - да, работать будет быстрее, но в случае любого чиха - система ляжет.

    Или еще, вопрос на этом же сайте: какой язык взять, что бы вот конкуренты вообще-вообще не просекли, что бы сложный такой был и бла-бла-бла. Это просто глупость.

    Само ТЗ обычно состоит из:
    1. Терминологии.
    2. Общих требований к системе по принципу установки и производительности. Например: ОС: debian, ЯП: Golang,..
    3. Описание структуры проекта и основных модулей с точки зрения их предназначения. Например: модуль новостей предназначен для бла-бла-бла...
    4. Описание каждого модуля постранично с обязательным указанием выводимых данных и управляющих элементов. Типовые блоки (например сокращенный блок новости) стоит рассматривать отдельно, ссылаясь на них в модуле.
    5. Подписанные реквизиты обоих сторон.

    ТЗ нельзя вот так взять и сделать, это процесс, в котором обязательно согласование с заказчиком. Дело в том, что после подписания - правки в ТЗ НЕ ВНОСЯТСЯ.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для следующей ситуации?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Сложный язык веб-разработки, как для инноватора, так и для последователей. (Здесь преимущество инноватора обеспечивалось бы за счет более раннего перехода на эту платформу).

    Frontend: у вас как бы выбора практически нету, JS. Можно конечно писать Java аппелиты, или на flash - но это будет как вытирать насморк задней левой ногой.
    Backend: для скорости разработки - php.
    Для цели, что бы никто не догодался - brainfuck, или Petooh, но параллельно с выбором этих языков рекомендую чистьть ствол револьвера и начать учиться играть в русскую рулетку 6/6)). Бэкэнд конкурентам не нужен.

    2. Редкий язык веб-разработки, так что конкурент еще долго гадал бы, на чем же инноватор клепает новые фичи.

    Вы понимаете, что насрать "как", а важно - "что".

    3. Свои предложения, которые не относятся к первым двум вариантам, но решают поставленные задачи.

    Не лезьте с микроменеджментом туда, в чем ни на йоту не смыслите. Технические задачи должен решать технический специалист.
    Ответ написан
    Комментировать
  • На каком языке лучше делать сайт?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На каком языке написано большинство известных сайтов?

    Большинство на php.

    Какой из языком наиболее безопасный?

    Безопасность - это задача программиста, а не языка. На любом ЯП можно сделать небезпасный код.

    С каким легче всего работать?

    С тем, с которым есть большой опыт работы)) Порог вхождения у php один из самых низких, но не все задачи на нем легко решаются.

    Долго ли в случае необходимости затем переписывать сайт на другом языке?

    Долго ли делается перевод книги на язык другой лингвистической группы?

    При поиске специалиста, в дополнение к знаниям определенного языка программирования, что еще учитывать?

    Опыт. Его может определить только более опытный специалист, или хотя бы того же уровня, что и искомый.

    ----
    Это только backend (а есть еще frontend):
    ЯП подбирается под задачу. Для говносайтиков вполне php подойдет. Для сайтов с активным общением пользователей - может больше подойти NodeJS. В принципе есть еще Ruby. Для специализированных проектов с ударом на производительность - Golang. Для параллельных вычислений Erlang (правда специ будут стоить ОЧЕНЬ дорого). Так же еще часто используется Java/C#. Большие проекты чаще всего объединяют в себе несколько языков, используя их сильные стороны в конкретных модулях.

    Если вы в этом ничего не понимаете - есть большая вероятность ошибиться в технологии.
    Ответ написан
    Комментировать