Источник
Интересные публикации на Хабре
Выбор редакции
15 июля, 23:19

Указатели C как лингвистический парадокс

  • 0

Недавно один знакомый, которого я знаю через совсем не программистские круги, попросил помочь ему с лабораторной по C++. В коде было примерно следующее: void do_something(MyObj *input[], int count) { MyObj **copy = new MyObj*[count]; for (int i = 0; i < count; ++i) *copy[i] = *input[i]; ... } Этот случай напомнил о том, что тема указателей является едва ли не основным источником ошибок у изучающих язык студентов, а заодно — своеобразным перевалом, преодоление которого сопряжено с «щелчком» в голове, вызывать который, увы, умеют не все преподаватели. Надеюсь, предложенная ниже лингвистическая аналогия поможет нынешним студентам постигнуть эту концепцию, а их преподавателям или друзьям — донести до них это знание. Лет десять назад на одном форуме была загадана детская, вроде, загадка: Для чего еду обеда Людоедоедоеда Пригласила на обед Людоедоедовед?Я хочу показать, что эта загадка имеет самое прямое отношение к C/C++, поскольку тема указателей легко может быть разобрана по аналогии. Читать дальше →

Выбор редакции
15 июля, 22:59

МИС. Шаблоны исследований

  • 0

В прошлый раз было описано, какие базовые сущности используются для хранения медицинских данных в МИС Нумеди. Сегодня же предлагаем окунуться в мир шаблонов для протоколов исследований. Протокол исследования – документ, выдаваемый пациенту на руки. Что же представляет собой шаблон? Красивые картинки и цветные буквы – лишь фасад, а фундамент – структура, хранящаяся в базе данных. По большому счету можно выбрать любой формат описания абстрактных данных, который бы позволил сохранить иерархическую структуру. Мы же остановились на XML. Шаблоны – это не статические данные, которые заносятся в поле таблицы один раз и забываются. Со временем структура шаблона может измениться. Например, не хватает каких-то измерений, или они, наоборот, лишние, и врач их не заполняет, ставя прочерки или оставляя пустые места. Ещё один случай изменения структуры – расширение функциональных возможностей системы шаблонов или переосмысление старых. Независимо от причины изменений для старой версии шаблона указывается время, до которого он действует, а для нового, в свою очередь, – с какого времени он вступает в силу. Таким образом, все старые протоколы не теряют и не приобретают какие-либо части, и остаются в том виде, в котором были отданы пациенту. В целом, в системе используется более 15 тегов, и у каждого имеется свой набор атрибутов. С помощью основных тегов, описанных ниже, можно создать шаблон для любого протокола исследования. Читать дальше →

Выбор редакции
15 июля, 21:53

[Из песочницы] Часы с кукушкой на базе Lego Mindstorms

  • 0

Два с половиной года назад я купил набор Lego Mindstorms EV3, чтобы сделать свои первые шаги в робототехнике. Вкатив на контроллер сборку ev3dev и наигравшись с управлением двигателями и сенсорами по SSH, я на два года охладел к покупке. Причина состояла в том, что мне не хватало фантазии по части того, что бы такое можно было собрать: после нескольких собранных моделей из Lego Technics (как коробочных, так и самодельных) я уже привык к чудесам наподобие дистанционно управляемых игрушек, а простые роботы наподобие представленных на Краковской выставке моделей из Lego у меня как у человека, работавшего в своё время над системой телемеханики, уже не вызывали достаточного вдохновения. Повторять чужой опыт тоже не особо хотелось. В конце концов, меня осенило: моделью, достаточно сложной, интересной, практичной и при этом не слишком заезженной могли стать часы с кукушкой. Вдохновлённый этой идеей, я взялся за дело. Читать дальше →

Выбор редакции
15 июля, 20:02

«VSCE»: новый подкаст про ИТ-предпринимателей

  • 0

Это — передача для тех, кому интересна предпринимательская деятельность в сфере ИТ, новые бизнес-модели и все, что связано с управлением проектами, медиа и производством контента. Сегодня мы представляем вашему вниманию текстовый транскрипт нашего подкаста. Гость первого выпуска — Сергей Барышников, основатель медиагруппы BigPicture.ru: подписаться и прослушать подкаст в iTunes прослушать в веб-версии Минутный видеотизер этого выпуска в Facebook и на IGTV Читать дальше →

Выбор редакции
15 июля, 19:22

Activiti — Business process engine

  • 0

Activiti framework (Java) — описание потока задач на XML (bpm) и управление этим процессом. Здесь опишу основные базовые понятия и как строить простые бизнес процессы. Основное понятие Activiti это процесс (process) и задача (task). Процесс это все задачи связанные между собой направленными потоками и ветвлениями. Затрону такие аспекты: — Activiti в чистом виде — Пользователи, Роли — Подключение SpringBoot — REST API — Job и Delegate Движение по потокам идет шагами от задачи к задаче, каждый такой шаг приостанавливает выполнение процесса ожидая входных данных и выполнения задачи, все промежуточные действия сохраняются в базу данных. Где, что брать укажу ниже. Начнем с простого примера — процесс разработки программы, который состоит из написания кода и тестирования. Ниже диаграмма процесса. Читать дальше →

Выбор редакции
15 июля, 18:04

Установка пограничного контроллера сессий 3CX SBC на Windows, Raspberry Pi или Debian 9

  • 0

Введение Пограничный контроллер сессий 3CX SBC используется для подключения удаленных офисов с небольшим количеством телефонов к центральному серверу 3CX. Он транслирует к серверу SIP-сигнализацию, используя собственную технологию 3CX Tunnel, а локальные медиапотоки RTP (собственно, разговоры) коммутирует внутри локальной сети удаленного офиса. Это значительно экономит внешний трафик и повышает качество связи внутри офиса. Весь трафик между SBC и сервером 3CX передается по одному TCP/UDP порту, что значительно упрощает настройку сетевых экранов. Коммуникации через SBC могут быть зашифрованы, а автоматическая настройка телефонов значительно упрощена. Особенно популярен 3CX SBC при подключении к 3CX, расположенной на облачном хостинге, на котором проблематично или затратно организовать полноценный VPN IPSec. 3CX SBC можно установить на ПК с Windows, который активно не используется. Кроме того, если в удаленном офисе находится до 20 IP-телефонов (и до 10 BLF-индикаторов на один телефон), вы можете установить SBC на устройство Raspberry Pi. Рекомендуется использовать более производительные устройства Raspberry Pi 2 или 3 Model B. А при большем количестве телефонов SBC следует устанавливать на Debian Linux 9. Читать дальше →

Выбор редакции
15 июля, 17:35

Метаданные S3 в PostgreSQL. Лекция Яндекса

  • 0

Это вторая лекция с Я.Субботника по базам данных — первую мы опубликовали пару недель назад. Руководитель группы СУБД общего назначения Дмитрий Сарафанников рассказал об эволюции хранилища данных в Яндексе: о том, как мы решили делать S3-совместимый интерфейс, почему выбрали PostgreSQL, на какие грабли наступили и как с ними справились. — Всем привет! Меня зовут Дима, в Яндексе я занимаюсь базами данных. Читать дальше →

Выбор редакции
15 июля, 16:47

[Перевод] Создание мультяшного шейдера воды для веба. Часть 2

  • 0

В первой части мы рассмотрели настройку окружения и поверхности воды. В этой части мы придадим объектам плавучесть, добавим на поверхности линии воды и создадим линии пены с буфером глубин вокруг границ объектов, пересекающихся с поверхностью. Чтобы сцена выглядела чуть получше, я внёс в неё небольшие изменения. Свою сцену вы можете настраивать так, как хотите, а я сделал следующее: Добавил модели маяка и осьминога. Добавил модель земли с цветом #FFA457. Добавил камере цвет неба #6CC8FF. Добавил в сцену цвет подсветки #FFC480 (эти параметры можно найти в настройках сцены). Моя исходная сцена теперь выглядит так. Читать дальше →

Выбор редакции
15 июля, 16:11

Дайджест интересных материалов для мобильного разработчика #261 (9 июля — 15 июля)

  • 0

На этой неделе случилась бомбическая история с приложением Burger King и аналитикой Appsee, App Store исполнилось 10 лет, мы узнали про чат-боты, банковские приложения, архитектуру приложений и нейронных сетей. Читать дальше →

Выбор редакции
15 июля, 15:58

Что слушают разработчики: от классики до игровых саундтреков — обсуждаем все самое интересное

  • 0

Написание кода — это сложная и творческая задача, требующая высокого уровня концентрации. И согласно ряду исследований, помочь настроиться на продуктивный день может музыка. Вопрос только в том, какой музыкальный жанр выбрать. На таких площадках, как Reddit, Hacker News и Хабр обсуждению этого вопроса посвящен не один тред. Мы решили проанализировать мнения разработчиков и отобрать наиболее интересные. Читать дальше →

Выбор редакции
15 июля, 15:26

Linux kernel 4.18: что готовит грядущий релиз

  • 0

Недавно в нашем блоге мы рассказывали о релизе Linux kernel 4.17 и его основных фичах. В этом посте речь пойдет о версии 4.18, которая выйдет в августе. О том, что будет сделано и что уже реализовано — рассказываем под катом. Читать дальше →

Выбор редакции
15 июля, 14:46

[Из песочницы] Google Code-in 2017

  • 0

Для начала расскажу что такое Google Code-in для тех, кто не знает — это онлайн конкурс для школьников 13-17 лет, который нацелен на то, чтобы познакомить их с миром Open Source, предоставляя возможность поработать с организациями разрабатывающими открытое ПО. Я принял участие в этом году и стал одним из победителей. Как проводится этот конкурс? 25 open source организаций конкурса создают небольшие (требующие для выполнения 3-5 часов времени) задания над которыми должны работать участники. В этом году такими организациями были: Wikimedia, Ubuntu, Zulip, FOSSASIA, Drupal, BRL-CAD, coala, Haiku, OSGeo, Apertium, JBoss Community и другие. Менторы организаций выполняют проверку и при необходимости предоставляют помощь (всё-таки для большинства участников GCI является первым опытом работы с открытыми проектами). Конкурс длится 7 недель (конец ноября — начало января). Предусмотрены призы. За выполнение 3 заданий участники получают футболку. Также каждая организация выбирает 5 лучших участников по общему вкладу в проект — они получают "hoodie", а 2 лучших из них — награждаются поездкой в штаб-квартиру Google (Маунтин Вью, штат Калифорния, США). Читать дальше →