Архив за 07 марта 2017 - 6

Красиво «взламываем» ООП с помощью C++14 - 1

Вступление

Недавно при работе над проектом учебной практики возникла потребность из своего кода порождать произвольный процесс и одновременно читать его stdout и stderr. Так как приложение пишется исключительно для linux, я решил заодно разобраться с epoll. Для запуска процесса на просторах интернета была найдена маленькая библиотека, делающая как раз то, что нужно, да еще и оборачивающая ввод-вывод в привычные потоки из стандартной библиотеки (речь о <iostream>).

Вооружившись несколькими статьями про epoll, я уже было собирался писать код, если бы не одно «но» — для epoll нужен доступ к «сырым» файловым дескрипторам, а автор библиотеки не предоставляет public-доступа к ним. Методы класса, возвращающие дескрипторы, скрыты под грифом «protected».

Что делать?

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

Поэтому в голову пришла безумная третья мысль: почему бы не попытаться как-то красиво «взломать» ООП и «легально» получить доступ к protected-методу без вмешательства в исходный код библиотеки? О том, какие преграды возникли на этом пути и как помог C++14 в их преодолении, и пойдет рассказ в данной публикации.
Читать полностью »

в 11:33, , рубрики: java, метки:

Привет житель ! Сегодня я хочу поделиться с тобой решением простой школьной задачки с небольшим дополнением. Для нахождения бесконечного ряда Фибоначчи (даже больше чем long).

Это моя первая статья и пожалуйста не судите строго. Все коды я буду приводить на Java. И так начнем:

Все мы знаем, стандартный школьный алгоритм для нахождения ряда Фибоначчи до N-го числа и этот алгоритм таков:
Читать полностью »

Понадобилось мне в Lightswitch HTML Client перебрать на стороне клиента все элементы коллекции. Не спрашивайте почему — так хочет заказчикЧитать полностью »

image

Подготовка к PHDays VII идет полным ходом. В начале года мы получили 50 заявок на доклады и воркшопы из России, Европы, Азии, Африки, Северной и Южной Америки, а 1 февраля стартовал второй этап Call for Papers. Как и обещали, анонсируем первую группу участников, вошедших в основную техническую программу. В этом году слушатели PHDays узнают, как взломать IPv6-сети, как крадут деньги с помощью POS-терминалов и каким будет WAF следующего поколения. Читать полностью »

Компания SII Semiconductor, являющаяся дочерним предприятием Seiko Instruments, представила серию микросхем S-8224A/B. Эти микросхемы предназначены для цепей вторичной защиты литий-ионных аккумуляторных батарей с числом ячеек от двух до четырех. Они имеют рекордно низкое энергопотребление. Потребляемый ток SII S-8224A/B равен 0,25 мкА, что на порядок ниже, чем у аналогичных изделий.

Третья конференция JavaScript-разработчиков в Одессе — JS Lab - 1

25 марта в Одессе пройдет третья ежегодная конференция JavaScript-разработчиков — JSLab. Наша команда FlyElephant помогает с организацией этой конференции и приглашает всех принять участие в ней.

В этом году мы планируем собрать 250 front-end и back-end JS-разработчиков из Украины и ближнего зарубежья. Конференция пройдет в два потока, которые будут состоять из 12 докладов по 45 минут и 8 блиц-докладов по 10 минут.
Читать полностью »

image

Продажей и бронированием билетов на официальном сайте перевозчика уже давно никого не удивить. Но на дворе не 2010, а 2017 год. И пока граждане не без удовольствия наблюдают за ростом цен на нефть и с неудовольствием – за ценами на многое другое, «Российские железные дороги» решили модернизировать свое мобильное направление.

У РЖД было свое приложение и раньше, причем не для сферического «Йотафона» или «Эльбруса», а для вполне себе современной платформы Android, обладающей крупнейшей пользовательской базой в России. Добавить поддержку других платформ планировалось позднее.

Это «позднее» наступило полгода назад. Мы выиграли заказ на разработку обновленного приложения под Android и две другие мобильные операционные системы: iOS и многими не вполне заслуженно гонимую Windows Phone. Несколько месяцев активной разработки, тестирования и доработок – бета-версия готова.

Про то, как мы это сделали, расскажем под катом.
Читать полностью »

imageАвтор материала знакомит нас со своим коллегой Крисом — @Malakhor9000

Крис работает в офисе, где есть целая куча сотрудников, которым нравится «лепить» его лицо фотошопом на самые разные фотки, и постить все это в Slack-канале компании.

Однако постоянно открывать редактор и «копипастить» вырезки лица — дело нудное, особенно когда Крис пытается отвлечь коллег рассказами о своих геройствах в Smite. И вот после многих ночей, проведенных в фотошопе на протяжении нескольких недель, автор материала решительно захотел найти более удобный способ. Так на свет появилась идея написания @Chrisbot. Подробности этой истории ниже.

Изначально, когда я обдумывал идею, я знал, что в проекте будет три главных компонента:

  1. Простая обработка изображения.
  2. Интеграция со Slack.
  3. Распознавание лиц.

image
Читать полностью »

Как известно, процессоры AMD Ryzen 7, продажи которых начались на прошлой неделе, рассчитаны на установку в разъем AM4. Этот факт побудил производителей процессорных систем охлаждения к публикации сообщений, касающихся совместимости их продукции с новым разъемом.

Компания DeepCool опубликовала список совместимости, из которого следует, что часть воздушных охладителей уже совместима с AM4, а для остальных будут выпущены специальные крепления. Крепления также планируется выпустить для СВО и корпусов со встроенным охлаждением.

Читать полностью »

6 марта Uber сообщил в официальном блоге компании, что теперь их клиенты смогут заказать поездку по всей Московской области. Раньше Uber работал только в Химках, Одинцово, Мытищах, Реутове и Люберцах.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js