Архив за 10 февраля 2016 - 6

SVG-файлы изнутри и вывод векторных изображений на canvas «вручную» (ч.1) - 1

Эта статья написана по следам создания плагина для чтения SVG файлов для анимационного векторного редактора NanoFL. В ней вы найдёте некоторые особенности того, как устроены файлы SVG изнутри и какие проблемы возникают при их разборе и последующем выводе на HTML5/Canvas средствами JavaScript.

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

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

В этой статье вы узнаете:

  • в чем отличие от интерфейсов в Java
  • важные и неочевидные последствия этих отличий
  • как устроены интерфейсы под капотом
  • вспомним про пустой интерфейс (interface{})
  • затронем сакральную тему про дженерики
  • разберемся, кто и зачем должен создавать интерфейс
  • и постараемся научиться не абьюзить интерфейсы и начать жить

Header
(artwork by Svitlana Agudova)

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

image

Дебаты о том, заменят ли роботы людей на определенных рабочих местах, не новы. Исследование, проведенное научно-исследовательским институтом Nomura, представляющий собой японский аналитический центр, и Оксфордским университетом, показало, что в период от 10 до 20 следующих лет почти на половине рабочих мест в Японии человек может быть замещен роботами и искусственным интеллектом.
Читать полностью »

Opera могут поглотить за $1,2 млрд - 1

Сегодня Opera подтвердила получение предложения о поглощении со стороны разработчика игр Beijing Kunlun Tech и разработчика программного обеспечения Qihoo 360, среди инвесторов которых присутствуют Golden Brick Capital Management и Yonglian за $1,2 млрд.Читать полностью »

Телефония для домена - 1

Изучение протокола SIP привело к пониманию того, что он изначально поддерживает работу с доменными именами. В частности, достаточно создать DNS записи типа SRV и NAPTR для указания SIP клиентам где искать ваш сервер телефонии. В результате мы получаем возможность заводить пользователей типа alex@mysite.ru, director@mysite.ru, 101@mysite.ru и делать звонки напрямую на эти номера. В частности, эти номера могут совпадать с адресом электронной почты.
Читать полностью »

В течении нескольких лет я администрирую пару серверов на платформе INTEL, на которых крутится ИИС, при их запуске и работе возникает такое ощущение, что где-то рядом готовится к взлёту небольшой самолёт. Как выяснилось, причина проста: неправильно сконфигурирован FRUSDR.

Для оптимальной производительности сервера необходимо обновить и заново сконфигурировать FRUSDR (Field Replaceable Unit/Sensor Data Record).

Поиск в сети инструкции по обновлению и настройки FRUSDR не дал должного результата, так что, изучив документацию от INTEL, решил свести всё в одну статью.

Итак, приступаем к обновлению BMC, BIOS, FRUSDR и ME

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

Умный банковский троян позволяет снимать почти неограниченное количество денег в банкоматах - 1

«Лаборатория Касперского» обнаружила и проанализировала интересное зловредное ПО, которое нацелено на банки и банковские сети. Это целый программный комплекс, состоящий примерно из 30 различных модулей, способных долгое время находиться в банковской сети незамеченными. Называется система Metel (есть и другое название — Corkow). Само программное обеспечение — не новинка, но сейчас «Лаборатория Касперского» сделала ряд презентаций по этой теме. Один из наиболее интересных объектов для изучения — как раз Metel.

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

Всем привет! У нас на складе появился второй тираж книги «Любовь и математика. Сердце скрытой реальности», которая была издана совместно с фондом «Династия» Обзор книги уже был на Хабре. Здесь мы опубликуем главу из книги «Покорение вершины»

image «Моя цель не в том, чтобы вас чему-то научить. Я хочу дать вам возможность почувствовать, что существует целый мир, который от нас старательно скрывается, — мир математики. Это портал в неизведанную реальность, ключ к пониманию глубинных тайн Вселенной и нас самих. Математика не единственный портал, есть и другие. Но в некотором смысле он самый очевидный. И именно поэтому он так закамуфлирован, как будто бы на нем прибита доска с надписью: «Вам сюда не надо». А на самом деле надо. И когда мы входим в него, мы вспоминаем, кто мы: не маленькие винтики большой машины, не одинокие души, прозябающие на отшибе Вселенной. Мы — Творцы этого мира, способные дарить друг другу красоту и любовь». — Эдуард Френкель.

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

Критика статьи «Как писать на С в 2016 году» - 1
От переводчика:

Данная публикация является третьей и последней статьей цикла, стихийно возникшего после публикации перевода статьи "How to C in 2016" в блоге Inoventica Services. Тут критикуются некоторые изложенные в оригинале тезисы и окончательно формируется законченная "картина" мнений о поднимаемых автором первой публикации вопросах и методах написания кода на С. Со второй публикацией можно ознакомиться здесь.

Мэтт (на сайте которого не указана фамилия автора, по крайней мере, насколько мне известно) опубликовал статью «Программирование на С в 2016 году», которая позже появилась на Reddit и Hacker News, именно на последнем ресурсе я ее и обнаружил.

Да, можно бесконечно "обсуждать" программирование на С, но есть аспекты, с которыми я явно несогласен. Эта критическая статья написана с позиций конструктивной дискуссии. Вполне возможно, что в отдельных случаях прав Мэтт, а заблуждаюсь я.

Я не цитирую всю публикацию Мэтта. В частности, решил опустил некоторые пункты, с которыми согласен. Начнем.

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

Если верить последним тенденциям, то FRP набирает обороты и не собирается останавливаться. Не так давно я столкнулся с проектом, посвященным FRP — ReactiveX, и его реализацией для Swift — RxSwift. На Хабре уже была небольшая статья, которая будет полезна для начального понимания RxSwift. Я хотел бы развить эту тему, поэтому заинтересовавшимся — добро пожаловать под кат!

Лиха беда начало

И это действительно так. Самое сложное, с чем мне пришлось столкнуться — совершенно другое построение программного кода. С моим опытом императивного программирования было тяжело перестраиваться на новый лад. Но чутьё подсказывало мне, что в этом стоит разобраться; у меня ушло 2 недели паники на то, чтобы вникнуть в суть ReactiveX и я не жалею о потраченном времени. Поэтому сразу хотел бы предупредить — статья требует понимания терминов ReactiveX, таких как Observable, Subscriber и т.д.

Итак, начнем. Читать полностью »


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