• Что лучше использовать для разработки сайта? Движок типа wordpress или самому код писать с html 5 и css?

    kapuletti
    @kapuletti
    Тут нужно ответить на вопросы: сколько страничек будет на сайте? Будут ли эти страницы добавляться и как часто/много? Сайт будешь вести ты или не знакомый с html и css человек?

    Если страниц не много, контент почти не обновляется, а сайтом занимаешься лично ты, то конечно проще статичные странички.

    Если страниц много, контент динамический и добавляется каждый день через удобную админку, тот тут без вариантов нужна CMS.
    Ответ написан
    Комментировать
  • Можно ли несовершеннолетним устроиться junior frontend разработчиком?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Если я проведу с вами онлайн собеседование, то вы явно его завалите.
    Об этом говорит
    JQuery, js(немного),

    Если бы было JS, Jquery ( немного ), то возможно бы и прошли.

    sass - там и учить то нечего. Вот если на отлично знаешь CSS 2/3

    НА самом деле, вам надо сверстать с нуля простой макет (скажем блога), и тогда люди уже скажут что и как. Просто глядя на код.

    По теме: я сам впервые устроился в сферу веб, где то около 16 лет. Правда это был 2000-2001г =)
    Тогда и без трудовой и вообще бумаг работал. На тот момент получал 250$ (да! тогда были доллары в ходу).
    Спустя два года, я уже поднаторел в верстке/дизайне/php программировании. Перешел в ужасную русскую компанию (желто-красную), где получал уже 30000р. (это как сейчас 60т.р.). Ну а далее по накатанной. Издательский дом, различные IT конторы и в итоге свои проекты, стартапы. Теперь я нанимаю а не меня =)

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    знание самого php на уровне джуниора (первые четыре главы мануала тобиш вы должны знать хорошо). Базовое понимание ООП (расчитывать на то что вы все будете понимать не приходится). Далее - читаем phptherightway и документацию по целевому фреймворку и best practice по ним (что пока возможно только для Symfony2)
    Ответ написан
    Комментировать
  • Где и как обучиться оптимизации\продвижению\seo сайтов?

    nlutkov
    @nlutkov
    SEO, SMM, CPC, Target, UI...
    Начните с базового и постепенно переходите на изучение сложных вещей: кейсы, аналитика, анализ оптимизированных сайтов.



    По терминологии сами всё поймете, когда начнете изучать.
    Материала Вам хватит на пару месяцев. enjoy!
    Ответ написан
    Комментировать
  • Какая видеокарта лучше?

    Menaskop
    @Menaskop
    Анархист. Работаю в Сети. Живу в Сибири.
    Лыжи или сноуборд?

    В том смысле, что это вечный спор, т.к. в первую очередь - дело вкуса. До 2012 г. я покупал только GF. Но потом, увлёкшись BTC и майнингом других криптовалют, решил купить Radeon. И дело даже не в том, что он якобы был лучше, а просто потому, что хотелось попробовать топовую карту на майнинге и CUDA. Для последнего уже была GF, поэтому решил взять Radeon. Всё устроило. Даже решил вспомнить юность и сыграл - тоже порадовало. Но вот если говорить о вложенных деньгах и получаемом результате, то, честно, столь уж ощутимой разницы я не увидел. Возможно, для геймеров и гиков-экстремалов, она видна и осязаема, для меня как программиста-самоучки - нет.

    Поэтому мой выбор пал бы сейчас на Радеон - всё же любые деньги сэкономленные, это деньги заработанные.
    Ответ написан
    Комментировать
  • Что из этих технологий для чего используется?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Оукей. давайте возьмем ваш пример с fl.ru + чаты.

    mongodb - хипстерская база данных. Для проекта типа fl.ru я бы пожалуй не использовал оную (не потому что монга отстой а потому что я лично не вижу в использовании оной смысла в контексте проекта типа fl.ru. Нам не нужен шардинг, реплекация реализуется нормально на любой нормальной RDBS, документоориентированность не нужна, хотя при грамотном подходе можно было бы реализовать неплохие агрегированные коллекции и оптипизировать селекты... Для себя не нашел у монги ни одного плюса перед RDBS типа PostgreSQL). В любом случае если вы не оставляете выбор - тут у нас будут храниться все данные. Придется потратить время на то что бы избавиться от желания что-то заджойнить и реализовать map/reduc-ы для обновления связанных коллекций. Но зато это будет так по хипстерски!

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

    sphinx - поисковой индекс. То есть если мы должны реализовать вменяемый поиск (например по описанию вакансии) - то стоит его заюзать. Сфинкс не самый дружелюбный зато один из самых быстрых поисковых индексов. Хорошо интегрируется с MySQL и подобными и если сравнивать с ElasticSearch из коробки чуть лучше дружит с русским языком. Но опять же у эластики свои плюшки. Некоторые оной заменяют монгу так как по большинству фич в плане хранилища данных они совпадают.

    redis - мы там вроде чатик делали. Помимо того что redis это хорошее key-value in-memory хранилище, которое к тому же может обеспечить нам надежность хранения данных (мэпится на файловую систему еще), оно так же поддерживает pub/sub. То есть чисто теоритически мы можем не добавлять в стэк штуки типа ZeroMQ и прочие *MQ для реализации авторизации и связи приложения чатика и основного приложения (вдруг у нас чатик будет написан на go/node.js/erlang).

    memcache - вот тут стоит подумать нужен ли он если у нас есть редиска. Раньше для жирного кеша выбор был очевиден - memcached, так как reddis в те времена не поддерживал кластеризацию. Сейчас же по возможностям редиска далеко впереди. Так что даже то что memcached чуточку быстрее (но жрет больше памяти и не поддерживает авторизацию к примеру из коробки) не должно стать поводом для использования оного. Но я если честно redis в кластерах не использовал и ничего говорить не могу, а memcached испытан годами.
    Ответ написан
    1 комментарий
  • Допустимы ли во VIEW условия?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А почему нет? Много if/else это в любом месте не сильно хорошо и стоит подумать о том как бы избавиться от лишних условий и вынести эту логику в компонент хелпер (судя по всему у вас так и есть).

    VIEW в контексте MVC это слой конвертирующий данные из формата приложения в формат требуемый клиентом на выходе, так что без условий сложно. То есть в вашем случае трансформация доменных моделей в HTML. То есть вообще весь код который занимается такими трансформациями это view. Шаблонизатор, хелперы и т.д. Внутри этого слоя все те же правила что и для других слоев. DRY и все такое.

    p.s. Приведите пример "много условий".
    Ответ написан
    9 комментариев
  • В чём прикол таких сайтов?

    Rrooom
    @Rrooom
    Потому что сидят крутые дизайнеры и фронтэндеры на топовых мак про и плевать им, что у простых смертных не 32гига оперативы и не топовый i7.

    Зато красиво.
    Ответ написан
    8 комментариев
  • Как организовать хранение изображений на сервере?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    У меня на проекте 80гб фотографий в доске объявлений. Делаю по категориям:

    pics/users/cat/subcat/{{ID}}/1.png
    pics/users/cat/subcat/{{ID}}/2.png
    ...
    Ответ написан
    9 комментариев
  • Как спарсить url?

    echo $_GET['producer_id'];
    это вам нужно?
    Ответ написан
    1 комментарий
  • С чего начать новичку в web: fornt-end vs back-end?

    @Brandmind
    Изучай фронтенд в первую очередь. Советую не ограничиваться с нативной версткой. Возьмись за Ангуляр, штука мощная, сделает тебя бесценным кадром в любой ИТ-компании которые делают крутые веб-проекты. А бэкэнд "материя" скучная и нудная быстро надоест.
    Ответ написан
    Комментировать
  • В чем же сила Node.js ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сила в том что все знают JS. Кто может писать на PHP/Ruby/Python? Те кто пишут на PHP/Ruby/Python соответственно (и скажем по 10%-15% от количества каждых кто может писать хотя бы на двух из трех языков. Кто может писать на JS? Все фронтэндеры + добрых каких 60%-70% от всех этих php/ruby/python/java/c# разработчиков...

    Что это дает? ОГРОМНЕЙШЕЕ комьюнити... большая часть быдло конечно но засчет огромнейшего количества разработчиков инструментарий начал просто очень быстро развиваться. Кому нужен инструмент написанный на Ruby если его можно написать на JS и его сможет поддерживать на порядок больше людей?

    Вопрос производительности по началу стоял как основная фишка языка. Все кричали наконец-то, V8 на сервере, асинхронность! Самый быстрый интерпритируемый язык на планете и все такое. Но на деле все чуть сложнее. JS реально быстрый. По сравнению с тем же Ruby он в разы быстрее! Но по большому счету на это адекватным людям плевать с высокой колокольни, так как js нифига не асиинхронный. JS работает в один поток. Причем в этом же потоке работает и сборщик мусора. Если он начнет все чистить - все замрет. Обычно это не сильно большая проблема но как-то забавно. Асинхронное в JS только работа с IO которая на плюсах/си реализована...

    Революционности так же нету. JS на сервере не новая идея и практиковался еще лет за 5 до. Просто это была очень удачная реализация да ктому же если бы не V8 то так же все было бы не так круто.

    Что до сравнения с PHP и т.д. - это инструменты для разных сфер. PHP - разработка web-сайтов. node.js - демоны, инструменты разработки, шины данных, доставка данных и т.д. Для всего остального PHP подходит больше. Есть правда пара интересных проектов главная цель которой устранить дублирование кода на сервере и на клиенте.... но подходят эти наработки пока только для очень простых проектов (хотя все относительно).

    Если вас прям плющит от нового, быстрого, современного, с клевым дизайном и тоже где повлиял гугл - golang.
    Ответ написан
    11 комментариев
  • Где найти работу iOS Junior?

    Lixoradka
    @Lixoradka
    .Net разработчик
    Книга, курсы и пара приложений мало.
    Просто поставь себя на место руководителя. Каждая компания набирает человека для решения определенного круга задач. Угадать заранее с этим набором задач ты не можешь, поэтому лучшим решением будет охватить как можно больше умений и навыков.
    Все просто - начни писать приложения, которые ты не знаешь как писать. Допустим нужна какая-то физика движений объектов и ты не знаешь как это реализовывать. Бери и учись. Так когда тебя спросят об этом, ты сможешь ответить какой подход ты выбрал для реализации задачи. Параллельно читай дополнительные книги. Это не обязательно книги по IOS. Многим работодателям нужны люди не только разбирающиеся в языке, но и умеющие программировать. То есть знающие паттерны, теории алгоритмов и прочее прочее. Если ты не знаешь как создать двусвязный список на указателях, о каких приложениях под IOS может идти речь? (Это я к примеру)
    Далее уже можно пробовать фриланс. Поначалу нужно будет делать либо дешево либо бесплатно, пока карма не поднимется. Далее уже можно будет брать деньги за работу. Как только ты начнешь зарабатывать на фрилансе хоть что-то, у тебя появится опыт и ты уже сможешь что-то предоставить техническому специалисту на интервью. Ну и последнее, но немаловажное - собирай портфолио. Какие приложения/игры ты создавал. Это даст почву для разговора на интервью. По большому счету работодателя не интересует как и где ты учился, ему нужно знать что ты действительно умеешь и стоишь, чтобы понять потянешь ли ты тот груз задач и ответственности, что на тебя хотят взвалить.

    Все это под большим ИМХО, ибо я прошел почти такой же путь
    Ответ написан
    2 комментария
  • Названия переменных, функций, таблиц бд, полей таблиц бд итд, как лучше назвать?

    pxz
    @pxz
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Здравствуйте!
    Есть некоторые правила написания кода относительно к названию переменных.
    В JavaScript:
    - Всё же, хорошим тоном является использование английских слов (используйте переводчик, заодно и слова будете знать некоторые);
    - Почитайте на javascript.ru
    - Для обычных переменных и функций принято использовать CamelCase (верблюжья нотация);
    - Для конструкторов — UpperCamelCase (верблюжья нотация, первая буква — заглавная);
    В PHP:
    - Также лучше использовать английские слова.
    - Разделителем слов обычно используют "_". Например, $my_variable, однако, некоторые пользуются CamelCase.
    Ответ написан
    3 комментария
  • Чем учить node.js?

    @luka2i
    [Специалист] JavaScript. Уровень 3в. Серверное программирование на Node.js
    Год выпуска: 2014
    Производитель: Специалист
    Сайт производителя: www.specialist.ru
    Автор: Специалист/Борисов
    Продолжительность: 14.01.45
    Тип раздаваемого материала: Видеоурок
    Язык: Русский
    Описание: Интерактивный видео курс по Серверному программированию Node.js от лучшего в России учебного Центра «Специалист» при МГТУ им. Баумана.
    rutracker.org/forum/viewtopic.php?t=4829384
    10f4715f569b60eab55b8160d9906360.gif
    Ответ написан
    Комментировать
  • Зачем нужны в программировании процедуры (замыкания) ?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Вы немного неверно поставили вопрос. Приведя пример, вы не раскрыли всю суть замыканий. А именно, что они могут быть переданы как параметры в другие функции/методы. Т.о. метод может быть внутри расширен анонимной функцией.
    Но не следует злоупотреблять этим подходом.
    В любом случае, замыкания или обычные процедуры/методы суть одного и тотже подхода --- описание программы по шагам: что и как надо сделать, чтобы получить результат.

    Гораздо интереснее описать задачу в виде граничных условий, и получить решение не описывая алгоритма (см. Пролог), но такой подход очень ограничен и ресурсоемок.
    Ответ написан
    Комментировать
  • Длинный и понятный URL это нормально?

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    Есть тонкая грань между ресурсом и параметрами.
    /category/news - ок
    /category/news?page=2 - ок
    /category/news/2 - ок
    /category/news/page/2/foo/bar/key/value - ужас
    Ответ написан
    1 комментарий
  • Какой смысл в использовании шаблонизаторов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Шаблонизатор шаблонизатору рознь. Но в целом следует выделить общие задачи. которые должны решать за вас шаблонизаторы. С blade не работал и не вижу смысла есть есть twig.

    Безопасность. Это пожалуй можно поднять на верх. Типичная картина в шаблонах на php - <?= $someUserInput; ?>. Частенько это можно встретить в выводе инпутов, при формировании ошибок поиска (мол "по запросу $userInput ничего не найдено. То есть вставляем в инпут подключение наших js скриптиков, если это форма поиска - делимся с "другом" и забираем его сессию. Ну или еще какие забавные штуки можно делать. А ведь все очень просто решается. Ставим какую-то функцию, которая по умолчанию будет фильтровать XSS инъекции при выводе, и не будет этого делать только если мы попросим. Если писать просто на php - появляются отвратные функции, которые можно просто забыть вызвать. А с шаблонизаторами мы пишем красивые {{ someUserInput }} и можем спать спокойно.

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

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

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

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

    Так как за все эти приятные вещи мы по сути ничего не платим (шаблонизатор должен компилировать все это в нативный php так что оверхэда просто не будет), почему бы не пользоваться?
    Ответ написан
    1 комментарий
  • Какой смысл в использовании шаблонизаторов?

    Смотря о чем именно речь. Мешать верстку и логику - всё-таки плохо, и есть много на то причин.
    С другой стороны всякие шаблонизаторы со специфичной разметкой на мой взгляд очень неудобны.
    Сам пользуюсь вот таким методом:
    function template() {
    		if (!is_null($this->template) && is_file("template/{$this->template}.tpl.php")) {
    			extract($this->data, EXTR_SKIP);
    			ob_start();
    			require "template/{$this->template}.tpl.php";
    			$content = ob_get_clean();
    			return $content;
    		} else {
    			throw new Exception('Не указан шаблон: '.$this->template);
    		}
    	}

    По-моему, наиболее простой и удобный вариант.
    Ответ написан
    Комментировать