Открыть список
Как стать автором
Обновить
-19
Карма
0.1
Рейтинг
Илья @Arbane

Программист, руководитель

  • Публикации
  • Комментарии

Микрофронтенды и виджеты в 2021-м. Доклад Яндекса

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

— Всем привет! Меня зовут Леша. Я хочу с вами сегодня обсудить немного «перехайпленную» тему — микрофронтенды.
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Просмотры3.2K
Комментарии 12

Невидимые убийцы в воздухе: как продлить себе жизнь, контролируя уровень чистого воздуха и PM₂,₅

Блог компании МаклаудНаучно-популярноеЗдоровье
Перевод


О чем вы беспокоитесь больше: о физических упражнениях, употреблении овощей или о воздухе, которым вы дышите?

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

Давайте посмотрим на это с разумной стороны: возьмем четыре самые большие страны мира и сравним, сколько людей умерло по тем или иным причинам в 2019 году.

image

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

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

Образ жизни
Быть викингом стоит 4 года жизни.
Жить в Дели стоит 3 года жизни.
Постоянно ездить на поезде из Ньюарка в Нью-Йорк стоит 6 месяцев жизни
Проживание в средней части США стоит 3 месяца жизни
(Вдыхать дым от чьего-то вейпа — около 0?)

Отдельно взятое событие
Если вы жили рядом с лесными пожарами на западном побережье США 2020 года, то это стоило вам 2,4 дня жизни.
Разжечь дома по-настоящему дымный огонь стоит 1 день жизни
Жечь конусное благовоние — 2,3 часа жизни
Одну ночь использовать ультразвуковой увлажнитель воздуха — 50 минут жизни
Жарить рыбу при закрытых окнах — 45 минут жизни
Жечь благовония-палочки — 27 минут жизни
Использование лака для волос — 14 минут жизни
Выкурить одну сигарету — 11 минут жизни
Задуть свечу перед сном — 10 минут жизни
Читать дальше →
Всего голосов 52: ↑43 и ↓9 +34
Просмотры12.3K
Комментарии 52

Почему в Visual Studio стек вызовов асинхронного кода иногда перевёрнут?

Блог компании SkillFactoryПрограммирование.NETVisual StudioОтладка
Перевод

Вместе с моим коллегой Евгением мы потратили много времени. Приложение обрабатывает тысячи запросов в асинхронном конвейере, полном async/await. Во время нашего исследования мы получили странные вызовы, они выглядели как бы “перевернутыми”. Специально к старту нового потока курса по разработке на C#, рассказываем, почему вызовы могут оказаться перевёрнутыми даже в Visual Studio.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры4.4K
Комментарии 2

Еще не используешь SVG фавиконки?

Разработка веб-сайтовCSSПрограммированиеСовершенный кодHTML
Перевод

Тебе нужно использовать SVG фавиконки. Они поддерживаются во всех современных браузерах.

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

Читать!
Всего голосов 26: ↑23 и ↓3 +20
Просмотры6.7K
Комментарии 17

Оптические иллюзии: Стрелочка, которая всегда права

Блог компании МаклаудОбработка изображенийМатематикаНаучно-популярноеМозг
image

Kokichi Sugihara — японский математик и художник, мастер по созданию трехмерных оптических иллюзий. Постоянный победитель во всемирном конкурсе оптических иллюзий: первое место — в 2010, 2013, 2018 и 2020 году, второе место — в 2015 и 2016 году.

Его интерес к иллюзиям проистекает из его исследований в 1980-х годах по автоматизации анализа рисования перспективы, которые он опубликовал в книге MIT Press 1986 года «Machine Interpretation of Line Drawings». Когда он попросил свою компьютерную систему интерпретировать невозможные объекты, такие как в картинах Эшера, он обнаружил, что они могут быть интерпретированы как рисунки реальных объектов неожиданной формы.

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

Под катом — самые интересные работы Kokichi Sugihara, его лекции и файлы для распечатывания на 3д-принтере невозможных объектов.
Читать дальше →
Всего голосов 63: ↑61 и ↓2 +59
Просмотры29.1K
Комментарии 27

Подключение Keycloak к Spring Boot приложению

Блог компании ReksoftJava

Привет Хабр!

Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и предлагают использовать вместо него свободные или платные аналоги, в частности keycloak. В этом посте мы хотели бы поделится различными вариантами подключения keycloak к приложениям spring-boot.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры3.3K
Комментарии 10

Собеседование в Яндекс: театр абсурда :/

PythonУправление персоналомКарьера в IT-индустрии

Привет, хабр!

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

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

Как вы думаете, что делают рекрутеры, когда видят "Alexandr, NOT OPEN FOR WORK"? Правильно, пишут "Алексей, рассматриваете вариант работать в X?" Я обычно игнорирую это, но тут мне предложили попытать счастья с Яндекс.Лавкой, и я не смог пройти мимо - интересно было, смогу ли я устроиться куда-нибудь, когда введут великий российский файерволл. К тому же за последние 3 года я проходил только два интервью, и мне показалось, что я не в теме, что нынче требуется индустрии. Блин, я оказался и вправду не в теме. И вы, скорей всего, тоже - об этом и статья.

Читать далее
Всего голосов 664: ↑637 и ↓27 +610
Просмотры250.6K
Комментарии 1253

Русские хакерши: разговор с Алисой Esage Шевченко

Блог компании RUVDS.comИнформационная безопасностьКарьера в IT-индустрииНаучно-популярное
image

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

В список вошли несколько известных хакеров, а также Федеральная служба безопасности (ФСБ) и Главное разведывательное управление (ГРУ). Также в списке значилась менее известная организация, вызывающая у многих недоумение: ZOR Security. Компания была основана Алисой Шевченко, которая несколько лет работала экспертом по вирусной аналитике в «Лаборатории Касперского» и увлекалась созданием сообщества для хакеров и компьютерных фанатов. Министерство внутренней безопасности США также обратило внимание на ее помощь Schneider Electric в поиске уязвимостей в программном обеспечении.

Согласно заявлениям Министерства, компания Шевченко сотрудничала с ГРУ, которое, как утверждается, стояло за взломом Национального комитета Демократической партии и других политических организаций. Шевченко, также известная как Алиса Esage, сказала, что власти США ошиблись и что она уже закрыла свою компанию. В настоящее время она занимается независимыми исследованиями и является основателем проекта Zero-Day Engineering, в котором люди делятся техническими знаниями и проводят тренинги по исследованию уязвимостей программного обеспечения.

Недавно Шевченко поговорила с экспертом по киберугрозам Recorded Future Дмитрием Смилянцом о событиях 2016 года, своих любимых уязвимостях и о том, каково быть хакером в России. Мы взяли из интервью главное.

Дмитрий Смилянец: Как ты отреагировала, когда узнала, что правительство США ввело санкции в отношении твоей компании ZOR Security?
Читать дальше →
Всего голосов 73: ↑45 и ↓28 +17
Просмотры17.3K
Комментарии 85

Как мы делали поддержку виджетов для приложений в МоемСкладе

Блог компании МойСкладПрограммированиеАнализ и проектирование системИнтерфейсыОблачные сервисы

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

Читать далее →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры1.7K
Комментарии 2

Посмотрим на девочек? Или ml.net в работе

.NETМашинное обучение

К сожалению, мир машинного обучения принадлежит python.

Он давно закрепился, как рабочий язык для Data Silence, с чем Microsoft решила поспорить. Так появился ML.NET, кросс-платформенная и открытая система машинного обучения для разработчиков .NET.

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

Ознакомиться
Всего голосов 39: ↑35 и ↓4 +31
Просмотры58.9K
Комментарии 62

Помолчи-ка, программист

ПрограммированиеERP-системыУправление персоналомЧитальный зал

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

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

«Здравствуйте, я – Сергей. Мне запрещают разговаривать с клиентами. Но я в этом не виноват.»

Читать далее
Всего голосов 233: ↑208 и ↓25 +183
Просмотры90.7K
Комментарии 180

Сделаем худший Vue.js в мире

Блог компании TimewebJavaScriptПрограммированиеVueJS
Перевод
Некоторое время назад я опубликовал похожую статью про React, где с помощью пары строк кода мы создали крошечный клон React.js с нуля. Но React — далеко не единственный инструмент в современном фронтенд-мире, Vue.js стремительно набирает популярность. Давайте разберемся, как работает этот фреймворк, и создадим примитивный клон, похожий на Vue.js, в образовательных целях.

Реактивность


Как и React.js, Vue является реактивным, то есть все изменения в состоянии приложения автоматически отражаются в DOM. Но в отличие от React, Vue отслеживает зависимости во время рендеринга и обновляет только связанные части без каких-либо «сравнений».

Ключ к реактивности Vue.js — это метод Object.defineProperty. Он позволяет указывать настраиваемый метод getter / setter для поля объекта и перехватывать каждый доступ к нему:
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры10.5K
Комментарии 4

Приходит ПМ и говорит, что надо на завтра чай через 3 минуты

Управление проектамиУправление продуктом
Из песочницы

Ты говоришь, что чайник только 5 будет закипать. ПМ настаивает, что клиент очень просит и это нам крайне важно, ты под натиском прогибаешься и решаешь что-то думать. Кидаешь пакетик в чайник, заливаешь водой и ждешь когда вода покоричневеет. Четко понимаешь, что надо будет не забыть отмыть чайник, ибо так останутся кольца от чая и возможно плесень. Наливаешь получившуюся крашеную воду для клиента, ПМ с довольной рожей говорит: ну видишь, можно же. А ты думаешь, что не хотел бы что бы тебе так делали... Но обстоятельства требуют. И только ты расслабился, как влетает ПМ и говорит: ты хоть пробовал это?

Читать далее
Всего голосов 186: ↑175 и ↓11 +164
Просмотры63.8K
Комментарии 126

Пошаговая инструкция по настройке и использованию Gitlab CI + Visual Studio для сборки приложения .NET Framework

Блог компании Ростелеком.NETC#
Tutorial

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


Как только кто-либо из нашей команды вносит изменения в код (читай «мерджит feature-ветку в develop»), наш билд-сервер:


  • Собирает исходный код и установщик приложения
    • проставляет номер сборки, каждый раз увеличивая последнюю цифру. Например, текущая версия нашего ПО 3.3.0.202 – часть 3.3.0 когда-то ввёл разработчик (привет, SemVer), а «202» проставляется в процессе сборки.
    • В процессе анализирует качество кода (с использованием SonarQube) – и отправляет отчёт во внутренний SonarQube,
  • Сразу после сборки запускает автотесты (xUnit) и анализирует покрытие тестами (OpenCover),

Также, в зависимости от ветки, в которую были внесены изменения, могут быть выполнены:


  • отправка сборки (вместе с changelog-ом) в один или несколько телеграм-каналов (иногда удобнее брать сборки оттуда).
  • публикация файлов в систему автообновления ПО.

Под катом о том, как мы научили Gitlab CI делать за нас бОльшую часть этой муторной работы.

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры3.3K
Комментарии 5

Blazor: Server и WebAssembly одновременно в одном приложении

.NETC#WebAssembly


ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. Подробнее о моделях размещения написано в документации.


В статье я расскажу о том, как


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

TL;DR:


Gif с демонстрацией полученного результата


Пример доступен на github.

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

Трассировщик лучей с нуля за 100 строчек Python

Блог компании PixonicPythonПрограммированиеРабота с 3D-графикойРазработка игр
Перевод

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

Читать далее
Всего голосов 36: ↑34 и ↓2 +32
Просмотры10.6K
Комментарии 14

Что такое yield и как он работает в C#?

Блог компании PVS-StudioПрограммирование.NETC#Разработка под Windows

Возможности C# из года в год становятся всё шире. Разные фичи делают жизнь программиста приятнее, но предназначение и особенности некоторых из них могут быть очевидны не всем. Например, старый-добрый yield. Для некоторых разработчиков, особенно начинающих, это самая настоящая магия – непонятная, но интересная. В данной статье будет показано, как же всё-таки работает yield, и что на самом деле скрыто за этим волшебным словом. Приятного чтения!

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Просмотры11K
Комментарии 12

Почему Windows около 20 секунд упорядочивает невидимые значки Рабочего стола?

Блог компании VDSina.ruСистемное администрированиеРазработка под WindowsСофт
Перевод

«Что не так с компьютером — в нём установлен накопитель nvme, но открытие проводника, если этого давно не делали, занимает примерно 10 секунд, открытие файла .zip на рабочем столе занимает примерно минуту, а при нажатии клавиши „Пуск“ реакции нужно ждать примерно 20 секунд?»

Примерно в конце января мне показали пост в Twitter, в котором пользовательница Windows с мощной машиной рассказывает о произвольных зависаниях в Проводнике. Было предложено множество ненаучных теорий. Обычно я не занимаюсь анализом проблем производительности у незнакомых людей, но этот случай показался интересным, поэтому я решил изучить его.
Читать дальше →
Всего голосов 178: ↑177 и ↓1 +176
Просмотры84.8K
Комментарии 560

Кодогенерацию с использованием Roslyn можно использовать и без перехода на .Net 5

.NETC#
Перевод


Недавно, когда я просматривал новые возможности, которые будут включены в .Net 5, я натолкнулся на одну весьма интересную — генераторы исходного кода. Этот функционал меня особенно заинтересовал, так как я использую аналогичный подход в течение последних… 5 лет, и то, что предлагает Microsoft — это просто более глубокая интеграция этого подхода в процесс сборки проектов.


Примечание: Оригинал был написан в момент, когда релиз .Net 5 только-только собирался выйти, но актуальности этот текст, на мой взгляд, не потерял, поскольку переход на новую версию платформы занимает какое-то время, да и принципы работы с Roslyn никак не поменялись.


Далее я поделюсь своим опытом использования Roslyn при генерации кода, и надеюсь, что это поможет вам лучше понять, что именно предлагает Microsoft в .Net 5 и в каких случаях это можно использовать.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры2.6K
Комментарии 4

Делаем блок SPI to AVALON_MM для USB-устройства на базе FX3

Системное программированиеFPGAПрограммирование микроконтроллеровКомпьютерное железо
В предыдущей статье мы научились подавать Vendor команды в устройство USB3.0 на базе контроллера FX3 и реализовали программную шину SPI. Сегодня мы продолжим начатое и сделаем компонент SPI to Avalon_MM. Может возникнуть вопрос: мы же уже умеем работать с шиной Avalon_MM через JTAG средствами TCL-скриптов, зачем нам что-то ещё?

Дело в том, что когда мы работаем на чистом TCL, как делали это здесь и здесь, всё замечательно. Но для задач, гоняющих десятки или даже сотни мегабайт, этот вариант слишком медленный. Поэтому мы вынуждены добавить программу на С++, работающую через USB 3.0.

Вариант с TCL-сервером, к которому обращается плюсовая программа, рассмотренный в этой статье, требует сложной ручной подготовки при каждом запуске. Надо обязательно запустить среду исполнения (для Windows и Linux они разные), запустить серверный скрипт, а затем – в программе синхронизировать работу с данными по USB и с командами через TCP. Не люблю такие сложности. Оставим те варианты под случаи, когда они не создают трудностей. Здесь же у нас есть USB-устройство, мы всё равно с ним работаем, вот и будем обращаться к шине AVALON_MM через него. Приступаем.


Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры1.1K
Комментарии 9

Информация

В рейтинге
2,484-й
Откуда
Россия
Зарегистрирован
Активность