Pull to refresh
7
0.7
Кирилл @jonic

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

Send message

Сетевой тролль по имени яндекс-алиса

Level of difficultyMedium
Reading time5 min
Views21K

Не очень понятно? Тогда давайте начну с самого начала.

Деревня в ближнем подмосковье. Единственный интернет-провайдер со вменяемыми ценами подключен к it-инфраструктуре хостела для работяг. Администрация хостела соблюдает законодательство и своевременно регистрирует постояльцев. Через интернет. Ибо не наездишься в госорганы. Постояльцы приезжают и уезжают целый день. А штрафы за просрочку в регистрации для администрации хостела - конские. Интернет администрации нужен объективно, а не для "посидеть в соцсетях".

На входе стоит vpn-роутер с белым ip-адресом и проверчены нужные дырки для возможности удаленной связи с офисом. Есть внутренний wi-fi и прочая инфраструктура - камеры, принтеры, файловое хранилище, резервный канал инета и т.д. Все как бы работало. До поры.

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

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

Читать далее
Total votes 108: ↑100 and ↓8+120
Comments61

Анимации Hover и эффекты Blur: Полный гид по созданию динамических карточек

Level of difficultyMedium
Reading time5 min
Views2.1K

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

Читать далее
Total votes 11: ↑11 and ↓0+12
Comments5

Аппаратный DIY аудиомикшер

Level of difficultyEasy
Reading time7 min
Views10K

Меня это задолбало - управлять громкостью, если источников звука больше одного, особенно больно, когда это надо сделать быстро, за пару секунд. Если играете в динамичные игры с дискордом, да ещё и музыку фоном включаете, думаю вы прекрасно знаете эти неудобства. И вот, в один прекрасный день я наткнулся на deej...

Читать далее
Total votes 92: ↑91 and ↓1+105
Comments84

Моя б̶е̶з̶умная колонка: часть вторая // программная

Level of difficultyEasy
Reading time16 min
Views8.2K

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

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 40: ↑40 and ↓0+53
Comments31

Расчет потерь в MOSFET транзисторах

Level of difficultyMedium
Reading time6 min
Views8.9K

Приветствую!

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

Читать далее
Total votes 39: ↑39 and ↓0+39
Comments19

Стандарты и шаблоны для ТЗ на разработку ПО

Reading time7 min
Views785K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments22

Реализация псевдо-3D в гоночных играх

Reading time40 min
Views51K

Введение


Почему псевдо-3d?

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

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

Стоит заметить, что не в каждой старой гоночной игре используются эти техники. В действительности описываемый в статье метод — это только один из способов создания псевдотрёхмерной дороги. В других случаях используются спроецированные и отмасштабированные спрайты или различные способы реального проецирования дороги. Степень смешения реальной математики с трюками зависит от создателей. Надеюсь, вам понравится изучение предложенного мной спецэффекта.
Total votes 92: ↑91 and ↓1+90
Comments18

Компьютерное зрение на примере приложения для IKEA. Часть 1

Reading time8 min
Views46K
Готовился к очередному хакатону, решил обновить свои знания в области компьютерного зрения. В прошлый раз задачу распознавания номеров авто в видеопотоке я так и не смог решить быстро «в лоб». Сейчас, поразмыслив, решил немного упростить задачу. Было много идей, листал фотки в телефоне и наткнулся на привычный кейс для всех, кто бывал в магазине ikea — фотографию с чеком, где указан номер товара и его положение на складе самообслуживания.

Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments14

Зачем нужны UITableViewController и UICollectionViewController

Reading time5 min
Views17K
Всем привет, меня зовут Артём, я iOS-разработчик. Сегодня хочу рассказать о подходах к использованию UITableViewController и UICollectionViewController.

Едва ли можно найти мобильное приложение, в котором не используется списочное представление данных. Существенную часть времени мы (iOS-разработчики) проводим с TableView или CollectionView. Именно поэтому критически важным является выбор подходов к использованию этих базовых элементов из соображений скорости разработки и стоимости дальнейшей поддержки создаваемых решений. Хочу поделиться выводами, к которым мы пришли с коллегами в Touch Instinct.

Статья рассчитана на разработчиков, которые работают с TableView (CollectionView), но почему-то не работают с TableViewController (CollectionViewController). Далее будет упоминаться только TableView(Controller), но все написанное касается и CollectionView(Controller) тоже.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments10

Отладка php в Visual Studio Code (Xdebug, Windows)

Reading time2 min
Views70K

В некоторых случаях может возникнуть необходимость отладки приложений на php. Visual Studio code предоставляет такую возможность при условии установки дополнительного расширения PHP Debug (marketplace, github).


Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments10

История одного осциллографа на stm32

Reading time5 min
Views46K


Чуть больше года назад, мне в голову пришла мысль о том, что хорошо бы было сделать осциллограф. Тогда мне хотелось, чтобы это было независимое устройство с собственным TFT дисплеем, да и вообще, идея разобраться с TFT дисплеями, мне казалась очень перспективной. Спустя некоторое время на али был заказан TFT размером 3.2 дюйма с драйвером SSD1289.

На тот момент у меня уже был опыт программирования микроконтроллеров AVR, поэтому решил запустить дисплей на моём любимом Atmega16. Дойдёт ли дело до создания осциллографа тогда ещё не знал, но то что буду в своих проектах использовать TFT знал точно, поэтому не стал искать сторонние библиотеки, а решил написать свою, которой пользуюсь и по сей день.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments45

Каким должно быть настоящее электронное правительство? Эстония показывает пример

Reading time5 min
Views28K
Система «электронного гражданства», онлайн-голосование, госуслуги в сети и многое другое — это современная Эстония



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

Регистрация компании на государственном онлайн-сервисе занимает всего лишь пару часов (рекорд – 18 минут). Для того, чтобы заполнить заявку, необходимо загрузить свою фотографию и коротко описать причины, которые побуждают человека запрашивать новый статус. После отправки заявки эта электронная форма проходит проверку в правоохранительных органах Эстонии. Если все хорошо, кандидата приглашают на встречу с представителями консульства (встреча может происходить в любом городе любой страны, где есть консульство Эстонии). И затем, если встреча прошла без проблем (а так обычно и бывает), через месяц кандидат на «электронного гражданина» получает свои документы.
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments50

Поиск по Postgres с использованием ZomboDb и elasticsearch

Reading time3 min
Views20K

В какой-то момент разработки проекта встал вопрос поиска по большому количеству текстов. Причем, тексты имеют различную длину: от твиттов до больших статей. Сначала, основным поисковым движком был выбран встроенный в Postgres _tsvector. Для поиска по простым правилам его было вполне достаточно. Массив текстов рос с большой скоростью, а правила поиска усложнялись, поэтому встроенный движок уже не покрывал требований.


Да, существует sphinx, у него есть отличная интеграция с Postgres, но была цель найти решение для использования elasticsearch с Postgres. Почему? elasticsearch показывал хорошие результаты в некоторых case-ах проекта. Да и уже был сервер с ним для хранения логов logstash-а. Также было желание найти такой инструмент, который полностью возьмет на себя синхронизацию данных.


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

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments13

Особенности консольной инди-разработки в российской провинции

Reading time12 min
Views43K
Мне очень приятно, что мою последнюю статью про продвижение игры на Steam Greenlight, которую я писал на хабр чуть больше года назад, прочитали почти 50k раз и как мне кажется в итоге она была написана не зря. Тогда наша маленькая команда только-только получила зелёный свет. С того момента произошло еще много событий, но одним из самых интересных и значимых было то, что мы также прошли в программу ID@Xbox для независимых разработчиков, с возможностью выпуска своей игры на консоли Xbox One. И вот неделю назад игра все-таки увидела свет.

image

В этой статье я хочу поделиться интересной и возможно кому-то полезной информацией о том, с чем мы столкнулись пока готовили к релизу нашу игру на консоли Xbox One и Steam. А для этого я попробую раскрыть следующие темы:
  • Сколько может стоить разработка консольного проекта
  • Где мы взяли такие деньги
  • Как все подсчитать и иметь представление на что рассчитывать
  • Почему мы решили работать без издателя и внешних инвестиций
  • Как мы попали в Steam и на Xbox One
  • Почему нужно платить и получать возрастные рейтинги
  • В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
Читать дальше →
Total votes 70: ↑65 and ↓5+60
Comments34

Миграция сервиса виртуальных компаньонок на WebRTC

Reading time10 min
Views14K
Это история одного проекта по видеостримингу.

image

Интересный клиент


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

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

Собираем требования


Я: Итак, чем могу быть полезен?

С: Мы работаем с 2000 года в стриминге и Flex для большого количества пользователей. Мы используем Adobe Flash Media Server (FMS) и сейчас хотели бы использовать WebRTC.

Я: Можно подробнее о том, чего вы хотели бы достичь использованием WebRTC-сервера?

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

Я: Без проблем, мы можем сделать решение на базе одного из WebRTC-серверов.

С: Adobe FMS нас полностью устраивает. Мы хотели бы расширить круг наших пользователей на WebRTC, не убирая FMS. Он работает хорошо.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments12

Как парсить интернет по-гусиному

Reading time3 min
Views40K
“Распарсить сайт” — словосочетание, которое повергало меня в уныние всего полгода назад. В моей голове сразу же проносились знакомые проблемы с настройкой фантома, или возней с селениумом. Мысли о возможной необходимости подменять useragent, пагинации и других действиях во время парсинга заставляли откладывать эту задачу в долгий ящик…

Но всё изменилось, когда я встретил Гуся. Мир парсинга заиграл новыми красками. Под катом я хочу показать несколько простых примеров, которые могут помочь распарсить непростые сайты.

Кстати, написав парсер, Гусь решил снять фильм про это, пока что вы можете насладиться трейлером:



Читать дальше →
Total votes 30: ↑20 and ↓10+10
Comments11

Краудфандинг для самых маленьких (ч. 1)

Reading time9 min
Views28K

Краудфандинг — относительно молодое явление, успевшее завоевать огромную популярность за рубежом, пришедшее к нам всего пару лет назад. Как это ни странно, но очень многим до сих пор не понятна основная суть данного явления и даже предназначение краудфандинговых платформ. Других мучают вполне объяснимые опасения, поэтому они предпочитают обходить эти платформы стороной. Для того, чтобы пролить свет на данное явление и развеять сложившиеся вокруг него мифы и легенды, я решил посвятить этому серию статей. Я не являюсь представителем той или иной краудфандинговой платформы и не рекламирую какие-либо краудфандинговые ресурсы.
Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments11

Самодельный сканирующий лазерный дальномер

Reading time13 min
Views76K

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

Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments44

Создаем новую OS. Действительно новую, реально операционную, и правда – систему

Reading time23 min
Views87K

О создании новой операционной системы в последнее время говорят немало, особенно в России. В сумме размер всех публикаций по данной теме наверняка превышает размеры исходного кода любой операционной системы. Так что остается только одна проблема – от этих разговоров никаких новых OS не появляется. Всё, что предъявляется публике (и на что тратятся бюджетные деньги), на поверку оказывается кастомизированными сборками OS семейства Linux, а значит, не содержит ничего принципиально нового. Но, если о чем-то не говорят, это не значит, что его не существует.
В этой статье – проект принципиально новой OS, созданный в нерабочее время одним из ведущих сотрудников (Principal Engineer) российского подразделения Intel.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments158

Под высокой нагрузкой: наши способы применения Tarantool

Reading time8 min
Views23K


Многие из вас уже слышали о нашем проекте Tarantool. Это СУБД, или, попросту говоря, база данных с сервером приложений внутри. Tarantool — проект с открытым исходным кодом, и с ним может работать кто угодно. Развивается этот проект уже больше восьми лет. В Mail.Ru Group Tarantool активно используется более чем в половине продуктов: в Почте, Облаке, Моём Мире, Агенте и др. Все сделанные нами доработки этой БД мы коммитим обратно на GitHub, и сообществу доступна та же самая версия БД, что и нам. Сейчас у нас есть клиентские библиотеки почти ко всем языкам, мы сильно прибавили в этом направлении за последний год. Часть из них написана сообществом, часть — нами. Если появляется какая-то более эффективная библиотека, то мы просто делаем её официальной. Мы стараемся, чтобы всё было прямо из коробки — и БД, и библиотеки.

Одна из главных особенностей Tarantool заключается в объединении свойств БД и кэша. БД — это нечто надёжное, с транзакциями, серверным языком запросов. А кэш быстрый. И оба этих мира органично сливаются воедино в Tarantool. Эта БД предназначена для использования в высоконагруженных проектах и для работы с горячими данными.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments38
1
23 ...

Information

Rating
1,739-th
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity