Pull to refresh
4
0
Денис Третьяков @denizztret

User

Send message

Стресс и выгорание в мире разработки ПО

Level of difficultyEasy
Reading time9 min
Views12K
Автор: Sow Ay

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

Если вспомнить конкретно 2017 год, то он стал для меня весьма неприятным. Я регулярно испытывал панические атаки, сидел на релаксантах и пытался писать код, находясь под серьёзным давлением дедлайнов и новых ответственностей. Тогда я как раз унаследовал от своего предшественника должность главы отдела информационных технологий. Теперь я отвечал за небольшую команду разработчиков. При этом наш стартап дал многим партнёрам множество обещаний. Моей же задачей была их реализация, и я мог их либо нарушить, либо выполнить. У меня получилось и то и другое.
Читать дальше →
Total votes 57: ↑54 and ↓3+73
Comments48

Серебро и бронза: как мобильная разработка ПСБ попала в топ-3 отрасли

Reading time9 min
Views1.7K

Привет, Хабр! На связи Кирилл Маканков, руководитель направления мобильной разработки малого и среднего бизнеса в ПСБ. Недавно приложение нашего банка заняло сразу два топовых места в рейтингах мобильных банков. Третье в списке лучших банков для ИП без сотрудников и второе — в общем списке лучших мобильных банков на Android.

Этот пост о том, как мы с командой разработки этого добились, и о наших достижениях за последние два года удалёнки и пандемии. Разработчики найдут здесь интересный взгляд на свой труд «с высоты птичьего полёта». Руководители — образец для своих будущих ретроспектив, богатых экспертизой и пользой.

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

Узнать, что стоит за серебром и бронзой
Total votes 10: ↑8 and ↓2+6
Comments0

Заблуждения Clean Architecture

Reading time15 min
Views417K
Превращаем круги в блоки

­­ 


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

Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments203

Знакомство с СALayer

Reading time6 min
Views32K
Добро пожаловать! В данной статье вы познакомитесь с ключевой темой операционной системы iOS: которая называется «слои». Вы, скорее всего, уже знаете о View, но вы можете не знать то, что каждое view опирается на то, что называется слоем(layer). Слои являются частью Core Animation фреймворка.

Вы можете сказать, «Какой это имеет смысл? Я никогда ранее не использовал слои, поэтому это может и не быть столь важным.» Знаете ли вы это или нет, но ваше приложение интенсивно использует слои. В iOS каждое представление подтверждается слоем, независимо от того, какое оно. Слои существуют, таким образом, что iOS может легко получить растровую информацию о представлениях, с целью ее дальнейшей передачи для GPU (Устройства Обработки Графики). Посмотрите на изображение ниже, для визуального представления, где Core Animation находиться в иерархии iOS структуры.


Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments0

What is ili pika?

Reading time4 min
Views3.3K
image
В минувшие выходные проект ili pika вышел из закрытого тестирования в релиз в app store (версия 0.8). 
Сайт
App store link

Сейчас представлена версия для iOS, а в течение одной-двух недель приложение станет доступно и для Android. Это проект для мирового рынка. 

Немного о проекте. 

Ili pika — это приложение для создания и ведения микро-форумов. Так называемый «One to many» продукт.
Пользователь может быть автором-администратором (admin-author), создавать сообщества (open/closed community) и приглашать подписчиков (followers). Или сам стать чьим-либо подписчиком. 
Читать дальше →
Total votes 9: ↑5 and ↓4+1
Comments8

9999+ сохраненных на потом

Reading time2 min
Views11K


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

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

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments17

Архитектура сервера онлайн-игры на примере Skyforge

Reading time12 min
Views191K
Привет, Хабр! Я Андрей Фролов, ведущий программист, работаю в Mail.Ru над Next-Gen MMORPG Skyforge. Вы могли читать мою статью про архитектуру баз данных в онлайн-играх. Сегодня я буду раскрывать секреты, касающиеся устройства сервера Skyforge. Постараюсь рассказать максимально подробно, с примерами, а также объясню, почему было принято то или иное архитектурное решение. По нашему серверу без преувеличения можно написать целую книгу, поэтому для того, чтобы уложиться в статью, мне придется пройтись только по основным моментам.

image

Читать дальше →
Total votes 141: ↑127 and ↓14+113
Comments179

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Objective-c блоки и c++ лямбды

Reading time10 min
Views25K
Надеюсь, что пост будет полезен людям которые знакомы с лямбдами C++, но хотят изучить блоки Objective-C и наоборот.
Здесь я постарался описать синтаксис замыканий, механизмы захвата контекста, управление памятью и взаимодествие лямбд и блоков между собой.
Во всех примерах использовался Apple LLVM Compiler 4.2 (Clang). Для приведенного Obj-C кода не используется ARC, т.к я придерживаюсь мнения, что необходимо знать как работает non-ARC код, чтобы понять как работает ARC.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments19

Отношения классов — от UML к коду

Reading time7 min
Views763K
Введение

Диаграмма классов UML позволяет обозначать отношения между классами и их экземплярами. Для чего они нужны? Они нужны, например, для моделирования прикладной области. Но как отношения отражаются в программном коде? Данное небольшое исследование пытается ответить на этот вопрос — показать эти отношения в коде.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments21

Переlator

Reading time9 min
Views20K
По ходу своей работы я сталкиваюсь с маленькими задачами, которые отнимают много времени (при решении «в лоб»). Иногда получается найти средства для быстрого решения этих задач, иногда нет. Во втором случае, чаще всего, я быстренько пишу собственные маленькие программы, которые позволяют максимально упросить решение задачи.

Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).

image

Уверен, что мои наработки кому-то окажутся полезными.

Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).

Читать дальше →
Total votes 94: ↑86 and ↓8+78
Comments60

Простое суффиксное дерево

Reading time12 min
Views75K
ДеревоСуффиксное дерево – мощная структура, позволяющая неожиданно эффективно решать мириады сложных поисковых задач на неструктурированных массивах данных. К сожалению, известные алгоритмы построения суффиксного дерева (главным образом алгоритм, предложенный Эско Укконеном (Esko Ukkonen)) достаточно сложны для понимания и трудоёмки в реализации. Лишь относительно недавно, в 2011 году, стараниями Дэни Бреслауэра (Dany Breslauer) и Джузеппе Италиано (Giuseppe Italiano) был придуман сравнительно несложный метод построения, который фактически является упрощённым вариантом алгоритма Питера Вейнера (Peter Weiner) – человека, придумавшего суффиксные деревья в 1973 году. Если вы не знаете, что такое суффиксное дерево или всегда его боялись, то это ваш шанс изучить его и заодно овладеть относительно простым способом построения.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments20

Передача проекта от дизайнеров iOS разработчикам

Reading time6 min
Views79K


В настоящее время департамент мобильной разработки Rambler&Co активно расширяется, в том числе и в плане iOS-разработчиков и UX дизайнеров. Большое количество людей и проектов, ведущихся ими, усложняет и без того непростой процесс передачи дизайна разработчикам. Всем, так или иначе связанным с мобильной разработкой, знакомы проблемы и разногласия, возникающие на стыке интересов программиста и дизайнера — начиная тем, в каких единицах измерять расстояния, и заканчивая тем, кто должен нарезать элементы экранов в различных разрешениях. Чтобы окончательно решить проблему в рамках нашей компании, мы решили подготовить подробные гайдлайны по этому взаимодействию.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments25

Гайдлайн по использованию Apple Watch Human Interface

Reading time21 min
Views18K
Официальное руководство от Apple по разработке интерфейса для Apple Watch — теперь и на русском! Технические переводчики Alconost потрудились на славу. Правда, пока этот материал верстался, Apple выкатила новую версию гайдлайна, так что следите за обновлениями и в нашем блоге.


Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments1

Основы боевой системы в играх

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



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

В результате, благодаря приобретенному опыту удалось написать свод правил. Соблюдение правил поможет вам воплотить мощную боевую механику в ваших играх.
Узнать все секреты
Total votes 57: ↑43 and ↓14+29
Comments12

Martin Fowler — GUI Architectures. Часть 1

Reading time9 min
Views26K
Перевод материала Мартина Фаулера. В статье обсуждается общий подход к архитектуре UI и приводятся подробные описания таких шаблонов проектирования, как MVC, MVP, Presentation Model, Forms and Controls, Humble View, Passive View. Статья неплохо прочищает мозг. Для того, чтобы не упустить ни единого нюанса, решил заняться переводом.

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

Я не профессиональный переводчик и мог что-то неправильно понять (и даже кое-где сделал пометки в скобках), но вы в любом случае обладаете возможностью прочитать статью в оригинале. Надеюсь, что перевод такой интересной статьи поможет кому-то улучшить свои навыки и расширит кругозор.
Прочитать про архитектуру UI!
Total votes 44: ↑42 and ↓2+40
Comments12

Использование UIDynamicAnimator из UIKit Dynamics при создании таблиц на основе UICollectionView

Reading time3 min
Views11K
Как известно в последней версии SDK (фреймворк UIKit Dynamics) разработчики могут определять динамическое поведение для UIView объектов, а также других объектов, принимающих протокол UIDynamicItem.

В данной статье я хочу поделиться опытом использования таких объектов.

Целью было сделать анимацию, аналогичную той, что используется в приложении Messages на iOS 7:
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

Что такое Entity System Framework и зачем он нужен в геймдеве?

Reading time18 min
Views51K
На Хабре уже есть очень много интересных статей про создание игры с нуля, но мало статей, описывающих что делать, чтобы своя любимая поделка не превратилась во Франкенштейна и дошла до вменяемого состояния. Автор оригинальной статьи рассказывает, как эволюционировал код игрового движка от кучи хлама в основном цикле к продуманной, расширяемой архитектуре, использующей Entity Component System. В статье много кода, который почти весь часто повторяется — но я не стал его выбрасывать, поскольку с ним будет понятнее, какие изменения вносит автор и как это отражается на всей структуре. Статья рассчитана на новичков, вроде меня, которые уже настрочили несколько «гениальных» прототипов, но теперь не знают, как разобраться в их коде.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments12

Линейная алгебра для разработчиков игр

Reading time19 min
Views769K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →
Total votes 314: ↑296 and ↓18+278
Comments61

Локализация приложений под OS X

Reading time5 min
Views10K


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

Наша команда трудится над проектом ICQ и Агентом Mail.Ru (привет Дима, Вова, Леша) под OS X, и локализация продукта на разных этапах развития осуществлялась по-разному, для каждого из подходов обнаруживались свои достоинства и недостатки. Некоторым накопленным опытом я и хочу поделиться.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments10
1

Information

Rating
Does not participate
Location
Пушкин, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity