Pull to refresh

Как мы сделали первый Data Science Акселератор, или Новый подход к обучению профессионалов

Reading time 9 min
Views 4.4K
SkillFactory corporate blog Studying in IT IT career

Обучать профессионалов намного сложнее, чем новичков. Если новичок – это чистый лист, то профи – сам как живой учебник, наполненный знаниями, устоявшимися взглядами и интересами. Но даже профессионалу иной раз нужна помощь в достижении целей – для этого мы и создали Data Science Акселератор. Подробнее о том, что это такое, из чего состоит и как создавалось – под катом.

Читать далее
Total votes 13: ↑10 and ↓3 +7
Comments 1

My weekend pet project или AR за пару дней

Level of difficulty Easy
Reading time 8 min
Views 752
Auriga corporate blog Artificial Intelligence AR and VR
Case

Одному моему знакомому из фирмы, выпускающей разнообразный мерч пришла как‑то в голову идея дополнить свою продукцию интерактивной графикой — навел телефон на майку/кружку/скетчбук и получил на экране дополнительную визуальную информацию для данного предмета в виде AR (Augmented Reality) графики поверх видео потока с камеры телефона.

И вот, у нас было несколько телефонов, питон, flask, keras, supervisord, gunicorn, AR.js и выходные на то чтобы сделать прототип…

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 1

Thunderargs: практика использования. Часть 2

Reading time 12 min
Views 3K
Abnormal programming *Python *Programming *
Tutorial
История создания
Часть 1

Добрый день. Вкратце напомню, что thunderargs — библиотека, которая даёт использовать аннотации для обработки входящих аргументов.

Кроме того, она даёт возможность достаточно просто накидать гейт, который будет эти самые аргументы для функции вытаскивать откуда-нибудь ещё. Например, из объекта request во фласке. И в итоге мы вместо

@app.route('/ugly_calc', dont_wrap=True)
def ugly_calc():
    x, y = int(request.args['x']), int(request.args['y'])
    op_key = request.args.get('op')
    if not op_key:
        op_key = '+'
    op = OPERATION.get(op_key)
    return str(op(x, y))

делаем
@app.route('/calc')
def calc(x:Arg(int), y:Arg(int), op:Arg(str, default='+')):
    return str(OPERATION[op](x, y))


Думаю, все хотя бы примерно поняли о чём будет речь в статье. Всё, что в ней описано — размышления о будущем проекта и примерная расстановка «майлстоунов» по нему. Ну и, разумеется, первые наброски всяких-разных фич.

В этой части


  • Рассмотрим структурные изменения в проекте и пару критических ошибок в изначальной структуре
  • Разберёмся как работают валидаторы и как можно кастомизировать выдаваемые ими ошибки
  • Создадим зачатки специализированных аргументов (IntArg, StrArg, ListArg и так далее)
  • Подготовим класс, который будет автоматически вытаскивать объект из базы по id, поступившему в запросе
  • Будем генерировать точки входа по классу модели
  • Реализуем листенеры и посмотрим как можно сделать валидатор для нескольких аргументов
  • Убедимся, что информацию о структуре аргументов можно смело переносить в БД, и ничего нам за это не будет
  • И, наконец, порассуждаем о мелких интересностях, так и не реализованных в рамках этих экспериментов

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 4

Карьера программиста

Reading time 7 min
Views 60K
IT career

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


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

Читать дальше →
Total votes 65: ↑51 and ↓14 +37
Comments 288

Лучшее время для релиза пет-проекта

Reading time 2 min
Views 7.3K
Lifehacks for geeks
Каждый разработчик делал пет-проект, который так и не увидел свет. У меня таких проектов набралась чёртова дюжина, а на этой неделе я был близок к тому, чтобы пополнить список неудач ещё одним, но релиз всё-таки состоялся. В этом посте поделюсь результатами рефлексии и в конце отвечу на вопрос, когда же стоит выпускать первый релиз пет-проекта.
Читать дальше →
Total votes 24: ↑18 and ↓6 +12
Comments 59

Облачный‌ ‌opensource‌ ‌осциллограф‌ ‌за‌ ‌3500р‌ ‌и‌ его‌ ‌друзья

Reading time 4 min
Views 11K
Ростелеком corporate blog Computer hardware Smart House DIY
Привет!‌ ‌

В‌ ‌этом‌ ‌посте‌ ‌мы‌ ‌хотим‌ ‌немного‌ ‌рассказать‌ ‌о‌ ‌парочке‌ ‌pet-проектов,‌ ‌которыми‌ ‌занимаются‌ ‌наши‌ ‌коллеги‌ ‌из‌ ‌Ульяновска.‌ ‌С‌ ‌такими‌ ‌проектами‌ ‌ситуация‌ ‌зачастую‌ ‌обстоит‌ ‌следующим‌ ‌образом:‌ ‌человек‌ ‌пилит‌ ‌их‌ ‌потихоньку‌ ‌для‌ ‌себя,‌ ‌показывая‌ ‌только‌ ‌паре‌ ‌друзей‌ ‌или‌ ‌коллегам,‌ ‌и‌ ‌особой‌ ‌огласки‌ ‌это‌ ‌дело‌ ‌не‌ ‌получает.‌ ‌ ‌

Хотя‌ ‌зачастую‌ ‌заслуживает.‌ ‌Из‌ ‌подручных‌ ‌материалов,‌ ‌энтузиазма‌ ‌и‌ ‌желания‌ ‌сделать‌ ‌что-то‌ ‌клевое‌ ‌просто‌ ‌потому,‌ ‌что‌ ‌можно,‌ ‌временами‌ ‌получаются‌ ‌отличные‌ ‌штуковины.‌ ‌К‌ ‌примеру,‌ ‌ребята‌ ‌из‌ ‌хакспейса‌ ‌Нейрон‌ ‌однажды‌ ‌просто‌ ‌just‌ ‌for‌ ‌fun‌ ‌сделали‌ ‌доступную‌ ‌базовую‌ ‌станцию‌ ‌2G.‌ ‌Понятное‌ ‌дело,‌ ‌что‌ ‌в‌ ‌больших‌ ‌городах‌ ‌(да‌ ‌и‌ ‌областях)‌ ‌она‌ ‌интересна‌ ‌только‌ ‌с‌ ‌точки‌ ‌зрения‌ ‌проекта‌ ‌и‌ ‌хобби,‌ ‌но‌ ‌для‌ ‌развивающихся‌ ‌стран,‌ ‌к‌ ‌примеру,‌ ‌это‌ ‌вполне‌ ‌себе‌ ‌полезная‌ ‌вещь.‌ ‌Во-первых,‌ ‌она‌ ‌работает,‌ ‌во-вторых,‌ ‌материальная‌ ‌составляющая‌ ‌весьма‌ ‌и‌ ‌весьма‌ ‌приятна.‌ ‌

Так‌ ‌вот,‌ ‌про‌ ‌наших‌ ‌ребят.‌ ‌

‌ ‌

Команда‌ ‌из‌ ‌Ульяновска‌ ‌время‌ ‌от‌ ‌времени‌ ‌экспериментирует‌ ‌с‌ ‌разными‌ ‌штуками,‌ ‌которые‌ ‌делают‌ ‌жизнь‌ ‌в‌ ‌офисах‌ ‌проще‌ ‌с‌ ‌бытовой‌ ‌точки‌ ‌зрения.‌ ‌Это‌ ‌даёт‌ ‌им‌ ‌возможность‌ ‌и‌ ‌новые‌ ‌технологии‌ ‌потестить‌ ‌руками‌ ‌на‌ ‌чем-нибудь‌ ‌реальном,‌ ‌а‌ ‌не‌ ‌сферическом‌ ‌проекте‌ ‌в‌ ‌вакууме,‌ ‌
и‌ ‌навыки‌ ‌не‌ ‌растерять.‌ ‌

Важное‌ ‌примечание:‌ ‌все‌ ‌описанные‌ ‌в‌ ‌посте‌ ‌штуки‌ ‌так‌ ‌выглядят,‌ ‌потому‌ ‌что‌ ‌специально‌ ‌используют‌ ‌максимально‌ ‌дешёвые‌ ‌и‌ ‌доступные‌ ‌материалы,‌ ‌а‌ ‌корпуса‌ ‌вообще‌ ‌печатают‌ ‌на‌ ‌3D-принтере,‌ ‌который‌ ‌стоит‌ ‌в‌ ‌офисе.‌ ‌
Читать дальше →
Total votes 37: ↑31 and ↓6 +25
Comments 16

Редактор игрового движка: визуализация файловой структуры проекта

Reading time 5 min
Views 3.2K
JavaScript *Game development *ReactJS *TypeScript *
Sandbox
image

Всем привет, меня зовут Александр, я frontend-разработчик. Моя карьера программиста началась относительно недавно, у меня нет специального образования и долгое время я работал совершенно в другой области. Поскольку IT сфера весьма быстро развивается, мне приходится постоянно учиться в ускоренном темпе, чтобы поспеть за своими коллегами с большим опытом за спиной. Для саморазвития, в свободное от работы время, я решил начать свой pet-проект.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Портируем старую игру в жанре «shoot 'em up» на JavaScript на коленке

Reading time 12 min
Views 2.6K
ICL Services corporate blog Abnormal programming *JavaScript *Game development *

Имеется древняя игрушка LaserAge, которая написана на Flash (на очень древнем Macromedia Flash 4) и работает только под Windows. В детстве она мне очень понравилась, поэтому я решил для души портировать её, чтобы можно было играть с браузера со всех устройств.


Цель игры заключается в том, чтобы уничтожать противников своим космическим кораблём на различных уровнях и получать бонусы, если поймать бонус — улучшается оружие. При попадании торпеды противника — даунгрейд оружия игрока.


При уничтожении всех противников на уровне происходит переключение на следующий уровень. Всего 100 уровней.


В терминах игры уровень — волна (Wave), а несколько волн объединены в большой уровень (Level), который представляет из себя просто смену заднего фона, т.е. всего 4 больших уровня в каждом из которых 25 волн. В последней волне большого уровня обычно бывает босс — противник с огромным значением жизни и мощным оружием.


https://github.com/EntityFX/laseroid/blob/master/doc/LaserAgeNext.png?raw=true

Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 12

Как я простые циклы искал

Reading time 13 min
Views 12K
Open source *Development for iOS *Algorithms *Swift *
🔥 Technotext 2020

иконка библиотеки Проснулся я как-то ближе к вечеру и решил — всё пора, пора уже сделать новую фичу в моей библиотеке. А за одно и проверку графа на циклы починить и ускорить. К утреннему обеду сделал новую фичу, улучшил код, сделал представление графа в удобном виде, и дошёл до задачи нахождения всех простых циклов в графе. Потягивая чашку холодной воды, открыл гугл, набрал "поиск всех простых циклов в графе" и увидел...

Найти простые циклы
Total votes 10: ↑10 and ↓0 +10
Comments 17

Чему я научился, пока писал свой агрегатор цен на игры

Reading time 10 min
Views 3.7K
GTD *

Этот пост не реклама моего проекта, а пример того, что дает человеку pet-project.


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


Сам проект представляет собой агрегатор цен online-магазина игр PlayStation Store. На данный момент с его помощью можно посмотреть, как менялась цена на игры в течение последних трех месяцев, увидеть список игр, которые обновили свои ценовые рекорды. В процессе разработки фича подписки на обновления цен.



Если интересно, добро пожаловать под кат.

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 0

13 игр, чтобы поиграть, взломать и убить ими эти выходные

Reading time 4 min
Views 12K
SkillFactory corporate blog Game development *Game design *Games and game consoles
Translation
В конце ноября у нас стартует новый поток курса Разработчик игр на Unity и C#, и специально к нему мы делимся подборкой игр на тему Хеллоуина. Все они создавались на соревнованиях вроде Ludum Dare, JS13K и Game Off. Игры написаны на разных языках и движках, причём некоторые из них созданы всего за 48 часов. И у всех этих игр есть общая черта: исходный код этих игр открыт, так что давайте уже рубить и кромсать его! Пост не претендует на «высокий технический уровень», это просто подборка забавных проектов, которые, возможно, вдохновят вас на создание своих игр.

ВНИМАНИЕ: в этом посте есть зомби, оборотни, существа из других измерений, мумии и многое другое! Действуйте на свой страх и риск.


Приятного чтения!
Total votes 24: ↑19 and ↓5 +14
Comments 3

Защита авторских прав на ваши Pet-projects

Reading time 8 min
Views 7.2K
Конференции Олега Бунина (Онтико) corporate blog Development of mobile applications *Legislation in IT Copyright
Что делать, когда вы получили претензию, требование или иск по вашему проекту от работодателя или партнера с требованием передать все материалы? Как вы можете защитить свои проекты в этом случае или сильно заранее, для профилактики? Много ли разработчиков разбираются в этом? Количество разработок и результатов творческой деятельности неуклонно растет и возникает все больше спорных ситуаций по правам на эти проекты (произведения). Поэтому вопрос защиты прав на Pet-project (пет-проекты) становится практикой. К тому же она может быть не такой уж сложной.

Вадим Кирюхин, управляющий партнер, адвокат юридической фирмы «Кирюхин и Партнеры», член международной ассоциации адвокатов (International Bar Association) сегодня расскажет, что такое пет-проект с точки зрения российского законодательства и что вы можете сделать, если получили претензию от вашего работодателя с требованием передать все материалы по пет-проекту. Вы узнаете также, какие в настоящее время есть способы защиты ваших прав на пет-проекты, а в конце рассмотрим кейсы из судебной практики.


Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 14

Помощник в проведении технического интервью и совместный кодинг

Reading time 2 min
Views 4.3K
Website development *SaaS / S+S *Personnel Management *IT career
Sandbox


UPD: обновил превью на новую. meet2code.com

Сколько мне довелось пройти технических собеседований на фронтенд-разработчика, столько разных способов и инструментов на них использовали интервьюеры.

Чат в одном месте, созвон в другом, кодинг в третьем. «Что-то не работает этот сервис, а расшарь-ка экран. Код решения отвалился, ну напиши снова…» И без того стрессовая ситуация для кандидата превращается в неприятную карусель.

И по такому же сценарию выстроена структура интервью — чаще хаос, перескакивания с темы на тему.

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

Чтобы всё было предсказуемо и по стандартам, ведь столько статей о правильном проведении интервью написано на хабре. Есть чем вдохновляться.

Назвал его Meet2Code.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 15

Ваш pet-project будет доволен. Как вдохнуть жизнь в свои наработки

Reading time 4 min
Views 8.8K
Python *GitHub *Machine learning *Reading room Natural Language Processing *

Pet project


Всем привет! Как и многие, я люблю поковыряться с каким-либо хобби-проектом, — и удовольствие получаешь и показать при случае можно, а если он способен ещё и пользу кому-то принести, то это вдвойне приятно.


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

Total votes 27: ↑27 and ↓0 +27
Comments 1

Сервис для технического собеседования 2.0 — видеозвонки, запуск кода, тестовые задания

Reading time 2 min
Views 3.1K
Website development *SaaS / S+S *Personnel Management *IT career


UPD: обновил превью на новую. meet2code.com

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

Прикрутил firebase в качестве бэкенда, добавил видеозвонки, запуск кода на фронте, пока это React, Vue и Angular, все только последних версий.

Отвлёкся от допиливания текущего функционала и добавил тестовые задания, чтобы было, что разобрать на собеседовании, например. Добавил предварительное интервью, чтобы после знакомства с кандидатом информация сразу была в анкете.

Но львиная доля времени ушла на рефакторинг и правки багов, это ещё хорошо, что я на Typescript пишу.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 18

Калькулятор на телефон как способ знакомства с React-native

Reading time 6 min
Views 4K
ReactJS *

Приветствую.

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

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

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Мой питомец — LinguaPlayer

Reading time 7 min
Views 2.2K
Start-up development

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

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

Так мне и пришла идея видеоплеера с переводимыми субтитрами — LinguaPlayer.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 10

Pet-проект для джуна. Или зачем и как выбрать pet project. (+личный опыт)

Reading time 4 min
Views 100K
JavaScript *Programming *Project management *Product Management *IT career
Sandbox

Зачем нужны pet проекты?

Для джуна ... pet проект заменяет ...

Как выбрать и на что обратить внимание?

Технологии, дизайн, идея для pet проекта.

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 6

ModulationPy: цифровые схемы модуляции на языке Python

Reading time 5 min
Views 5.5K
Python *Wireless technologies *

Привет, Хабр!

Сегодня хочу поделиться своим небольшим домашним проектом:

ModulationPy (GitHub)

- модуль для моделирования цифровых модемов (это которые PSK и QAM). Проект был вдохновлен другой питоновской библиотекой: CommPy; однако, в рассмотренном классе задач с ней удалось даже немного посоревноваться!

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N

Reading time 5 min
Views 6.8K
Ozon Tech corporate blog Website development *IT Infrastructure *Web analytics *DevOps *

Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокруг последнего пункта.

Вы наверняка в курсе, что существуют Grafana, Prometheus, Kibana, LogDNA и другие инструменты для мониторинга, визуализации и анализа данных. C первыми двумя я вплотную познакомился в Ozon, а про Kibana слышал когда-то давно и только в паре со словом «логи». Чтобы графики в Grafana рисовать — придется штат аналитиков нанять (ба-дум-тсс). Для пет-проекта это перебор, нужно что-то сильно проще (с точки зрения стоимости, простоты настройки и удобства). Ниже расскажу, какие готовые инструменты для мониторинга небольших пет-проектов я нашёл в пучинах интернета, а также оставлю комментарии и рекомендации по использованию.

Читать далее
Total votes 20: ↑19 and ↓1 +18
Comments 21