• Можно ли программно узнать какие звуки записал микрофон?

    Как baseline я бы попробовал такое решение:
    - записываем звук как кучу коротких чанков (там, 0.5 сек. например)
    - строим спектрограммы на этих чанках (будет матрица вида N * k, где k - число частот, N - длина записи)
    - усредняем спекторграммы по оси "длины записи" (получим вектора размера k)
    - обучаем на этих чанках и происвоенных им лейблах классификатор (возможно - k-nearest neighbours? Во всяком случае задача в таком виде кажется похожей на решаемую им)

    Потом бы (при наличии большой выборки) извращался над более сложными решениями - например, как в моём комментарии к ответу kisaa - и сравнивал бы качество классификации (на кроссвалидации, конечно :-) ).
    Ответ написан
    Комментировать
  • REST API. Какой Python-фреймворк выбрать для бэкэнда? Каким пользуетесь вы?

    @Fixid
    Для REST понравился Flask
    Ответ написан
    Комментировать
  • Junior c опытом работы 2.5 года - нормально ли это?

    AgentProvocateur
    @AgentProvocateur
    Откуда вы вообще берете эти лычки? Ты не в армии и не на госслужбе, где от звания зависит всё. Ты на рынке, где важно только одно - профессиональное выполнение задач, несущих прибыль работодателю. Ты либо способен выполнять задачи и, собственно, выполняешь их, получая деньги за конкретные результаты, либо ты не участник рынка.

    Нет никаких критериев типа количества лет "опыта" сидения на стуле в офисе. Работодателю интересны только твои конкретные навыки, подкрепленные портфолио, и методы решения задач его бизнеса. Можно 5 лет сидеть на стуле в какой-нибудь конторе в должности "web-разработчика" и администрировать 1 корпоративный сайт на битриксе, гордо именуя себя php-мидлом, а можно вообще не иметь трудовой книжки и ни дня работы по найму и за эти же 5 лет поднять несколько публичных сервисов.

    Боюсь представить, чем ты занимался 2.5 года, что можешь так легко вычеркнуть 60% своего опыта, лишь бы вписаться в выдуманные кем-то рамки, чтобы взяли работать за минимально возможный паёк. Возможно, ты что-то делал не так, и даже год опыта приписывать себе - наглость.

    И еще, по поводу армии:

    1. За самостоятельное навешивание там на себя лычек/звездочек можно и по лицу отхватить;
    2. В каждой части можно встретить капитана, которого ценит и уважает весь личный и офицерский состав, и подполковника, которому никто не подчиняется и считают за клоуна;
    3. Можно и в 30 лет подполковником стать. А можно и старшим лейтенантом оставаться и вечным командиром взвода.

    P.S. "Масштаб личности (а также масштаб её дохода:) определяется масштабом деяний." (с)
    Ответ написан
    1 комментарий
  • Есть апп, задающий ребёнку развивающие задачки, а в случае успешного решения задачки ставящий мультик с ютуба?

    Adamos
    @Adamos
    Ваш "компромисс" не решает проблему, а обостряет ее. Решая задачки ради мультиков, ребенок их возненавидит (задачи, а не мультики). Вы ее просто превращаете в крысу, которой нужно давить на рычажок, чтобы стимулировать центр удовольствия в мозгу.

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

    Моей сейчас семь, мультики любит, но без фанатизма. Мы успешно прошли все подшивки "Школы семи гномов", рекомендую. Из развивающих игрушек использовали разве что GComprix, и то очень умеренно. Зато настольных игр у нее полный шкаф. Для вашего возраста уже кое-что можно брать - "Доббль", например.

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

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

    По поводу "полиглота": до конца его не досмотрел(в моем случае ничего нового не узнавал), но подход мне понравился. Этот преподаватель выделяет самое главное и приподносит в нужной форме. Но опять же, это все относительно, да и к тому же неисчерпывающе.

    Думаю, Вам не стоит объяснять, что с нуля невозможно что-то познать за 10, 20, 30 часов.

    Перед изложением своего мнения на вопрос опишу мой путь изучения языка. Он во многом популярен: что-то дали в школе, что-то в универе, что-то сам посмотрел невзначай. Но толку от этого было мало, не было никакой систематизации. Затем я ушел к частному преподавателю(точнее он пришел к нам - посещал офис, где мы группой из 4 коллег занимались с ним перед работой). Занимались по учебникам Oxford University, Intermediate level; грамматика закреплялась уроками речи. Плюс в то время уже приходилось кое-как применять навыки переписки в самой работе, участвовать в коллах(по-началу, больше только слушать).

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

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

    p/s Самое интересное изучение языка начнется только потом - когда вы будете расширять свой словарный запас. Для этого ничего лучше, чем чтение книг, кажется не придумали. Ну и сериалы/фильмы потом смотреть: это необходимо как для произношения, так и для тренировки общих концепций построения речи(так сказать речь с расстановкой, выражением).
    Ответ написан
    Комментировать
  • Как правильно выстроить процесс разработки?

    flr
    @flr
    Какие инструменты могут понадобится для реализации такой системы?

    Вопрос скорее всего не совсем уместен. Вам могут перечислить инструменты, которые нужны для постройки дома, однако дом вам построить это не поможет. Но, чтобы не быть голословным, вам понадобятся:
    1. Git server (Bitbucket, Gitlab, etc). Если работаете один или проект очень простой, то достаточно будет gitolite.
    2. CI server (Bamboo, Jenkins, etc).
    3. Любой язык программирования для написания pre-receive/post-receive хуков и задач для CI.

    Правильно ли я представляю себе этот процесс?

    Вне зависимости от того, будете ли вы работать один или в команде, с моей точки зрения процесс выглядит усложненным и надуманным. Я бы начал с простого процесса и усложнял бы его только по мере появления каких-то проблем. Если вы начнете со сложного, то вы сразу создадите себе проблемы. И будете создавать новые, решая старые.
    Как я вижу простой процесс:
    1. Возьмите одну ветку, которая будет стабильна, например, master.
    2. Для каждой фичи создавайте отдельную ветку из стабильной. Например, ivan-news-block или ivan-search-bug-fix. Правила нейминга придумать можно любые.
    3. Тестируйте код на своей виртуалке. Обычный vagrant + virtualbox. Если у вас добавляется второй разработчик, то он просто берет Vagrantfile и у него на машине появляется виртуалка с готовым окружением для работы. Зачем вам общий dev сервер?
    4. Процессом деплоя управляет или CI сервер, или ansible/puppet, или самописные скрипты.
    5. Когда ветка готова к релизу, то запускайте процесс деплоя на тестовый стенд, где вы можете показать это заказчику или кому-то еще. Там же CI может прогонять тесты.
    6. Когда фича аппрувнута заказчиком или ПО задачи, то запускайте процесс деплоя на бой.

    Как это реализовать?

    Вопрос явно требует уточнения. Сейчас ваш вопрос звучит так: "Как нарисовать сову?".
    Но что-то могу порекомендовать:
    Начать надо с построения процесса с проделыванием всех действий вручную. Далее постепенно каждую ручную операцию переводить на автоматику. Не стоит сразу пытаться сделать какой-то идеальный механизм.
    Ответ написан
    Комментировать
  • Есть ли такая технология - получить из PSD автоматом нарезанный и сверстанный сайт?

    @ivoronov
    Веб-разработчик
    "Есть ли такая технология — получить из вспаханой грядки автоматом спелую морковь?" :D

    Это, конечно, все веселье, возможно, есть какие-то корявые (да-да, корявые-корявые) сервисы, но ничего серьезного Вы не найдете. Есть такой проверенный вариант: перестать искать халяву всюду и начать работать.
    Ответ написан
    Комментировать
  • Расчёт пройденого растояния записаного в gpx. Как реализовать на Python?

    @zedxxx
    Это называется "Обратная геодезическая задача".
    Вот тут есть подробная теория и готовые скрипты на питоне для сферы: Задачи на сфере: обратная геодезическая задача. И есть ещё хорошая либа geographiclib которая решает эти задачи на эллипсоиде.
    Ответ написан
    Комментировать
  • Имеет ли смысл backend игрового сервера на python?

    syschel
    @syschel
    freelance/python/django/backend
    Ну всем известная WOT от Wargaming использует много Python.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Один из нормальных путей - дорасти до архитектора своим ходом в крупном проекте и попытаться его переделать в лучшую сторону. Хороший архитектор растет на личном опыте, а книжки помогают избегать совсем детских болезней и расширять видение.

    Хорошим архитектором невозможно стать в мелких проектах, где отлично может работать и плохая архитектура. Чем сложнее проект, тем больше необратимых или "дорогих" факапов может произойти из-за ошибок архитектора.
    Ответ написан
    Комментировать
  • Какой самый лучший путь развития до архитектора ПО?

    newross
    @newross
    Product owner
    Читать книги, статьи, блоги и пробовать, собирать грабли, анализировать результат, опять пробовать. Технологии нужны, чтобы решать задачи новым методом. И опять придется пробовать и набивать шишки.
    Само по себе понимание архитектуры не придет.
    Архитектор, не интересующийся новым технологиями - не архитектор.

    Можно изучать все подряд языки, но какой в этом смысл? Практической пользы это архитектору не принесет, в отличие от умения собирать и анализировать требования.
    Ответ написан
    Комментировать
  • Что стоит изучать начинающему python-программисту?

    maxclax
    @maxclax
    Не ждите денег с неба! Учите английский и официальные мануалы. Изучайте чужой код, следите за опытными в Livecoding.tv и не сдавайтесь в течении пару лет!
    Ответ написан
    Комментировать
  • Помощь в изучении Python. Что дальше?

    @LeonidShifrin
    Разработчик, Wolfram Research Inc. PhD, Physics
    Учиться по книгам можно бесконечно. Судя по Вашим словам, Вы вполне подготовлены, чтобы начать работу над несложным проектом / задачей.

    Изучите какой-нибудь web framework на Python (Django, Flask, ... - лично я предпочитаю Django, но он довольно тяжелый как framework, хотя освоить его на начальном уровне нетрудно), и поднимите на нем простое web-приложение для личного использование (ну скажем, календарь, или планировщик задач, или учет личных финансов). Развивать можно бесконечно, и в процессе сможете самые разные задачи порешать. Чтобы не возиться с сервером дома, очень рекомендую сервис

    https://www.pythonanywhere.com/

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

    Ну и еще несколько советов:

    1. Ползуйтесь хорошим IDE (я использую PyCharm Pro, но в принципе и бесплатный PyCharm community edition прекрасно подойдет). Там можно настроить Python консоль, так что интерактивность не пострадает.
    2. Если возьметесь за что-либо, что можно назвать проектом, пользуйтесь системой контроля версий. Это не так страшно как кажется. Я бы советовал Git. Можно из командной строки (для изучения предпочтительна, лично я предпочитаю и для работы), либо UI клиент (я пользуюсь SourceTree). Изучить Git на начальном этапе можно за полдня. Вот хорошая книжка:

    https://git-scm.com/book/en/v2

    достаточно первые пару глав прочесть для начала

    3. Храните код в каком-нибудь распределенном репозитории (Github, Bitbucket). Если готовы его открыть для всех, то я бы советовал Github, если нет - BitBucket позволяет создавать бесплатно закрытые репозитории.

    4. При разработке в Python, пользуйтесь virtualenv. Это нужно для того, чтобы не замусоривать ваш основной дистрибутив Python установленными сторонними модулями и библиотеками.

    5. Это вопрос личного вкуса и удобства, но лично мне в работе сильно помогают системы project management. Я пользуюсь Blossom.io, но он платный. Из бесплатных, могу порекомендовать Trello.

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

    Собственно по Python, очень рекомендую вот это:

    docs.python-guide.org/en/latest

    куча реально полезной информации. По всем конкретным вопросам нет ничего лучше StackOverflow.

    Ну и уже когда практического опыта на реальном проекте поднаберетесь, вот тогда делайте upgrade, читайте еще книжки, код других проектов, участвуйте в других open source проектах, и т.д. В итоге гораздо быстрее все освоите, чем если прямолинейным чтением книг / прохождением курсов будете заниматься.
    Ответ написан
    4 комментария
  • Django. Аналог DEBUG=True на production'е?

    @korotkin
    Попробуйте Sentry. Покроете и фронт и бэк.
    В Django встраивается как error handler. Ставить просто, написана на django.
    habrahabr.ru/post/111283
    Ответ написан
    Комментировать