Как стать автором
Обновить
2
0
Виталий @ProstoUser

Программист

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

Текстовая версия доклада «Actors vs CSP vs Tasks...» с C++ CoreHard Autumn 2018

Время на прочтение23 мин
Количество просмотров9.9K
В начале ноября в Минске прошла очередная посвященная языку C++ конференция C++ CoreHard Autumn 2018. На ней был сделан капитанский доклад «Actors vs CSP vs Tasks...», где речь шла о том, как может выглядеть в C++ применение более высокоуровневых, чем «голая многопоточность», моделей конкурентного программирования. Под катом преобразованная в статью версия этого доклада. Причесанная, местами подправленная, местами дополненная.

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

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

Примечание: в оригинальной презентации к докладу были обнаружены ошибки и опечатки, поэтому в статье будут использованы слайды из обновленной и отредактированной версии, которую можно найти в Google Slides или на SlideShare.

«Голая многопоточноть» — это зло!


Начать нужно с многократно повторенной банальности, которая, тем не менее, все еще остается актуальной:
Многопоточное программирование на C++ посредством голых нитей, mutex-ов и condition variables – это пот, боль и кровь.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии61

Конвертирование XLS файлов в Google Spreadsheet с использованием Google Apps Script

Время на прочтение2 мин
Количество просмотров8.6K
Меня зовут Александр и я фрилансер, основная моя специализация — это Google Apps Script. Одному из заказчиков потребовалось программно конвертировать файлы Microsoft Excel в Google Spreadsheets. Я раньше с такой задачей не сталкивался, поэтому призвал на помощь Google. Перерыл кучу форумов, но готового решения не нашёл. Пришлось писать свой велосипед. И хотя код получился коротким, времени на нахождение решения потребовалось не мало. Вот то, что получилось:
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии1

Как сделать солнечный фонарик своими руками (часть 1)

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


Солнечные фонарики можно смело разделить на несколько групп, это «авторские», сделанные из каких — то достаточно уникальных вещей и остроумные по задумке, мини — прожекторы, предназначенные для освещения по направлению, или подсветки сверху цветочных клумб и рядовые солдаты дачного освещения — классические фонарики на столбике предназначенные для освещения дорожек. Как и из чего их можно сделать я расскажу в данной статье. Также будет рассмотрено несколько вариантов исполнения электроники для тенистых участков сада, где подзарядка фонарика от солнца затруднена и яркостью освещения придётся немного поступиться.
Узнать больше
Всего голосов 58: ↑58 и ↓0+58
Комментарии52

Семантика копирования и управление ресурсами в C++

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

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



Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии83

Soft Skills в управлении проектами: понятие, цели и советы по успешному бизнес-применению

Время на прочтение9 мин
Количество просмотров18K
Минимум инструментов для максимально успешных результатов — именно такому правилу следуют настоящие специалисты. К примеру, динамично развивающаяся сфера управления проектами избирательно подходит к используемым в работе техникам и методикам, оставляя лишь самое полезное. Эта статья — краткий гид по знаменитой технике НЛП (нейролингвистическое программирование), которая зарекомендовала себя как одну из повсеместно используемых в психологии и бизнес-процессах.

image
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии7

Регулятор оборотов минидрели

Время на прочтение3 мин
Количество просмотров39K
Сверление печатных плат — настоящая головная боль для электронщика, но наше новое устройство поможет ее немного смягчить. Это простое и компактное дополнение к минидрели позволит продлить жизнь двигателю и сверлам. Схема, плата, инструкции по настройке, видео — все в статье!


Всего голосов 45: ↑44 и ↓1+43
Комментарии78

Бери и делай: как прокачаться в программировании и разработке

Время на прочтение5 мин
Количество просмотров41K
5 признаков, что вам пора учиться, 25 онлайн-сервисов для прокачки скиллов и 5 практических советов для профессионального развития вы узнаете из этой статьи за 9 минут.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии9

Чистота в мастерской гика. Часть 1

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

Или пылесос с управлением по Bluetooth


В процессе технического творчества получаются не только всякие штуковины полезные и не очень, но и много разных стружек, опилок и прочего мусора. И мусор этот надо убирать как в процессе пиления, так и после. Ниже я расскажу про свое решение этой проблемы, а за одно, покажу проект дистанционного управления для устройств с фазоимпульсным регулятором.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии37

Нейронные сети в Android, Google ML Kit и не только

Время на прочтение4 мин
Количество просмотров18K
Итак, вы разработали и натренировали свою нейронную сеть, для выполнения какой-то задачи (например то же распознавание объектов через камеру) и хотите внедрить ее в свое приложение на андроид? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии0

SamsPcbGuide, часть 7: Трассировка сигнальных линий. Дифференциальные пары

Время на прочтение8 мин
Количество просмотров28K
Это седьмая статья из цикла и заключительная в блоке, посвящённом трассировке сигнальных линий. Дальше есть идея развивать проект и выходить на руководство по проектированию печатных плат в виде удобной книги, поэтому по публикациям, возможно. будет пауза. В статье рассматривается важная тема — дифференциальная схема передачи данных, получающая всё большее распространение в современных системах, и предлагаются рекомендации по трассировке дифференциальных пар, позволяющей обеспечить преимущества этой схемы.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии16

Умный дом: новое измерение комфорта и стремление к совершенству. Часть вторая

Время на прочтение10 мин
Количество просмотров13K
В первой части я рассказал о переходе от просто мониторинга систем к собственно умному дому. На том этапе пришло понимание колоссального потенциала повышения комфорта, а возможности выбранного технологического стека возбудили азарт в освоении и интеграции новых компонентов.


Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии58

Мониторинг работы систем загородного дома: первые шаги к умному дому

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

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

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

Курс о Deep Learning на пальцах

Время на прочтение2 мин
Количество просмотров174K
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

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

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


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

Чему я научился, пройдя множество собеседований в компаниях и стартапах из сферы ИИ

Время на прочтение14 мин
Количество просмотров38K
За последние восемь месяцев я прошел собеседования в самых разных компаниях — DeepMind в Google, Wadhwani Institute of AI, Microsoft, Ola, Fractal Analytics и некоторых других — в основном на позиции Data Scientist, Software Engineer и Research Engineer. По ходу дела мне предоставлялись возможности не только пообщаться со многими талантливыми людьми, но также по-новому взглянуть на себя с пониманием того, что хотят услышать работодатели, когда беседуют с кандидатами. Думаю, если бы я располагал этой информацией раньше, то мог бы избежать многих ошибок и подготовиться к собеседованиям куда лучше. Это и стало импульсом к написанию данной статьи — возможно, она поможет кому-нибудь получить работу мечты.


В конце концов, если уж собираешься две трети своего времени (если не больше) проводить за работой, она должна быть этого достойна.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии6

Какие тексты для лендингов действительно продают?

Время на прочтение2 мин
Количество просмотров4.7K
Хороший лендинг — это убедительная продающая страница, которая превращает читателя в покупателя. Заставляет совершить одно результативное действие:

  • Подписаться на рассылку
  • Заказать товар
  • Позвонить
  • Перейти по ссылке
  • Скачать что-то в обмен на контакт
  • Написать письмо обратной связи/сделать заявку
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии7

Простой регулятор на базе нечеткой логики. Создание и настройка

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

Нечеткая логика для управления


Текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.
Показана возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

Постановка задачи


Рассмотрим синтез цифрового ПИД-регулятора и нечеткого регулятора для системы управления ракетой по углу атаки. Методом математического моделирования определим процессы в системе и дадим сравнительную оценку качества системы при использовании синтезированных регуляторов.

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

STM32 + NetBeans =?

Время на прочтение9 мин
Количество просмотров8.1K
Скучный логотип

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

Что получается на практике при попытке подружить STM32 и NetBeans, и возможно ли в принципе получить работоспособную систему с поддержкой новейших камней — под катом.

Спойлер
Да. Но нет.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии40

Где и как изучать машинное обучение?

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

Всем привет!


Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).

Путь для развития новичка я вижу примерно так:

Untitled_presentation
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии19

Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное

Время на прочтение10 мин
Количество просмотров310K
На ныне покойном Geektimes есть (или был) блог Gearbest и он был (или есть) уныл. Их маркетологи зачем-то раз за разом втюхивают одни и те же телефоны и планшеты, тогда как на сайте (впрочем, как и на Ali) есть куча других отличных товаров для гиков. Поэтому, можно я поделюсь своими маленькими китайскими открытиями?



У меня есть дети. Дети = выброшенные батарейки. Т.е. там есть еще промежуточные звенья типа больших роботов, мечей, орущих робокошек, которые катаются по дому и мерцают как мечта эпилептика и так далее. Но все приводит к одному — выброшенным батарейкам.

Благодаря Алексею Надежину мы уже знаем, что лучшими по соотношению цена/емкость являются либо батарейки Ikea и Ашан, либо GP Super. Тем, собственно и жили.
UPD: в комментариях указали, что Алексей провел новое исследование. С учетом обновления цен до текущих, получается, что лучше выглядят батарейки Pairdeer и Lexman из Леруа Мерлен. Ну и опять же Ашан.
Однако, вывалив в специальный контейнер очередную порцию дохлых батареек и испытав на себе полуночный плач ярославны о том, что любимая кукла не работает, пришел к простому выводу — пора переходить на аккумуляторы. Причем, если будут аккумуляторы, неплохо бы их как-то еще и заряжать. Полез гуглить простые зарядки и тут мне открылся “о дивный новый мир”.
Читать дальше →
Всего голосов 108: ↑107 и ↓1+106
Комментарии198

Как я делал свой учет финансов под андроид с блэкджеком, СМС и ФНС

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

Введение


Все началось в далеком 2011-м году, когда я купил свой первый андроид смартфон и открыл для себя удивительный мир андроид маркета. Именно там я нашел великолепное приложение для учета финансов Financisto. Несколько лет я трекал в нем свои расходы и доходы, сильно привык, однако были и слабые стороны:


  • необходимость вводить все транзакции вручную. Притом, что доля безналичных платежей непреклонно росла, а банк на каждый чих шлет вам смс.
  • нет глобального взгляда на бюджет в длительном временном разрезе. То есть хотелось видеть таблицу, предположим, на год, где для каждого месяца было бы видно, сколько планировалось потратить и заработать и сколько вышло по факту, плюс итого по всем строкам и столбцам. Тут ориентиром был YNAB.
  • нет синхронизации между устройствами. Да был Flowzr, но как-то он мне не зашел.

Если вторая проблема решилась экспортом в CSV и всемогущим экселем, то с остальными нужно было что-то делать. Очевидный вариант — сменить программу. Поизучав предложение, пришел к выводу, что все приложения делятся на скудные по функционалу и на дорогие:) Тем временем шел 2015-й год и мне все сильнее хотелось изучить разработку под мобильные девайсы. Что ж, звезды сходятся, принято решение пилить свое приложение!


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



Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии67

Информация

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