• Как сделать запрос к бд в зависимости от GET параметров?

    @nirvimel
    При явном указании города нет смысла фильтровать по стране и штату, при явном указании штата нет смысла фильтровать по сране. Код может выглядеть примерно так (у меня, понятно, нет возможности проверить):
    location = form.cleaned_data
    city, state, country = location['city'], location['state'], location['country']
    kwargs = ({'city': city} if city
       else ({'state': state} if state
       else {'country': country} if country))
    data = Model.objects.filter(**kwargs)

    Все это не отменяет необходимости на клиенте фильтровать список городов при выборе страны/штата.
    Ответ написан
    1 комментарий
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    syschel
    @syschel
    freelance/python/django/backend
    Самое сложное во фрилансе, не языки и технологии.
    • Умение продавать себя в толпе конкурентов. Это самое сложное. Есть много высококлассных специалистов, сидящих на среднем окладе. Они тупо не могут себя продать даже в другую компанию, а не редко и боятся менять привычное место.
    • Умение грамотно составить или согласовать ТЗ. Так что бы проблема заказчика решалась в оговоренные сроки и бюджет. А не перерастала в вечнострой с кучей доделок и переделок с базовым бюджетом. Когда обе стороны уже ненавидят друг друга. Ибо работая в офисе разработчиком, всё это ведут менеджеры и тим лиды, а вам спускают конкретные задачи. Вам же придётся научиться понимать, что хочет клиент, не разбирающийся в программировании, говоря то или это. Научиться понимать и предлагать те решения, которые будут ему актуальны с учётом технологий и отказывать в том, что сделать не реально. Находить компромиссы, но опять же, объясняя почему так или иначе.


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

    А технологии, языки. Это уже второстепенно. Главное развиваться. Ибо в попсовом PHP можно делать большие проекты и быть специалистом с большой стоимостью часа или на редком python/java сидеть и быдлокодить мелочь за копейки. Главное не метаться, а развиваться и расти, беря более сложные и более длинные проекты. И брать их не с "поддержкой", а с возможностью постоянного развития. Задачи "в стол", не интересны. А вот задачи на перспективу, на развитие. Это уже интересно. Ибо "в стол" это как правило теория(придумали, сделали, забыли). А развивающиеся, это практика на реальных условиях, когда в процессе приходится много менять (менять бизнес модель, менять архитектуру из-за возросших нагрузок, менять технологии).
    Ответ написан
    5 комментариев
  • Как эффективно изучать JS?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Конспекты пишите в тетрадку.
    Ответ написан
    1 комментарий
  • Как эффективно изучать JS?

    @Scribblex
    Я рекомендую изучать JS примерно таким путем:
    – чтение learn.javascript.ru (чтение и, естественно, практика);
    – параллельное прохождение модулей по JS на codeschool;
    – держите перед глазами актуальные вопросы для собеседования JS-разработчика (habrahabr.ru/post/239065/), стараясь на них ответить;
    – читайте хороших авторов: Дуглас Крокфорд, Джон Рейзиг, Стоян Стефанов;
    – найдите на GitHub людей, которые согласятся ревьюить Ваш код, я серьезно!

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

    Желаю успеха!
    Ответ написан
    10 комментариев
  • Как быстро начать изучать python?

    @arciomau
    Вообще первое, что я посоветую - забыть на время про программирование и учить английский. Для понимания большинства книг тебе будет достаточно уровня Intermediate (B1, словарный запас 2-3 тысячи слов + общее понимание грамматики). Ибо все равно без английского ты достаточно быстро замучаешься. Точнее скажу, ты замучаешься при первой попытке погуглить любое нетривиальное решение возникшей проблемы (ибо многие подходящие решения будут объяснены по-английски на StackOverflow и подобных сайтах). Ну и при возникновении ошибок в ходе выполнения программы интерпретатор тоже будет "ругаться" по-английски. Если ты никогда не учил английский, пару лет на это уйдет, если заниматься не слишком интенсивно. Если взяться интенсивно, можно и за год, в принципе, достичь этого. Это не совсем просто. Но оно того стоит, 100%.

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

    Просто без знания английского ты всегда будешь позади на пару лет: книги пишутся и переводятся на русский небыстро. Ну и как я уже сказал выше, уже средние знания английского сильно облегчат твою дальнейшую жизнь в смысле поиска решений в Сети. Это не зависит от выбранных технологий - такая же ситуация будет и с Java, Ruby, Go и любыми другими ЯП.

    Разумеется, можно параллельно учить английский и читать книги по питону. На этот случай тебе уже присоветовали книги. Я бы рекомендовал начать с Доусона. Книга Лутца, конечно, более универсальная, но уж очень она подробная для начала: можно и запутаться в таком объеме информации (хотя ничего действительно сложного там нет). Еще для быстрого старта подойдет эта книга. Но английский все равно в первую очередь учить, без него беда.

    Ну и в качестве лирического отступления. Я бы лично задумался на твоем месте: а нужно ли мне вообще программирование (безотносительно к питону)? Ибо если тебе быстро становится скучно уже во время изучения основ и хочется убыстрить процесс обучения... Ну вряд ли дальнейшее обучение будет в радость. Программирование вообще-то не самый веселый и разнообразный процесс. Особенно нудно проходит отладка, вылавливание ошибок в программах. Я сам, хоть и не программист по образованию, неоднократно тратил долгие часы и дни в поиске трудноуловимых ошибок в уже написанной программе. Нередко бывало, что процесс тестирования программы занимал в разы больше времени, чем, собственно, написание кода. И это вполне типичная ситуация, независимо от ЯП. А уж когда ты выучишь, наконец, более-менее синтаксис любого языка и начнешь углубляться в алгоритмы - тут уже веселья вообще будет минимум. А вот внимательности, педантичности и настойчивости потребуется немало.

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

    @Suicide676
    didusdev.com
    Работаю в Веб студии, требования для устройства:

    1. HTML, CSS
    2. PHP, JS (плюсом будет JQuery)
    3. MySQL

    Мы работаем с CMS/CMF.
    В первое время работы изучается CMF MODX Revo. (Плюсом будет знание Wordpress).

    Другие работают с фреймворками, зависит от компании.

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

    А какие навыки прокачать - от вас зависит.
    Определитесь что больше нравится: фронтенд или бекенд, то и качайте.
    Ответ написан
    Комментировать
  • Crystal, Elixir, Golang. Куда ехать рельсовику?

    Olej
    @Olej
    инженер, программист, преподаватель
    1 комментарий
  • Crystal, Elixir, Golang. Куда ехать рельсовику?

    @malroc
    Я честно говоря его пока не вижу, этого "будущего мэйнстрима".
    Ясно что Ruby on Rails потихоньку устаревает.
    Почти весь мэйнстримный вспомогательный инструментарий сейчас разрабатывается под Node.js: gulp, bower, babel, postcss (ещё не мэйнстрим но видимо будет). Опять же почти весь вспомогательный инструментарий RoR, который когда-то был либо мэйнстримом (SCSS, Compass), либо задавал тон в индустрии (Sporckets, Coffeescript) сейчас начинают выглядеть анахронизмом на фоне тех же gulp, postcss и babel + ES6. То есть по части инструментария однозначно рулит Node.js. Но это инструментарий.
    В ту же копилку вэбсокеты, по части которых нода - эаталон, а RoR всё никак их толком не внедрит (вроде в 5 версии хотят). Есть Faye, штука неплохая, но слишком заметно что чужеродная для RoR.
    Ещё один плюс ноды - возможность изоморфного рендернига контента для SPA. Но тут уже вопрос в языке, понятно что ни на чём другом кроме JS это не реализуешь.
    В общем RoR конечно большинство основных новых веяний в индустрии благополучно прозевал и постепенно превращается в резервацию со своей атмосферой. Нода на передовой НО только по всякой вспомогательной части, сопоставимого по масштабу фреймворка на ней как не было, так и нет.
    Всё остальное (Go и т.д.) ещё настолько сыро, что даже обсуждать по-моему нечего.
    Ответ написан
  • Сайт на Ruby on Ralis?

    GreenBee
    @GreenBee
    ASP.NET программист
    На Вашем месте я бы не переводил сайты на RoR.
    Может быть есть смысл новые проекты на нем делать, но старые переводить только потому что "вдохновился" точно не стоит.
    И да, очевидных преимуществ у RoR перед Drupal нету (кроме кучи маркетинга), зато есть очевидные недостатки:
    1. Меньше сообщество
    2. Меньше примеров кода
    3. Меньше специалистов
    4. Язык. С Drupal вы используете PHP, знания и умения в котором можно использовать в куче других проектов (CMS и фреймворков). Ruby медленее чем PHP. Практически нет виртуального хостинга с его поддержкой
    Ответ написан
    7 комментариев
  • Как в Django расширить модель пользователей?

    shultais
    @shultais
    Обучаю программированию на Python и SQL
    Всё про расширение модели пользователя - https://docs.djangoproject.com/en/1.8/topics/auth/...
    Тут как сделать такой же виджет как в админке для m2m поля www.dangtrinh.com/2014/01/django-use-django-admin-...
    Ответ написан
    3 комментария
  • Какие хорошие книги по node,js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Хороших книг по node.js нет и быть не может.
    Более того, нет ответов на большинство вопросов из серии "как на ноде сделать правильно .... ?"
    Ответ написан
    Комментировать
  • Какие преимущества у одностраничных веб-приложений (SPA)?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    хорошим ли выбором будет react?

    Если вам действительно важно SEO (вы упоминаете об этом), то react как раз таки снимает эту проблему, т.к. умеет рендериться на сервере.

    SPA проще со стороны бэкенда (хотя что может быть проще бэкенда). Есть строго определенный контракт на API, достаточно его выполнить (причем, чаще всего, для платформы есть готовое решение по организации REST) и можно идти пить чай.
    SPA проще со стороны фронтенда, можно начинать работу (и даже всю ее сделать) еще до того, как бэкендер перестанет пить чай (при наличии, опять же, контракта на API).
    SPA лучше по архитектуре (как правило). Никакого тебе PHP+SQL+HTML+JS+CSS в одном файле, даже при всем желании.

    Что же до выбора между SPA и более традиционным сайтом -- надо смотреть, приложение у вас или что. Прелесть gmail, например, в том, что это именно приложение. Оно какое-то время загружается, потом быстро работает и имеет богатый функционал. А прелесть хабра в контенте, никакой динамики там и не надо.
    Ответ написан
    2 комментария
  • Почему так сильно подорожали аккаунты pro на российских биржах фриланса? С чем это связано?

    martin74ua
    @martin74ua
    Linux administrator
    - Продам курицу.
    - Почем курица?
    - 10000
    - Она что, особенная?
    - Нет, самая обыкновенная...
    - А чего так дорого?
    - А кушать сильно хочется

    так и тут....
    Ответ написан
    8 комментариев
  • Какой php фреймворк достаточной гибкий?

    @kapai69
    Судя по вопросу... Оставьте все как есть, будет лучше
    Ответ написан
    Комментировать
  • Действительно ли Ruby сложнее PHP/Python? Если да, то почему?

    mainameiz
    @mainameiz
    Full-stack web-developer
    Первый:
    Я бы сказал, что ruby не сложнее javascript. А вообще, один из самых простых языков. Но с python/php не могу сравнивать, их не знаю. В основном, языки как таковые (т.е. синтаксис и языковые конструкции) не такие сложные. Сложность, имхо, в технологиях, которые написаны на этих языках. Технологии, которые требуются от Java/C# разработчиков, мне кажется, намного круче (enterprise всё таки) чем есть в ruby.
    Я сам в первую очередь учил RoR а уже потом сам ruby.

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

    Мой Вам совет, читайте и изучайте всё подряд. Изучайте git, работу в командной строке и с Linux в целом, SQL, как работают базы данных, dns, http, tcp/ip. Сохраняйте в закладки и откладывайте на потом, когда-нибудь вам все эти знания пригодятся.
    Ответ написан
    1 комментарий
  • Стоит ли начинать новый проект на новом стеке технологий?

    @LeonidShifrin
    Разработчик, Wolfram Research Inc. PhD, Physics
    Disclaimer: у меня нет опыта командной работы именно в Python / Django. Но есть опыт одиночной работы в этом стеке, и опыт командной работы в других технологиях (J2EE).

    При следующих условиях:
    • Есть опыт в веб - разработке
    • Команда маленькая (2-3 человека) и уже слаженная
    • Приличный английский (чтобы не было сложностей с чтением документации)
    • Знание Python (хотя бы на промежуточном уровне)
    • Понимание принципов ООП и базовых структур данных
    • Имеется достаточное время на разработку, включая время требуемое на обучение технологии и приобретение начального опыта
    • И главное, большое желание осваивать новое, и понимание, что это может потребовать работы сверхурочно, по крайней мере вначале


    я бы попробовал. Для сколько-нибудь сложного проекта, Django в долговременной перспективе даст большие преимущества. Вашей компании в итоге проект весьма вероятно обойдется дешевле по ряду причин:

    • Легче найти компетентных разработчиков - пусть их меньше в Python, но средний уровень у них будет выше, чем в Php. Весьма вероятно также, что потребуется меньше разработчиков в команду.
    • Код гораздо лучше масштабируется, за счет средств как Python, так и Django
    • При правильной работе и развитии проекта, меньше шансов что он превратится в неподдерживаемую кашу. С кодом легче будет работать, отлаживать, добавлять новый функционал
    • Весьма вероятно, что багов и прочих косяков будет существенно меньше


    Вы тоже получите немало - сможете в рабочие часы вырасти как разработчик, и освоить современный язык / фреймворк / стек.

    Бояться разных проблем и граблей я бы не стал. Сейчас на Stack Overflow можно найти ответ практически на любой вопрос или возникшую проблему. Опыт быстро наберете в процессе, если работать на совесть. Есть прекрасные книги, где обсуждаются лучшие практики, тонкие места, и др. По личному опыту могу сказать - когда "наберете скорость", даже в одиночку можно работать в Python / Django очень быстро. У меня, правда, был уже большой опыт в других языках (в том числе функциональных), это сильно помогало с архитектурой. Я не сомневаюсь, что в Python при желании можно писать такой же код, как и в Php. Поэтому одним из самых больших препятствий может стать необходимость менять стиль мышления и отказываться от шаблонов, привычных по Php.

    Именно поэтому, в частности, требуется достаточное время, по крайней мере для начальной фазы проекта. Если у начальства есть понимание, что переход на новую технологию сопряжен с дополнительными затратами времени, и вначале могут быть сбои и ошибки, то я бы особо не раздумывал. Если же проект должен быть сделан в кратчайшие сроки и сразу начисто (т.е. у него не будет фазы "бета" или прототипа), то тогда да, нужно подумать. В общем, все сводится к тому, будет ли проект достаточно сложным по функционалу, настроено ли начальство на стратегию или на тактику, и настроены ли Вы и Ваша команда на весьма серьезные усилия, или нет.
    Ответ написан
    8 комментариев
  • Перспективы у языка GO?

    Я считаю, что перспективы у языка есть. Основная ниша Go - веб-приложения. Вместо набора скриптов получается один файл веб-сервер. С этой точки зрения, проводить сравнения, например, с PHP, смысла никакого нет. Тут скорее конкурент node.js.
    Попробуйте для себя решить какую-нибудь задачу на Go и всё поймете. Если не понравится, значит не ваше, а вначале наверняка в языке что-то будет "бесить".
    Ответ написан
    4 комментария
  • Действительно ли Ruby сложнее PHP/Python? Если да, то почему?

    @eoffsock
    Кодер (Rails)
    Я пришел в разработку на Rails четыре года назад, не зная решительно ничего. Учился на ходу. Попутно осваивал SQL в режиме «вот процедура на PL/SQL длиной в шесть экранов, нужно чтобы работало вчера»
    С тех пор вакансий меньше не стало.

    Другое дело, что знать Rails мало. Нужен фронт, хотя бы немного. Slim/HAML.
    В среде RoR фетиш на тесты, значит как минимум RSpec, Capybara. Как минимум один гем для работы с фоном — delayed_job, Sidekiq.
    К этому прибавить умение разворачивать все это дело и стартовать в production — Capistrano/Mina, unicorn.
    Ценится видеть хоть раз в жизни Devise и Cancan.
    Остальное обычно зависит от проекта.

    Дальше — правила хорошего тона.
    https://github.com/bbatsov/rubocop
    https://github.com/railsbp/rails_best_practices
    https://github.com/bbatsov/rails-style-guide

    А потом вы уже внезапно крепкий мидл или начинающий сеньор и советы обычно уже не нужны.

    UPD: Да, в целом стоит начинать с Ruby/Rails. Но мое мнение предвзято — я не люблю PHP, хотя с уважением отношусь к NodeJS.
    Ответ написан
    Комментировать
  • Действительно ли Ruby сложнее PHP/Python? Если да, то почему?

    @thepry
    Ruby on rails, 1С разработчик
    Чем рубин сложнее, например PHP, JS?


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

    Куда потом двигаться дальше?

    Подтянуть весь стек веб разработки - git, sql, js с фронтенд фрейморками(backbone, react...).

    Вакансий в этой сфере относительно мало, работодатели ищут сразу сеньоров.

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

    Я для себя как-то сформулировал правило - человек должен отправить 100 откликов на вакансии прежде чем жаловаться на то, что «работы нет».
    Ответ написан
    Комментировать
  • Какую хорошую книгу по Си для новичка почитать?

    @LeonidShifrin
    Разработчик, Wolfram Research Inc. PhD, Physics
    Когда я в свое время учил С, то перебрал массу книг. На мой взгляд, две самые лучшие книги по С для начинающего, это:

    C Programming - a modern approach (K.N.King)
    Pointers on C (Kenneth Reek)

    Вторая потруднее, но после первой читается легко. Если книга Кинга покажется тяжелой, есть также неплохая полегче:

    Teach Yourself C in 21 Days (Bradley Jones, Peter Aitken)

    В ней есть несколько ошибок, но в целом очень неплохая книжка, ее можно параллельно с Кингом читать, и она читается совсем легко. Для нее, к тому же, есть перевод.

    Хочу отметить, что книги Кинга и Рика, с моей точки зрения, гораздо быстрее помогут Вам стать профессионалом, чем большинство других, так как они написаны в том же ключе, в котором идет реальная разработка на С, и правильно расставляют акценты. Плюс, там прекрасные упражнения. Разумеется, никакая книга без реальных задач и проектов не поднимет Вас выше определенного уровня.

    Дейтелов брать бы не стал - они портят почти любой язык, о котором пишут (хотя формально у них все правильно). Про то, как они изуродовали обучение по Python, есть очень емкий отзыв Питера Норвига, программиста высочайшего класса и директора Google по R & D. Но это из общих соображений, с их творением по С лично не знаком, так что могу быть не прав.

    Да, и бегите от книг Шилдта по С как от чумы (если интересно, почитайте вот это или то, что пишут о его книгах профессионалы на comp.lang.c или accu reviews).
    Ответ написан
    Комментировать