• На каком ЯП проще начать удаленную работу или фриланс?

    Atanvar
    @Atanvar
    Frontend developer
    Если ты знаешь программирование, а не ЯП то сможешь и на паскалях зарабатывать.
    Никогда не выбирай язык исходя из желания заработать, это провально, по себе знаю, сам метался между питоном, пхп и джавой.
    Возьми язык который тебе нравится и с которым тебе комфортнее всего живется, прокачай скиллы (фреймворки, паттерны, алгоритмы) и ты сможешь на нем зарабатывать.
    Ответ написан
    1 комментарий
  • Как строится Back-End разработкa?

    @Realmixer
    Full stack Python (Django) web-developer
    Full-stack разработчик — это не тот, кто знает всё что угодно, что в принципе может быть на сервере. Технологий и продуктов слишком много, и просто учить всё это по списку не очень дальновидно.

    Full-stack разработчик — это тот, кто разбирается во всем стеке технологий и используемых в проекте компонентов (как в части фронтенда, так и бэкенда), что позволяет ему в одно лицо затащить проект. Соответственно, перечень необходимых технологий, продуктов и инструментов зависит от того, что за проект стоит перед full-stack разработчиком. Исходя из этого я бы не стал приводить "10 things a Full Stack Developer should know".

    Например, вы делаете первые шаги и решили открыть свой "Очередной блог веб-разработчика". И например, вам на фронтэнде до жути надоели фигурные скобочки, или вам друг посоветовал, или просто для разнообразия, но вы решили попробовать Python. Соответственно вы начнёте копать и получите такой стек: React|Vue.JS(раз вы фронтэндер) + Django&DRF|Flask + Virtualenv + uWSGI|Gunicorn + SQLite|PostgreSQL|MySQL + Memcached|Redis(возможно) + Ngix. Соответственно, хотите вы того или нет, но вам придётся всё это хозяйство разворачивать на сервере. А значит вам надо будет научиться работать в Bash и понимать, что вообще куда в *nix-системах (FHS, pipelines, environments, cron, systemd). Вам надо будет суметь организовать процесс разработки, чтобы изменения кода попадали на сервер и применялись. И лучше сразу начинать использовать тесты и системы контроля версий. Если что-то из этого вы не сможете и придётся привлекать кого-то ещё — вы не full-stack разработчик.
    Ответ написан
    Комментировать
  • Как строится Back-End разработкa?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Границы бесконечны. Чем больше вы знаете, тем ценнее вы, как специалист.
    И как сервер поднять и как его положить, а потом снова поднять, как "нолики и единички бегают по сетевым проводам", чтобы кто-то(не вы, а может и вы) мог порнушку посмотреть, роут запроса от клиента к серверу и обратно, сетевые протоколы, DNS, другие аббревиатуры.. да всё знать нужно, хотя бы поверхностно. Более того, стыдно не знать как работает веб, работая в вебе. Нет границ. Это не то же самое, что картошку на кассе продавать, владея лишь навыками управления кассой.
    Ответ написан
    1 комментарий
  • Что такое enterprise разработка на самом деле?

    @miksir
    IT
    Enterprise разработка - это разработка, направленная на решение проблем бизнеса. В отличии от разработки для решения проблем конечных пользователей.

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

    Но если все же пытаться выделить какие-то характерные черты, я бы назвал несколько:
    * устойчивость к трендам (использование их, когда они пройдут стадию моды и перейдут к стадии заинтересованности крупными игроками, ибо никому не нужны технологии, которые через год умрут и их поддержка будет дорожать каждый день).
    * сложная и непостоянная бизнес-логика, давление на нее из множества источников
    * результат сложной переменчивой бизнес-логики в совокупности с длительным использованием продукта приводит к целям снижения стоимости поддержки за счет стоимости первоначальной разработки, производительности и потребляемых ресурсов. ООП, SOLID, Unit Test/TDD, DDD - все эти популярные буквы - последствия "энтерпрайза", когда мы готовы серьезно подходить к написанию кода для облегчения его последующего изменения.
    * слабо заметный вклад конкретного программиста, проистекает из сложности ПО

    Требования к программисту... ну я бы сказал, усидчивость, вдумчивость, исполнительность... хм, а что, в каких-то других областях другие требования к программистам? Хотя, конечно, в противоположность, можно назвать способ разработки "быстро-быстро и в продакшн". Но, к слову, такие ситуации могут и в энтерпрайзе возникнуть.

    По-этому, стоит рассматривать не энтерпрайз/не энтерпрайз, а конкретные компании с конкретными требованиями и циклами разработки.
    Ответ написан
    1 комментарий
  • Инсталляции сайта на Javascript?

    @MikUrrey
    Там JS не нужен по большому счету. Минимум CSS, старый добрый HTML, и PHP, который составляет 95% функциональности подобной подсистемы.
    Конфигурация отправляется из полей POST-запросами и сохраняется обычно в файлы, реже в БД. Почему реже? Потому, что системы настройки обычно настраивают так же и сам доступ к БД.
    Так же из РНР обычно и генерируются input-поля с уже заполненными value.
    Чтобы с непривычки не мучаться с импортами-экспортами-инклюдами конфигурационных файлов, рекомендую использовать JSON - это дёшево и сердито:
    $config = json_decode(file_get_contents(__DIR__ . '/.config'), true); //читаем конфиги
    //...
    file_put_contents(json_encode($config), __DIR__ . '/.config'); //пишем конфиги

    В данном примере .config - с точкой вначале, чтобы конфиги нельзя было открыть и прочитать из браузера - ведь это конфиденциальные данные. `__DIR__` - это магическая константа, путь к папке скрипта, в котором она использована.
    Сохранять конфиги можно как угодно иначе, главное, чтобы они были недоступны из web.
    Так же вам нужно предусмотреть элементарную безопасность: фильтрацию данных, полученных от пользователя.
    Резюмируя, чтобы написать минимальный конфигуратор на РНР, нужно проштудировать информацию о:
    json_encode / json_decode
    file_get_contents / file_put_contents
    htmlspecialchars / strip_tags / preg_match / filter_input

    HTML и CSS, как я понимаю, вы уже и так успешно пользуетесь.
    Ответ написан
    2 комментария
  • Как сделать такую сетку Grid?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Делаете примерно такую сетку (в grid-template-columns)

    608ea9f4badb8744275269.png

    Первый, второй, пятый и шестой элементы растягиваем на две колонки
    .item:nth-child(6n + 1),
    .item:nth-child(6n + 2),
    .item:nth-child(6n + 5),
    .item:nth-child(6n + 6) {
      grid-cloumn: span 2;
    }
    Ответ написан
    6 комментариев
  • Как научиться верстать без проблем?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Студентам в начале курса говорила, кто хорошо в детстве играл в лайнс, тетрис и подобное, тот будет хорошо верстать.
    Верстка это обычная геометрия средней школы записанная с помощью тегов и раскрашеная/подвинутая стилями. Всё.
    Всякие JS и т.д. это просто следующий этап.

    План действий может быть таким:
    1. Берете/получаете макет
    2. Внимательно рассматриваете его, мысленно разбивая на блоки. Думаете что куда может/должно растягиваться или уменьшаться при изменениях экрана и увеличении/уменьшении контента.
    3. Если п.2. сразу не осилился, идете гулять или спать.
    4. Возвращаетесь к п.2.
    5. Верстаете понятные большие блоки, затем их заполняете. Разбивайте задачи более простые.

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

    А совсем без проблем не выйдет, потому что экранов много, браузеров много, хотелок у заказчиков еще больше. Хорошо, когда эти хотелки интересные :)
    Ответ написан
    12 комментариев
  • Как правильно создавать архитектуру?

    vesper-bot
    @vesper-bot
    Любитель файрволлов
    Вообще, нужно взять бумажку и задать на высшем уровне абстракции все возможные в текущем представлении сущности. Если разговор о "змейке" - задаете вопрос, что у вас в игре есть как сущности. Скажем, есть змея, есть стены, есть жрачка, их пишете как сущности. Затеяли добавить "муху" - пишете тоже. Затем пишете, кто что умеет делать: змея умеет ползать, стукаться в стены или жрачку, расти и возможно что-нибудь ещё, стены просто стоят, жрачка умеет появляться, съедаться. И так далее, пока всю игру в примитивах не опишете. Дальше - каждая сущность это класс, каждое отношение это метод, каждый параметр, выясненный в процессе, это свойство класса. Но чем дальше в лес, тем больше грабли. На уровнях выше начинаются модули со своей инкапсуляцией, события, гонки всякие, а-ля "кто съел яблоко, вы или противник", асинхронное взаимодействие, подписки на что-либо, и так далее, интерфейсы становятся сложнее, какие-то объекты передаются как параметры и всё такое, но общий принцип остается - сначала большими кусками всё делится на куски поменьше, определяются интерфейсы (кто что может спросить или повлиять на кого), пытается реализовываться, потом, вполне возможно, находятся противоречия, которые приходится устранять рефакторингом, и по спирали.

    Что поизучать - сначала просто базовое ООП, чтобы понять, из чего вообще строить программу, что такое объект, класс, интерфейс, наследование, полиморфизм (та же жрачка может быть нескольких видов, например, но "съедается" она одинаковым образом), инкапсуляция (а-ля "не лезь в мои свойства своими лапами"). Все эти SOLID и прочие аббревиатуры, а также паттерны и антипаттерны, появятся в процессе, когда от архитектуры перейдете к дизайну самих сущностей и написанию кода методов. По-моему так.
    Ответ написан
    Комментировать
  • Граница между front-end и back-end?

    neuotq
    @neuotq
    Прокрастинация
    Чтобы там не говорили, бэкэнд может оставаться полностью черным ящиком только для верстальщика, ито с оговорками.
    Фроентэнд разработчик, даже с джун уровня, уже активно работает с получением отправкой данных, интерактивными интерфейсами и тп. Понимать как и почему некоторые штуки там работают нужно. Хорошо даже уметь быстро что-то простое сделать. Я не говорю становится фулстеком в полном смысле этого слова, НО. По хорошему: фронтендер мидл и выше уровня можно с натяжкой назвать фулстеком, просто с большим перекосом на фронт часть.
    Просто даже серверлесс направление, заставляет в той или иной степени понимать процессы происходящие на той стороне.
    Ну и в любом случае, в случае активной практики и развития, вы сами столкнётесь с тем, что иногда нужно даже лезть и писать какие-либо свои простые скрипты.
    Отмечу отдельно, это не значит что нужно с головой падать, пытаться стать фулстеком. знать всё и тп. Нет, я имею ввиду что понимание работы бекенда, а значит и умение делать некоторые вещи, должны будут и прийдут при активной работе и роста вас как специалиста.
    Это же касается тех же софт скилз и менеджерских умений.
    Ответ написан
    1 комментарий
  • Как часто вам приходится верстать на голом html и css?

    cannibal_corpse
    @cannibal_corpse
    Верстальщик руками
    К маленькому лендингу не беру с собой шаблонизаторы и препроцессоры, а вот к большим проектам с долгосрочной поддержкой PUG + SASS + Babel все это через Gulp с Webpack'ом.

    Мне кажется, PUG достаточно простой для вхождения и очень мощный, если научиться использовать его потенциал.
    SASS, ясное дело, точно так же :)
    Ответ написан
    2 комментария
  • Как часто вам приходится верстать на голом html и css?

    verkhoturov
    @verkhoturov
    Frontend Developer
    Если новый проект (простой статичный сайт), то pug + sass.
    Чистые html и css если только нужно что-то поправить на каком-нибудь старом проекте и у заказчика нет исходников на препроцессоре (или их вообще не было).
    Ответ написан
    Комментировать
  • Почему много людей в IT недовольны своей работы?

    @N1ghtWolf
    Столько мнений... Призываю в топик тех, кто после 30 пришел в IT из другой проф. области, условно со "стройки". Интересно послушать таковых. Сколько там будет "перегоревших".

    Никто не будет платить кому-то достойные деньги за легкую работу. Никто. Ну разве что сам себе. Везде есть подводные камни: вахтовый геолог - 9 месяцев вне дома; пилот самолета - сбитый график, сбитые биоритмы, получает случайную травму и действительно летит "на мороз"; ну а программист - сидит на попе и выгорает. Каждому свое.

    Сам перекатился из армии - 6 рабочих дней официально, могут вызвать в абсолютно любое время тоже официально, нельзя просто так выехать за город (про заграницу вообще молчу), учения, построения, моральный дебилизм начальства и прочий декаданс. По самой деятельности - в галере 100 человек таких как и ты, но ощущение, что гребешь в соло то одни, то другие весла, а иногда встаешь за штурвал. И так по кругу. Людей способных отличить интернет от езернета, можно было посчитать на пальцах одной руки черепашки ниндзя. Нет, спасибо, по мне лучше 5/2 залипать в монитор.
    Ответ написан
    Комментировать
  • Почему много людей в IT недовольны своей работы?

    kraso4niy
    @kraso4niy
    fullstack
    IT - это супер интересная область. Тут огромные возможности , потому что компьютер даёт эти возможности. Потому что без компьютера невозможно уже сделать что-то конкурентное. Любое производство, любой текст, любая информация - это компьютер! IT - очень разнообразная сфера. Это не только "кодить в IDE" и "попивать кофе/смузи" и "сидеть за монитором по 18 часов" - это и оптоволокно и спутниковая связь, и работа автомобильных систем, и станки и тракторы и ракеты. Как и любая профессия, она может быть очень интересной и очень скучной.

    Люди чаще недовольны, чем счастливы и это недовольство заставляет их двигаться вперёд - удовлетворять свои материальные и духовные потребности :) и это нормально :)

    Любая профессия интересна по своему и это всё субъективно. IT - одна из немногих сфер которая позволяет жить и работать там где хочется и при этом зарабатывать те деньги на которые можно комфортно жить.

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

    Счастье наступает когда человек может то что хочет и хочет то что может :)
    Ответ написан
    9 комментариев
  • Должен ли React\Angular\Vue разработчик верстать?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    Общий ответ только один, имхо:

    Фронтенд разработчик должен решать фронтенд-задачи, которые перед ним ставят. Вёрстка в принципе относится к понятию "фронтенд". Если перед фронтендером ставят задачу сверстать что-то -- он должен уметь это делать..
    А вот есть ли у фронтенда задачи по вёрстке -- это уже очень субъективно, на каждом проекте по-разному

    Опять же, имхо:
    Чем лучше фронтенд верстает -> Тем лучше он может решать задачи + шире круг задач, которые он может решать -> Тем он дороже на рынке
    Ответ написан
    Комментировать
  • Должен ли React\Angular\Vue разработчик верстать?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Регулярно тут поднимают вопрос, нужны ли верстальщики. И самый популярный ответ, что не нужны - теперь это делают Фронты. Если исходить из этого, то да, фронт должен уметь верстать. С другой стороны мне буквально вчера на вакансию фронта спрашивали насколько я хорошо знаю php.
    Вот и поди пойми их
    Ответ написан
    1 комментарий
  • Сколько стоит открыть маленькую студию по разработке игр?

    @dimskiy
    Не понимаю с чего все вдруг прицепились к офису и закупке оборудования. Что мешает начать с плана монетизации, сайта и команды на удаленке? Зачем вам обязательно сначала арендовать офис, покупать кулеры-кофе-компы? :)
    По факту, нужно:
    1)фронтэнд для клиентов-покупателей (сайт)
    2)команда разрабов и дизайнеров (2-3 человека на первое время, удаленка)
    3)юрлицо или ИП для ведения дел. Если ИП - даже бухгалтер не нужен, полно сервисов онлайн-бухгалтерии

    И вы считаете, все это тянет на миллионы ежемесячно? )
    Ответ написан
    Комментировать
  • Как начать работать во frontend?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В академию нужно приходить подготовленным. Академия не учит алгоритмам и структурам данных, подразумевается, что ты это уже умеешь. А без этого от академии толку будет мало.

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

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

    Я, по первости, вкладывая своё личное время, вытягивал бегемотов из болота, затрачивая своего личного времени 20+ часов на каждого, без всякой компенсации, просто из принципа, что раз могу значит должен.

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

    Таким образом резюме - прорешай олимпиадных задачек штук 100 разной сложности, выведи базовую алгоритмику и структуры данных на рефлексы. Это прям must have независимо от языка, на котором ты пишешь сейчас и будешь писать когда-либо, ибо это первейшие и универсальные навыки в программировании. Без этих навыков в профессии делать нечего. ИМХО.

    ЗЫ: Видывал я и синьоров, которые на обе ноги хромают в алгоритмах и структурах данных. Мде. Жизнь полна чудесов.

    ЗЫ2: Я всех отправляю на кодварс прокачивать скиллы в алгоритмах. Однако в последнее время кодварс стал зело тормозной. Пичалька. :(
    Ответ написан
    Комментировать
  • Что за ошибка при push в Git?

    v_decadence
    @v_decadence
    git init не нужен, если потом используется git clone.

    Ошибка из-за того, что на сервере есть изменения, которых у Вас нет в локальном хранилище.
    Нужно сделать git pull перед git push.
    Ответ написан
    6 комментариев
  • С чего начинать обучение backend-разработчику и какой минимум знаний нужен на junior'а в 2016-2017?

    Adamos
    @Adamos
    > информация укладывается неструктурировано, отрывками, а хотелось бы, чтобы в голове все было разложено "по полочкам"

    Не существует курса обучения программированию, который раскладывает все по полочкам сразу, в теории. А если и есть - то он не работает.
    Чтобы действительно разложить IT-знания по полочкам, нужны годы практического опыта.
    Поэтому - погружаться и учить то, что получается изучить. Сразу пробуя то, что получается пробовать. А потом - переучиваться, с ужасом оглядываясь на то, что было сделано год назад. Потому что пришел опыт, и начался новый уровень сложности...
    Ответ написан
    Комментировать
  • Что означает (jQuery) после (function( $ )?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    (function( ) {
    })();

    Вот эта конструкция называется "анонимная самовызываемая функция".

    То есть, тут два действия:
    Объявление анонимной функции
    function( ) {
    }

    и сразу ее вызов
    ()()
    Первые скобки это синтаксический приём для вызова анонимной функции. Есть и другие методы. Например
    +function(){}()
    Вторые скобки - это собственно вызов функции и при необходимости передача параметра (обычный вызов же)

    ()(jQuery) — в параметре передается jQuery

    function($){} — а тут этот параметр объявлен и используется

    (function($){})(jQuery) — итого, объявили анонимную функцию, и вызвали ее, передав параметром объект jQuery

    Например, доллар у вас используется другой библиотекой, пусть MooTools.
    Тогда вы запускаете jQuery в безконфликтном режиме

    jQuery.noConflict();

    Это значит, что доллар использоваться не будет, и объект будет доступен только по ссылке jQuery.

    Но для удобства вы можете использовать анонимную функцию и безопасно использовать внутри неё переменную доллара

    (function($){
      $('.slider').slick();
    })(jQuery);


    Чтобы стало совсем понятно, конструкцию можно переписать без анонимной функции

    var myFunc = function($){
     // some code
    }
    
    myFunc(jQuery);
    Ответ написан
    Комментировать