Search
Write a publication
Pull to refresh
0
@lazy007read⁠-⁠only

User

Send message

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

Reading time14 min
Views9.6K

Привет! Меня зовут Александр Токмаков, я Head of Product в СберМаркете. Сегодня я хочу обсудить с вами приоритизацию. Я считаю, что это один из главных скиллов в работе продакта, а если ты работаешь в крупной компании — точно главный. Именно поэтому я полюбил приоритизировать, разобрался во фреймворках и выработал свою систему, которая показывает крутой результат: >30% наших фичей улучшают продукт. 

Читать далее

Учимся писать сложные Typescript типы на примере роутинга в React

Level of difficultyMedium
Reading time12 min
Views20K

Вы используете TypeScript, но впадаете в ступор перед, когда видите типы в сторонних библиотеках? Generics, generic constraint, infer, rest infer, conditional и recursive types, satisfies вызывают головную боль? Мы постараемся снизить градус сложности и напишем типы для роутинга в React приложении. Данный материал будет полезен как фронтендерам, так и бекендерам.

Хочу писать типы как профессионал

Отладка драйвера Windows

Reading time16 min
Views23K

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

Хочу ронять Windows в BSOD

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time8 min
Views181K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →

Сага о моделировании бизнес-процессов на базе конечного автомата (fsm)

Reading time9 min
Views6.9K

Про конечные автоматы (finite state machine, fsm) много кто слышал, но используют их явно в реальных проектах редко. Чаще встречаются конструкции, которые поведением напоминают КА, но ими не являются.
Почему же автоматы обходят стороной и/или изобретают велосипеды, превращая код в спагетти?
По-моему, тут дело в стереотипе: мол, автоматы — это что-то сложное из теоретической математики и к реальной жизни не относится. А применять их можно только в лексических анализаторах или еще чем-нибудь специфичном.


На самом деле, область применения КА куда шире и понятнее. Давайте разберем на примере автоматизации процессов в любимом кровавом enterprise.


Читать дальше →

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

Reading time4 min
Views11K

Точно скажу, что костыли и велосипеды не лучшее решение, особенно если мы говорим о кэшировании, а конкретнее, если нам надо оптимизировать метод доступа к данным, чтобы он имел производительность выше, чем на источнике. Я докажу это на нескольких примерах, приведённых в статье, всего за 5 минут.


Читать дальше →

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time1 min
Views46K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее

Что же такое этот GraphQL?

Reading time9 min
Views704K

Вашему вниманию предлагаю перевод статьи Sacha Greif "Что же такое этот GraphQL?"


Если вы такой же, как и я, вы обычно проходите через три этапа, когда узнаёте о новой технологии:


  • Отрицание: Ещё одна JavaScript библиотека?! Зачем? У меня уже есть jQuery!
  • Интерес: Хм, наверное мне следует взглянуть на эту библиотеку...
  • Паника: Помогите! Мне нужно изучить эту библиотеку прямо сейчас, иначе мои знания устареют!

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


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

Читать дальше →

Оконные функции SQL простым языком с примерами

Reading time4 min
Views685K

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом

Читать далее

Пространственный анализ тренировок с помощью GeoPandas и Folium

Reading time11 min
Views8.6K

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

Для решения задач я использовал несколько библиотек Python, предназначенных для работы с пространственными данными и их визуализации – GeoPandas, PyProj, Shapely, Folium, Branca, H3-Pandas, OSMnx.

Подробное описание кода, примеры картографических изображений и ссылка на полный git-проект внутри.

Читать далее

Упрощаем мониторинг и управление контейнерами Docker при помощи инструментов CLI

Reading time6 min
Views13K

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

В этой статье мы сосредоточимся на некоторых простых и эффективных инструментах CLI, которые помогут вам контролировать и управлять контейнерами Docker.
Читать дальше →

Приложения для заметок с хостингом на своём сервере (замена Evernote)

Reading time9 min
Views60K
Я давно уже пользуюсь Evernote (далее местами — EN) для заметок. Мне от него много не надо — вложенность хотя бы в пару уровней, простой WYSIWYG-редактор, возможность прикреплять файлы, автосинхронизация, работа под Windows и Android, оффлайн-режим (включая мобильник), поиск по содержимому, сохранение веб-страничек. Коллективной работы не требуется, OCR приятен, но не критичен, веб тоже, даже self-hosting — при моей любви к таким решениям — приятная фишка, но если чего-то не будет из предыдущего списка, то я уж лучше буду пользоваться дядиным решением, а не терпеть отсутствие функций.


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

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

Бесплатные Oracle Cloud серверы и Mikrotik — Site-to-Site VPN

Reading time7 min
Views42K

Предоставление бесплатных серверов от малопопулярного облачного провайдера - это не новость. А новость в том, что теперь Oracle, вдобавок к двум едва живым бесплатным x86_64 серверам, открывает доступ к мощностям на ARM64 - для всех, даром, и пусть никто не уйдет обиженным!© Предложение по ARM значительно более производительное, чем на традиционных процессорах. Добавляя к этому отсальные бесплатные "плюшки", я задаюсь вопросом: а зачем я до сих пор плачу за VPS и держу собственный серверок в подвале?! Все это можно выкинуть если удастся надежно и безопасно связать дата центр с домашней сетью.

Читать далее

TalkPython: лучшие пакеты Python по итогам 2021 года

Reading time14 min
Views23K

На КДПВ в гостях у TalkPython вы видите Гвидо ван Россума — создателя Python, Марка Шеннона, план ускорения Python в 5 раз за 4 года и, конечно, автора подкаста. А мы делимся подборкой пакетов Python, о которых шла речь в выпусках за уходящий год.

Читать далее

Мониторинг трафика на коммутаторах при помощи Wireshark + Plink

Reading time4 min
Views7.6K

Сразу отмечу, что способ не мой, а подсмотренный у EVE-NG. Никаких особых преимуществ он не даёт, обладает массой ограничений, но кому-то, просто, удобнее работать с Wireshark в режиме реального времени.

Суть метода проста: перенаправить вывод от утилиты Tcpdump в SSH сессию и передать его в Wireshark.

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

Ну, и по традиции, вы всё делаете на свой страх и риск. Настоятельно рекомендую, сначала, подумать о последствиях своих действий.

Ну, вот теперь, когда всё бесполезное сказано, переходим к сути.

Утилита Plink.exe которая входит в пакет Putty умеет создавать SSH сессии и выполнять там заданные команды. Эту её особенность, будем использовать для запуска на целевой машине утилиту Tcpdump. В общем виде команда выглядит так...

Читать далее

Абсолютная мультиязычность и типографика на любой раскладке

Level of difficultyEasy
Reading time15 min
Views5K

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

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

Возможно вы также слышали (а может даже и используете) о типографской раскладке Ильи Бирмана. Она добавляет многим клавишам два дополнительных слоя, с модификаторами AltGr и Alt-Shift, под которыми расположен расширенный набор символов, в числе которых символы "корректного ввода", кавычки всех видов, некоторые специфичные языковые символы, а также прочие потенциально востребованные символы и немного диакритики. Общее количество уникальных символов – около 75. За 15 лет данная раскладка приобрела немалую известность, в основном среди медиакомпаний, что служит определённым показателем востребованности.

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

Но самое интересное в деталях, ведь так? О них и поговорим ниже, благо, есть о чём.

Создание аудиоплагинов, часть 2

Reading time5 min
Views18K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте получше рассмотрим наш тестовый проект. Самые важные файлы — resource.h, MyFirstPlugin.h и MyFirstPlugin.cpp. На данный момент плагин представляет собой простой регулятор громкости звука.
Читать дальше →

Создание аудиоплагинов, часть 1

Reading time9 min
Views91K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Интересно? Тогда под кат!

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

Reading time11 min
Views50K

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

Читать далее

Information

Rating
Does not participate
Registered
Activity