Привет! Уже довольно продолжительное время занимаюсь метриками в windows. Процесс сбора уже отлажен, и из памяти начинают уходить детали, а поэтому пора перенести полученные знания, так скажем, на бумагу. Статья будет про то, что было, что завезли, как с этим работать, какие будут грабли и костыли к ним. Попутно затронем .net clr, asp.net, wcf, iis, signalr, etw и что-нибудь еще. Статейка для тех кто в теме, ну или почти...
Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Всё получится, если МАМАвТЕМЕ: от идеи до MVP образовательного маркетплейса
Запускать стартапы в принципе непросто и рискованно, на фоне меняющейся парадигмы мышления конечного потребителя рискованно вдвойне, а в условиях пандемии... - ну вы поняли. Для нас этот опыт уже бесценен, на своих граблях мы изрядно потоптались, готовы делиться полученным опытом. В первой статье на Хабре мы с командой расскажем, как зарождался образовательный маркетплейс МАМАвТЕМЕ, с какими гипотезами мы начали проект, как проверяли их живучесть и к каким промежуточным выводам пришли.
Vue 3: CompositionAPI + Typescript эксперименты
В прошлой статье меня упрекнули, что я при живом Vue 3 пишу про "устаревший" Vue 2. Отговорившись тем, что Vue 3 еще не production-ready, я понемногу начал его смотреть и изучать. И поскольку я заядлый любитель типизации и различных фичей с сахарком, то рассматривать Vue 3 с его новеньким CompositionAPI в статье именно с этой точки зрения. А заодно поэкспериментируем и попробуем написать свой типизированный store, организовать компоненты в стиле <script setup>
и подружить его с typescript и eslint, а также напишем небольшой компонент на TSX
в качестве еще одного эксперимента.
Готовим селекторы в Redux
Редакс - Single-store стейт-менеджер, в котором к тому же принято группировать данные по объектам. Примерно так же, как в стейте классовых компонентов в реакте.
То есть, это совершенная противоположность атомарного подхода, которому, к примеру, следуют многие хуки реакта или Multi-store стейт-менеджеры (например Effector, где селекторы не нужны по определению - достаточно сторов).
Помимо этого, объекты, которыми оперируют редьюсеры в редаксе, не являются какой-то полноценной сущностью - это просто кусок чистых данных. Противоположность - MobX, где в сторах могут быть экшны и компьютеды. Кстати, последние как раз являются заменой селекторов в MobX.
В общем, раз в редаксе нет возможностей ни эффектора, ни MobX, нам лишь остается напрямую обращаться к данным, начиная с самого верха. Это превращается в нечто вроде state.foo.bar.baz
. А если перед этим еще нужно произвести какие-то вычисления с участием других значений из стора?
Собственно по этим причинам, там и напрашивается какой-то отдельный слой, который возьмет на себя роль получения, комбинирования и преобразования данных. Этим слоем стали селекторы.
Огромное количество раз я видел, как люди используют их неправильно, получая множество проблем. Внутри - лучшие практики, к которым я пришел за годы боли с редаксом.
Превращение классического ЭЛТ в Smart TV
Это не столько руководство, сколько эксперимент: получится или нет? Так что это лишь отчасти серьёзно, зато весело и необычно. Погнали!
P.S. Заранее прошу прощения за ужасные фото телевизора. ЭЛТ-ТВ отображают черестрочный контент, сделать хороший кадр трудно.
Роботы телеприсутствия Ohmni, Double, Temi
Роботы телеприсутствия активно встраиваются в жизнь общества, а пандемия значительно ускорила этот процесс. Такие роботы уже начали появляться в странах с развитой IT инфраструктурой в жилых помещениях, офисах, медицинских учреждениях, музеях, магазинах и других точках, представляющих интерес для виртуального посетителя, наблюдателя и удаленно работающего специалиста.
Мы в Dragon Tree Labs активно отслеживаем и на практике изучаем новинки в мире робототехники. Представляем обзор трех роботов телеприсутствия, которые уже живут в нашей робототехнической лабе и помогают команде удаленно общаться с разработчиками из других городов. Также недавно в нашем офисе прописался четвероногий робот Unitree Robotics A1 и Miko 2, но про них читайте в следующей статье.
Европейская металлургия от костра до мартена
На протяжении всей истории человечества образ хозяйствования нашей цивилизации определяли металлы. Вообще говоря, все первые металлы, открытые человечеством, стоят правее водорода в электрохимическом ряду напряжений металлов. Это так просто потому, что все остальные по закону неумолимой термодинамики будут окислены во влажных и окислительных условиях атмосферы и литосферы. Точнее говоря, те, что правее водорода, тоже будут окислены – но сильно позже. А пока что встречайте: медь, серебро, золото, сурьма!
Как я сократил код для нагрузочного тестирования в три раза
Главная концепция нагрузочного тестирования — автоматизировать все, что можно. Берёте инструмент, пишете конфиг и сценарий, запускаете имитацию реальной нагрузки. Чем меньше кода, тем лучше.
Автоматизировать нагрузочное тестирование не так сложно, как может показаться на первый взгляд. Для этого нужен правильный инструмент.
Я расскажу, почему мне не подошел Яндекс.Танк в связке с Pandora и как я в три раза сжал код своей утилиты тестирования без потери производительности.
Найден способ добывать литий из морской воды с энергозатратами всего 5 долларов за килограмм ортофосфата
Рис. 1. Установка непрерывной прокачки морской воды через электрический мембранный насос: (a) трёхкамерная ячейка для обогащения лития с одновременной генерацией H2 и Cl2 на катоде и аноде, соответственно; (b) фотография установки; (с) кристаллическая структура LLTO; (d) перколяция ионов лития через решётку LLTO; (e) мембрана LLTO стеклянного типа (≈20 мм в диаметре); (f) полый медный катод, с одной стороны покрытый катализатором Pt/Ru (тёмный на фото).
Литий — ключевой элемент современных аккумуляторов, на которых работает практически вся техника: от смартфонов до автомобилей. Но запасы этого металла на суше весьма ограничены. Если экстраполировать растущий спрос, то разведанных запасов хватит лишь до 2080 года.
Но все мы знаем, где находится самый большой резервуар золота, платины, лития и других редких элементов — это Мировой океан. Химики ещё не нашли рентабельный способ добычи золота из морской воды, а вот с литием получилось удачнее. Группа учёных из Университета науки и технологии в Саудовской Аравии показала готовое решение c энергозатратами всего 5 долларов на килограмм ортофосфата (Li3PO4).
Движок рейкастинга внутри Factorio
Несмотря на ограничения движка, он имеет множество функций. Например, можно менять горизонтальный угол обзора (FOV), вплоть до 360° (разумеется, изображение при таком FOV будет сильно искажённым).
Обогнать Facebook — и умереть
Вы первыми выходите на рынок с прорывным продуктом, который пользуется успехом, — но в итоге всё-таки закрываете бизнес. Бывает ли такое?
Бывает: именно это произошло с первой студенческой социальной сетью. За месяц в ней зарегистрировалось 75% студенческого городка. Увидев неоспоримый успех, создатели сайта бросили учебу и сосредоточились на проекте.
У сети Campus Network были все задатки Facebook, но год спустя она ушла в небытие.
Стартапы закрываются один за одним (что неудивительно), но в этом случае примечательно то, что очень многое было сделано правильно: сервис был запущен до Facebook и был гораздо более продвинутым.
Что же пошло не так?
gRPC + Dart, Сервис + Клиент, напишем? Часть 2
gRPC + Dart, Сервис + Клиент, напишем? Часть 2.
Продолжим развивать сервис на основе технологии gRPC, основы которого мы заложили в первой части.
2ГИС на CodeFest: пазл 3×1,2 метра и Октокэт
Со временем этот пост можно будет читать в двух разных настроениях. Если придёт новый карантин — вспоминать, как успели вдохнуть свежего воздуха офлайна. Если не придёт — как начало нового этапа общения не только через зум.
В конце мая мы успели сходить на CodeFest, где выступили с докладами и подготовили стенд с пазлом в 1440 деталей и конструктором постеров.
О клиенте и сервере в микросервисной архитектуре
Когда мы задались вопросом перехода на микросервисную архитектуру, мы столкнулись с некоторым количеством трейд-оффов. Проведя ряд экспериментов и отвязавшись от специфических для нашего продукта бизнес-требований, мы попытались сформулировать вопросы, которые могут встать перед любой командой разработки, безотносительно к требованиям к продукту. Ну и, конечно, дать на них ответы.
В качестве прикладного дополнения к рассуждениям мы разработали несколько Proof of Concept, сопроводили их разработку краткими пояснениями и приложили исходный код PoC.
Cети 10 GBE без синяков и шишек
В статье разбираются часто встречающиеся вопросы построения сетей 10 Gigabit Ethernet, в частности: выбор среды для передачи данных с учётом известных преимуществ и недостатков, некоторые нюансы по поводу монтажа, прокладки и мониторинга.
Статья построена по принципу «от общего к частному» — вначале рассматриваются общие вопросы, в конце перейдём к конкретным примерам оборудования для 10G.
Что вернёт эта функции в Python?
Всем привет! Сегодня хотел бы обсудить очень простой, но, на мой взгляд, интересный вопрос по Python и его внутреннему устройству. Как вы думаете, что вернёт эта функция:
def foo():
try:
return 1
finally:
return 2
Если вам интересно, что получится в результате и как это работает, добро пожаловать под кат.
Прикладная некромантия: использование Garmin GPSmap 76S в 2021 году
За последнее десятилетие мы почти все привыкли часто обновлять устройства, которыми владеем. Старые устройства либо кладем на полку, либо продаем, либо вообще выбрасываем в помойку. И многие даже не думают о том, что по факту устройства нормально работают и могут продолжать выполнять свои функции.
Производители же стараются делать так, чтобы пользоваться старыми устройствами было максимально неудобно: для них перестают выпускать обновления, утилиты удаляются с сайтов, а официальный сервис на запрос о поддержке старого устройства в подавляющем большинстве случаев отвечает отказом.
Вот как раз подобное устройство завалялось у моего друга в чулане, и он отдал мне его для экспериментов. Этим устройством стал GPS-навигатор для туризма Garmin GPSmap 76S, в свое время бывший одним из лучших устройств в своем классе. И у меня родилась идея начать его использовать, например, для записи треков со своих велопоездок. О том, какие препятствия встали у меня на пути и как я с ними справился, читайте под катом.
Нейрозапятые, или как мы оставили своих редакторов без работы (ну почти)
Всем привет, меня зовут Владислав Соболев – ML-инженер в компании “БАРС Груп”. Сегодня я хотел бы рассказать о том, зачем и как мы расставляем знаки препинания в текстах, сравним аналоги, и посмотрим на то, как устроена работа инструмента, который мы написали, чтобы обучать такого рода модели (ссылочка в самом конце). Начнем!
У нас в компании есть ряд ML-проектов, внутри которых используется анализ текста, в том числе и надиктованного голосом. Мы командой долго думали над тем, как можно реализовать данные проекты.
В итоге пришли к выводу, что проще всего для наших целей проводить лингвистический анализ текста искать в нём слова-действия, такие как "сгруппируй", "покажи", определять связи и зависимости между словами, искать ключевые слова, ранжировать их. И на основе всех этих данных – взаимодействовать с сервисами.
Механизм движения физических тел
Научная гипотеза
Владимир Резников – инженер
1.Введение
В этой статье мы обсудим проблему "дискретности" и "непрерывности" движения физических тел. Этот вопрос впервые был поднят в V веке до нашей эры древнегреческим философом Зеноном Элейским, и по сей день продолжаются горячие дискуссии по этому поводу. Как выразился голландский математик Дирк Ян Стройк в своей книге "Краткий очерк истории математики, 1948 год: парадоксы Зенона" "... вызвали такое волнение, что даже сейчас наблюдается некоторая рябь".Зенон сформулировал ряд апорий (неразрешимых суждений). Мы рассмотрим одну из них, которая называется "Дихотомия" (деление на два) (Рис.1).
Найти подстроку в строке
Алгоритм поиска строки Бойера — Мура — алгоритм общего назначения, предназначенный для поиска подстроки в строке.
Давайте попробуем найти вхождение подстроки в строку.