• Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать
  • Какова роль интерфейсов в ООП?

    Дело нехитрое. Нужда в интерфейсах возникает, когда над кодом начинает работать более 1 человека. Себя, Матвей, вы контролировать можете, коллегу – уже в меньшей степени.
    Еще печальней дела обстоят, когда вы выпускаете код, который может быть расширен неизвестно кем, неизвестно с какой целью (фреймворки). Очевидно, вам захочется сообщить будущим пользователям вашего кода, как конкретно этим кодом следуе пользоваться. Именно эту задачу решают интерфейсы.

    Напоследок скажу вам, что ваше сознание не статично. Через 3 года Матвей тогдашний будет сильно отличаться от Матвея сегодняшего. И будущий Матвей будет чрезвычайно признателен Матвею сегодняшнему, если правила пользования его за 3 года страсть как разросшегося кода будут по-прежнему аккуратно систематизированы в том числе с помощью интерфейсов.
    Ответ написан
    Комментировать
  • Эффект одинокой обезьяны: как он правильно зовётся?

    @386DX
    Есть идеально паралелящийся конвеер, например, разгрузка кирпичей 5 рабочими. Увольнение 1 рабочего приведет к снижению КПД на 20%

    Есть идеально непаралелящийся конвеер, например, один месит глину (не в том смысле), другой лепит чашку, третий раскрашивает и один не может заменять другого. Увольнение любого приведет к снижению КПД на 100% и остановке производства.

    Есть смешанные конвееры. когда верстальщик может за дизайнера, но хреново.

    нелинейно проседает
    А почему оно должно проседать линейно? См выше.

    ускорить дело за счёт качества.
    один не может выполнять чужие обязанности, очевидно что качество падает. Если бы мог, то качество тогда не падало и падения КПД не было бы вообще никакого, не линейного, ни 100%

    перекрёстного опыления
    с девушкой давно были?

    Имею спросить: нет ли у такого эффекта специального названия?
    Очевидно, что нет. Есть невозможность выполнения одним несвойственных ему обязанностей других при выполнении определенных циклов работы.
    Ответ написан
    3 комментария
  • Как выставлять bill / invoice?

    Invoice заказчику нужен для его бухгалтерии.
    Ищите любой произвольный образец в сети.
    Ну вот хотя бы так: www.nsc-cargo.ru/images/Docs/invoice.jpg
    Обязательные поля:
    1. ФИО частного лица или название фирмы исполнителя
    2. Адрес
    3. Налоговый номер
    4. Контакты
    5. Дата и место выписки инвойса
    7. Платежные реквизиты
    8. Получатель.

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

    Далее все как в обычном счете.
    Ответ написан
    7 комментариев
  • Что сейчас в тренде в мире PHP CMS и фреймворков с точки зрения правильной архитектуры и реализации?

    afi13
    @afi13
    Все зависит от поставленной задачи, сделать многоязычный каталог гораздо проще и быстрее на Drupal, e-commerce на Prestashop или другой CMS заточенной под магазины, серьезные крупные проекты лучше делать на фреймворках Symfony, Yii, Laravel. Но делать сайт-визитку с помощью Symfony - это стрелять из пушки по воробьям. Для каждой задачи свой инструмент.
    Ответ написан
    2 комментария
  • Какова техника верстки landing page?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    alvarotrigo.com/fullPage
    „Что тут дивного? ну, вот!
    Белка камушки грызет,
    Мечет золото и в груды
    Загребает изумруды;
    Этим нас не удивишь,
    Правду ль, нет ли говоришь.
    В свете есть иное диво:
    Free jQuery grid layout Plugins & jQuery Layout Plugins
    Это диво, так уж диво,
    Можно молвить справедливо!
    Ответ написан
    2 комментария
  • Что должен знать профессиональный программист без учета особенностей конкретных языков программирования?

    newross
    @newross
    Product owner
    Не забываем про soft skills:
    - умение формулировать свои мысли и доносить их человеческим языком;
    - навыки сбора требований;
    - начальные переговорные навыки, чтобы донести до заказчика/руководителя почему стоит сделать именно так, а не иначе;
    - в идеале нужно уметь делегировать рутинные задачи младшим коллегам.
    Без этих навыков даже самый гениальный разработчик дальше уровня middle вряд ли продвинется.
    Ответ написан
    Комментировать
  • Есть ли фриланс ближе к 30?

    @Insayt
    Сам пришел в IT из совершенно другого мира. Последние 2 года зарабатываю этим на хлеб. Скажу вам честно - первый год, как минимум, будет очень тяжко. Особенно если нет профильного образования (работодатели очень цепляются за отсутствие "корочки"). Но если есть желание - все получится. Я в свое время осознал, что мне ближе frontend и создание крутых интерфейсных решений.
    По фронтенду путь роста сейчас весьма прозрачный:
    1) HTML5 знать на зубок (семантика - важная штука :) )
    2) CSS + любой препроцессор (сейчас без них уже никуда)
    3) JS + любой фремворк/библиотека, для структуризации кода (хотя для начала достаточно прочесть пару книг по нативному JS, и взяв jQuery - поклепать своих плагинчиков. Все таки типичные веб проекты не подразумевают под собой сложной логики на клиенте)
    4) Сборщики. Есть Gulp, Grunt, Branch и еще много всяких интересных штук. Очень хорошо помогают избавится от рутины.
    5) Любовь к тому что вы делаете :)

    Мой вам совет автор - если сейчас есть пассивный заработок, и есть возможность попробовать - я бы на вашем месте попробовал. Дело такое, что жизнь у нас одна, и что бы счастливо ее прожить - надо делать то, к чему стремится ваше сердце. И если вы будете упорным на этом пути - деньги, положение и все остальное, со временем придет.
    Желаю удачи :)
    Ответ написан
    2 комментария
  • Кто такой кодер? и чем он отличается от программиста?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Программист - это тот, кто не бегает к другим с вопросами "как мне сделать ту или иную фичу".
    Кодер - тот к то бегает с такими вопросами к программисту.

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

    Кодер работает над кодом, программист - над проектом.
    Ответ написан
    5 комментариев
  • Какое перспективное направление в программировании для фриланса и иммиграции?

    afanasiy_nikitin
    @afanasiy_nikitin
    путешественник туда-сюда
    Во-первых, хотел бы порекомендовать книгу Чеда Фаулера "The Passionate Programmer: Creating a Remarkable Career in Software Development" (на русском: "Программист-фанатик", Питер, февраль 2015). Несмотря на свое название, она не столько о программировании, сколько о личностном росте, саморазвитии и прагматичном стремлении к совершенству, читать рекомендуется всем и каждому.
    Во-вторых, есть масса аналитических исследований в области IT, в последне время их особенно много из-за "кризиса", например ...о стагнации, образовании и востребованных профессиях.

    Если думаете об эмиграции (а выезд заграницу на ПМЖ это именно эмиграция), то тут есть 2 нюанса.
    Первый заключается в самой сложности переезда в другую страну с другими законами, налогами, климатом, языком, культурой, и тд, а тёплых мест хватает и в России (об этом миллион статей на том же Хабре).
    Второй - переезжать в другие страны имеет смысл в том случае, если вы собираетесь работать на окладе в офисе, например в крупной европейской/азиатской компании на высокой должности на территории работодателя. Фрилансеру же реальная польза от пеерезда весьма сомнительная (опять же, налоги в России - одни из самых низких).

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

    Сейчас мир программирования равивается в двух основных полярных направлениях: низкоуровневое - ПЛИС и самодостаточные микроконтроллеры ("умная железка в каждую вещь"), и, противоположное ему - высокоуровневое проектирование и ФП. В первом случае много физики, во втором - матана, дискрета, теории категорий и всего такого.
    Лично мне ближе второй вариант, поэтому я для себя выбрал технологии, основанные на Java (почему именно Java - пояснил ниже в комментарии): Scala, Lift, ФП, функционально-ориентированное проектирование, мета-программирование, DSL, вот это всё.

    По поводу "готовых решений" лично я наблюдаю обратный процесс: люди стараются отказываться от универсальных готовых решений в пользу гибких, компактных и заточенных под конкретную бизнес-логику (опять же DSL и DDD).
    Но начать всё же рекомендую с Фаулера. Затем Р. Мартин "Clean coder" (на русском "Идеальный программист. Как стать профессионалом разработки ПО"), само собой МакКонелл, Крэг Ларман, и прочие бестселлеры.
    Да, и не забудьте книгу Грега МакКоена "Эссенциализм...", очень полезная вещь в наше время. Личностный рост и саморазвитие сейчас не менее важно (а иногда и важнее) просто "программирования".
    Ответ написан
    8 комментариев
  • В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

    fsdsdfsfdsfsdfsdfsdfsdfsd
    @fsdsdfsfdsfsdfsdfsdfsdfsd
    Unknown
    Не пользуйтесь фреймворками вообще и готовыми движками и станете успешным.

    И срать, что кому-то нужны всякие Yii и прочий хлам. Создавайте свой проект и работайте на себя.
    Ответ написан
    9 комментариев
  • В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Посмотри в сторону Symfony
    Боюсь за оставшиеся 2 года своего обучения так и не стать более-менее нормальным разработчиком, который уже может делать определенные вещи и зарабатывать.


    Срочно: либо устраивайся на работу, либо фриланс. Твоя задача - получить опыт и няшное резюме. Не иди в web-студию, отупеешь. Оптимальный срок работы в компании И для программиста И для компании - 2 года.

    18962034_moj-diplom-pozvolil-mne-nachat-
    Ответ написан
    5 комментариев
  • Есть ли основные правила супер оптимизации?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Главный вопрос - а что мы оптимизируем? Память? Скорость? Размер программы? Легкость модификации? Тут как в RPG - качаем силу, персонаж тупеет; Увеличили скорость - сожрали кучу памяти. И так далее.
    Ответ написан
    Комментировать
  • За кем следить на GitHub?

    JSinga
    @JSinga
    Итак попытаемся разобраться и сделать это логично:
    Мы любим фронтенд значит нам нужно что то на языке JavaScript - ищем на гитхабе проекты с большим кол-вом звездочек и все еще "живые":
    github.com

    Смотрим неколько проектов и смотрим там на контрибьюторов которые внесли много коммитов результат:
    pazguille
    getify
    spicyj
    hhaidar
    nolimits4web

    То же самое для html:
    PaulKinlan
    hubgit
    Ms2ger
    LeaVerou - обратите внимание это девочка и еще и из MIT
    davelab6
    enaqx

    Попутно смотрим в какие группы эти ребята входят и отмечаем инетересные
    reactjs
    html5rocks
    GoogleChrome

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

    moropsk
    @moropsk
    Складываю найденное сюда https://raindrop.io/app
    Ответ написан
    Комментировать
  • Лучшие бесплатные ресурсы по каждой технологии (или стартаперы - дарю идею)?

    @PyTiMa
    Учусь, кручусь, верчусь.
    По-моему, разработчик, который не ищет что-то власноручно - ужасно ограничен. В любом случае в Инете появляются все новые источники , которые могут и не быть внесены в такой "сборник" -> многая инфа на сборнике будет старой, что не есть хорошо. Лучший сервис для этого - поисковик с параметрами "показать за #{время}'
    Ответ написан
    Комментировать
  • Лучшие бесплатные ресурсы по каждой технологии (или стартаперы - дарю идею)?

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

    В любом случае есть википедия
    Ответ написан
    3 комментария
  • Как вы храните накопленные знания?

    @Imbecil
    Храню всё в тематических папках на Google Drive вместе с книгами. Для статей создаю .txt и озаглавливаю их соответствующим образом. Пару раз в месяц делаю капитальную чистку ненужных файлов, так что пока всё в норме. Evernote в последнее время использую лишь как ежедневник — для подведения итогов и укрепления самодисциплины. Pocket — свалка, мне сразу не понравился.

    По поводу книг: когда читаю, параллельно делаю краткие конспекты (только самые важные моменты записываю), сохраняю их в .pdf и кладу в папку с книгой. При этом документ называю именем книги, а в скобках пишу "конспект", так что, если книг в папке будет много, это будет держать их вместе. При повторном обращении к прочитанной книге, заглядываю в конспект — и, как правило, сразу нахожу ответ на свой вопрос. Конспект набираю вручную на клавиатуре. Это хоть и отнимает время, но в тоже время положительно сказывается на эффективности усвоения материала. Ну, по крайней мере у меня (я так свой уровень письменного английского поднял). Могу таким образом одновременно несколько книг прорабатывать.
    Ответ написан
    13 комментариев
  • Что должен уметь backend-разработчик на сегодняшний день?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Хотелось бы бой между любителями PHP & Node.js

    Или исправите срочно, или ... Ну вы читали правила.

    По теме:
    backend - должен уметь его делать. Какой язык, какие технологи и т.д., выбирает исключительно он сам.
    PHP и Node, это совершенно разные вещи, но раз вы задаете вопрос про них, значит вам это не нужно.
    Ответ написан
    Комментировать
  • Как и что вы логируете в свои проектах?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Логин, logout (дата, время, IP),
    Активные действия, вызывающие изменения данных
    запросы в случае использования поиска
    да и система - неочень ясный момент, смотря что у вас за проект.

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