• Стоит ли учить flask для back-end разработки?

    @deliro
    Изучал фласку первые пару недель. Она простая, "некомбайн". Разобраться что да как работает - пойдёт (потому что вьюхи и шаблоны у них с джангой похожи).

    Дальше лучше переезжать на джангу. Фласк лучше джанги примерно в 1% всех случаев - это те, когда тебя джанга не устраивает целиком и полностью: ORM не хватает или не подходит, стоковые сессии и юзеры тебя раздражают, контекстные процессоры и мидлвари тратят слишком много ЦП, что лучше бы их на Си переписать. Короче, тогда, когда своё написать быстрее и проще, чем строить костыли поверх джанговских компонентов с сильной связью.

    Плюсом идёт просто огромная куча модулей для джанги (по сравнению с флаской) и бОльший спрос на джангу на рынке труда.
    Ответ написан
    Комментировать
  • Как создать программный RAID-1 массив на Ubuntu из размечённого/используемого и неразмеченного жёсткого диска?

    Melkij
    @Melkij
    PostgreSQL DBA
    Подводный камень очевиден - указанной командой вы потеряли все данные. Ну или получите отлуп, если повезёт.
    Не стесняйтесь поискать, вопрос миграции имеющейся системы на рейд - штука распространённая. Хотя несколько геморройная - сильно зависит от требований к даунтайму.

    Суть для вашего случая: разметить sdb, инициализировать как degraded массив:
    mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
    mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb5
    Перенести всё полезное с sda на sdb, поправить загрузчик, перезагрузиться с рейда, добавить разделы sda в соответствующие массивы.
    Инициализировать массив напрямую на устройство, а не разделы, возможно, но с этого устройства нельзя будет загружаться.

    Разные фокусы с переносом всего полезного. Системный раздел может быть проще через dd скопировать (но раздел на sdb должен быть чуть больше, там ещё mdadm суперблок в 2048 секторов)
    /home - начальную копию в 2-3 прохода rsync'ом, затем перемонтировать в ro и ещё один rsync.
    Ответ написан
    Комментировать
  • Как создать программный RAID-1 массив на Ubuntu из размечённого/используемого и неразмеченного жёсткого диска?

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    Сначала соберите деградированный массив из одного не размеченного диска.
    Перенесите на него данные с размеченного диска.
    Добавьте в массив второй диск.

    Как-то так help.ubuntu.ru/wiki/migrate-to-raid

    И да, конечно сначала сделайте ебэкап.
    Ответ написан
    Комментировать
  • Как сделать свою систему документооборота?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Вопрос слишком общий, класса "Как заработать миллион". Есть множество способов, но нет конкретного рецепта. Да, на Django это сделать можно. Разнообразных библиотек понадобиться множество, но это будут не библиотеки типа django-documentooborot, а узкоспециализированные библиотеки для облегчения разработки отдельных элементов системы, типа формирования печатных форм, версионирования документов, выполнения фоновых заданий и т.п. Одно точно - прежде, чем разрабатывать свою систему документооборота, стоит плотно поработать с парой-тройкой существующих.
    Ответ написан
    Комментировать
  • Как взять большое количество данных за промежуток времени?

    @Stqs
    senior software developer
    В общем Flask тут не причем
    Нужно разобраться с архитектурой такого рода задач
    То что вы уже сделали - это только лишь слой представления(View) данных
    Это все круто, но эта часть не должна заниматься сбором данных. Она должна читать их из какого-то хранилища в уже готовом виде.

    Сбором данных должна заниматься другая система
    Если вам хочется питон и не сильно хочется выдумывать велосипеды - я бы рекомендовал взять scrapy и нафигачить там нужных скреперов. В нем же можно организовать pipeline - в котором определить что делать с полученными данными.
    Тут есть много путей но я бы рекомендовал вам наиболее простой - писать данные из scrapy в базу данных например mysql, а оттуда уже читать данные в вашем flask-приложении.
    В зависимости от объемов может оказаться, что предложенное решение не эффективно.
    Так как по сути вы интересуетесь сбором метрик то в боевых условиях я бы рекомендовал использовать специализированные инструменты для сбора и отображения метрик (например связку graphite-grafana)
    Вряд ли Ваша связка mysql-самописнаявебморда переплюнет их по производительности качеству и стабильности.
    Так что все действительно зависит от объемов и категории задачи ( я имею в виду "это завтра пойдет в продакшн" или "вот для себя пишу разбираюсь")
    Ответ написан
    5 комментариев
  • Стоит ли делать класс или оставить словарь?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    На скорость точно не повлияет, так как config.key_option - это, грубо говоря, синтаксический сахар для config.__dict__['key_option']. Если не собираетесь добавить к конфигурированию какой-либо программной логики, то смысл переезда на класс может быть только эстетическим.
    Ответ написан
    Комментировать
  • Какой первый ЯП для работы в веб подойдет шарписту?

    @Sovetnikov
    технический директор pulsprodaj.ru
    Как разработчик .NET C# переключившийся на Python+Django могу однозначно рекомендовать :)
    Ответ написан
    2 комментария
  • Прототип системы, на чем лучше писать ? (Python или Ruby)

    gleberof
    @gleberof
    это я
    RoR(Ruby) и Django(Python) практически одинаково хороши для прототипирования. Делайте на том, что знаете лучше. Остальное — холивар.
    Ответ написан
    Комментировать
  • Как корректно сделать две одинаковые формы на странице Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Поможет параметр prefix, но форму инстанцировать придётся дважды:
    callback_form_header = CallbackForm(prefix="header")
    callback_form_footer = CallbackForm(prefix="footer")
    Ответ написан
    Комментировать
  • Возможно ли сегодня создать стартап и изменить мир?

    titulusdesiderio
    @titulusdesiderio
    IT-специалист
    Facebook был создан когда уже существовали форумы и даже соцсети, например MySpace.
    Google был создан когда уже существовали поисковики, например Yahoo.
    Нужны ещё примеры?
    Ответ написан
    1 комментарий
  • Возможно ли сегодня создать стартап и изменить мир?

    zx300
    @zx300
    Можно!!! Нереализованных идей — валом!!! Руки не успевают бить по клавиатуре… К примеру почитайте идеи отцов жанра. Кто стоял у первоистоков (хотябы возьмём наших программистов 80х годов) курили правильную траву(тогда это было в почёте) и генерировали кучу идей полезных и мощных, но компы тогда им не позволяли. Иногда читаю программерские академ журналы тех времён и сильно удивляюсь широте мысли… Проблема в том, что одному — долго, а надёжную, банду трудно собрать. К томуже как правило все хорошие идеи как правило на стыке либо с электроникой, либо с биологией, либо с бизайном, либо ещё с чем нибудь надо быть либо мульти спецом, либо опятьже собирать банду, Банду к томуже сложно прокормить на этапе раскрутки, приходиться держать всех на рисе (в плане питнания) и на обещаниях, в плане морального духа.

    Но не будем голословными, приведём примеры. Сделайте нормальный распознователь речи и вы перевернёте мир. Сделайте неёроинтерфейс нормальный и опять же перевернёте. Умный дом как таковой, и то никто не сделал (только видимость). Автоматизируйте всё подряд — народу нравится…

    Начните с малого, например спроектируйте новую архитектуру домашнего пк, и если она будет крута, то перевернёте.

    При этом всегда смотрите в будущее, жк — прошлый век, будут лишь проекторы, игры проектируйте сразу под системы вирт реальности…

    И всё будет здорово!!!
    Ответ написан
    Комментировать
  • Что привлекает программиста в стартапе?

    Denormalization
    @Denormalization
    Основная проблема всех "Эффективных менеджеров" в стартапах: они считают что програмисты - "Это как уборщица, только зарплата повыше и кушать просит".

    Большинство "эффективных менеджеров", которых я видел, хотят не партнера\работника, а раба. Всем нужен раб который будет работать за еду 24/7.

    Большинство "эффективных менеджеров", которых я видел, не хотят ничего делать. От них "идея", а остальные должны ее реализовывать и продвигать.

    Вам нужно искать партнера(за долю в проекте) или работника(фиксированная ЗП).
    Если вы ищете партнера, то будьте готовы на разделение обязанностей, а не просто скинуть всю работу на него.
    Ответ написан
    5 комментариев
  • Какую IDE посоветуете разработки на Python,Flask,Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Рекомендую 15-летнему школьнику не использовать IDE.
    Ответ написан
    6 комментариев
  • Область применения асинхронного программирования?

    @lega
    Асинхронный код позволяет выполнять код параллельно в одном потоке, итого профит в том что экономится память т.к. каждый поток требует память под себя. По сути все.
    Итого это позволяет запускать 1Млн параллельных задач и более, экономя память.

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

    Асинхронный подход имеет смысл (только) когда в задаче есть долгие блокировки (веб-сокеты, сетевые закачки с зависаниями) - когда поток весит и ждет события, тогда вместо 10к потоков, можно все задачу уложить в один асинхронный поток.

    Все бы нечего, но проблема в том что сложность асинхронного кода гораздо выше в разных аспектах, итого времени может тратится в разы больше (год на проект вместо 4 мес например).

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

    Более разумным видится использование файберов/корутин, но эту тему не сильно развивают.
    Ответ написан
    4 комментария
  • Какой учебник по русскому языку порекомендуете?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Розенталь, например.
    712086_eto-ditmar-elyashevich-rozental.j
    Ответ написан
    Комментировать
  • Лицензия BSD, как?

    4dmonster
    @4dmonster
    BSD лицензия требует сохранения авторства, вы должны себя дописать. Старых авторов стирать нельзя.
    Ответ написан
    2 комментария
  • Лицензия BSD, как?

    ENargit
    @ENargit
    А Вы не пробовали связаться с прошлыми ментейнерами? Может, и форкать не придется — если они согласятся передать библиотеку в Ваши руки.

    По вопросу — думаю, что правильнее будет добавить себя с указанием дат копирайтов(дескать до 2011 — такие-то люди, после — другие). Видел такое в некоторых файлах LICENSE.
    Ответ написан
    1 комментарий
  • Зачем не включать end(range(begin,end))?

    @lega
    По умолчанию нумерация начинается с 0, и когда вы пишите range(10) он выдает 10 элементов, а не 11, и это удобно. Остальные кейсы подстроены под это.
    Ответ написан
    Комментировать