Блог

Пишем об архитектуре, разработке и процессах. Без воды — только практика из реальных проектов.

материалов: 83
HabrЯков Лило · Habr ↗
Hot Reload, который не заработал. Инкрементальная компиляция в браузере своими руками

Hot Reload, который не заработал. Инкрементальная компиляция в браузере своими руками

В прошлой статье я рассказывал, как мы делаем онлайн IDE для .NET — дизайн, компиляция и запуск приложений происходят прямо в браузере, без сервера. Проект живёт по адресу xaml.io. С тех пор мы много чего добавили, и в какой-то момент у нас стало получаться загружать в IDE довольно крупные .NET проекты — десятки XAML, сотни C# файлов, несколько референсных проектов и пакетов NuGet. Одна из главных возможностей — это

27 июля 2026 г.
HabrЯков Лило · Habr ↗
Онлайн IDE для .NET

Онлайн IDE для .NET

Обычно под .NET разрабатывают в Visual Studio, собирая и запуская приложения локально на компьютере. А что если IDE работала бы прямо в браузере? Как Figma, только для .NET приложений. Мы задались именно этой целью — сделать онлайн IDE для .NET. Сейчас в нашем инструменте уже работает: ✏️ Редактор UI на XAML (подмножество WPF) с drag-and-drop. ⚡ Компиляция C# и XAML полностью в браузере без участия сервера. 🖥️ Запус

30 сентября 2025 г.
HabrЯков Лило · Habr ↗
WPF приложения на Android, iPhone, iPad, Mac и Windows

WPF приложения на Android, iPhone, iPad, Mac и Windows

Уже более пяти лет мы занимаемся разработкой OpenSilver — open-source-фреймворка, который позволяет переносить приложения на базе WPF и Silverlight в современный веб. Проект стабильно развивается, активно используется в корпоративной среде, и недавно мы задумались о том, как расширить возможности наших пользователей и запустить существующие приложения ещё и на iOS и Android. Поскольку под капотом OpenSilver используе

12 мая 2025 г.
HabrЯков Лило · Habr ↗
WYSIWYG UI дизайнер для VS Code

WYSIWYG UI дизайнер для VS Code

Наш WYSIWYG UI XAML-редактор теперь доступен и в Visual Studio Code для OpenSilver-приложений. Карточка бургера на скриншоте полностью сделана через редактор. Расширение можно установить из Visual Studio Marketplace абсолютно бесплатно. Читать далее

21 января 2025 г.
HabrЯков Лило · Habr ↗
Новый AI UI дизайнер для «Silverlight» приложений

Новый AI UI дизайнер для «Silverlight» приложений

Мы занимаемся разработкой фреймворка OpenSilver — opensource наследника платформы Silverlight. В версии 3.0 мы добавили современный UI дизайнер в Visual Studio расширение и сделали веб-версию дизайнера. Читать далее

21 августа 2024 г.
новости3 мин чтения
cover_coin

Подросток взломал 4-ступенчатый шифр Агентства кибершпионажа

Портал ABC News Online в четверг, 1 сентября, опубликовал любопытную новость о том, что Австралийское Управление Связи (ASD) выпустило монету с секретным кодом в честь 75-летия Агентства кибербезопасности внешней разведки . Чем для нас интересно это событие? Забавным стечением об

7 сентября 2022 г.
it_books3 мин чтения
hunter_prev

“Проектирование и конструирование компиляторов”

Сегодня снимаем с полки нашей библиотеки интереснейшую книгу Робина Хантера “Проектирование и конструирование компиляторов” и рассказываем, зачем ее читать.

10 июля 2022 г.
it_books2 мин чтения
preview tanenbaum

"Распределенные системы" Таненбаума и ван Стеена

Сегодня гостями нашей книжной рубрики "IT-библиотека HWdTech LLC" становятся Эндрю Таненбаум и Мартин ван Стеен со своей книгой “Распределенные системы. Принципы и парадигмы”. Мы вам покажем не только первое издание этой книги, которое есть у нас в библиотеке, но и расскажем о по

23 ноября 2021 г.
HabrЯков Лило · Habr ↗
OpenSilver. Воскрешаем Silverlight

OpenSilver. Воскрешаем Silverlight

12 октября Майкрософт прекращает поддержку Silverlight. С одной стороны - ок, все равно никто им уже не пользуется. А с другой, выясняется, что есть много компаний, которые 10 лет назад написали свои внутренние продукты на Silverlight, и успешно все это время работают. А сейчас нет ни людей, знакомых с бизнес логикой этих приложений, ни времени/возможности/знаний все это переписать с нуля. Мы попытались бросить солом

4 октября 2021 г.
it_poker11 мин чтения
quartet preview

"Poker IT": правила игры и справочник

Перед вами правила нашей второй айтишной настолки и пояснения к картам.

30 августа 2021 г.
HWdTech2 мин чтения
prevbook

Читаем «Шаблоны интеграции корпоратив-ных приложений»

Начинаем знакомство с IT-библиотекой HWdTech LLC с книги, посвященной паттернам.

1 августа 2021 г.
микросервисная_архитектура5 мин чтения
speedimprovementPrev

Улучшение скорости отклика страниц в 10+ раз

Микросервисная архитектура значительно ускорила работу городского портала.

26 мая 2021 г.
cases5 мин чтения
LogoPackPrev

Как мы создали фирменный лого-пак

и облегчили жизнь себе и всем вам

25 мая 2021 г.
ai3 мин чтения
AIPrev

Искусственный интеллект для объявлений

Семантический анализ фразы на русском языке для извлечения поискового запроса.

25 мая 2021 г.
jsonb5 мин чтения
PgConfPreview

Об опыте применения jsonb в реальных проектах

Доклад Евгения Тюменцева на конференции PgConf.Russia 2016 (5 февраля 2016 / Москва, Известия Hall).

25 мая 2021 г.
программирование10 мин чтения
howwedoitPrev

Программирование бизнесу: как мы делаем ЭТО?

Как бизнес-задачи вывели программистов «из тени» и оказалось, что коммуникация — конек IT-сферы.

19 мая 2021 г.
cases5 мин чтения
NDAPrev

Сервис мониторинга строительного оборудования

Более 80% американских строительных компаний пользуются им в своей работе

19 мая 2021 г.
cases11 мин чтения
agropreview

UI/UX агронавигатора: как превратить трактор в космолет

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

13 мая 2021 г.
SOLID32 мин чтения
MathPrev

Зачем программисту нужно знать математику?

Доклад Евгения Тюменцева на конференции HappyDev lite (12 апреля 2015)

10 мая 2021 г.
математика5 мин чтения
AlgorPrev

"Зачем мне математика?!" на примере агронавигатора

А действительно - зачем??? Отвечаем на главный вопрос студентов IT-специальностей.

16 апреля 2021 г.
cybersecurity8 мин чтения
CyberSecPrev

Чеклист о кибербезопасности для начинающих разработчиков

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

15 апреля 2021 г.
desktop7 мин чтения
sciter

Sciter в действии

Здесь мы рассмотрим некоторые примеры использования движка при разработке интерфейсов для десктопных приложений.

29 марта 2021 г.
HabrЯков Лило · Habr ↗
Ahead-of-Time компиляция и Blazor

Ahead-of-Time компиляция и Blazor

В .NET 6 запланирована поддержка AOT компиляции для Blazor WebAssembly приложений. Давайте попробуем запустить в Preview 2 версии. Анонса и инструкций пока что нету. Поэтому и решено написать этот пост. Читать далее

22 марта 2021 г.
AMP-pages10 мин чтения
превью

Accelerated Mobile Pages

Как просто и быстро создать приложение, использующее AMP-страницы, с помощью Next.js.

19 марта 2021 г.
front-end10 мин чтения
previewrichtext

Rich Text Editors

Обзор популярных фреймворков для создания Rich Text Editors

11 марта 2021 г.
front-end4 мин чтения
SlateEditorPrev

Slate Editor

Вы слышали про такой фреймворк? Если нет, то сейчас мы это исправим.

2 марта 2021 г.
desktop3 мин чтения
sciterpreview

Sciter

Что это такое и зачем он нужен?

17 февраля 2021 г.
JWT_токен4 мин чтения
JWTtokenPrev

Вектор атаки на JWT токен

Яков Лило, CTO Hello World! Technologies, рассказывает о Json Web Token, безопасности и кибератаках. Все совпадения с реальностью случайны или подтасованы.

16 февраля 2021 г.
перевод7 мин чтения
FeaturesPrev

Фичи JavaScript, о которых вы должны знать

Перевели для вас статью о новой версии ECMAScript и предложениях, которые были реализованы в ней.

18 августа 2020 г.
ai7 мин чтения
TechTrendsPrev

Трендовые технологии 2020 года и нового десятилетия

ИИ, беспилотники, криптовалюта, расширенная реальность: что их ждет в ближайшие годы.

15 апреля 2020 г.
AngularJS7 мин чтения
BestPrev

Лучшие технологии JS для изучения в 2020 году

Знание каких фреймворков и технологий поможет вам получить хорошую работу в новом году и десятилетии.

9 апреля 2020 г.
HWdTech3 мин чтения
FirstWorkPrev

Первые впечатления от работы в IT

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

23 марта 2020 г.
cypress3 мин чтения
CypressPrev

Дегустация Cypress: как тестировали фреймворк для тестирования

Наш тестировщик Михаил Левашов о том, что такое Cypress, каковы его особенности а также о февральском обновлении платформы.

17 марта 2020 г.
css10 мин чтения
CSSGridPrev

Плитка Grid с автоподгонкой и min-max

Сегодня переводим полезный пост с gedd.ski, «Grid Tile Layouts with auto-fit and minmax», от разработчика Дейва Геддеса, основателя Mastery Games.

12 марта 2020 г.
HabrЯков Лило · Habr ↗
Вы не смотрите рекламу во время разработки? Непорядок

Вы не смотрите рекламу во время разработки? Непорядок

Дожили. Примерно такая реакция у меня была, когда на локальном проекте на localhost поверх всего вылезла реклама. Вот так вот: Так-то давно пора было. Что это я себе позволяю? Браузером пользуюсь, а рекламу не везде смотрю. Читать дальше →

23 февраля 2020 г.
AngularJS20 мин чтения
NinePrev

9 проектов, чтобы стать мастером front-end'а в 2020 году

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

13 февраля 2020 г.
HWdTech5 мин чтения
DailyRepPrev

Daily reports в IT: зачем внедрять и как упростить

Говорим о нашем видении того, почему daily reports крайне важны именно в IT, что они дают заказчику и разработчику и как упростить процесс создания отчетов

10 февраля 2020 г.
AngularJS7 мин чтения
AngularPrev

10 полезных фич Angular, которые вы, вероятно, не использовали

Возможно, вы написали уже много приложений на Angular и уверены, что все о нем знаете . Чтобы быть уверенным на 100% - читайте дальше!

3 февраля 2020 г.
open_source5 мин чтения
PullPrev

Наш вклад в Google, Chromium, React и др. репозитории

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

24 января 2020 г.
HabrЯков Лило · Habr ↗
Как мы делали настольную игру. Зачем и почему?

Как мы делали настольную игру. Зачем и почему?

Ты решил стать программистом чтобы разрабатывать игры? И вот ты разрабатываешь игры… настольные… Захотелось нам летом поиграть в какую-нибудь настолочку про IT. И не получилось найти ту, которая бы понравилась. А это значит, что надо сделать самим! Расскажу, что у нас получилось. Читать дальше →

14 января 2020 г.
ai10 мин чтения
IThypePrev

Криптовалюта и VR «перехайпованные» тренды 2019 года

Основатели и сотрудники стартапов рассказали, что они считают несправедливо переоцененными и недооцененными трендами в IT.

13 января 2020 г.
design7 мин чтения
2020Prev

2020: тренды UX/UI дизайна в новом году

Голосовой интерфейс, AR/VR, сторителлинг и многое другое.

7 января 2020 г.
Machine_Learning5 мин чтения
MLPrev

Как машинное обучение породило кризис научных исследований?

«Кризис воспроизводимости», неверные корреляции и другие подводные камни работы машин с данными.

30 декабря 2019 г.
games5 мин чтения
JSPrev

Подборка игр для изучения JS и веб-разработки

Бесплатные онлайн-игры со всей Сети, которые помогут быстро приобрести полезные навыки веб-разработки и освоиться с JavaScript.

23 декабря 2019 г.
front-end5 мин чтения
GamesPrev

Подборка онлайн-игр для изучения CSS

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

19 декабря 2019 г.
HWdTech3 мин чтения
HelloWordPrev

Правила игры Hello · Word

Подробные правила разработанной нами настольной игры!

17 декабря 2019 г.
front-end5 мин чтения
ReactPreview

React Conf 2019: ТОП-5 докладов (часть 2)

Крупнейшая конференция от разработчиков ReactJS в разрезе: самые интересные доклады, фишки, фичи и инструменты этого года.

9 декабря 2019 г.
ReactJS5 мин чтения
ReactPreview

React Conf 2019: ТОП-5 докладов (часть 1)

Крупнейшая конференция от разработчиков ReactJS в разрезе: самые интересные доклады, фишки, фичи и инструменты этого года.

4 декабря 2019 г.
HWdTech3 мин чтения
ChildrenPrev

Нужны ли «крошечные программисты»?

По этому поводу мы пообщались с Евгением Тюменцевым, CEO Hello World! Technologies вот о чем: стоит ли учить программированию детей? Это ведь так интересно! Так и хочется поделиться знаниями. Вот только надо ли…

14 ноября 2019 г.
it7 мин чтения
StressPrev

Стресс-собеседование и мотивация «назло»

Нужно ли унижать кандидатов и что это даст? Двойное интервью о спорных методах подбора персонала: «не останавливайтесь, даже если вам в лицо говорят «вы не программист».

27 сентября 2019 г.
internship7 мин чтения
Intern2Prev

Месяц IT-стажировки: говорим о самом главном

Сегодня ровно месяц как новая группа стажеров HWdTech с нами, и настало время подводить промежуточные итоги: что получается, что сложно и как дальше жить.

5 августа 2019 г.
blockchain7 мин чтения
ZKPPrev

Zero knowledge proof

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

1 августа 2019 г.
information_security4 мин чтения
MakeSignPrev

Make Sign: приложение для электронной цифровой подписи

Необычное задание на пост-стажировочный период, которое превратилось в интересный проект.

21 июня 2019 г.
internship7 мин чтения
Ex2Prev

Презентации дипломов: разбираем ошибки на примерах

Типичные ошибки, которые мы нашли в студенческих презентациях и предложили варианты исправления. Часть 2.

3 июня 2019 г.
internship7 мин чтения
ExPrev

Презентации дипломов: разбираем ошибки на примерах

Типичные ошибки, которые мы нашли в студенческих презентациях и предложили варианты исправления. Часть 1.

31 мая 2019 г.
humor5 мин чтения
ExamsPrev

«Смотри в березу!» или где находится Канада

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

10 мая 2019 г.
blockchain10 мин чтения
SolidityPrev

Невыносимая легкость разработки под блокчейн

Стоит ли учиться разработке смарт-контрактов? Правда ли, что там водятся легкие и бесконечные деньги? И кому они в итоге достанутся?

30 апреля 2019 г.
theory4 мин чтения
laptop-4932432 1920 2 (2) (4) (1)

Four problems of software development complexity (part 2)

Why do you have to lead the chaos? Is it possible to test a hundred lines of code forever? And why AI is the "atomic bomb"?

23 апреля 2019 г.
internship7 мин чтения
PresPrev

IT-стажерам и студентам: как сделать презентацию

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

15 апреля 2019 г.
it2 мин чтения
geometry-1044090 1280

Four problems of software development complexity

What's happen when development turns into a merry-go-round, how programmers put bricks and why you need to "run". Part 1.

9 апреля 2019 г.
it5 мин чтения
FluPrev

Антивирус: как бороться с эпидемией в офисе

Расскажем о том, как бороться с ОРВИ. Полезные советы от специалистов прилагаются!

8 апреля 2019 г.
internship7 мин чтения
WhoPrev

15 чистосердечных признаний из жизни IT-стажеров

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

25 марта 2019 г.
юнит_тесты18 мин чтения
5Qprev

5 вопросов, на которые должен ответить юнит-тест

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

20 марта 2019 г.
cases5 мин чтения
entrepreneur-startup-start-up-man-planing-business-3

Как студенты смогли в 10 000 раз сократить количество багов

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

27 февраля 2019 г.
analytics7 мин чтения
MorsPrev

Методы обнаружения разладки случайных процессов

От лампочек до теории вероятности.

21 февраля 2019 г.
cases5 мин чтения
FailPrev

История провала

Как мы сделали идеальный тайм-трекер, но наш стартап все равно прогорел.

14 февраля 2019 г.
internship5 мин чтения
EduPrev

Нужно ли программисту образование

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

25 января 2019 г.
training5 мин чтения
CatHatPrev

Котики в шляпах: выбираем фреймворк

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

17 января 2019 г.
cases7 мин чтения
TrollPrev

Как оценить эффективность труда интернет-тролля

В кейсе показано, как на основе статистического анализа данных, сделать оценку эффективности сотрудника с плохо формализуемым вкладом в результат

10 января 2019 г.
internship5 мин чтения
LearningCatsPrev

Котики в шляпах: начинаем решать задачу

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

20 декабря 2018 г.
internship10 мин чтения
EmailPrev

Как написать email о стажировке

Так, чтобы его заметили, открыли, прочитали, запомнили и дали ответ.

12 декабря 2018 г.
internship7 мин чтения
LearningStartPrev

FAQ для студентов, молодых разработчиков и будущих стажеров

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

6 декабря 2018 г.
internship10 мин чтения
CatcatPrev

Котики в шляпах: задача для начинающих программистов

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

3 декабря 2018 г.
ai5 мин чтения
laptop-4932432 1920 2 (2) (4) (1)

Четыре проблемы сложности разработки ПО (часть 2)

Зачем возглавлять бардак, как тестировать 100 строк кода целую вечность и почему ИИ - наша «атомная бомба».

27 ноября 2018 г.
computer_science5 мин чтения
ComplexPrev

Четыре проблемы сложности разработки ПО и где они обитают

Когда работа над проектом превращается в карусель, как программисты кладут кирпичи, и почему надо бежать. Часть 1.

26 ноября 2018 г.
cases10 мин чтения
designer

Автоматизация процессов дизайна c помощью Adobe

Как программная автоматизация работы в Photoshop и Illustrator дала +30% к производительности труда дизайнеров, а еще вывела некоторых менеджеров на чистую воду

16 ноября 2018 г.
ai8 мин чтения
CallMeAIPrev

Искусственный интеллект (AI) модерирует контент

Кейс: как искусственный интеллект (AI) и разумная автоматизация бизнес-процессов сократили время модерации контента с 24 часов до 30 секунд, а также где его применение обосновано, а где - может навредить

8 ноября 2018 г.
cases5 мин чтения
превью

Воровство клиентов: как простое веб-приложение может помочь

Быстрое по реализации и эффективное решение, которое пресекло воровство клиентов и промышленный шпионаж на производстве пивоварен. Детали решения ниже.

12 октября 2018 г.
HabrЯков Лило · Habr ↗
«Мониторинг производительности .NET-приложений: подходы и инструменты», — интервью с Диной Гольдштейн

«Мониторинг производительности .NET-приложений: подходы и инструменты», — интервью с Диной Гольдштейн

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

26 октября 2016 г.
HabrЯков Лило · Habr ↗
Рейтинг Elo в играх для двух игроков

Рейтинг Elo в играх для двух игроков

Раньше наш рабочий процесс прерывался из-за ряда неразрешенных вопросов: А кто из нас лучше всех играет в настольный футбол? С кем бы мне сейчас пойти поиграть? Кого надо уволить, потому что он не работает а только играет? Наш опыт решения данных вопросов с помощью системы рейтинга Elo будет рассмотрен в статье. А также ссылка на репозиторий и на сайт будут разбросаны по статье. Читать дальше →

2 сентября 2016 г.
HabrЯков Лило · Habr ↗
<article />

Как сделать онлайн просмотр документов

Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Micr

19 мая 2014 г.
HabrЯков Лило · Habr ↗
Apple App Store. Получаем ERN

Apple App Store. Получаем ERN

Перед загрузкой приложения на ревью в Apple App Store нам задают неожиданный вопрос, а не использует ли наше приложение криптографию? И хотя соблазн ответить «нет» и загрузить наконец-то очень велик, и кто-то тихо шепчет, что ты мог и забыть про https или вообще не знать, как он работает, но совесть советует разобраться и в этом. У меня много сил ушло, чтобы получить ERN(Encryption Registration approval from BIS), и

13 января 2014 г.
HabrЯков Лило · Habr ↗
<article />

Кроссплатформенный GUI на C# и веб-технологии

Самая первая спецификация продукта, частично устная, содержала требование – наличие кроссплатформенного(Windows, Linux, Mac) клиента под десктоп и облегченную версию мобильного(Windows, Android, iPhone). По возможности интерфейс должен быть максимально похожим на разных ОС. Благодаря Mono мы можем писать кроссплатформенные приложения, но вопрос с GUI остается открытым. Имеющиеся технологии под .Net(Windows Forms, WPF

3 декабря 2013 г.