• Какие сейчас востребованные направления IT в Санкт-Петербурге?

    @Nodar
    Python, Ruby, JavaScript
    Опишу свой опыт. Я сам junior с полугодовым опытом разработки на Python. Причем, я еще и без образования в IT. Пару месяцев регулярно сидел на hh.ru в поисках. Опыт московский, но в Спб тоже самое.

    Самый простой способ (как это уже отметили - это Php). Я думаю вам не составит труда его изучить, тем более за год. Помимо самого языка изучить какой-либо фреймворк. Из моих наблюдений, самые популярные это Yii/Symfony. Yii несложный в освоении и многие его используют.

    Теперь о Python. Вакансий, со знание только Python намного меньше, но как правило они интереснее. Если вам интересен веб - поднимите свой скилл в Django. Практически любая python вакансия требует знаний django.

    Но если хотите не только лопатить сайты - то вот вам список того, что лучше бы освоить, если еще не знаете:
    - linux (не требуется быть гуру, хотябы знать что такое cd/ls/nano/ssh - и тп)
    - алгоритмы и структуры данных (опять же, врядли вас будут их жестко спаршивать, но что такое стек, очередь, дерево - лучше бы знать)
    - желательно уметь пользоваться git/mercurial
    - представлять что такое mysql/postgre и как там делать crud операции.
    За год это можно освоить как минимум трижды.
    -------------
    Итог всего:
    Забудьте про Ruby - молодым рубистам практически не рады
    Выбирайте либо Php (Yii/Symfony) - это в 90% случаев банальное создание сайтов, но вакансий много
    или Python(Django) + linux/алгоритмы - вакансий мало, интересных еще меньше, но найти место реально.

    И последнее, не нужно бояться. Я искал работу где-то 3 месяца, потому что хотел писать только на питоне, я не перевариваю Django и учить его не собирался, поэтому выбор был реально маленький.
    Пишите даже тем, кто не ищет джуниоров. Лично меня только 1 раз из примерно 8 собеседований поспросили сделать задания, в остальных случаях со мной просто беседовали. Я рассказывал о том, что я делаю, чтобы поднять свой скилл, какие книги читал, планирую прочесть, что планирую вообще учить. Потому что выбирая джуниора, большинство просто хочет быть уверенно, что вы рельано готовы много работать дома, чтобы поднимать свой уровень.
    Как-то так.
    Ответ написан
    Комментировать
  • Как записать в бд дату?

    webus
    @webus
    Golang | Python | NodeJS | Java
    Вы пытаетесь записать строку "2013-01-01", а не дату.
    Для начала, почитайте про тип datetime в python
    Ответ написан
    Комментировать
  • Где обрабатывать исключения в админке Django?

    @alz
    Создать форму для модели, которая будет проверять уникальность комбинации полей и кидать ValidationError, если не уникально
    Ответ написан
    Комментировать
  • Изза чего проблема с русскими буквами в puthon 3.3?

    sevka_fedoroff
    @sevka_fedoroff
    Мне кажется если у вас в начале файла есть вот это:
    # -*- coding: utf-8 -*-
    и сам файл в кодировке UTF-8, то должен работать просто
    print ("<p>Привет МИР!</p>")

    Разве что в код HTML еще добавить такое:
    <head><meta charset='UTF-8'>

    P.S. И попробуйте убрать BOM
    Ответ написан
    1 комментарий
  • Где еще кроме веба используется Python?

    Zubchick
    @Zubchick
    У питона множество хороших библиотек для обработки данных, машинного обучения, линейной алгебры и прочего science. Вакансий на такие дела на хабре наверно не найти, но вообще это довольно популярная тема для питона.
    Ответ написан
    1 комментарий
  • Python: почему в процессе суммирования десятичных в середине интервала появляется ошибка?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вообще-то описанную проблему можно проиллюстрировать проще:
    >>> 0.5+2.7, 0.4+2.8
    (3.2, 3.1999999999999997)

    Это нормальная ситуация для чисел с плавающей точкой. Она связана с тем, что для любой системы счисления (двоичной, десятичной, троичной) есть числа, которые нельзя записать в виде конечной последовательности n-ричных разрядов. Например, в десятичной системе число 1/3 будет выглядеть как бесконечная последовательность троек после запятой. Если мы остановимся, то получим не 1/3 а что-то поменьше. Зато в троичной системе это число замечательно представляется как 0.1. Одна девятая в троичной системе равна 0.01.
    Та же проблема, например, у десятичного числа 0.2 при переводе в двоичную систему:
    2/10==1/5==1/8+1/16+1/128+1/256+1/2048+1/4096+(...)==0,00110011(0011)[в двоичной системе]
    Как видим это периодическое число и двоичные разряды "0011" повторяются в нём после запятой бесконечно.
    Компьютерное представление чисел с плавающей точкой подразумевает их хранение в конечном количестве двоичных разрядов. Это значит, что многие вполне нормально записываемые в десятичной форме дробные числа просто не могут абсолютно точно храниться в компьютере (если речь идёт о floatpoint).

    Имеенно поэтому программистов учат на первом курсе института никогда не сравнивать числа с плавающей точкой на строгие равенство и неравенство. С учетом погрешности из-за округления двоичных разрядов это просто бессмысленно и некорректно.
    Зато, вместо сравнения на равенство, можно сравнивать abs(a-b)<eps, где a и b -- числа в формате с плавающей точкой, а eps -- это некоторая пренебрежительно малая величина. Вообще-то, думаю, можно вычислить даже минимальное значение этой величины, чтобы она покрыла все неприятности с округлением двоичных разрядов.
    Ответ написан
    Комментировать
  • Flask для больших проектов

    igrishaev
    @igrishaev
    Фласк — очень хороший фреймворк, удобный и понятный. Его главное достоинство и минус одновременно — Фласк накладывает гораздо меньше ограничений на разработчика по сравнению с Джанго, например. Поэтому продумывать структуру пакетов и файлов вам придется самостоятельно. Но это не так страшно, понимание приходит уже с первым проектом.

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

    Правда, для Фласка меньше документации и готовых решений, но основные из них — SqlAlchemy для БД и WTForms для html-форм — работают очень хорошо, на порядок лучше Джанговских аналогов.
    Ответ написан
    Комментировать
  • Flask для больших проектов

    @realduke
    Ну и добавлю еще, что мнение, что Flask не подходит для больших проектов — заблуждение. Конечно, фразу «большой проект» можно по-разному трактовать, проект может быть с сильно большой кодобазой, а может быть довольно высоконагруженным, может еще какой-то смысл можно вложить, не знаю. В Flask есть лишь одно ограничение, которое нужно учитывать при разработке — это context local objects. Вот именно оно вносит некоторую сложность при наличии большой кодобазы, т.к. несколько объектов, определенных в github.com/mitsuhiko/flask/blob/master/flask/globals.py, являются глобальными, и для их использования их нужно явно импортировать, в результате можно легко выстрелить себе в ногу. Для высоконагруженных проектаов с умеренным объемом кода проекта я не вижу проблем. Связка nginx + gunicorn + приложение может выдерживать нормальные нагрузки даже на одной машине. Если проект сильно большой, то никто не мешает задеплоить несколько фронтэндов и использовать балансировщик.

    Flask — это лишь небольшая обертка над Werkzeug в виде класса, который выступает в роли callable объекта для WSGI, клей для Jinja, API для расширений, ну и несколько вкусняков в виде блюпринтов и сигналов. Кода не много и он легко читается.
    Ответ написан
    1 комментарий
  • Flask для больших проектов

    @realduke
    Непонятно, что конкретно интересует!

    Flask ничем не отличается от других Python фреймворков. Если использовать связку Flask + SQLAlchemy + WTForms, то это считай тот же Django, только без contrib и админки. Изначально нужно быть готовым к самостоятельному созданию организации структуры проекта, т.е. где конфиги положить, где модели, где тесты и т.д. Есть несколько проектов-заготовок, которые это упрощают.

    Несколько ссылок по теме:

    github.com/mitsuhiko/flask/wiki/Large-app-how-to
    github.com/swaroopch/flask-boilerplate
    github.com/semirook/flask-kit
    github.com/imlucas/flask-tool
    github.com/klen/Flask-Foundation

    У Flask сейчас довольно много расширений, проверенные лежать тут flask.pocoo.org/extensions/. Много других можно найти тут crate.io/?has_releases=on&q=flask. Рекомендуется конечно учитывать что некоторые могут быть криво написаны или морально устарели.

    По устройству проектов еще можно поискать готовые приложения. Они есть тут flask.pocoo.org/community/poweredby/, те, которые с исходниками. Еще на гитхабе много чего, можно поискать по импортам, где используется Flask, в простейшем случае так как-то github.com/search?l=Python&q=from+flask&ref=searchresults&type=Repositories.
    Ответ написан
    2 комментария