Как стать автором
Обновить
32
0
Alex Shkor @AlexShkor

Architect

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

Architecture as Code: реализуем подход Саймона Брауна

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

Если вы знакомы с подходом к документированию, предложенным Саймоном Брауном, вы могли заинтересоваться им, но, возможно, задавались вопросом о его реализации. Этот репозиторий заполняет пробел, представляя конкретный шаблон реализации подхода, который состоящего из:


  1. Модели архитектуры программного обеспечения как код, построенные с использованием Structurizr Lite
  2. Документация, созданная с помощью шаблона Arc42
  3. Журнал решений, созданный с помощью ADR Tools

Предполагается хранение этой документации в репозитории и работа с ней так же, как и с кодом.


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

Как написать лучший пост на Хабре. 7 ответов, 7 советов

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

1-го января в 6 утра воскресенья мне пришла мысль поделиться с Хабра-сообществом о том, как писать статьи на Хабр, чтобы они попадали в Лучшее. За сутки, за неделю, месяц, и если вы сможете взломать 3000 паролей или сделать комикс в духе Фриланс vs. Офис, то и в лучшее за все время!


Кто я такой чтобы не пить советовать? — Спросите вы. Не вдаваясь в фаллометрию, я просто люблю писать про IT, а зарабатываю на жизнь разработкой на .NET. За что Microsoft (хотя не только за это), выдал мне ачивку MVP и это мотивирует писать дальше.


А официально, началось все с Хабрахабра в 2011-ом году. Когда я, задолбавшийся разбирать индусские С++-вермишелины, отрапортовал в песочницу пост про избыточность С++. При этом не сильно рассчитывая на фидбек или инвайт, а что называется — просто выговориться. Каково было мое удивление, когда через пару дней мне прилетел не один, а 3 инвайта. Сам пост взлетел в топ Хабра получив 275 плюсов и висит в “С++ / Лучшее” до сих пор.


Так я встал на путь любительского IT-блоггерства. Потом были попытки создать свои тематические блоги про мобильную разработку, стартапы и IT-бизнес. Но времени постоянно постить и PR-ить блог не было, соответственно и трафика тоже полтора человека в день. Поэтому продолжал постить туда, где уже есть аудитория. Был посты на Цукерберг Позвонит (VC.ru), AIN.ua, Geektimes.ru, где-то еще писал, как пить дать. В  общей сложности у меня более 50-ти публикаций на тему IT.


Поэтому считаю уполномоченным расшарить советы, которые помогут вам писать качественный контент и получать бóльший фидбек от читателей. Будь то рейтинг, карма, избранное и просмотры. И как итог: ↑реальная карма, ↑общий вклад в IT-сообщество, ↑популярность, ↑авторитет, ↑трафик на ваш сайт.

Читать дальше →
Всего голосов 99: ↑76 и ↓23+53
Комментарии28

Доступно о криптографии на эллиптических кривых

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


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Комментарии72

Руководство по созданию стартапов, часть 1: почему не нужно затевать стартап

Время на прочтение6 мин
Количество просмотров45K
Данное руководство – серия считающихся классическими постов блога человека с ником pmarca, а в жизни – Марка Андреессена, создателя браузера Mozaic, из которого вырос Netscape, а затем и Mozilla.
Ссылки специально даются на старые версии сайтов, современные статьям, сохранённые в интернет-архиве.


В этой серии постов я поделюсь с вами моими знаниями и опытом по созданию высокотехнологичных стартапов.

Мой опыт в данной области собран при работе в трёх компаниях, в которых я был со-основателем: Netscape, продана America Online в 1998 за $4.2 миллиарда; Opsware (бывш. Loudcloud), софтовая компания с капитализацией порядка $1 миллиарда; Ning, интернет-компания, предоставляющая платформу для социальных сетей.

В общем и целом, мне повезло с момента прибытия в Кремниевую долину в 1994 году поучаствовать в работе порядка 40-50 стартапов, при этом участие было достаточно глубоким, чтобы я знал, о чём говорю. Я был членом совета директоров, бизнес-ангелом, советником, другом многих основателей, и венчурным инвестором.

Так что я буду говорить не только о тех вещах, которые относятся к моим компаниям – скорее всего это будут истории из жизни различных стартапов, в судьбе которых я принимал непосредственное участие.
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии13

Как устроен AADHAAR — самая большая биометрическая система в мире

Время на прочтение6 мин
Количество просмотров14K
Индийский проект Aadhaar – крупнейшая биометрическая система в мире, в которой уже зарегистрированы более 1,1 миллиарда пользователей. В предыдущей статье я рассказал об этапах развития проекта, теперь перейду к тому, как система устроена.


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

Как мы оптимизировали Twitter Lite

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

Twitter Lite и высокопроизводительные прогрессивные веб-приложения на React




Взгляд на то, как удаляли обычные и необычные узкие места в производительности при создании одного из крупнейших в мире прогрессивных веб-приложений (PWA) на React.js — Twitter Lite

Создание быстрого веб-приложения требует многих циклов измерений, куда тратится время. Нужно понять, почему это происходит, и применить потенциальные исправления. К сожалению, не бывает одного простого решения. Производительность — это бесконечная игра, где мы ищем и измеряем области для улучшения. В Twitter Lite сделано много маленьких улучшений в разных сферах: от первоначального времени загрузки до рендеринга компонентов React (и предотвращения повторного рендеринга), загрузки изображений и много другого. Большинство изменений небольшие, но они складываются, и в конечном результате мы получили одно из самых больших и быстрых прогрессивных веб-приложений.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии10

5 худших приемов отечественного дизайна из 90-х

Время на прочтение2 мин
Количество просмотров58K
В девяностые, когда стали доступны первые компьютеры, каждый мог стать дизайнером и сделать вывеску для своего ларька.
К нам в рубрику #logomachine_help присылают самые разные логотипы, но от многих по-прежнему веет тем самым любительским дизайном из 90-х. Мы собрали самые распространенные проблемы в 5 худших приемов, которых лучше избегать, если ты не возишь щебень на самосвале.

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

Похоже, я не предприниматель

Время на прочтение7 мин
Количество просмотров46K
Для того, чтобы это понять, мне потребовалось четыре миллиона рублей (половина из которых — мои) и четыре года.

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

В этой статье я хотел бы

— поделиться сделанными выводами
— порекомендовать проект, если вы хотите присоединиться к нему в качестве разработчика/инвестора
— выложить техническую документацию, если вы захотите сделать форк

image
Всего голосов 167: ↑164 и ↓3+161
Комментарии168

Квантовые шахматы

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

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


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


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

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

В Делавере предложен законопроект, легализующий корпоративное применение блокчейна

Время на прочтение2 мин
Количество просмотров4.1K
Использовать блокчейн как базу данных для различных целей пробуют уже многие; но одно дело — применение его в частных целях, и совсем другое — взаимодействие с государственными органами.


Корпоративная бюрократия станет чуть-чуть технологичнее

Большой бизнес в США достаточно зарегулирован, и к хранению корпоративных данных тоже предъявляются особые требования. Штат Делавер может стать первым американским штатом, в котором власти будут признавать данные, которые хранятся с использованием блокчейна.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии5

Разработка транзакционных микросервисов с помощью Агрегатов, Event Sourcing и CQRS (Часть 2)

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


Это завершение переводной статьи о разработке транзакционных приложений с использованием микросервисной архитектуры. Начало.

В первой части статьи мы говорили, что основным препятствием при использовании микросервисной архитектуры является то, что модели предметной области (domain model), транзакции и запросы удивительно устойчивы к разделению по функциональному признаку. Было показано, что решение заключается в реализации бизнес-логики каждого сервиса в виде набора DDD-агрегатов. Каждая транзакция обновляет или создает один единственный агрегат. События используются для поддержания целостности данных между агрегатами (и сервисами).

Во второй части статьи мы увидим, что ключевой задачей при использовании событий является атомарное изменение состояния агрегата и одновременная публикация события. Посмотрим, как решить эту проблему с помощью Event Sourcing — используя событийно-ориентированный подход к проектированию бизнес-логики и системы сохранения состояния. После этого опишем, как микросервисная архитектура затрудняет реализацию запросов к базе данных, и как подход, называемый Command Query Responsibility Segregation (CQRS), помогает реализовывать масштабируемые и производительные запросы.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии36

Разработка транзакционных микросервисов с помощью агрегатов, Event Sourcing и CQRS (Часть 1)

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

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

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

Однако микросервисы являются не таким уж простым и универсальным решением. В частности, модели предметной области, транзакции и запросы удивительно устойчивы к разделению по функциональному признаку. В результате разработка транзакционных бизнес-приложений с использованием микросервисной архитектуры является довольно сложной задачей. В этой статье мы рассмотрим способ разработки микросервисов, при котором эти проблемы решаются с помощью паттерна проектирования на основе предметной области (Domain Driven Design), Event Sourcing и CQRS.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии10

Юрист, ставший кошмаром компании DuPont

Время на прочтение27 мин
Количество просмотров396K
Роб Билот работал корпоративным адвокатом восемь лет. Затем он взялся за судебный иск, связанный с окружающей средой, перевернувший всю его карьеру – и вскрыл бесстыдную историю химического загрязнения, длившуюся десятилетиями.

image

Всего лишь за несколько месяцев до того, как стать партнёром в юридической фирме Taft Stettinius & Hollister, Роб Билот ответил на телефонный звонок от фермера, занимавшегося разведением скота. Фермер Уилбур Тенант [Wilbur Tennant] из Паркерсбурга в Западной Виргинии рассказал, что его коровы дохнут. Он решил, что виной тому компания-химический гигант DuPont, до недавнего времени хозяйничавшая на участке в Паркесбурге, превышающем Пентагон по площади в 35 раз. Тенант пытался заручиться помощью местных властей, но у DuPont весь город был в кармане. Его просьбы с презрением отвергли не только юристы Паркерсбурга, но и его политики, журналисты, доктора и ветеринары. Раздосадованный фермер говорил с сильным акцентом, выдававшим в нём жителя региона Апалачиа. Билот пытался понять, что говорит фермер. Он, возможно, бросил бы трубку, не упомяни фермер имени бабушки Билота, Альмы Холланд Уайт.
Всего голосов 119: ↑116 и ↓3+113
Комментарии147

50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

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


Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Читать дальше →
Всего голосов 80: ↑76 и ↓4+72
Комментарии270

Как запустить ClickHouse своими силами и выиграть джекпот

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

Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


Clickhouse-client


В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


Всего голосов 59: ↑59 и ↓0+59
Комментарии50

Как я стала дизайнером за шесть месяцев

Время на прочтение4 мин
Количество просмотров306K
Я не заканчивала дизайнерских курсов и не училась дизайну в институте, но мне удалось пройти свой собственный курс обучения за 6 месяцев, замечу, что в процессе обучения я параллельно занималась полный день своей основной работой. Хотя я не думала, что уже готова устраиваться на новую работу дизайнером, все же мне сильно повезло и удалось найти неплохое место.
Читать дальше →
Всего голосов 90: ↑76 и ↓14+62
Комментарии50

Я техлид. Что делать?

Время на прочтение13 мин
Количество просмотров43K
Больше года я занимаю должность технического лидера в своей компании, и хочется поделиться наработками по теме. Имеет смысл уточнить: я веду отдел iOS-разработки из 10 человек в компании-аутсорсере. В моём случае должность подразумевает оптимизацию работы отдела, распределение задач между разработчиками и активности, связанные с программированием. Расскажу немного о своём опыте, наработках и умозаключениях. Статья может быть полезна прежде всего новичкам на аналогичной должности, либо тем, кто на неё метит. Какие-то практики и принципы могут быть переносимы на обычную разработку, на другие платформы или даже другие специальности.
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии30

Блокчейн ≠ Криптовалюта. Блокчейн > Криптовалюта

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

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


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

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

Эффективное использование Github

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

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

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


Содержание



Читать дальше →
Всего голосов 149: ↑148 и ↓1+147
Комментарии38

Обзор децентрализованных технологий. Часть 1

Время на прочтение11 мин
Количество просмотров86K
Bitcoin положил основу для создания систем нового типа, принципиально новых децентрализованных сервисов, которые призваны решать различные проблемы с помощью революционной технологии Blockchain. В Рунете встречаются отдельные статьи и заметки по этой теме, но весьма разрозненно, на Хабре так же уже были отдельные публикации и упоминания на эту тему, но мы решил, что будет полезно создать обзорную серию статей и коротко осветить самые интересные проекты из этой области.

Blockchain


Блокчейны – технология распределённых вычислениях и общем консенсусе пользователей, созданная таинственным Сатоши Накамото. В ней отсутствует центральное управление, а для верификации транзакций используются P2P-сети, кодификации и криптография. Более того, транзакциями можно управлять при помощи программируемых контрактов/договоров. В блокчейне Биткоина любые транзакции не считаются легитимными (подтверждёнными), пока информация о них не будет сгруппирована в специальные структуры — блоки. Структура и информация в блоках подчиняется заданным правилам и её можно быстро проверить. Каждый блок всегда содержит информацию об одном предыдущем блоке. Это позволяет все существующие блоки выстроить в одну цепочку, которая представляет собой распределённую базу данных и содержит информацию о всех совершённых когда-либо операциях с bitcoin.

Bitcoin – это первое и самое успешное применение технологии блокчейнов, но есть и многие, многие другие криптовалюты, известные как альткоины. Более того, есть много примеров того, как новые блокчейны используются не только для криптовалютных целей – Ethereum, Ripple и Storj.io, о них мы сегодня и поговорим в первой части нашего цикла статей про децентрализованные сервисы. В свете последних событий, целью статьи является также показать, что кролики это не только ценный мех Bitcoin это не только платежная система, а новая революционная технология, которая открывает целый ряд возможностей для построения принципиально новых программных продуктов.

Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность