• Путь от junior к web backend developer?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) учим C# + алгоритмизацию (вы как минимум должны знать что происходит при вставке в хэш-таблицу и хотя бы примерно понимать что такое куча, на бэкэнде структуры данных знать очень полезно)
    2) учим ООП (читаем паралельно Фаулеров, Кентов Бэков, Бобов Мартинов)
    3) постепенно берем ASP MVC и вперед к свершениям.
    4) асинхронное/паралельное программирование

    Каждый пункт сдобрим практикой
    Ответ написан
    Комментировать
  • Что стоит изучать начинающему python-программисту?

    Внесу свои 5 копеек, с курса 1го работаю(не только программистом):
    Всем привет! Я студент, учусь на втором курсе. До недавнего времени плыл по течению, просто хорошо учился в инсте (т.е. есть только опыт написания простых прогармм на Дельфи), сейчас же финансовое положение в семье заставило задуматься о своём будущем.

    Как бы избито это не звучало, но забудь подходы к программированию, которые у тебя были в ВУЗе, тот опыт полезен, но пока его придержи. Начни с освоения контроля версий, разберись с пакетами, зависимостями, привыкай перед тем как приступить к задаче, сначала исследовать - никто ли до тебя не занимался ли решением такой же задачи? В общем старайся максимально использовать чужой код, анализировать его, смотреть с какими проблемами сталкивались люди при его написании и т.д. И старайся писать понятный, не только тебе, код.
    Анализ чужого кода - важная, недооценённая студентами, составляющая работы.

    Начал изучать Питон (взял на курсере "Intro to interactive programming in Python", сейчас перехожу ко второй его части), т.к. он используется в DSP и компьютерном зрении, а мне эти области интересны. Также полезной вещью в моём багаже будет MySQL, который у меня сейчас идёт в универе.

    Питон относительно спорное начинание. Да, в перспективе - он хорош, но, субъективно, найти работу на PHP без коммерческого опыта - проще(это если финансовое положение такое что надо вот сейчас найти работу). Спрос большой, ровно как и спектр задач. Когда в голове будет понимание спектра задач для языка и вообще того какие задачи возникают в коммерческой разработке, тогда уже можно примерять Python к тем задачам которые перед тобой стояли.
    Если есть время(3-6 месяцев) то можно подучить джангу/фласк(только что-то одно) и идти работать стажёром - бесплатно или же помогать в open source(тут как раз и поймёшь примерные задачи, которые будут вставать перед тобой в работе, потому как туториалы хорошо, а реальность отличается).
    Не знаю как у вас дают БД, у нас давали так себе, поэтому лучше дотягивай сам, хотя бы то как язык работает с базой.
    Если хочешь научное - компьютерное зрение и т.д., устраивайся на кафедру (вариант с натяжкой - работу где у тебя будет много свободного времени(сторож, продавец простаивающий)) и штудируй литературу пачками, т.к. минимальные требования там высокие и нужно больше фундаментальных знаний, нежели знания ЯП. Плюс ко всему - участие во всех олимпиадах по программированию, интересные курсовые работы, по актуальным темам.

    Среднесрочную задачу я перед собой поставил конкретную: через год устроиться на оплачиваемую стажировку, чтобы начать получать хотя бы какие-то деньги и опыт. Поэтому вариант с поступлением в ШАД, который я изначально рассматривал как основной, отпал, и я решил перенести эту затею на год вперёд.

    На год вперед после работы? Потому как ШАД+оплачиваемая стажировка+учеба = ничего. Нигде не будешь успевать. По большому счёту - не ШАДом единым, если год самообучения, плюс год работы, то лучше включить в эти 2 года ещё и изучение того что проходят в ШАД, чтобы быть подкованнее

    В итоге у меня вопрос: что посоветуете сделать/изучить? Сконцентрироваться на Django, мб html/css, и т.п. и гарантированно идти стажироваться в заданный срок? Или рискнуть, попробовать делать то, что интересно (изучить dsp на базе питона, либо opencv), и податься в какое-нибудь крутое место типа Яндекса, в надежде, что на тебя обратят внимание? (Наиболее туманный для меня вариант). Ещё недавно возникла идея попробовать себя в связке веба, и, например, машинного обучения, может тоже неплохо? В общем, помогите советом нубу)

    Выше писал. Тут стоит оценить риски и ситуацию в семье. В принципе, если попадётся хороший руководитель и ты сможешь его убедить цифрами что машинное обучение принесёт пользу бизнесу, то сможешь совместить и связку веба и машинное обучение, плюс подтянуть курсовые и дипломные на эту тему(заработать миллон долларов, прославиться, написать свой язык программирования)
    P.S. Не выпускник ШАДа, обычный человек-программист
    Ответ написан
    3 комментария
  • Какой язык программирования востребован в фрилансе?

    Olej
    @Olej
    инженер, программист, преподаватель
    подталкивают в сферу фриланса. Собираюсь осваивать программирование и двигать на Upwork.

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

    Какой язык программирования наиболее востребован и хорошо оплачивается,

    Реально, если это более-менее объёмные и продолжительные работы, из того, что предлагается в фрилансе (Upwork) - это Python. Но там требуется везде уж явно не начальный уровень знания Python.

    Конечно, можете лабать и убогие сайты по $100 за штуку ... но это уже на сильно любителя.
    Ответ написан
    7 комментариев
  • Какой язык программирования востребован в фрилансе?

    GavriKos
    @GavriKos
    Исходите не только из того, что востребовано, но и из того, чем хотелось бы заниматься.
    Вот раз знаете sql - то можно смотреть в сторону бекэнда. А бекэнд - это PHP, Python, Ruby, ну и дальше уже джава. Если устраивает бекэнд - то начинайте именно с PHP. Пусть и питон выучить легче, но на него сложнее найти заказы. Но - не зацикливайтесь н а одном языке - учите потом питон, а потом может и фронтенд.
    Есть во фрилансе и другие сферы - там свои языки...
    Ответ написан
    Комментировать
  • Какой язык программирования востребован в фрилансе?

    gordon_shamway
    @gordon_shamway
    Да если честно PHP кругом востребован, но только в вебе.
    Ответ написан
    Комментировать
  • Где хранить функции, используемые во view в Yii?

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

    <div class="workshop-date">{{ workshopDate(workshop)  }}</div>
    Ответ написан
    Комментировать
  • Django vs Pligg - какой инструмент проще и быстрее?

    voidnugget
    @voidnugget
    Программист-прагматик
    Pligg - большой noname сомнительного качества реализации и содержания.
    Если хотите PHP - идите в сторону Symfony2 + Sonata и прочие бандлы, пилите по своим потребностям.
    "Проще" - почти всё одинаково "сложно", и сложнее MVC + 5ая или 6ая нормальная форма БД ничего нет.
    Я не люблю Django по причине довольно большего количества сомнительных поделок, чаще смотрю в сторону Pyramid + SQLAlchemy.

    "Быстрее" - я бы сказал что ни пых ни питон особо "умом и сообразительностью" не отличается, хотя имхо РНР 5.6 работает шустрее CPython и чуток медленнее PyPy.

    Если нужно "быстрее", в десятки раз, - лучше уходить в Java + Netty типа Vert.x или Play2, можно golang.

    Бегать за производительностью платформы без острой надобности не стоит.
    Если не планируется какая-то реактивность с богатыми фронтендами и всякими Flux/CQRS-ES etc для обновления контента по Websocket/SSE/longpolling etc - в большинстве случаев достаточно реализовать нормальное второуровневое кэширование, с учетом реляционной модели. Вот с РНР / Python / Ruby для подобных задач push-нотификаций надо крутить gearmand / celery / sidekiq - потому что нет нормальной многопоточности с коробки.
    Ответ написан
    2 комментария
  • Тестовые проекты для python/django?

    @stayHARD
    Как первый проект - TODOшник.
    Ну или можно систему учета чего-либо сделать.
    Ну или напишите свой блог-портфолио, расскажите о себе, укажите свои скиллы, сделайте все красиво и аккуратно вот и будет вам проект.
    Если скучно и не интересно - пишите простенькую социальную сеть(профили, фотки, лайки, посты, комментарии, сообщения, группы).
    Если еще не интересно напишите аналог Тостера(вопросы-ответы).
    Ответ написан
    6 комментариев
  • Чему обучать Junior'a?

    Как-то раз, я совсем нулячим пришел в вэб студию.
    Умел делать выборки с бд и работать с сессиями.
    Особо никто ничего не рассказывал, просто заваливали заданиями, с которыми приходилось справляться. Мотивировал я себя словами: "кто-то может, а я нет?".
    Задавал вопросы на которые можно ответить только "да" или "нет".
    Через 8 месяцев я сдал сложный проект, который писал сам 4 месяца с нуля на yii framework.
    Уволился, так как работодатель осведомленно нанимал нулячих программистов, выжимал из них все соки, платил копейки и обвинял всех во всех бедах студии. и эти самые нулячие, после "рабства" с огромным опытом устраивались на хорошие работы
    Ответ написан
    3 комментария
  • Есть ли php вакансии где работают только с одним фреймворком?

    @klokovdy
    php developer
    Сужу по веб-студиям:

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

    С другой стороны, крутые специалисты врятли в своей карьере ограничились только 1 фреймворком и наверняка хотя бы пощупали другие, вот по тому сколько они еще перепробывали и можно судить о профессиональном уровне, с точки зрения нанимателей.
    Ответ написан
    1 комментарий
  • Устаревает ли Ruby/RoR?

    opium
    @opium
    Просто люблю качественно работать
    ну в разрезе того что у нас средняя продолжительность жизни не большая и пол жизни мы уже прожили, нам срать, какая нам разница устареет ли язык когда на нем будут девелопить наши внуки?
    ну реально смысл думать о том что будет после нашей смерти.
    так рассуждать питьевая вода устареет быстрее
    Ответ написан
    Комментировать
  • PHP vs. all. Имеет ли смысл учить (параллельно) что-то еще?

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

    Потому что изначальное утверждение - ложное.

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

    Haters gona hate. Под свои задачи - это идеальный язык.

    Есть ли у разрабов PHP шансы наверстать упущенное в этом плане?

    Упущенное в чем?)) Про непродуманность - это бла-бла-бла, без конкретики. 5.6 - вполне норм. 7.1 Обещает быть интересным.

    Имеет ли смысл учить PHP, перспективен ли он в плане дальнейшей работы(работы, а не доработки cms и т.п.)?

    Вопрос не корректен. Перспективен в плане работы - специалист. Только от вас зависит где и как вы будете работать.

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

    Зависит от вас

    К примеру, потянет обычный университетский хостинг проект на django?

    Вопрос ниочем. Что такое "обычный университетский хостинг"?

    Многое придется менять и что вообще придется менять?

    Смотря что вы собрались делать.

    Продолжать изучать PHP, какая связка PHP+%некий фреймворк% наиболее "боеспособна"? Когда переходить к фреймворкам?

    Symfony + сразу.

    И да, может быть стоит учить всё и сразу?

    Можно, только сразу к психиатру запишись. Не шутка.

    постоянно уговаривая попробовать Python или Ruby

    Дык попробуй, чего кота за яйца тянуть? Если понравится - переходи на тот стек технологий.
    Ответ написан
    1 комментарий
  • 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
    Ответ написан
    4 комментария
  • Как построить график в Python (Matplotlib) без блокировки консоли?

    angru
    @angru
    plt.ion() + plt.draw() вместо plt.show()

    Есть еще IPython Notebook, может заинтересует. Он сейчас вылился в отдельный проект Jupyter. Можете попробовать(Welcome to Python.ipynb -> Cell -> Run All) Он вам прям там график нарисует, Вы даже можете вставить свой код и посмотреть что получится, только осторожно, это только демка, весь код удаляется потом. А еще его можно на локальной машине развернуть, если на винде, то вообще все просто: качаете анаконду она включает в себя огромную кучу библиотек(matplotlib, numpy, scipy...), запускаете IPython (Py 3.4) Notebook, он разворачивается на локальном интерфейсе, на порту 8888, все, можете создавать свои скетчи(*.ipynb), править их прямо в браузере, смотреть графики, сохранять, а также шарить через Jupyter.

    p.s. чтобы выводить графики прямо в скетче, а не в отдельном окне, используйте макрос %matplotlib inline
    Ответ написан
    Комментировать
  • Специализация Coursera "Python for everyone" - или выбрать другой курс?

    @Nerevar_soul
    Мне больше понравились курс от Торонтского университета и специализация от Университета Райса, курс Мичиганского не пошел.

    Вообще по основам python очень много материалов. Есть еще курс на Stepic, есть лекции МГУ. Много англоязычных курсов можно найти на youtube.

    Главное начать, а по какому курсу или книге, это дело вкуса.
    Ответ написан
    Комментировать
  • Этично ли спрашивать у работодателя, если он ответил отказом на мой отклик по вакансии?

    opium
    @opium
    Просто люблю качественно работать
    ну если у вас есть язык или пальцы чтобы печатать то спрашивайте
    это вообще вопрос не этичности, а вопрос поднять ли мне задницу с дивана
    Ответ написан
    Комментировать
  • Как создать java web-приложения с нуля?

    @wani
    Обычный стек для веб приложения на Java это:
    1. Spring MVC (здесь находится вся логика)
    2. Spring Data/ Hibernate (ORM (object-relational mapping) для связывания ваших данных из базы в объекты)
    3. Любая БД (база данных) (MySQL, PostgreSQL, MongoDB, etc.)

    Для начала вам лучше всего начать с изучения Spring. В книгах по Spring будет описано не только Spring MVC. Параллельно можете начать изучать любую БД на ваш вкус.
    С такими знаниями вы сможете написать бекенд. Для фронтенда вам следует изучить Html/Css/Javascript. Для того, чтобы потом в фронтенде использовать Google Maps, вот просто надо будет изучить его api и все.
    Ответ написан
    Комментировать
  • Развертывание web приложения на Go?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Как это работает, чтобы понимали. Я опишу истинно правильный путь, но долгий: (как подсказал pygame , по бенчмаркам https://gist.github.com/hgfischer/7965620 всё же нативный хттп сервер в Go быстрее, чем nginx с fcgi, т.к. у Go гавняная реализация fcgi, поэтому вместо fcgi быстрее будет обычный http proxy_pass).

    1) Ставится веб-сервер нормальный, а не тот, который есть в самом Go. То есть, ставим nginx. Настраиваем ему все url маршруты, настраиваем отдачу статики.

    2) За динамикой nginx будет обращаться к нашему Go демону. По протоколу fast-cgi. Именно по нему, потому что nginx его умеет и вообще он хорош (upd: но не в Go). Это короч бинарный протокол по которому nginx передаёт в нашу Go программу HTTP заголовки запроса от браузера и получает обратно HTTP ответ. Для этого ставим простейшую обёртку для fast-cgi под названием spawn-fcgi, она будет преднастраивать и запускать нашу Go программу, готовую для общения по протоколу fast-cgi.

    3) На случай, если наша Go программа падает. Либо уже у нас есть система, которая следит за демонами и поднимает их в случае падения (systemd, upstart), тогда конфигурируем её, либо ставим таковую и тоже конфигурируем.

    Привожу пример как это всё сделано у меня (самый популярный стек технологий) на Debian:

    1) nginx
    server {
    	server_name otboi.****;
    	listen 80;
    	include fastcgi_params;
    ...
    	
    	location / {
    		fastcgi_pass unix:/var/run/otboinik.sock;
    	}


    2) systemd конфиг, который стартует нашу Go программу, завёрнутую в spawn-fcgi
    [Unit]
    Description=Otboinik
    
    [Service]
    Restart=always
    Environment=OTBOINIK_BIN=/opt/гыы/otboinik/bin/otboinik
    Environment=OTBOINIK_PID=/var/run/otboinik.pid
    Environment=OTBOINIK_USER=гыыыы
    Environment=OTBOINIK_SOCKET=/var/run/otboinik.sock
    Environment=OTBOINIK_SOCKET_USER=гыыыыы
    Environment=OTBOINIK_SOCKET_MODE=0666
    ExecStart=/usr/bin/spawn-fcgi -s $OTBOINIK_SOCKET -M $OTBOINIK_SOCKET_MODE -n -P $OTBOINIK_PID -u $OTBOINIK_USER -U $OTBOINIK_SOCKET_USER -G $OTBOINIK_SOCKET_USER $OTBOINIK_BIN
    
    [Install]
    WantedBy=multi-user.target


    3) Сам Go код
    import (
    	"net/http"
    	"net/http/fcgi"
    )
    
    type Server struct {
    }
    
    func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
           // чиста пример
            jsonblob := r.FormValue("events")
    	if jsonblob == "" {
    		w.WriteHeader(http.StatusNotAcceptable)
    		return
    	}
    }
    
    func main() {
    	server := Server{}
    
    	func() {
    		fcgi.Serve(nil, server)
    	}()
    
    	waitchan := make(chan int, 1)
    	<-waitchan
    }
    Ответ написан
    4 комментария
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
    Комментировать
  • После каких курсов по Ruby on rails можно идти работать?

    @AVKor
    После любых. Примут на должность просмотрщика курсов.
    Ответ написан
    1 комментарий