Как стать автором
Обновить
11
0

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

TypeScript в деталях. Часть 1

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


Привет, друзья!


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


Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 9

К микросервисам через reverse engineering и кодогенерацию

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

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

Часто основная сложность заключается в том, что нужно одновременно поддерживать уже существующий код монолита и параллельно внедрять новые принципы и подходы.  В статье я расскажу, как мы в Wrike, используя reverse engineering и немного кодогенерации, реализовали первые шаги по выделению отдельных микросервисов и запустили первый «почти настоящий» BFF-сервис в рамках нашего монолита.

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

Вакцинирование продом

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

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 8

Как работает бухгалтерский учет на пальцах

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

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

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

Для начала нужно определить что такое счет (Wiki):

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

Микрофронтенды в hh.ru

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

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

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

Меня зовут Влад Коротун, я ведущий фронтенд-разработчик в одной из продуктовых команд hh.ru. В этой статье расскажу о нашем пути от большого монолита до так называемых "микрофронтендов".

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

Потерять хорошего тимлида, приобрести плохого директора

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

Всем привет, меня зовут Семён, я руковожу разработкой витрины объектов недвижимости в Домклик. Занимал должности от разработчика до директора в разных компаниях и разных странах, проходил этот путь несколько раз и не понаслышке знаю, каково это — выходить из зоны комфорта и в корне менять род занятий. Так, например, происходит при переходе с роли разработчика на роль тимлида. Но сегодня я хочу обсудить следующий возможный шаг в карьере тимлида — переход на директорскую (executive) должность. Он таит в себе много вызовов и неожиданностей. Статья будет интересна тем, кто собирается сделать такой карьерный шаг, а также новоиспечённым СТО, viceCTO, техдирам и прочим Е-level технарям. Прошу под кат.

Читать далее
Всего голосов 60: ↑58 и ↓2 +56
Комментарии 14

Танатоc, камни бесконечности микроэлектроники и ПО РФ и почти прогноз future в картинках

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

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

Всем понятно, что чипы Тайваня и др. сейчас рулят на самом высокотехнологичном уровне, поэтому вначале я расскажу про них в РФ. Чтобы не выдвигать своего мнения, ибо оно всегда спорно, рассуждая логически ("нет абсолютной истины"), я просто буду комментировать картинки, а вы сами всё поймёте, как хотите.
Методика этой статьи очень простая – с помощью официальной и абсолютно общедоступной базы данных Роспатента по адресу http://www1.fips.ru/iiss/ я занёс в три таблицы количества регистраций ТИМС (топологий интегральных микросхем) и программ для ЭВМ (далее ПрЭВМ) https://www1.fips.ru/to-applicants/software-and-databases/ по четырём последним годам в РФ и трём последним месяцам в каждом году, в том числе и в этом нашем. А, чтобы вы мне верили и проверили, если захотите, крайне быстро всё, я скриншоты прикреплю, там кросивое часто встречается и интересное, которое, кстати, можно не только показывать, но и через оставленные контакты правообладателей на сайте продавать и покупать. Мы просто хотели сделать техноброкерский стартап «Patentstore» лет 8 назад с одновременным обучением изобретательству, научно-техническому творчеству и основам патентования и именно это делать с готовой и зарождающейся ИС.

Читать далее
Всего голосов 12: ↑5 и ↓7 -2
Комментарии 35

Режиссер потратил 7 лет на создание собственной версии Star Trek

Время на прочтение 2 мин
Количество просмотров 31K
Видео продолжительностью почти в час выложено на YouTube



22 июля выходит Star Trek Beyond. В мире насчитывается несколько миллионов поклонников вселенной Star Trek, которые именуют себя Trekkies (или Trekkers). Все они вместе с любителями научной фантастики ждут выхода фильма на экраны. Кинокритики предрекают картине успех.

До похода в кинотеатр есть еще одна возможность насладиться миром Star Trek. 35-летний режиссер из Баварии по имени Юрген Кайзер (Jürgen Kaiser) потратил семь лет жизни на создание своей версии фильма. Его версия называется Star Trek Enterprise II: The Beginning of the End. Идея создать свой фильм по вселенной Star Trek пришла к режиссеру после завершения третьего сезона Star Trek: Enterprise. В этом сериале зрителю показывали самое начало освоения человечеством космических просторов Вселенной — в 2151 год, за 100 лет до событий основной сюжетной линии. В своем фильме режиссер показывает побочную сюжетную линию.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 46

Как мы в 2020 году изобретали процесс разработки, отладки и доставки в прод изменений базы данных

Время на прочтение 10 мин
Количество просмотров 15K
На дворе 2020 год и фоновым шумом вы уже привыкли слышать: «Кубернетес — это ответ!», «Микросервисы!», «Сервис меш!», «Сесурити полиси!». Все вокруг бегут в светлое будущее.

Подходы в том, что касается баз данных, в нашей компании более консервативны, чем в прикладных приложениях. Крутится база данных у нас не в кубернетесе, а на железе или в виртуалке. Для изменений базы данных процессинга платежных сервисов у нас есть устоявшийся процесс, который включает в себя множество автоматических проверок, большое ревью и релиз с участием DBA. Количество проверок и привлекаемых людей в этом случае негативно влияет на time-to-market. С другой стороны, он отлажен и позволяет надежно вносить изменения в продакшен, минимизируя вероятность что-то сломать. А если что-то сломалось, то нужные люди уже включены в процесс починки. Этот подход делает работу основного сервиса компании стабильнее.

Большинство новых реляционных баз данных для микросервисов мы заводим на PostgreSQL. Отлаженный процесс для Oracle хоть и надёжный, но несет с собой избыточную сложность для маленьких БД. Тащить тяжёлые процессы из прошлого в светлое будущее никто не хочет. Проработкой процесса для светлого будущего заранее никто не занялся. В итоге получили отсутствие стандарта и разножопицу.



Если хотите узнать, к каким проблемам это привело и как мы их порешали, — добро пожаловать под кат.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 34

Шпаргалка с командами Docker

Время на прочтение 5 мин
Количество просмотров 634K
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Читать дальше →
Всего голосов 46: ↑42 и ↓4 +38
Комментарии 15

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

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

Уильям Людвиг [William Ludwig] в 2010-м был 64-летним тюремным надзирателем на пенсии, и жил в Бриджтоне, Нью-Джерси, когда он получил почти безнадёжный прогноз в связи с раком. У Ракового центра имени Абрамсона в Пенсильванском университете закончились варианты химиотерапии, и Людвига исключили практически из всех клинических испытаний, поскольку у него было сразу три вида рака – лейкемия, лимфома и сквамозноклеточная карцинома (рак кожи). В данном позднее интервью учёные Карл Джун описал состояние Людвига как «практически мёртвый».

Элисон Лорен [Alison Loren], онколог из Пенсильвании, заботилась о Людвиге пять мучительных лет. Если химиотерапия сразу неэффективна, то каждый новый цикл даёт всё меньше результатов, и, по её словам, она становится всё более токсичной. В случае Людвига токсичные побочные эффекты сводили на нет любой прогресс в борьбе с раковыми клетками.

Химиотерапия подавляла иммунную систему Людвига, поскольку B-лимфоциты, клетки иммунной системы, были именно теми клетками, на которые была нацелена химиотерапия. Они были поражены раком, бесконтрольно распространявшимся в костном мозге. В его правом глазу разыгралась инфекция от старого вируса ветрянки. Рак стал мобильным, или, как говорят врачи, «подвижным», добираясь до самых дальних мест в его теле. Лорен считала, что рак кожи Людвига выглядел так, будто распространился через метастазы от его костей.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 131

BIM: как мы строим строителей на стройке

Время на прочтение 6 мин
Количество просмотров 77K
По нашей примерной оценке, основанной на 20-летней практике, на земляных работах можно «потерять» до 50-60 % бюджета. На железобетоне и отделке точно 30 %. На ошибках перезаказа при коллизиях стоимость инженерки увеличивается примерно на 10 %. Именно по этой простой причине, когда «злой заказчик» внедряет BIM-модель здания, со всех сторон начинаются дикие крики и стоны.

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


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

Что такое BIM-модель? Это трёхмерная модель здания, где все системы состыкованы и увязаны в одном едином плане. Поставили розетку в комнате — в общей смете тут же появилась новая розетка и соответствующий метраж кабеля. Погрешность такой модели по материалам — 2 %. На бумаге обычно берут запас 15 %, и излишки этого запаса отчаянно «теряются».

Давайте лучше покажу примеры, чем буду рассказывать.
Читать дальше →
Всего голосов 66: ↑65 и ↓1 +64
Комментарии 88

Kubernetes на голом железе за 10 минут

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


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


По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 32

Что за болезнь: рак. Скрининг и ранняя диагностика

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


Иллюстрации: Майкл Ковальски
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 4

Черты великого продакт-менеджера

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


Почему у одних людей ничего не получается, а другие доводят любое дело до конца? В чем разница между хорошими и выдающимися профессионалами? Где грань между деспотизмом и верой в результат? Ну и что объединяет прекрасных продакт-менеджеров в клуб настоящих профессионалов? Под катом прекрасный рассказ Лоуренса Рипшера.
Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 9

Moby/Docker в продакшене. История провала

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

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


Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.


В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.


Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!


У нас 12 докеризованных приложений, бегающих на проде прямо в момент написания этой заметки, размазанные на 31 хост на AWS (по одному приложению на хост, дальше объясню — почему).


Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.

Читать дальше →
Всего голосов 141: ↑132 и ↓9 +123
Комментарии 175

Как инди-игре обогнать Angry Birds?

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

После того, как телефоны стали умнее многих своих владельцев, селфи получили широкое распространение. Делать свои автопортреты в любом, даже самом неподходящем для этого месте, стало любимым занятием пользователей социальных сетей и, прежде всего, Instagram. Тогда мне и пришла идея сделать игру на основе этого тренда. Я и мои коллеги из студии давно занимались разработкой игр на заказ. Был период, когда команда чувствовала себя сильно уставшей от одного из долгосрочных проектов. Я решил отвлечь разработчиков и предложил взять небольшой тайм-аут, чтобы поработать над своим инди-продуктом без заказчиков и издателей — все сделать своими силами.
Читать дальше →
Всего голосов 63: ↑47 и ↓16 +31
Комментарии 90

PHP: Хранение сессий в защищённых куках

Время на прочтение 5 мин
Количество просмотров 26K
На некоторой стадии развития веб-проекта возникает одна из следующих ситуаций:

  • backend перестаёт помещаться на одном сервере и требуется хранилище сессий, общее для всех backend-серверов
  • по различным причинам перестаёт устраивать скорость работы встроенных файловых сессий

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

Однако, есть альтернатива этому подходу. Возможно безопасно и надёжно хранить данные сессии в браузерной куке у самого пользователя, если заверить данные сессии криптографической подписью. Если вдобавок к этому данные ещё и зашифровать, то тогда содержимое сессии не будет доступно пользователю. Главное достоинство этого способа хранения в том, что он не требует централизованной базы данных для сессий со всеми вытекающими из этого плюсами в виде надёжности, скорости и масштабирования.
Читать дальше →
Всего голосов 43: ↑37 и ↓6 +31
Комментарии 107

Простейший вывод звука с помощью библиотеки Audiere

Время на прочтение 7 мин
Количество просмотров 45K
Приветствую! Данная заметка ориентирована на начинающих программистов, самых, что ни на есть новичков. Она о простой библиотеке Audiere. Если вы когда-то хотели вывести звук просто и быстро, то Audiere вам скорее всего понравится!

Для начала расскажу немного о том, что это:

Audiere — это высокоуровневый аудио-API с открытым исходным кодом под лицензией LGPL. Его можно использовать во множестве языков, включая Java, C++, Python, Delphi и др. Разрешается использовать в коммерческих приложениях свободным образом, если исходный код не будет затронут (подробности в документации к библиотеке).
Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Комментарии 22

Генерация фиктивных данных с Mimesis: Часть I

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

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


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


  1. Сбор необходимой информации.
  2. Постобработка собранных данных.
  3. Программирования генераторов данных.

Эта непростая задача по-настоящему усложняется в тот момент, когда требуется сгенерировать не 10-15 пользователей, а 100-150 тысяч пользователей (или иного рода данные). В этой и двух последующих статьях мы постараемся обратить ваше внимание на инструмент, который в разы упрощает процесс генерации тестовых данных, начальной загрузки базы данных и тестирования в целом.

Читать дальше →
Всего голосов 46: ↑45 и ↓1 +44
Комментарии 40

Информация

В рейтинге
Не участвует
Откуда
Кокосовы (Килинг) о-ва
Дата рождения
Зарегистрирован
Активность