Как стать автором
Обновить
45
0
boston @boston

Пользователь

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

Как я делала мониторинг качества воздуха в Армении

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров17K

Или как я превратила самодельную штуку в реальный проект. Часть 1.

В мае 2022 я релоцировалась переехала в Армению. Повод, кстати, заслуживает отдельной статьи «Как я представляла Россию в конкурсе Lexus Design Award 2022 и выиграла грант в 25 000$”. В разгар санкций получить эти деньги было не так-то просто, и я отправилась в Ереван...

Читать далее
Всего голосов 175: ↑171 и ↓4+167
Комментарии112

Учим PixiJS на играх

Уровень сложностиПростой
Время на прочтение60 мин
Количество просмотров22K

В статье описал разработку 13-ти игр на PixiJS. Около 70% текста - это описание механики игр, остальное - реализация на PixiJS. Получилось много текста, т.к. описывать советы для PixiJS интереснее с примером из игр.
Самая последняя игра будет самой сложной и интересной.

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии6

Веб-приложение для видеотрансляций на Laravel

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

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

Проект опубликован как свободное ПО

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

Глубокая работа: секрет достижения максимальной продуктивности

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

Все мы хотим быть продуктивнее и успевать делать больше работы. Но как это реально сделать на практике?

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

И только когда дедлайн уже вовсю маячит на горизонте, и начинает пахнуть жареным, я сажусь наконец за написание кода или анализ пулл-реквестов коллег. Знакомая картина? Увы, в этом я не одинок. Я долго пытался бороться с собой и пробовал разные методики, пока один из коллег не порекомендовал мне познакомиться с книгой «Глубокая работа».

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

В чем его секрет? В той самой пресловутой глубокой работе. Итак, вдохновившись примером Кэла Ньюпорта (а кто не хочет тоже стать монстром продуктивности?), я решил попробовать работать глубоко по его системе.

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

Читать далее
Всего голосов 23: ↑18 и ↓5+13
Комментарии27

Руководство по NestJS. Часть 1

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



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


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


Это первая часть руководства.

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

Стартап-визы и визы удаленных работников: актуальное на сегодня

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

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

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

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

Наверное важно упомянуть, что я пишу именно про получение резиденции в странах (или начале пути к ней), а не просто физическом пребывании в качестве туриста на птичьих правах. Это довольно очевидный факт, но его почему-то не все рассматривают. А без ВНЖ зачастую сложно получать госмедстраховку, визы в другие страны на месте (!), отдавать детей в школу и др.

🇮🇹 Италия: Стартап-виза, получал в 2018. Официальная информация: Italia Startup Visa. Программа была приостановлена в 2021, но в январе возобновили прием заявок. Дедлайн 17 марта. Шансы получить - 80-90%. В ближайшие дни я подробно напишу про наш процесс, выложу заявку, переписку с комитетом стартап-визы и тд. Писал подробно об этом год назад:

Читать далее
Всего голосов 111: ↑105 и ↓6+99
Комментарии76

cors-anywhere на чистом конфиге nginx

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

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

Не одним CORS едины
Всего голосов 11: ↑10 и ↓1+9
Комментарии12

GO приложение в кластере k8s

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

Golang приложение в кластере kubernetes


Привет! Я — golang разработчик в Каруне. Kubernetes сегодня — звезда среди систем оркестровки и контейнеризации приложений. Важно понимать, как с ним работать. Поделюсь примером демонстрационного api приложения, которое написано на golang, и покажу способы взаимодействия с ним.

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

Анализ теней: 5 примеров использования SunCalc для OSINT расследований

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

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

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

Есть два проекта: SunCalc.org и SunCalc.net. Последний на досуге разработал хабраюзер Mourner в 2010 году и написал пост на Хабре, а через год выложил библиотеку в открытый доступ (а какой-то ушлый немец без упоминания автора её форкнул).

Под катом несколько примеров, как по теням на кадрах видео и фото можно вычислить недостающую информацию: местоположение или время.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии5

Конкурентный анализ приложений из App Store на основе открытых данных

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

В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений.

Представим, что мы собираемся публиковать в App Store мобильное приложение по тематике “медитация”. И хотим посмотреть, как обстоят дела в этой нише. При этом сделаем вид, что не знаем о существовании таких сервисов, как App Annie, Sensor Tower и аналогичных. Или знаем, но нам расхотелось делать в них детальный анализ, как только мы узнали стоимость месячной подписки. Поэтому будем действовать как экономные бутстрапперы и анализировать “сырые” данные от компании Apple. Тем более, что сделать это оказалось очень просто.

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

5 писателей-фантастов, работавших программистами

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

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

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии23

Маленький и быстрый BERT для русского языка

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

BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии17

Использование TLS fingerprinting для выявления угроз

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

В статье хотим рассказать про технологию TLS fingerprinting, про которую недостаточно материалов в русскоязычном сегменте. Попробуем это исправить. Статья частично переводит тематические материалы авторов описываемых методов (тут и тут), а также содержит описание практической реализации от Акрибии.

Не будем глубоко погружаться в детали работы SSL/TLS (далее будем говорить TLS), но кратко поясним детали.

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

Чтобы инициировать сеанс TLS, клиент отправляет «пакет» приветствия серверу после трёхстороннего установления связи TCP. Этот «пакет» и способ его создания зависят от пакетов и методов шифрования, используемых при создании клиентского приложения. Если сервер принимает соединение TLS, он ответит пакетом приветствия, тем самым продолжая согласование шифрования.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Уютный VPS-сервер для маленьких проектов: как настроить

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

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

Если вам тоже хочется создать в сети свое личное пространство, но вы не знаете, с чего начать, или вам просто интересны такие замечательные программные продукты как Docker, Portainer, Traefik – добро пожаловать под кат.

Введение


Признаться честно, я не очень люблю командную строку. То есть, мне нравится сама идея легкого минималистичного универсального интерфейса, практически не требующего ресурсов, но черное окно с мигающим курсором вызывает у меня фрустрацию и чувство беспомощности. И я даже знаю откуда это у меня. 
Читать дальше →
Всего голосов 54: ↑43 и ↓11+32
Комментарии31

Разведка с geo2ip и reverse-whois

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

Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.

Этот метод, пожалуй, самый эффективный. Однако встречались такие ситуации, когда целая подсеть /24 оставалась не найденной.

В наши дни появилось еще одно мощное средство — passive dns, которое позволяет сделать то же самое что и классический DNS-ресолв, но используя специальный API. Это может быть, к примеру, «virustotal» или «passive-total». Эти сервисы записывают DNS запросы и ответы, которые собираются с популярных DNS-серверов. Преимущество этого подхода в том, что нам не нужен брутфорс. Мы просто указываем IP-адрес и получаем все известные DNS записи. Или, наоборот, указывая DNS мы получаем все IP-адреса, которые ассоциированы с данным именем. У данного подхода есть неоспоримое преимущество — мы можем найти старые сервера сайтов, которые ресолвились раньше. Ведь в конце концов старые сайты наиболее вероятно будут содержать уязвимости.

Несмотря на описанные выше техники существует еще несколько чуть менее популярных, но всё же дающих результаты. В данной статье мы рассмотрим ещё две методики разведки — поиск IP-адресов по географическим данным (geo2ip) и нахождение IP-адресов по имени компании (reverse-whois).

Geo2ip

Что такое geoip, думаю, знают многие из нас. Он используется достаточно часто как разработчиками, так и администраторами. Однако geoip используется главным образом в направлении ip → geo. В нашем же случае это не так интересно. Забавно, но перед тем, как разработать собственное решение, не было найдено ни одной библиотеки, позволяющей делать запросы в обратном направлении geo → ip. Поэтому было решено написать собственный инструмент, более того что реализуется это не так уж и сложно.

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии1

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

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

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

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

Тариф «100к+», или как вельми зело огорчить спамера

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

Уже не впервые сталкиваюсь, что читатели Хабра не все поголовно умеют правильно бороться со спамом. И я не про SpamAssasin, «Ктозвонил» и прочие приложения для фильтрации информационного мусора, а про несложную, но весьма доставляющую всем сторонам процесса подачу жалобы в ФАС.

Давайте расскажу, как буквально за 15 минут не отрываясь от любимого компьютера подключить спамеру задораздирающий тариф линейки «Административный»: «Административный 100к», «Административный 150к» и вплоть до «Административный 500к» – как повезет.
Читать дальше →
Всего голосов 272: ↑268 и ↓4+264
Комментарии259

Burp и его друзья

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

В этой статье мы расскажем о полезных плагинах для Burp Suite Professional — инструмента для анализа веб-приложений. Плагинов много, и, чтобы помочь аудиторам сделать правильный выбор, мы составили список тех, которые сами чаще всего используем в работе.


img

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

Визуализируй это: LED-куб на базе Raspberry Pi показывает уровень загрузки процессора

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

На днях в сети появилось описание оригинального DIY-проекта на основе Raspberry Pi и светодиодных панелей. Цель проекта — визуализировать уровень загрузки процессора ПК. Для этого используются анимация на LED-панелях самодельного устройства.

Чем выше нагрузка на CPU, тем выше температура чипа и тем более «горячими» становятся цвета светодиодных панелей. Минимальная нагрузка — голубой и синий цвета, максимальная — оранжевый и красный. Общее количество задействованных светодиодов достигает 12 000. Под катом — описание проекта, его элементов, плюс исходный код ПО, которое обеспечивает работу гаджета.
Всего голосов 45: ↑43 и ↓2+41
Комментарии4

Легкая работа со сложными алертами. Или история создания Balerter

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

Все любят алерты.

Конечно, гораздо лучше получить уведомление когда что-то произошло (или починилось), чем сидеть, смотреть на графики и искать аномалии.

И инструментов для для этого создано немало. Alertmanager из экосистемы Prometheus и vmalert из группы продуктов VictoriaMetrics. Уведомления zabbix и алерты в Grafana. Самописные скрипты на bash и Telegram боты, которые периодически дергают какой-то URL и говорят, если что-то не так. Много всего.

Мы, в нашей компании, тоже использовали разные решения, пока не уперлись в сложность, или, скорее, невозможность создания сложных, составных алертов. Чего нам хотелось и что в итоге сделали - под катом. TLDR: Так появился open source проект Balerter.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии21
1
23 ...

Информация

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