Search
Write a publication
Pull to refresh
4
0

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

Send message

Консольный UI и отказ от асинхронного кода в idewave-cli

Reading time9 min
Views2.5K

С выходом версии 1.0.1 я решил осветить некоторые аспекты технической стороны моего проекта. В этой статье я расскажу про использование библиотеки tui-rs и про нюансы использования библиотеки tokio-rs, а так же постараюсь рассказать, что же было исправлено и почему так, как было раньше делать не надо. Добро пожаловать в статью - возможно, кому-то она поможет на тернистом пути погружения (или восхождения) в Rust.

Читать далее

Осознанные сновидения. Зачем нужны, как вызвать, какие последствия?

Reading time9 min
Views67K

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

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

Читать далее

Как ничего не умея осуществить мечту?

Reading time11 min
Views16K

Недавно мы выпустили в Google Play и App Store бесплатную гиперказуальную мобильную игру — iDITORS. Внутри поста: мой личный опыт, бюджет, несколько советов и история разработки. Но должен предупредить вас — этот пост не об успехе и деньгах, а о дружбе и осуществлении мечты.

Читать далее

C++. Убираем приватные поля из описания класса или немного дурачества

Reading time4 min
Views9.9K

Всем привет! Решил на выходных продолжить писать свой домашний проект и наступила пора реализовать платформозависимый код. Самым простым вариантом было бы описать классы в *.h файле, а в зависимости от платформы, Закрытые поля засунуть под #define. При этом, саму реализацию по конкретным платформам разнести по *.cpp файлам и включать их в компиляцию в зависимости от текущей платформы. Но... мне не нравится как выглядит описание класса с #define, поэтому я решил убрать препроцессор и оставить в описании класса только интерфейс. И да, я не пользовался абстрактными классами и pimpl, всё еще хуже :-)

Читать далее

Не так страшен Rust, как его излагают

Reading time5 min
Views28K

Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф? 

Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.

Так ли это?

Радикальная удалёнка… налоговый рай архипелаг Свальбард

Reading time4 min
Views36K

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

Lat oss gå (поехали)!!

Ну и для чего типичному программисту мышцы?

Reading time6 min
Views39K

Организм любого ИТ-специалиста, нынче проводящего большую часть времени в сидяче-лежачем состоянии, ничем не отличается от организма любого человека и эволюционно сформировался под влиянием движения и предназначен для движения. Вся история развития человечества связана с движением, наши предки выживали, используя движение для того, чтобы добыть пищу и убегать от опасностей. В последнее время человек стал сильно меньше двигаться. Что будет дальше? Мы станем похожи на инопланетян с огромной головой и маленькой тушкой?

Читать далее

Математика для 3D-приложений. Урок 1

Reading time6 min
Views33K

Это первый, вводный урок по линейной алгебре для разработки 3D-приложений от Александра Паничева — ведущего разработчика логики в UNIGINE. В этом уроке разберемся зачем 3D-разработчикам вообще нужна линейная алгебра, а также рассмотрим основные операции над векторами.

Читать далее

C++ — это замечательно, и вот почему

Reading time8 min
Views30K

C++ — один из самых непонятных языков в современной поп-культуре разработчиков программного обеспечения. Люди часто сравнивают его с C, потому что это "низкоуровневый" язык. Следовательно, он получил репутацию эзотерического языка, который интересует только параноиков производительности. Это далеко не так. Я программирую на C++ в качестве основного языка уже некоторое время, и опыт разработчика на самом деле очень хорош — гораздо лучше, чем можно было себе представить.

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

Читать далее

Как работает бухгалтерский учет на пальцах

Reading time4 min
Views10K

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

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

Для начала нужно определить что такое счет (Wiki):

Читать далее

Еще 13 расширений Google CHROME для применения в OSINT

Reading time3 min
Views11K

День добрый Хабр. Как и обещали – продолжаем выискивать для Вас годные расширения для браузера Google CHROME, которые помогут в нелегком деле поиска информации в открытых источниках. Или как у нас в русских деревнях любят говорить – «помогут при проведении OSINT»

25+ расширений мы уже рассмотрели в предыдущей статье. Если пропустили, то обязательно ознакомьтесь. Там много интересного. Ну а теперь у нас на очереди еще Х полезных для OSINT и не только расширений.

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

Читать далее

Простое руководство по атомарности в C++

Reading time9 min
Views19K

Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++  атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic  с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.

Читать далее

Система распознавания шрифта Брайля. Читаем написанное белым по белому

Reading time13 min
Views13K

В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для распознавания текстов, написанных шрифтом Брайля - Angelina Braille Reader.

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

Ниже расскажу о том, как делалась эта разработка и с какими трудностями пришлось столкнуться. Более развернутое описание приведено в публикациях [1,2].

Возможно, кто-то захочет внести в проект свой вклад.

Читать далее

Как технологии коммуникации диктуют механизмы мышления человека

Reading time12 min
Views4.9K

Исследовательский проект морфологического разбора слов русского языка дал жизнь компании Яндекс. Ряд других ключевых аспектов лингвистики и теории коммуникации пока остаются неизвестными для компьютерного сообщества, но могут породить новые технологии. В данной статье рассматривается влияние методов коммуникации на мышление человека. Автор следует работам Александра Лурии и Уолтера Онга. Данный текст является продолжением и гуманитарным основанием «Манифеста В++, социальные сети + Википедия + каталог всего на одном движке», но не зависит от «Манифеста» и может быть прочитан отдельно.

Читать далее

3 простые вещи, которые сделают вашу жизнь лучше

Reading time10 min
Views49K

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

Три простых вещи, о которых пойдёт речь это:

· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для повышения качества сна. (этому посвящена большая часть публикации)

· Активность — какой её формат является необходимым и какие плюсы можно из неё можно извлечь.

· Перевод смартфона в ЧБ-режим — какую проблему это решает и что это дало мне.

Читать далее

Неклассические контейнеры в C++

Reading time17 min
Views51K

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

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее

Изучение структуры файла с цифрового кардиографа, извлечение и анализ данных кардиограммы

Reading time7 min
Views5.5K

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

Читать далее

Введение в суррогатные модели. Часть 1: Актуальность

Reading time7 min
Views7.5K

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

Читать далее

Как собрать зловредный компилятор

Reading time12 min
Views19K

А вы знали, что бывает такая атака на компилятор через бэкдор, защититься от которой невозможно? В этом посте я покажу вам, как реализовать такую атаку менее чем в 100 строках кода. Кен Томпсон, создатель операционной системы Unix, рассказывал о такой атаке еще в 1984 году в своей лекции по поводу присуждения Премии Тьюринга. Такая атака по-настоящему опасна и сегодня, причем, не известно решений, которые обеспечивали бы полную неуязвимость от нее. Вирус  XcodeGhost, открытый в 2015 году, проводит атаку через бэкдор по методу, предложенному именно Томпсоном. Я покажу здесь атаку Томпсона на языке   C++, но этот пример легко адаптировать для любого другого языка. Дочитав эту статью, вы крепко задумаетесь, а осталось ли у вас вообще какое-то доверие компилятору.

Представляю, сколь скептически вы можете отнестись к моим заявлениям – и, возможно, у вас уже возникли вопросы. Ниже приведу примерный диалог, который мог бы состояться у нас с вами, снять некоторые ваши сомнения и помочь вам почувствовать суть атаки Томпсона.

Читать далее

Как я делаю дрон из Raspberry Pi и ESP32 (или мои первые шаги в робототехнике)

Reading time7 min
Views36K

Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32.

Читать далее

Information

Rating
7,501-st
Registered
Activity