Pull to refresh
0
0
Александр @procks

User

Send message

Qt обертка вокруг фреймворка gRPC в C++

Reading time13 min
Views9.7K

Всем привет. Сегодня мы рассмотрим, как можно связать фреймворк gRPC в C++ и библиотеку Qt. В статье приведен код, обобщающий использование всех четырех режимов взаимодействия в gRPC. Помимо этого, приведен код, позволяющий использовать gRPC через сигналы и слоты Qt. Статья может быть интересна в первую очередь Qt разработчикам, заинтересованных в использовании gRPC. Тем не менее, обобщение четырех режимов работы gRPC написано на C++ без использования Qt, что позволит адаптировать код разработчикам, не связанных с Qt. Всех заинтересовавшихся прошу под кат.

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

GUI на Golang: GTK+ 3

Reading time7 min
Views96K

Решил я написать одно кроссплатформенное десктопное приложение на Go. Сделал CLI-версию, всё работает отлично. Да ещё и кросскомпиляция в Go поддерживается. Всё в общем отлично. Но понадобилась также и GUI-версия. И тут началось...


Golang gotk3

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

Вентиляция санузла с умом

Reading time3 min
Views76K
Заходя в свой квартирный санузел, в очередной раз с досадой замечаю гул включившейся вентиляции, в самом факте вентиляции не вижу ничего плохого, но вот вопрос удобности и функциональности работы вентиляции в санузле мне не нравится. Дело в том что вентилятор принудительной вентиляции у меня в квартире (наверное у многих так) подключен параллельно с выключателем света и работает только тогда когда включен свет. В связи со сложившимися обстоятельствами и наличием возможности — решил изменить сиё положение вещей, и создать автоматизированную систему вентиляции санузла. Так как вентиляция должна работать, но мешать не должна, решил делать так.

Предварительная идея


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

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


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

О чем должен помнить веб-разработчик, чтобы сделать всё по SEO-феншую

Reading time7 min
Views16K
Сегодня очень сложно оставаться монопрофильным специалистом. И часто, делая новый сайт или внося различные правки, можно позаботиться заранее об основных вещах, которые помогут сразу сделать всё чисто и красиво не только с точки зрения программирования, но и с точки зрения SEO.


Так о чём же надо помнить, чтобы делать работу качественно, и SEO-специалисты были довольны вашей работой?
Читать дальше →

Нейронки за 5 минут

Reading time5 min
Views173K
Давайте я за 5-10 минут чтения и понимания коротенькой статьи добавлю вам в резюме строчки «машинное обучение» и «нейронные сети»? Тем, кто далек от программирования, я развею все мифы о сложности ИИ и покажу, что большая часть всех проектов на машинном обучении строится на предельно простых принципах. Поехали — у нас всего пять минут.

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

Как перестать бояться Proguard и начать жить

Reading time12 min
Views64K


Здравствуйте, я Android разработчик и я больше не боюсь ProGuard...


Обычно, об этой утилите вспоминают, когда сталкиваются с dalvik dex-limit issue или с требованием улучшить безопасность приложения. К сожалению, правильно настроить Proguard удается далеко не с первого раза. Я часто наблюдал, как многие, сломав проект, выключают Proguard и включают поддержку Mulditex и каждый раз немножечко грустил по этому поводу, ведь Proguard помогает как сократить размер приложения, так и повысить его производительность.


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

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

25 занимательных Android библиотек. Весна 2018

Reading time5 min
Views20K
Это список из 25 новейших Android-библиотек, проектов и инструментов, выпущенных за последние 3 месяца. Здесь нет первого и последнего места, это просто список интересных библиотек. Они определённо заслуживают вашего внимания. Наслаждайтесь!


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

Пишем свой протокол поверх UDP

Reading time24 min
Views44K
Первые прямые трансляции с места событий появились в России почти 70 лет назад и вели их из передвижной телевизионной станции (ПТС), которая внешне походила на «троллейбус» и позволяла вести эфиры не из студии. А всего лишь три года назад Periscope позволил вместо «троллейбуса» использовать мобильный телефон.

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


Еще через полгода, летом 2016, Одноклассники запустили свое мобильное приложение OK Live для стриминга, в котором постарались решить эти проблемы.

Александр Тоболь отвечает за техническую часть видео в Одноклассниках и на Highload++ 2017 рассказал про то, как писать свой UDP протокол, и зачем это может потребоваться.

Из расшифровки его доклада вы узнаете все про другие протоколы стриминга видео, какие есть нюансы, и про то, какие уловки иногда требуются.


Говорят, что надо всегда начинать с архитектуры и ТЗ — якобы без этого нельзя! Так и сделаем.

DoH в картинках

Reading time11 min
Views51K
Угрозы конфиденциальности и безопасности в интернете становятся серьёзнее. Мы в Mozilla внимательно их отслеживаем. Считаем своей обязанностью сделать всё возможное для защиты пользователей Firefox и их данных.

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



Сейчас мы добавляем в список ещё две технологии:

  • DNS по HTTPS — новый стандарт IETF, в разработке которого мы приняли участие
  • Trusted Recursive Resolver — новый безопасный способ резолвить DNS, предоставляется совместно с Cloudflare
Читать дальше →

Курс лекций по веб-разработке

Reading time1 min
Views14K
image

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

Память воды, «как зарядить воду по телевизору» и другие мифы о живой и мертвой воде

Reading time10 min
Views44K
Профессиональный журналист, циник и автор лекций на тему «Искусство быть мерзавцем», к тому же — знаменитый петербуржец, Александр Невзоров, любит высмеивать тех, кто говорит: «В СССР было лучшее в мире образование». Нет, журналист не отрицает качество знаний, которые давала советская научная школа. Но как бы вскользь вспоминает, как в конце 80-х – начале 90-х воспитанники «классической советской школы» массово лечили болезни на телесеансах Анатолия Кашпировского и заряжали воду пассами Алана Чумака.

Несмотря на всю открытость информации в нынешнем пронизанном технологиями мире, многие люди до сих пор верят в допотопные мифы. Вроде того, что красная шерстяная нитка защищает от сглаза. Или что вода, пропущенная через фильтр, становится «мёртвой». А подоспевшие «документальные фильмы» о «памяти воды» только подкрепляют мифотворчество среди, казалось бы, умных и образованных людей.



Сегодня мы поговорим о том, что знаем точно, и что является сутью и смыслом нашей работы. Мы постараемся разрушить несколько абсурдных утверждений относительно воды. Пусть эта статья станет первой в пока неизданной книге «Аквафор: мифы и правда о воде».
Читать дальше →

Обновления Material Design: как жить дальше

Reading time5 min
Views67K
Могут ли кнопки быть шестиугольными?
image

Google I/O 2018 оставила огромное количество материала для осмысления. Что нового? Как жить дальше? Устарело ли моё приложение? Могут ли кнопки быть шестиугольными? Дизайнеры снова больше не нужны? Осмысливать приятней не спеша и маленькими порциями. Эта порция — про дизайн.
Читать дальше →

Краткая история квантовых альтернатив

Reading time18 min
Views16K

«Копенгагенская» квантовая механика говорит, что реальность не существует, пока она не измерена, поэтому многие продолжают искать альтернативы этой интерпретации



В 1915 году Альберт Эйнштейн с помощью своих друзей разработал теорию гравитации, перевернувшую всё то, что мы считали самим фундаментом физической реальности. Мысль о том, что населяемое нами пространство не может быть совершенно описано евклидовой геометрией, была непостижимой; настолько, что философ Иммануил Кант, во многих смыслах радикальный мыслитель, заявил, что никакая теория физики не сможет с ней справиться.

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

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

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

BLE Console: абсолютно новый путь взаимодействия с BLE устройствами

Reading time2 min
Views8K
Первое в мире консольное приложение в Microsoft Store.

image

Идея этого уникального (не побоюсь этого слова) возникла, буквально, спонтанно. Не буду «растекаться мысью по древу» — если Вы разработчик, имеющий дело с BLE (BlueTooth Low Energy) devices, то попробуйте найти функциональный аналог этого приложения в open source, или платных приложениях, не говоря уж о специализированных магазинах для определенных OS. Я вполне допускаю возможность, что под Linux (ну, или одной из множественных имплементаций) найдется что-то похожее, но я такого не встречал. Да, если вы видели нечто подобное, опубликованное ранее — дайте мне знать.
Читать дальше →

Как я год строил расширениe для браузера которое читает статьи голосом (с синхронизацией в подкаст)

Reading time16 min
Views7.2K
Не один раз я пробовал использовать сторонние API для получения голоса из текста который мне интересно прочитать — можно переключить чтение на уши когда глаза устали, или слушать во время комьюта. Знаю я такой не один, даже люди далекие от айти бывает загружают куда-то текст и скачивают mp3. И подкасты/аудиокниги становятся все популярнее, и голосовые интерфейсы. Очевидно что аудитория есть, топовые экстеншены в маркете Хрома на эту тематику имеют сотни тысяч пользователей. Но голоса от Амазона обычно у них нет (лучший из доступных, лучше нового от Гугла), а где есть нет чего-то другого, например возможности слушать в экстеншене — а не только добавлять в свой подкаст. Предложил идею проекта внутри компании — был получен апрув — пошла разработка.
image

Сумма всех натуральных чисел: 1 + 2 + 3 + 4 +…

Reading time3 min
Views415K
Сумма всех натуральных чисел может быть записана с использованием следующего числового ряда



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

Подробности

Внутренности протокола, которым браузеры передают голос и видео

Reading time6 min
Views27K
image

WebRTC, технология голосовых и видеозвонков в браузерах (а еще realtime передачи произвольных данных, peer-to-peer пробивания NAT и захвата экрана) никогда не была простой. Долгая история, несовместимости между браузерами, запутанная документация, множество решаемых задач и используемых протоколов. Возможность позвонить и принять звонок из браузера всегда была одной из ключевых «фишек» нашей платформы Voximplant, и так как мы в этом неплохо разбираемся, то стараемся следить за интересными статьями и адаптировать их для аудитории Хабра. Под катом перевод свежей статьи от ребят из callstats.io — сервиса сбора статистики по качеству звонков для браузера. В небольшой статье они рассказывают о протоколе RTP с помощью которого, собственно, браузер и передает пакеты с голосом или видео.
Читать дальше →

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.5M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

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

Ищем закономерности на бирже

Reading time5 min
Views45K

Если вы решили научиться торговать на бирже, то вам нужно научиться находить на ней закономерности. Закономерность — это определённое условие (например характерное движение цены или какое-то событие), после выполнения которого вы будете знать, куда дальше пойдёт цена.


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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity