Ответы пользователя по тегу Веб-разработка
  • PHP vs. all. Имеет ли смысл учить (параллельно) что-то еще?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но код, особенно после C++, не вызывает каких-то положительных эмоций.

    А у меня не вызывает положительных эмоций код на C++. Да и код разный бывает. 90% кода на PHP у меня так же не вызывают положительных эмоций, но писать на нем нормально более чем можно.

    1) под фразой "php умирает" позразумевает его модель работы. После каждого запроса он умирает, то есть воркер отчищается и запускается по сути заного. Это существенно упрощает работу (у вас хоть сегфлоты могут быть всеравно весь сервак не умрет), а так же масштабирование (за счет отсутствия у самого PHP состояния между запросами, сессии мы не берем в расчет), но существенно бьет по производительности. К счастью с PHP 5.3 писать демоны на PHP не так уж страшно.

    Если же посмотреть рынок и динамику развития сообщества - PHP живее всех живых.

    2) PHP не такой уж стремный язык. Я не считаю "не консистентные названия функций" таким уж прям фактором влияющим на выбор языка. С моей точки зрения Ruby уродливая отрыжка, попытка сделать объектно-ориентированный перл (это лично мое мнение, мне не приятно работать с ruby, пусть меня за это простят), но за счет того, насколько сообщество ruby-разработчиков ценит и понимает цели бизнеса, насколько уважает тестирование своих решений и т.д... словом PHP комьюнити в этом плане еще расти и расти. Но прогресс виден.

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

    3) нет. Шансов на нормальном уровне с нуля изучить еще один язык программирования и к тому же фреймворк - почти нет. Да и в этом нет смысла.

    4) судя по вопросу вы уже определились для себя. Дальнейшая дискуссия не имеет смысла. Разбирайтесь. Но если брать шаред хостинги то PHP это пожалуй единственный адекватный вариант на сегодняшний день (если не брать в расчет что шаред хостинги как таковые это не очень адекватный вариант).

    5) все зависит от вас. Хорошие разработчики зарабатывают примерно одинаково вне зависимости на каком языке программирования они работают. Они просто хорошие разработчики и таких всегда мало.

    6) как хотите.

    И так...

    Язык программирования - это лишь инструмент для решения задач. Фреймворки - это так же просто инструменты для решения задач. Что важно - уметь задачи решать. И решать эффективно. Понимать что кривыми решениями вы увеличиваете риски для бизнеса.

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

    Ruby например бизнес (и стартапы в особенности) выбирает не потому что это хороший язык, а потому что Ruby комьюнити в среднем больше приспособлено для эффективного решения задач бизнеса. Что говорить когда у них любовь тестирования прививают с первых дней знакомства с языком?

    Не учите язык программирования. Учитесь разработке с применением этого языка. И тогда все будет намного проще.

    p.s. Haters gonna hate
    Ответ написан
  • Как сделать клик на cURL?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Никак, CURL не кликает, он отправляет HTTP запрос. То что вы там написали (submit=go...) это часть тела HTTP запроса.

    У инстаграма есть HTTP API, с ним и работайте.
    Ответ написан
  • Поможет ли такая система безопасности?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Так что без де компиляции Go узнать свою строку не выйдет.

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

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

    дешифровка

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    лучше всего организовать автоматическую сборку исходников на сервере?


    Лучше всего исходники собирать не на сервере. Разве что на CI-сервере. Делаем билд, и деплоим только артефакты билда.
    Ответ написан
  • PHP, server-side, web-dev. Что лучше два монитора или один большой 27дюймов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Зачисит от человека. Что бы было удобно лучше все же два монитора одинаковых размеров (ну или хотя бы с одним и тем же разрешением экрана). Но это если мы говорим о горизонтальном расположении.

    Я же просто подключаю к своей 13" прошке 24-х дюймовый монитор, расположенный чуть выше, и это для меня пока удобнее чем 2 рядом стоящих 24" монитора (с учетом виртуальных рабочих столов большую часть времени вы будете смотреть только на один монитор.

    27" монитор для работы пока не пробовал, на работе стоит парочка таких только что бы графики загрузки серваков выводить + алертика.
    Ответ написан
  • На чем делать back-end для мобильного приложения + web?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Снизить затраты на разработку бэкенда, для того, чтобы сосредоточится на разработке мобильных приложения для android и ios.


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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В последнее время началась мода на PostCSS - много постов, статей о нем.

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

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

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

    Окей, будем считать так, тем паче, что история коммитов на Гите это скорее подтверждает.

    Что именно подтверждает? сначала был Sass написанный рубистами что бы CSS можно было бы готовить так же нежно как они готовят HTML на HAML (кофескрипт туда же, рубистам хотелось сделать js похожим на ruby). И это заметте было в 2006-ом году! тогда и js был медленный, и V8 может только в планах был...

    Ведь все, что умеет PostCSS, умеют и препроцессоры

    postcss из коробки не умеет ровным счетом ничего. Он может только загрузить AST CSS файла и слепить из него обратно тот же CSS.

    И именно в этом сила postcss - модульность. Все существующие препроцессоры монолитны. То есть вы не можете просто так взять и добавить что-то свое туда. Да, в последних версиях less (и вроде как sass туда же подтягивается) у вас есть примитивный набор средств что бы вклиниться в процесс обработки AST документа и добавить какие-то примитивные вещи. Но это не удобно. Если вы хотите динамически менять проперти (например пересчитывать rem в em) или добавлять еще (опять же для того что бы руками не плодить в css кастыли для разных браузеров и делать это автоматом, на завязываясь ни на миксины и оставляя CSS чистым) свойств, но сделать это на less/sass сложно.

    Намного проще взять postcss и натравить это дело на результат работы препроцессоров.

    Давайте придумаем пример того, что можно легко и просто сделать при помощи пост процессоров и что сложно сделать с препроцессорами. Самое первое что приходит в голову - инлайнинг ресурсов. Например мелкие png-ки. Или работа с относительными путями, ресолвинг оных точнее. В этом случае мы с postcss напишем маленькую функцию, которая пробежится по всему абстрактному синтаксическому дереву и найдет использование url(). далее мы можем проверить размеры картинки и заинлайнить их (если у них размер достаточно маленький). Или собрать список всех задействованных картинок и использовать их потом (например что бы скопировать только то, что мы реально используем).

    Вот как-то так. А за счет того что мы имеем доступ целиком и полностью к формированию и обработке AST мы можем и синтаксис CSS развивать. Примерами могут служить многочисленные плагины аля cssnext и т.п. Можно даже большую часть фич sass в виде плагинов подключить.

    А самое забавное, что работает это все быстрее того же libsass на плюсах. За счет архитектуры (имею в виду не голый postcss а с набором плагинов добавляющих функциональность sass).
    Ответ написан
  • Какой выбрать фреймворк для сайта аналога headhunter или habrahabr?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Стоит ли выбрать такой же?

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

    Мой вам совет - оставьте решение этого вопроса команде разработчиков вашего продукта.

    p.s. ни хабрахабр ни тостер не являются "сложными" сайтами как таковыми, это мультибложик и сервис вопросов/ответов. Вопрос в нагрузках, но со старта вы в любом случае таких нагрузок не получите.
    Ответ написан
  • Что такое Postcss?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    когда есть sass?


    sass - фиксированный ПРЕ процессор, postcss - ПОСТ процессор, то есть он позволяет вам работать с AST CSS файла, расширять синтаксис, добавлять поведение по вашему вкусу и т.д. Простой пример того, зачем нужен postcss - autoprefixer

    Посмотрите презенташку Андрея Ситника (автор postcss) и вообще погуглите объяснений от него.
    https://www.youtube.com/watch?v=XJaJqLVaR-c
    Ответ написан
  • Что лучше учить/использовать(SCSS/Stylus)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ту что популярнее (больше обсуждений, больше решений возможных проблем).
    Ответ написан
  • Вывод популярных записей на сайте за определенный срок, как?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну значит надо еще агрегировать статистику по просмотрам за сутки. Самый простой вариант - завести лог просмотров, но тогда база быстро забьется всякой чухней. Далее мы можем оптимизировать это дело и просто раз в сутки ресетить счетчик просмотров в ноль и записывать сколько было просмотров за такую-то дату. Так у нас будет достоверная инфа для выборки.
    Ответ написан
  • Технологии для реализации веб-проекта?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ммм.... зависит от задачи. Из вашего описания вам нужен один бэкэнд разработчик (ruby) и один фронтэнд разработчик. Либо фулстэк, коих мало нормальных в такой комбинации (да и в любой другой).

    Что должен уметь бэкэндер - настроить окружение, возможно штуки для автоматизации (ansible/puppet), должен знать что такое и зачем нужен vagrant (то что разработка на mac os ничего не значит, деплоиться вы будете на линукс, и выкиньте дурные мысли о использовании соляриса). Может быть docker... но это уже пусть девелопер решает.

    Вместо apache по умолчанию берем nginx, вместо mysql может быть postgresql, может вам еще elasticsearch придется вкатить... в зависимости от задачи выбираются базы данных и прочий мусор. Это все всего-лишь инструменты.

    Отдельно хочу заметить что помимо того что девелопер должен знать что такое "Agile Software Development", это так же должны знать вы. И это не скрамы/канбаны, хотя это тоже полезно. Лучше пусть у человека здравый смысл будет.
    Ответ написан
  • Сколько примерно стоит программирование сайта?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    сильно загибающих цену.


    топовые фриланеры берут $50-$100 в час. Средние - $20-$40 в час. Можно найти студентов которые готовы работать за еду < $10/час.

    Проблема с этим в рисках. Вы можете найти фрилансера который сделаем вам сайт за $200 баксов, но вам может не повести с одним, с другим и в итоге вы потратите $600, у вас будет ужасный результат, срывы сроков и кучу потраченных нервов. Может конечно повести и обойдетесь только срывом сроков и ужасным результатом. Или же вообще случится чудо и только сроки сорвут, но когда придется что-то доделывать могут всплыть косяки предыдущего мастера и вы опять же будете просидать по срокам. Ну и риск того что работу вы так и не увидите так же присутствует.

    Еще есть такая веселая штука как... человек сделал проект, вам понадобилось что-то подправить иии его нет.

    Хотите надежности - платите больше. Вот и все.
    Ответ написан
  • Какой язык/область изучать, чтоб работать максимально самостоятельно?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    что бы работать без дизайнера нужно быть дизайнером. Но только вот совместить вообще все не выйдет, как не старайся. Даже в двух каких-то сферах, например бэкэнд и фронтэнд, весьма сложно удерживать знания на более-менее адекватном уровне, а пробовать новое и там и там практически не реально - жизни не хватит. Остается только забить на хипстерские штуки и четко понимать что тебе нужно от всего того что ты используешь.

    без команды, дизайнеров и прочих посредников .

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

    Ну альтернатива - соберите себе ту самую кросфункциональную команду, дизайнера, QA, может еще пару девелоперов и радуйтесь. А в одиночку не выжить.
    Ответ написан
  • Подойдет ли менеджер очередей для этих целей?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вы можете добавлять задачи в очередь по Cron-у. и это будет работать. В этом случае Gearman обеспечит вам синхронную обработку, а cron - асинхронно будет эмитить выполнение.
    Ответ написан
  • Развитие в веб программировании. Какой путь?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Какой путь?

    Прямо и немного на лево.

    проект планирую долго поддерживать хочу попробовать перейти на что-то новое

    Node.js + MongoDB


    Может не стоит? Оцените профит, риски... хорошенько подумайте. Монга как основное хранилище данных вообще весьма сомнительный выбор. Лучше храните все в mysql/postgresql и агрегируйте в монгу, используйте read model, cqrs...
    Ответ написан
  • В чем суть БЭМ от Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    По смыслу же это - jquery/gulp/jade - от яндекса?

    это bem-tools, сама методология BEM чуть отличается все же.

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

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

    https://www.youtube.com/watch?v=RM55tkWfHDc - рекомендую к просмотру доклад Вадима Макеева на эту тему. Думаю так будет проще.
    Ответ написан
  • Что надо знать хорошему php разработчику?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но не могли бы вы дать список

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

    В целом же знание алгоритмов на начальном этапе вам не понадобится, вы просто должны понимать как строить алгоритмы. Я вот Кормена так и не дочитал... Тут суть в том что на PHP редко пишут что-то, где важна скорость вставки или поиска, обычно все сложное делается на уровне базы данных. Потому PHP разработчику остается только сформировать запрос в базу и получить ответ. Больше работы именно по архитектуре самого приложения.

    затем начну изучать базы данных и буду понимать что такое CGI,

    CGI не трогайте, это весьма старая штука. Просто разберитесь с SAPI (Server API) и примерным флоу что происходит между приходом HTTP запроса на сервер и вызовом PHP с уже заполненными суперглобальными массивами. Ну и да, с самим HTTP тоже разберитесь сначала, что бы понимать что такое куки и как они передаются с клиента на сервер и обратно, что такое сессии, как получить тело запроса и т.д.

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

    p.s. Еще рекомендую почитать чего по управлению проектами, по методологиям разработки. Ознакомьтесь с XP (причем лучше читать на английском), почитайте про технический долг и т.д.
    Ответ написан