Как стать автором
Обновить
15
0
Тимофей Трайненков @timbset

Веб-разработчик

Отправить сообщение

Девять советов молодому тимлиду

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K

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

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

Я много размышлял на эту тему и вывел несколько принципов, которых советую придерживаться начинающим ИТ-руководителям и тем, кто хочет ими стать. Часть моих тезисов вдохновлена книгой “90 THINGS YOU NEED TO KNOW IF YOU WANT TO become the CTO”, изданная CTO Academy. 

Читать далее
Всего голосов 21: ↑19 и ↓2+17
Комментарии9

Минус 106 часов жизни или шесть историй о неуважении

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров21K

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

Читать далее
Всего голосов 55: ↑51 и ↓4+47
Комментарии28

13 распространенных задач в Kubernetes и способы их решения

Время на прочтение13 мин
Количество просмотров23K


Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. 
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии3

Баланс в играх или как достичь недостижимой цели?

Время на прочтение20 мин
Количество просмотров17K

Как думаете, что должно быть в каждой игре? На что чаще всего жалуются пользователи? Что может превратить хороший проект в мусор? Что, как говорится, сложно найти, легко поломать и невозможно довести до идеала? И ответ на все это будет игровой БАЛАНС! Да, баланс – самая сложная и самая необычная часть геймдева.

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

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии7

Шесть типов самых продаваемых игр

Время на прочтение11 мин
Количество просмотров18K

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

Читать далее...
Всего голосов 26: ↑24 и ↓2+22
Комментарии37

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Время на прочтение25 мин
Количество просмотров20K

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии15

Монетизация игр: какие компании продолжают выплачивать доходы разработчикам в РФ

Время на прочтение8 мин
Количество просмотров29K


Я потратила 50 часов, чтобы понять, как работает монетизация игр. Хотела найти информацию в формате «вот есть у меня игра, и что дальше делать», но узнала, что в последние месяцы многие нероссийские сервисы монетизации в РФ не платят. Решила проверить, кто точно платит.

40 разработчиков игр с живыми проектами рассказали мне, какие рекламные сервисы и магазины игр продолжают платить в РФ и какими обходными путями ребята пользуются в последние пару месяцев.

Кто точно выплачивает:

  • Appodeal
  • Google Play
  • App Store
  • Admob
  • MyTarget
  • Epic Games
  • Steam
  • Game Distribution


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

Если у вас есть более актуальная информация, или дополнения — буду очень благодарна.

Еще я веду канал в Telegram GameDEVils и блог на Substack , делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии9

Как привлечь первых пользователей в свою игру или приложение

Время на прочтение13 мин
Количество просмотров10K

Многие начинающие разработчики впадают в довольно наивное заблуждение: сделаем игру, в которую интересно играть, и заработаем на этом денег. К сожалению, рынок мобильных игр перенасыщен, каждый день выходят сотни новых тайтлов, игрок же способен оценить «интересность» от силы десятка игр в неделю. И вряд ли ваш проект окажется в этой десятке, если не предпринять дополнительных усилий.

Написали на Хабре 8 лет назад. Если тогда рынок мобильных игр был перенасыщен, то сейчас я не знаю, какое слово назвать. А ещё я не знаю, что такое сдаваться, так что продолжаю разматывать клубок геймдева. Под катом подробнее про способы привлечения игроков:

  1. Условно-бесплатное

    1.1. App Store Optimization;
    1.2. Социальные сети;
    1.3. Реферальные программы и приглашения.
  2. С разовыми инвестициями

    2.1. Инфлюенсеры;
    2.2. PR + пресса.
  3. Платное привлечение

    3.1. Реклама в соцсетях VS контекстная реклама;
    3.2. Платформы роста (отзывы про 4 самых популярных).

Ещё я веду канал в Telegram GameDEVils и блог на Substack , делюсь там материалами про геймдизайн, разработку и историю игр.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

Обзор паттернов интеграции микросервисов. Часть 2

Время на прочтение5 мин
Количество просмотров14K

Продолжаем обзор паттернов интеграции микросервисов. В первой части мы рассказали, зачем IT-специалистам нужны шаблоны интеграции, и для каких задач они подходят. Подробно остановилисьна Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply. Сегодня по плануразобрать Backends for Frontends, Cache-Aside, Gateway, Gateway Aggregation и Gateway Routing. 

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии1

Обзор паттернов интеграции микросервисов. Часть 1

Время на прочтение7 мин
Количество просмотров26K

Недавно мы проводили вебинар «Обзор паттернов интеграции микросервисов». На нём энтерпрайз архитектор Пётр Щербаков рассказал, зачем IT-специалистам нужны шаблоны интеграции, и разобрал, для каких задач они подходят, а для каких нет. Для тех, кто пропустил или предпочитает читать, а не смотреть подготовили текстовый обзор интеграционных паттернов: Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply.

Читать далее
Всего голосов 24: ↑21 и ↓3+18
Комментарии1

Мои вопросы работодателю, когда подаюсь на разработчика

Время на прочтение9 мин
Количество просмотров86K

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее
Всего голосов 90: ↑84 и ↓6+78
Комментарии70

Паттерны проектирования, реализующие наблюдаемость в микросервисах

Время на прочтение6 мин
Количество просмотров14K

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

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии0

Docker в работе. Взгляд на его использование в Badoo (год спустя)

Время на прочтение19 мин
Количество просмотров33K

Антон Турецкий (Badoo)


Антон Турецкий

Сегодня я приглашу вас на такую внутреннюю кухню Badoo расскажу о том, нужен ли Docker нам. Вы попробуете сделать выводы для себя, нужен ли он вам. Этой информации на просторах Интернета, соответственно, нет, потому что она вся вот такая – в нашем тесном узком кругу.



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

Для себя мы на эти вопросы ответили, без проблем у нас не было бы никакого внедрения. Какую-то часть проблем мы решаем. Я выделил основные из них, я расскажу вам о них и о том, как мы с ними справились. В конце я порекламирую нас, какие мы замечательные, как мы любим всякие-разные новые велосипеды, как мы их делаем, смотрим, изобретаем. Я вам их покажу, про них расскажу, вы составите какое-то свое мнение. Итак, поехали!
Всего голосов 47: ↑46 и ↓1+45
Комментарии59

Разработка AI для пошаговой игры на Node.js (часть 2)

Время на прочтение16 мин
Количество просмотров8.1K
И снова здравствуйте, друзья!

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

А я перейду к рассказу о следующем этапе работы!
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии15

Разработка AI для пошаговой игры на Node.js (часть 1)

Время на прочтение7 мин
Количество просмотров11K

Всем привет!
Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии0

Теория игр: Введение

Время на прочтение6 мин
Количество просмотров462K
image

Что это такое, и с чем его едят.


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

Узнать больше
Всего голосов 83: ↑75 и ↓8+67
Комментарии26

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

Нейросеть в 11 строчек на Python

Время на прочтение8 мин
Количество просмотров534K

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии17

Самообучение английскому — оптимальная организация времени. Практика занятий по методу Умин для компьютера и смартфона

Время на прочтение15 мин
Количество просмотров62K
Метод Умин является одной из наиболее популярных альтернативных методик изучения иностранного языка, он известен уже более 20 лет и имеет многие сотни отзывов в прессе и интернете. Метод был опубликован в 1993 году в книге Умин Е. А. “Иностранный легко и с удовольствием” (50 стр., доступно в интернете). Автор метода, член-корреспондент РАМН Евгений Алексеевич Умрюхин, в интервью рассказывает о его возможностях так:
— Я видел много примеров, когда после полугода изучения языка моим методом человек получал возможность общаться на нем, может несовершенно, допуская отдельные ошибки или испытывая иногда трудности в выражении сложных мыслей. Но в общении, восприятии речи и чтении книг на иностранном языке эти трудности быстро преодолевались. Предложенный метод эффективен, потому что он существенно отличается от многих стандартных.

Сам метод основан на научных исследованиях Е. А. Умрюхина по функционированию мозга, изложенных, например, в книгах “Механизмы мозга: информационная модель и оптимизация обучения” (1999 г.), “Медико-биологические аспекты интеллектуальной деятельности” (2004 г.), а также в преподаваемых им учебных курсах, в том числе и в МГТУ им. Баумана, где я и познакомился с ним самим и с его исследованиями.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии7
1

Информация

В рейтинге
Не участвует
Откуда
Yerevan, Yerevan, Армения
Дата рождения
Зарегистрирован
Активность