Search
Write a publication
Pull to refresh
9
0
Babichev Oleg @obabichev

Пользователь

Send message

Строим домашний CI/CD при помощи GitHub Actions и Python

Reading time12 min
Views66K

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

Читать дальше →

Как я начал уметь в маркетинг

Reading time19 min
Views8.7K


Всем привет! Я хотел бы рассказать о своем прошлом – замечательном проекте Withme, но «без купюр».

В публикациях здесь я уже пытался рассказать о всех событиях в хронологическом порядке, однако многие факты были “немного” спрятаны под смешными «факапами», безудержным весельем от наших бессонных ночей и призовыми местами на хакатонах.

Сейчас, смотря на всю эту ситуацию со стороны, я понимаю, что могу рассказать о странн(ш)ых вещах, которые встретились мне во время работы над моим первым проектом в жизни. Я считаю, что своим небольшим рассказом я могу помочь молодым энтузиастам, начинающим свой путь разработчикам мобильных приложений в России или только мечтающим об этом. Излагать буду в формате небольшой истории (даже с «частями-главами»), с попыткой сохранить хронологию. Ну, поехали.
Читать дальше →

Обзор Skaffold для разработки под Kubernetes

Reading time7 min
Views19K


Полтора года назад, 5 марта 2018, компания Google выпустила первую альфа-версию своего Open Source-проекта для CI/CD под названием Skaffold, целью которого стало создание «простой и воспроизводимой разработки под Kubernetes», чтобы разработчики могли сфокусироваться именно на разработке, а не на администрировании. Чем может быть интересен Skaffold? Как оказалось, у него есть несколько козырей в рукаве, благодаря которым он может стать сильным инструментом для разработчика, а может — и инженера по эксплуатации. Познакомимся с проектом и его возможностями.
Читать дальше →

ИИ и 2048. Часть 2: Минимакс + альфа-бета отсечение

Reading time23 min
Views16K


Метод Монте-Карло мы разобрали, сегодня посмотрим, как компьютерный разум играет в 2048, используя старый добрый минимакс с альфа-бета отсечением.
Читать дальше →

Пишем собственный воксельный движок

Reading time11 min
Views25K
image

Примечание: полный исходный код этого проекта выложен здесь: [source].

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

После выпуска первоначального концепта Task-Bot [перевод на Хабре] я почувствовал, что меня ограничивает двухмерное пространство, в котором я работал. Казалось, что оно сдерживает возможности емерджентного поведения ботов.

Предыдущие неудачные попытки изучения современного OpenGL поставили передо мной мысленный барьер, но в конце июля я каким-то образом наконец пробил его. Сегодня, в конце октября, у меня уже достаточно уверенное понимание концепций, поэтому я выпустил собственный простой воксельный движок, который будет средой для жизни и процветания моих Task-Bots.

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

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

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

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

Reading time3 min
Views67K
Рассказываем, как белый шум помогает расслабиться и кто разрабатывает решения на его основе.

Читать дальше →

Ещё 9 проектов для оттачивания Front-End мастерства

Reading time5 min
Views40K
image

Введение


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

Возьмем, к примеру, React — код которого, Facebook открыл всего четыре года назад, он уже стал выбором номер один для разработчиков JavaScript по всему миру.

Vue и Angular, конечно же, также имеют свою законную базу поклонников. И еще есть Svelte и другие универсальные фреймворки, такие как Next.js или Nuxt.js. И Gatsby, и Gridsome, и Quasar… и многое другое.

Если вы хотите проявить себя как опытный разработчик JavaScript, у вас должен быть хотя бы некоторый опыт работы с различными фреймворками и библиотеками — помимо выполнения работы с хорошим старым JS.

Чтобы помочь вам стать мастером фронт-енда в 2020 году, я собрал девять различных проектов, каждый из которых был посвящен разным фреймворкам и библиотекам JavaScript в качестве технического стека, который вы можете создать и добавить в свое портфолио. Помните, что ничто не помогает вам больше, чем на практике создавать вещи, поэтому двигайтесь вперед, включите свой ум и сделайте это возможным
Читать дальше →

Унификация правил валидации на примере Asp core + VueJS

Reading time15 min
Views4.5K


В статье описывается простой способ унификации правил валидации пользовательского ввода клиент-серверного приложеия. На примере простого проекта, я покажу как это можно сделать, с использованием Asp net core и Vue js.


Разрабатывая веб приложения, мы как правило сталкаваемся с задачей двойной валидации данных, вводимых пользователем. С одной стороны, пользовательский ввод необходимо валидировать на клиенте, чтобы сократить избыточные запросы к серверу и ускорить саму валидацию для пользователя. С другой стороны, говоря о валидации, сервер не может принимать "на веру" то, что клиентская валидация действительно отработала перед отправкой запроса, т.к. пользователь мог отключить либо модифицировать валидационный код. Или вообще осуществить запрос из API клиента вручную.

Читать дальше →

Как работает Netflix

Reading time9 min
Views48K
Успех «Нетфликса» обеспечили высокие технологии, но за ними стоит целая философия, которая сделала эту философию эффективной. Систему, которая заставляет миллионы людей одержимо кликать по красно-белым кнопкам, легко отказываясь от многолетней традиции просмотра фильмов в кино, а сериалов по ТВ.



Привет! С вами Ефим Гугнин! И сегодня мы постараемся разобраться, как работает Netflix. А для этого нам придётся немного отмотать время назад.

1997 год. Интернет только-только набирает популярность и пока связывает жалкие 10 миллионов компьютеров.

Все сериалы и фильмы люди смотрят в кино, по кабельному либо эфирному ТВ, ну или заказывают видео в прокате. В это непростое время 37-летний Рид Хастингс, бывший военный и работник Корпуса мира, а ныне компьютерный инженер и предприниматель, решается на авантюру.

Почему Agile заходит в тупик без трансформации архитектуры и средств разработки — выступление на конференции

Reading time1 min
Views5.4K
О чем частенько молчат консультанты по Agile? Во что упираются большие организации, когда решают внедрить Agile-подход? Почему вместо розовых единорожек мы получаем здоровенных бегемотов? Мое выступление на конференции Enterprise Agile Russia — 2019

Учим английский: 7 практических способов расширить словарный запас

Reading time3 min
Views37K
image

Одна из важнейших задач при изучении иностранного языка – это не только практика с грамматикой, но и расширение словарного запаса. Чем больше слов вы знаете, тем в большем количестве ситуаций сможете объясниться – даже если у вас большие проблемы с артиклями и формированием времен, вас скорее всего поймут. А если вы знаете мало слов, то с этим уже ничего не поделать.

При этом важно понимать, что существует два типа лексики – активная и пассивная. Первая из них состоит из слов, которые вы активно используете, а вторая – это лексика, которую вы «знаете» и понимаете. Существуют способы наращивания лексических запасов обоих видов. Я нашла интересный пост с подборкой практических способов сделать это и подготовила его адаптированный перевод. Поехали!
Читать дальше →

Топ 5 книг, которые нужно прочитать художнику

Reading time2 min
Views20K
image

Чтобы попасть в игровую индустрию, мало уметь хорошо делать своё дело. Для ребят из Banzai.Games учеба не заканчивается никогда. А все потому, что голод до новых знаний — штука посильнее творческих амбиций.

Сегодня мы поделимся с вами самым ценным (после своих игр, конечно же), что есть у разработчика видеоигр — знаниями и опытом. Катя, художник студии, расскажет о 5 книгах, которые необходимо прочитать каждому, кто хочет прокачать своё мастерство.
Читать дальше →

Регуляторы США запрещают распространение токена Telegram Open Network

Reading time8 min
Views29K
Сегодня ночью появился пресс-релиз комиссии по ценным бумагам и биржам США (Securities and Exchange Commission, SEC) о том, что они подают жалобу на компании Telegram Group Inc и TON Issuer Inc за нарушение условий проведения предварительного размещения прав требования на токены.

Что это значит, насколько это серьёзно и что теперь будет вообще со всем проектом мы попробуем разобраться вместе, опираясь на доступные факты.
Читать дальше →

Кошелёк GRAM в Телеграме: условия обслуживания

Reading time6 min
Views33K
Вчера появился официальный договор об обслуживании кошелька TON в клиенте Telegram. Незамедлительно по интернету расползлись различные трактования этого короткого и простого юридического документа. Давайте попробуем стать немного более образованными и понять, что же на самом деле собираются делать братья Дуровы.
Читать дальше →

TON: рекомендации и лучшие практики

Reading time11 min
Views7.3K

Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме.

Читать дальше →

Новый проект братьев Дуровых: Telegram Open Network

Reading time12 min
Views89K
Приближается момент полномасштабного запуска самого ожидаемого криптопроекта, который действительно может изменить мир. К началу ноября сеть TON будет запущена и все смогут в полной мере оценить её достоинства и начать использовать по назначению: разработчики — создавать полезные и прибыльные приложения, пользователи — использовать функционал полезных приложений, с лёгкостью оплачивая его, при необходимости.

Уже запущена тестовая сеть и на официальном сайте есть два интересных документа, проливающих свет на то, как будет функционировать этот проект. Это описание TON, 132 страницы (ссылки на страницы в тексте указаны в круглых скобках, (45)) и описание блокчейна, 120 страниц (ссылки на страницы указаны в квадратных скобках, [55]). Виртуальная машина и язык программирования смарт-контрактов в этой статье рассматриваться не будут, кому нужно — разберёт сам, а кто не разберёт — тому не нужно.

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

Итак, что такое Telegram Open Network (TON)?


Читать дальше →

Задача о трех горах, неуловимая теория ума и проблема периодизации детского развития

Reading time6 min
Views65K


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

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

Примерно до семи лет испытуемые в этом эксперименте выбирали картинку с тем ракурсом, который видели сами.

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

Откуда взялась эта ошибка?
Читать дальше →

Arend – язык с зависимыми типами, основанный на HoTT (часть 1)

Reading time21 min
Views10K
В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend (язык назван в честь Аренда Гейтинга). Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноценный релиз Arend случился лишь в июле этого года.

Мы попробуем рассказать, чем Arend отличается от существующих систем формализованной математики, основанных на зависимых типах, и о том, какая функциональность уже сейчас доступна его пользователям. Мы предполагаем, что читатель настоящей статьи в целом знаком с зависимыми типами и слышал хотя бы про один из языков, основанных на зависимых типах: Agda, Idris, Coq или Lean. При этом мы не рассчитываем, что читатель владеет зависимыми типами на продвинутом уровне.

Для простоты и конкретности наш рассказ об Arend и гомотопических типах будет сопровождаться реализацией на Arend простейшего алгоритма сортировки списков — даже на этом примере можно почувствовать отличие Arend от Agda и Coq. На Хабре уже есть ряд статей, посвященных зависимым типам. Скажем, про реализацию сортировки списков методом QuickSort на Agda есть вот такая статья. Мы будем реализовывать более простой алгоритм сортировки вставками. При этом основное внимание уделим конструкциям языка Arend, а не самому алгоритму сортировки.
Читать дальше →

Как спроектировать идеальное занятие

Reading time12 min
Views4.6K

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


Ниже сам документ.

Читать дальше →

Information

Rating
2,269-th
Registered
Activity