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

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

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

System Design 101

Уровень сложностиСредний
Время на прочтение42 мин
Количество просмотров72K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


Возможно, немного другой формат шпаргалки покажется вам более удобным.


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии17

10 приёмов, чтобы получить быструю и качественную картинку в Midjourney

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

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

Из всех сетей генерации изображений мне больше всего понравился Midjourney - оптимальное качество на потраченное время. Я понимаю в самом Midjourney (не говоря про Stabble Diffusion) можно углубиться в детали - но я не дизайнер или AI artist, мои задачи прикладные.

У меня уже сгенерированно более 4000 изображений и я выделил 10 методов, которые позволяют достаточно быстро и качественно получить нужный мне контент.  Они могут использоваться как обложка к посту или лонгриду, или я чаще использую в презентации.
Надеюсь, эта статья сэкономит вам несколько часов!

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

Поговорим об оптимизирующих компиляторах. Сказ первый: SSA-форма

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

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

Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.

За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходимо начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.

Итак, поехали.

Погрузиться
Всего голосов 121: ↑119 и ↓2+117
Комментарии58

Как понять, что перед вами плохой разработчик

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

Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать

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

Читать далее
Всего голосов 301: ↑197 и ↓104+93
Комментарии402

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

Время на прочтение10 мин
Количество просмотров7.3K
А вы знали, что выражение «выгореть» использовал еще Шекспир в 17 веке? Гораздо позже, в 2019 году ВОЗ дала выгоранию следующее определение: «синдром, который осмысляется как результат хронического стресса в процессе работы, который не прорабатывается должным образом».

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

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

Спустя сорок лет я убеждаюсь в правоте его слов, читая на Hacker News комментарии разработчиков, описывающие их личный рабочий опыт и путь к выгоранию.
Читать дальше →
Всего голосов 11: ↑5 и ↓6-1
Комментарии4

OAuth 2.0 -> OAuth 2.1. Что дальше?

Время на прочтение11 мин
Количество просмотров15K
Архитекторы ничего не выдумывают. Они трансформируют реальность.

Алваро Сиза Виэйра

Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно.
Но, как обычно, на практике все иначе. В работе в реальности приходится сталкиваться с небезопасными реализациями процессов авторизации и аутентификации. Огорчает, что по статистике Россия занимает непочетное первое место по своей уязвимости.
Почему же так получается? Предлагаю вместе со мной и авторами драфта OAuth 2.1 от июля 2020 года сделать небольшую работу над ошибками. Это и будет отражением, на мой взгляд, того, по какому пути развития идет фреймворк OAuth 2.

Также спешу предупредить строгого читателя, что в данной статье я затрону только вопросы и сложности, связанные с реализациями по OAuth 2.0. Я не ставлю цели обозначить все проблемы с безопасностью в России в ИТ, и почему этот вопрос требует особого пристального внимания сегодня.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии23

Фирма «1С» приглашает вас принять участие в нашей первой конференции для системных разработчиков

Время на прочтение2 мин
Количество просмотров7K
Всем добрый день!

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

Наверное, вы сейчас думаете «да 1С это ж бухгалтерия, какая системная разработка?»

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

Например, знаете ли Вы, что среди технологий 1С есть высоконагруженный кластер, с
продвинутой балансировкой нагрузки и обеспечением отказоустойчивости?

Или зачем нам вдруг понадобилось использовать NoSQL DB при разработке собственной IDE? (Да-да, у нас есть собственная IDE, да не одна, а целых три!)
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии22

Враги свободы

Время на прочтение3 мин
Количество просмотров60K
Многие из нас недавно прочли нашумевшую статью про WeChat, где браузер для чебурнета, состоящего из одного правительственного хоста, преподносился как нечто прекрасное. Во время дискуссии в комментариях, идея государственной цензуры всех пересылаемых сообщений была встречена с неодобрением. Автор оригинальной статьи искренне возмущен тем что большинство использовало систему кармы, чтобы остановить написание статей про прелести тоталитарного контроля всей страны. В ответ, ему было предложено задуматься над принципом
Никакой свободы врагам свободы
Который, однако, не всеми был понят в историческом контексте. Поэтому хотелось бы дать развернутое определение в ответ на статью с критикой этого принципа, и предоставить сообществу решить, так ли уж он плох.
Читать дальше →
Всего голосов 259: ↑213 и ↓46+167
Комментарии1942

Excelsior JET прекращает разработку своего AOT-компилятора после 18 лет работы

Время на прочтение1 мин
Количество просмотров20K
Те, кто следит, что происходит с платформой Java, вероятно, в теме, что есть очень интересный AOT-компилятор для Java, разработанный российской компанией из Новосибирска. Это один из тех проектов, которыми можно гордиться.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии39

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах

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

О нас


В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия.

Вступление


В качестве системы сборки Java-приложений чаще всего мы используем maven, и в этой небольшой статье хотели бы рассказать об одной из проблем, с которой пришлось столкнуться в процессе организации разработки, и о подходе, позволившем эту проблему преодолеть.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии4

15 способов превратить мозговой штурм в результат «огонь»

Время на прочтение8 мин
Количество просмотров58K
«Талант выигрывает игры, а команда чемпионаты». Так однажды сказал Майкл Джордан и оказался прав. Любое успешное решение, будь то выигранный чемпионат или релиз нового продукта в IT команде, достигается усилиями каждого отдельного человека. С чего начинается командный путь к успеху?

image
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Что действительно случилось с Vista: инсайдерская ретроспектива

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

Традиционно группа разработчиков Windows подписывает постер (в данном случае изображение DVD) с выпуском новой версии Windows. Ко времени окончания вечеринки по поводу релиза на нём будут сотни или тысячи подписей

«Опыт — это то, что ты получаешь только после того, как он тебе понадобится» — Стивен Райт

Мне понравился содержательный блог Терри Кроули («Что действительно случилось с Vista»). Терри работал в группе Office и проделал фантастическую работу, описывая сложные козни вокруг Windows Vista и связаного, но заброшенного проекта Longhorn — с точки зрения внешнего наблюдателя.

Он верно подметил многие из проблем, которые преследовали проект, и я не хочу повторять о них снова. Я только подумал, что будет честно изложить инсайдерский взгляд на те же события. Не рассчитываю на такое же красноречивое или исчерпывающее изложение, как у Терри, но надеюсь пролить некоторый свет на то, что пошло не так. Прошло десять лет с момента выхода первой версии Windows Vista, но эти уроки сейчас кажутся актуальными как никогда.
Читать дальше →
Всего голосов 120: ↑119 и ↓1+118
Комментарии169

Как мы в 1С: Предприятии работаем с моделями данных (или «Почему мы не работаем с таблицами?»)

Время на прочтение10 мин
Количество просмотров35K
В этой статье мы хотим рассказать о том, какая модель работы с данными выбрана в платформе 1С:Предприятия и почему.

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

Здесь (в этой статье) мы говорим не о техническом аспекте хранения и манипулирования данными, а об описании данных как способе проектирования приложения. Почему же данные так важны для бизнес-приложений?
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии59

История одного приложения: мобильное «1С: Управление нашей фирмой»

Время на прочтение9 мин
Количество просмотров23K
На примере мобильного приложения «1С:Управление нашей фирмой» (сокращенно УНФ) я хочу показать эволюцию мобильного бизнес-приложения от его возникновения и выхода самой первой версии до сегодняшнего дня. Сейчас у этого приложения более 220 000 скачиваний; приложение бесплатное, но в нем есть платные опции (реализованные через встроенные покупки).

image
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии12

Про multitenancy

Время на прочтение6 мин
Количество просмотров15K
К сожалению, у этого термина нет хорошего русскоязычного аналога. «Википедия» дает перевод «мультиарендность, множественная аренда». Иногда это называют «множественным владением». Эти термины могут несколько путать, так как предмет не связан по сути ни с арендой, ни с владением. Это вопрос именно архитектуры программного обеспечения и организации его эксплуатации. Причем последнее не менее важно.

Мы начали формировать наше понимание multitenancy одновременно с тем, как начали проектировать подход к облачной (сервисной) модели работы «1С:Предприятия». Это было несколько лет назад. И с тех пор наше понимание постоянно расширяется. Мы постоянно обнаруживаем у этого предмета все новые и новые аспекты (плюсы, минусы, сложности, особенности и т.п.).

image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии21

Eclipse как технологическая платформа для 1C:Enterprise Development Tools

Время на прочтение17 мин
Количество просмотров22K
Наверное, Eclipse давно уже не нуждается в особом представлении. Многие знакомы с Eclipse благодаря Eclipse Java development tools (JDT). Именно эта популярная open-source Java IDE ассоциируется у большинства разработчиков со словом “Eclipse”. Однако Eclipse – это и расширяемая платформа для интеграции средств разработки (Eclipse Platform), и целый ряд IDE, построенных на ее основе, в том числе JDT. Eclipse – это и Eclipse Project, проект верхнего уровня, координирующий разработку Eclipse Platform и JDT, и Eclipse SDK – поставляемый результат этой разработки. Наконец, Eclipse – это open-source Foundation с огромным сообществом проектов, далеко не все из которых написаны на Java или имеют отношение к средствам разработки (например, проекты Eclipse IoT и Eclipse Science). Мир Eclipse очень многообразен.

В данной статье, обзорной по своему характеру, мы попробуем рассмотреть некоторые основы архитектуры Eclipse как платформы для построения интегрированных средств разработки и дать начальное представление о компонентах Eclipse, образующих фундамент технологической платформы для «нового Конфигуратора» 1C: Предприятие, 1C:Enterprise Development Tools. Разумеется, такое рассмотрение неизбежно будет во многом поверхностным и довольно ограниченным, в том числе и потому, что мы ориентируемся не только на Eclipse-разработчиков в качестве целевой аудитории. Впрочем, надеемся, что даже опытные разработчики Eclipse смогут найти в статье интересную для себя информацию. Например, мы расскажем об одном из «секретов Eclipse», относительно новом и малоизвестном пока проекте Eclipse Handly, который был основан и поддерживается фирмой 1C.
image
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии5

Навигатор по корпоративному софту: выбор есть всегда

Время на прочтение14 мин
Количество просмотров26K
Выбор-то всегда есть, но его трудно сделать, когда перед тобой множество схожих вещей, критериев отбора и требований. Нужен навигатор, который поможет сориентироваться в многообразии вариантов и принять свободное разумное решение.

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


Яндекс.Картинки
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии29

Кастомизации в 1С

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

О кастомизациях вообще


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

image
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии68

Спроси backend-разработчиков Badoo. Часть 1. Платформа

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


Нам очень нравится формат AMA (ask me anything) на Reddit, когда кто-нибудь (в нашем случае – команда разработчиков) приходит в сабреддит AMA и говорит, что готов отвечать на заданные вопросы. Из самых запоминающихся сессий Ask Me Anything, например, команда инженеров Space X, или инженеры из Google, и даже действующий президент США Барак Обама четыре года назад отвечал на вопросы на Реддите. Недавно наша Android-команда проводила AMA и в онлайн-режиме отвечала на вопросы разработчиков.

Но в России нет своего Реддита. Зато есть свой Хабр. Поэтому мы решили прийти с форматом «задай нам вопрос» сюда. И не с пустыми руками, как велят правила AMA. Чтобы вам было проще понять тему, мы выбрали одну из наших команд – «Платформу» – и попросили ребят рассказать, чем они занимаются, на чём программируют и чего добились за время существования команды. И подвели небольшие итоги уходящего 2016 года. Поехали!

Оглавление


1. Чем занимается «Платформа»
2. Сервисы: Pinba, SoftMocks и другие
3. Системное программирование. Как мы начали использовать Go и к чему это привело
4. Фотографии
5. Скриптовое облако
6. LSD: Live Streaming Daemon
7. Cassandra Time Series: что это и как работает
8. Badoo AMA: задай вопрос разработчикам «Платформы»

Пруф, что это действительно мы.
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии69

Эффективное хранение: как мы из 50 Пб сделали 32 Пб

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

Видео доклада




Текстовая Версия


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


Индексы и тела писем составляют 15 % объёма, файлы — 85 %. Место для оптимизаций надо искать в файлах (аттачах в письмах). На тот момент у нас не была реализована дедупликация файлов; по нашим оценкам, она может дать экономию в 36 % всего объёма почты: многим пользователям приходят одинаковые письма (рассылки социальных сетей с картинками, магазинов с прайсами и т.д.). В этом посте я расскажу про реализацию такой системы, сделанной под руководством PSIAlt.
Всего голосов 87: ↑84 и ↓3+81
Комментарии88

Информация

В рейтинге
Не участвует
Откуда
Нидерланды
Зарегистрирован
Активность