RSS
Pages: 1 ... 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 ... 210
[>] Неинициализированные переменные: ищем ошибки
habra.16
habrabot(difrex,1) — All
2016-12-27 14:30:03


![][1]


Большое количество научных исследований используют код, написанный на языке Фортран. И, к великому сожалению, «научные» приложения тоже не застрахованы от банальных ошибок, таких как неинициализированные переменные. Стоит ли говорить, к чему могут приводить подобные вычисления? Иногда эффект от таких ошибок может довести до «серьёзных прорывов» в науке, или стать причиной действительно больших проблем – кто знает где полученные результаты могут быть использованы (но, мы догадываемся где)? Хотелось бы привести ряд простых и эффективных методов, которые позволят проверить существующий код на Фортране с помощью компилятора Intel и избежать подобных неприятностей.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/411/435/4ef/4114354efd2f4ebf83f29571d0b5b333.png
[2]: https://habrahabr.ru/post/318494/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Голос Сиэтла: разговариваем с Сергеем Тепляковым
habra.16
habrabot(difrex,1) — All
2016-12-27 14:30:03


Последние две мои статьи — интервью со спикерами одной прошедшей конференции. Мне показалось интересным поговорить с человеком, который в свое время отказался выступать на этой конференции, “из за одного маленького семейного обстоятельства”. Этот человек — Сергей [SergeyT][1] Тепляков, MVP, автор отличной книги про паттерны проектирования, адепт TDD, ныне разработчик Tools for Software Engineers в Microsoft и мейнтейнер библиотеки Code Contracts.

Под катом много текста про конференции, TDD, парное программирование, архитектуру Code Contracts, хабру.

[Чем же занимаются разработчики в Сиэтле][2]

[1]: https://habrahabr.ru/users/sergeyt/
[2]: https://habrahabr.ru/post/318446/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разбор статистической языковой модели от Google — часть 1: векторное представление символов
habra.16
habrabot(difrex,1) — All
2016-12-27 15:00:03


В этом году исследователи из Google Brain опубликовали статью под названием [Exploring the Limits of Language Modeling][1] (Исследование границ языкового моделирования), в которой была описана языковая модель, позволившая значительно снизить перлексию (с примерно 50 до 30) на словаре [One Billion Word Benchmark][2].

В этом посте мы расскажем про самый низкий уровень этой модели — представление символов.

![][3]

[Читать дальше →][4]

[1]: http://arxiv.org/abs/1602.02410
[2]: http://arxiv.org/abs/1312.3005
[3]: https://habrastorage.org/files/b69/453/00a/b6945300aef84a09ab2363823e8c3d1c.png
[4]: https://habrahabr.ru/post/318454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как обновить ядро в системе без перезапуска сервисов (пошаговая инструкция)
habra.16
habrabot(difrex,1) — All
2016-12-27 15:30:03


Как вы думаете на сколько реально зайти на машину по ssh, обновить систему, загрузить новое ядро и при этом оставаться в той же ssh сессии. Сейчас есть модное движения по обновлению ядра на лету (ksplice, KernelCare, ReadyKernel, etc), но у этого способа есть много ограничений. Во-первых, он не позволяет применять изменения, которые меняют структуру данных. Во-вторых, объекты в памяти могут уже содержать неверные данные, которые могут вызвать проблемы в дальнейшем. Здесь будет описан более «честный» способ обновить ядро. На самом деле, сам способ уже давно известен [[1]][1], а ценность этой статьи в том, что мы разберем все в деталях на реальном примере, поймем на сколько это просто или сложно, и чего стоит ждать от подобных экспериментов.

[Читать дальше →][2]

[1]: https://habrahabr.ru/post/160201/
[2]: https://habrahabr.ru/post/318522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Еще один домашний медиасервер на базе Docker
habra.16
habrabot(difrex,1) — All
2016-12-27 17:30:04


Добрый день Хабр. На написание этой статьи меня сподвигло закрытие довольно известных в UA-IX ресурсов ex.ua и fs.to. Поскольку доблестные правоохранители не озаботились предоставлением какой-либо достойной альтернативы, было принято решение взять процесс в свои руки, к тому же давно хотелось организовать домашнее хранилище/файлопомойку не зависящее от внешних провайдеров. В процессе реализации было перепробовано довольно много разных систем, но в итоге все выстроилось именно так, а не иначе. Мнение субъективное, реализация доступная. Сама статья рассчитана на новичков которым необходимо просто работающее решение, или на тех кто задумался о своем медиасервере, но еще не определился с реализацией.

Итак решение принято, начнем.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создавая хтонических чудовищ, документируй
habra.16
habrabot(difrex,1) — All
2016-12-27 17:30:04


![ioninja][1]

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



Нижележащий текст преследует несколько целей:


1. Во-первых, дать краткий обзор (читай — немного погундеть на тему) неудовлетворительного состояния инструментария, применимого к хтоническим чудовищам мира C/C++;
2. Во-вторых, предложить своё **альтернативное решение** (бесплатно-без-СМС-и-регистрации — проект некоммерческий и выложен на GitHub под MIT-лицензией);
3. В-третьих, призвать сообщество **пообщаться на тему** и собрать идеи;
4. В-четвёртых, пригласить **присоединиться к разработке** проекта на GitHub.

Сразу оговорюсь, что хотя проект создавался в первую очередь как альтернатива, а точнее, дополнение Doxygen для сишных и плюсовых API, архитектурно он в равной степени пригоден и **для других языков**. Это позволяет создавать порталы документации разноплановых библиотек — сами библиотеки могут быть написаны **на разных языках**, а в документации будет **единство стиля** во внешнем виде и поведении.





[Читать дальше →][2]

[1]: https://habrastorage.org/files/11c/a6c/b46/11ca6cb46335472bb4ebe4a67512e884.png
[2]: https://habrahabr.ru/post/318564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Простейший вывод звука с помощью библиотеки Audiere
habra.16
habrabot(difrex,1) — All
2016-12-27 17:30:04


Приветствую! Данная заметка ориентирована на начинающих программистов, самых, что ни на есть новичков. Она о простой библиотеке Audiere. Если вы когда-то хотели вывести звук просто и быстро, то Audiere вам скорее всего понравится!

Для начала расскажу немного о том, что это:

Audiere — это высокоуровневый аудио-API с открытым исходным кодом под лицензией LGPL. Его можно использовать во множестве языков, включая Java, C++, Python, Delphi и др. Разрешается использовать в коммерческих приложениях свободным образом, если исходный код не будет затронут (подробности в документации к библиотеке).
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318584/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анатомия HTTP-запроса
habra.16
habrabot(difrex,1) — All
2016-12-27 17:30:04


![Анатомия HTTP-запроса][1]



Каждый хороший разработчик должен знать, что происходит под капотом после того, как пользователь введет URL сайта в адресной строке браузера и нажмет кнопку "Перейти". На самом деле [это самый частый вопрос на собеседовании][2]. В этой статье мы разберем, что происходит во время обработки HTTP-запроса.

[Читать дальше →][3]

[1]: https://habrastorage.org/files/031/4c0/9ef/0314c09ef04d4eebab1f5baccac052f9.png
[2]: https://github.com/tvandame/back-end-developer-interview-questions#http-specific-questions
[3]: https://habrahabr.ru/post/318566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 2
habra.16
habrabot(difrex,1) — All
2016-12-27 18:00:04


Мы продолжаем рассказывать о [курсе][1] «How to Win Coding Competitions: Secrets of Champions», который Университет ИТМО запустил на платформе edX в этом году (первую часть материала читайте [здесь][2]).

Во второй части нашей беседы с авторами и инструкторами курса — Максимом Буздаловым и Павлом Кротковым, чемпионами ACM ICPC, и Дарьей Яковлевой, призером Google Code Jam for Women, речь пойдет о том, важен ли победителям олимпиад правильный настрой, как развить навык поиска креативных решений и кому будет полезен курс от чемпионов Университета ИТМО.

[![][3]][4] [Читать дальше →][5]

[1]: https://www.edx.org/course/how-win-coding-competitions-secrets-itmox-i2cpx-0#!
[2]: https://habrahabr.ru/company/spbifmo/blog/318444/
[3]: https://habrastorage.org/files/fa2/865/eb9/fa2865eb9f5a4874910b433f4dfe7637.jpg
[4]: https://habrahabr.ru/company/spbifmo/blog/318576/
[5]: https://habrahabr.ru/post/318576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование send для удобства, от безысходности и ради развлечения
habra.16
habrabot(difrex,1) — All
2016-12-27 23:00:08


![][1]
[Один из методов][2] библиотеки Sidekiq. [Объяснение смайла][3]



_send_ в Ruby вызывает методы объектов по имени. Вот очевидный способ применения:


# До: явно используем присваивание. Неудобно, если полей много или они определяются в рантайме.
user.name = "Иван"
user.age = 29

# После: передаём имя атрибута параметром. Решает проблемы первого способа.
def set(field, value)
send("#{field}=", value)
end
user.set(:name, "Иван")
user.set(:age, 29)

А ещё вы наверняка видели такие строки:


after_create :send_email

Да-да, коллбэки в рельсах внутри реализованы [тоже с помощью send][4].


[Что ещё умеет send?][5]

[1]: https://habrastorage.org/files/c89/9b2/547/c899b254775440adbb76027708707360.png
[2]: https://github.com/mperham/sidekiq/blob/b63a8571524e1e505c93c97c2bdb1c352f845064/lib/sidekiq.rb#L51
[3]: http://stackoverflow.com/questions/23975346/why-is-%E2%95%AF%C2%B0%E2%96%A1%C2%B0-%E2%95%AF-%E2%94%BB%E2%94%81%E2%94%BB-with-such-an-encoding-used-for-a-method-name
[4]: https://github.com/rails/rails/blob/38fe5ae24476ef8808d5eb6366afe84ff43a3279/activesupport/lib/active_support/callbacks.rb#L432
[5]: https://habrahabr.ru/post/318546/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Искусственный интеллект «Мира дикого запада» HBO: тогда и сейчас
habra.16
habrabot(difrex,1) — All
2016-12-27 23:00:08


![image][1]

Так же, как и сегодня, в 1973 году (в год, когда Майкл Кричтон выпустил «Мир дикого запада») всех завораживала идея искусственного интеллекта. Фильм имел огромный кассовый успех, хотя был выпущен в том же году, когда люди начали охладевать к идее ИИ: массивное истощение ресурсов ИИ, обманутые ожидания и, как следствие, угасающий интерес в последующие годы.

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

Новая версия «Мира дикого запада» от HBO, созданная Джонатаном Ноланом и Лизой Джой стала на сегодняшний день одним из самых популярных сериалов. Футуристические западные реалии подливают масла в огонь повсеместной одержимости ИИ, и популярность шоу доказывает, что люди заворожены потенциалом ИИ. Успех «Мира дикого запада» отражает устойчивую экосистему ИИ, в котором венчурные фонды, корпорации и потребители активно взаимодействуют.

[Читать дальше →][2]

[1]: https://habrastorage.org/files/6c9/e9c/259/6c9e9c259a5b4d5ba254b3c76ed18d9a.jpg
[2]: https://habrahabr.ru/post/318562/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] A fistful of relays. Часть 3 — декодер команд и управляющий автомат
habra.16
habrabot(difrex,1) — All
2016-12-28 11:00:03


Моя [коллекция старых компьютеров][1] пополняется не очень быстро, поэтому я делаю старый компьютер [своими руками][2].

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

Тёплый ламповый щелкающий звук тактового генератора:


[Читать дальше →][3]

[1]: https://vk.com/album782822_104271587
[2]: https://habrahabr.ru/post/258337/
[3]: https://habrahabr.ru/post/318500/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains Night в Москве. Видео. Применение ReSharper в командах .NET-разработчиков
habra.16
habrabot(difrex,1) — All
2016-12-28 12:00:04


29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains.

На Хабре мы публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Предыдущие доклады можно посмотреть в [прошлых публикациях][1], а сегодня мы публикуем видео доклада Размика Сейсяна об использовании ReSharper для того, чтобы разрабатывать на C# в командах. Итак, лучшие практики настройки Resharper для команд:

[][2]

[1]: https://habrahabr.ru/company/JetBrains/blog/317456/
[2]: https://habrahabr.ru/post/318608/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сравнение систем мониторинга: Shinken vs Sensu vs Icinga 2 vs Zabbix
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


## [Shinken][1] {#shinkenhttpwwwshinken-monitoringorg}



Согласно официальному сайту, Shinken — фреймворк мониторинга; переписанный с нуля на питоне Nagios Core, с улучшенной поддержкой больших окружений и более гибкий.



### Масштабируемость {#masshtabiruemost}



Согласно [документации][2], каждый тип используемых процессов может запускаться на отдельном хосте. Это очень полезная возможность, поскольку вы можете захотеть иметь базу данных в самом дешёвом месте, процессы сбора информации в каждом датацентре, и процессы рассылки уведомлений ближе к своему физическому расположению. Пользователь Shinken на схеме счастлив, это точно является хорошим признаком:



![Shinken simple distributed architecture][3]

[Читать дальше →][4]

[1]: http://www.shinken-monitoring.org/
[2]: https://shinken.readthedocs.io/en/latest/07_advanced/distributed.html
[3]: https://shinken.readthedocs.io/en/latest/_images/shinken-architecture.png
[4]: https://habrahabr.ru/post/318466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я научился не волноваться и полюбил микросервисы, часть 1: Эффекты плохого кода
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


## Преамбула


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

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

Я постараюсь выделить объективные или почти-объективные плюсы — преимущества, которые дадут положительный эффект любому разработчику независимо от языка программирования, размера команды или диеты. Первая статья посвящена стоимости плохо написанного кода – мы сравним эффекты влияния такого кода на монолитные приложения и на микросервисы.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318520/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Ceph в ProxMox на ZFS
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


В своей работе (системный администратор) приходится всегда искать вещи и знания, уникальные для своего региона. Одной из таких вещей в нашей конторе является ProxMox, поставленный на файловой системе ZFS, позволяющей использовать неплохой raid массив без использования железных контроллеров. Однажды, думая, чем можно еще удивить и порадовать клиентов, мы решили всё это водрузить на распределенную файловую систему Ceph. Не знаю уж, насколько было такое решение адекватным, но я решил воплотить желание в жизнь. И тут понеслась… Я перелопатил горы статей и форумов, но так и не нашел одного адекватного мануала, описывающего в подробностях что и как делать, поэтому, справившись со всем, родилась эта статья, кому интересно, добро пожаловать под кат.



![image][1]


[Читать дальше →][2]

[1]: https://pp.vk.me/c638017/v638017888/13fa8/Lg7SMlOaeAE.jpg
[2]: https://habrahabr.ru/post/318548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DNS-серверы ntp.org не доступны
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


Не добрый день, коллеги по цеху. В текущий момент наблюдается недоступность DNS-серверов, отвечающих за зону ntp.org. С серверами pool.ntp.org синхронизируются миллиарды устройств по всему миру и теперь они испытывают проблему в получении точного времени.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318556/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В системах управления электроподстанциями Siemens обнаружены серьезные уязвимости
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


[![][1]][2]

Специалисты компании Positive Technologies Илья Карпов и Дмитрий Скляров выявили уязвимости в программном обеспечении Siemens SICAM PAS (Power Automation System), предназначенном для построения АСУ ТП в энергетике. Данное ПО используется на подстанциях различных классов напряжения в России, странах Европы и на других континентах. [Читать дальше →][3]

[1]: https://habrastorage.org/files/1e3/c01/a1c/1e3c01a1c41142169efba1217c464e8f.jpg
[2]: https://habrahabr.ru/company/pt/blog/318606/
[3]: https://habrahabr.ru/post/318606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отладочная плата ПЛИС — Франкенштейн. Звуки и музыка
habra.16
habrabot(difrex,1) — All
2016-12-28 12:30:03


_Сегодня у нас самая предновогодняя серия про ПЛИС и отладочную плату Френки. Предыдущие серии [1][1], [2][2]._



![][3]Мы уже [передавали тоновые сигналы по радио][4] с помощью нашей платы Франкенштейн. Теперь попробуем воспроизводить звуки и музыку.



Для этого подключим к ПЛИС обычный динамик. К Френки подключен генератор на 25.175 МГц. Если поделить эту частоту до диапазона слышимых частот и подать на вывод ПЛИС, то мы можем услышать звук. Меня частоту мы можем получить разные звуки.



Тестировать качество звучания будет самый лучший слухач в доме — Маша. Диапазон частот в 60 КГц — это вам не шутки! )))


[Разовьем эту идею][5]

[1]: https://habrahabr.ru/post/316234/
[2]: https://habrahabr.ru/post/316586/
[3]: https://habrastorage.org/files/7f7/4f9/4e0/7f74f94e04cc4d53956f2e899a184327.gif
[4]: https://habrahabr.ru/post/316234/
[5]: https://habrahabr.ru/post/317876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сложнейшая проблема комьютерных наук
habra.16
habrabot(difrex,1) — All
2016-12-28 13:30:07


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


## Тысяча диалектов


Знаете ли вы, что [спецификация][1] языка программирования С часто упоминает термин «объект»? Нет, это не объект в том понимании, как он описывается в ООП — объект в С определяется как «блок данных в среде выполнения, содержимое которого может представлять некоторое значение». В этом понимании объекта имеет смысл говорить о, например, «объекте типа char».

Термин «метод» достаточно распространён, но вы можете встретить программистов, которые будут говорить исключительно «функция-член класса». Язык программирования Java, поэтому, то ли имеет, то ли не имеет функций, в зависимости от того, кого вы об этом спросите. Термины «процедура» и «подпрограмма» иногда используются как аналог «функции», но в некоторых языках программирования (например, Pascal) процедура это совершенно не то же самое, что функция.

Даже в рамках одного языка программирования мы, бывает, путаемся.
[Читать дальше →][2]

[1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
[2]: https://habrahabr.ru/post/318618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Подборка полезных слайдов про *nix 2: Возвращение слайдов
habra.16
habrabot(difrex,1) — All
2016-12-28 15:00:04


Полезные слайды об основах Unix, Linux, сетевых технологий пера Джулии Эванс возвращаются.

![image][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/0c4/eea/b64/0c4eeab642a840b68483fbe596c55c1c.png
[2]: https://habrahabr.ru/post/318646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 11 советов, которые помогут сэкономить время при отладке программ
habra.16
habrabot(difrex,1) — All
2016-12-28 16:30:03


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

![][1]



## Вспомогательные средства


Каждый программист должен знать, как запускать отладчик, устанавливать контрольные точки, возобновлять исполнение кода, выполнять вход и выход из функций (используя клавиатуру!). Вот несколько простейших советов по облегчению процесса отладки на основе базовых приемов.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/d02/462/de8/d02462de8eb04dcbb1c875a656c7ba36.png
[2]: https://habrahabr.ru/post/318658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сложнейшая проблема компьютерных наук
habra.16
habrabot(difrex,1) — All
2016-12-28 16:30:03


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


## Тысяча диалектов


Знаете ли вы, что [спецификация][1] языка программирования С часто упоминает термин «объект»? Нет, это не объект в том понимании, как он описывается в ООП — объект в С определяется как «блок данных в среде выполнения, содержимое которого может представлять некоторое значение». В этом понимании объекта имеет смысл говорить о, например, «объекте типа char».

Термин «метод» достаточно распространён, но вы можете встретить программистов, которые будут говорить исключительно «функция-член класса». Язык программирования Java, поэтому, то ли имеет, то ли не имеет функций, в зависимости от того, кого вы об этом спросите. Термины «процедура» и «подпрограмма» иногда используются как аналог «функции», но в некоторых языках программирования (например, Pascal) процедура это совершенно не то же самое, что функция.

Даже в рамках одного языка программирования мы, бывает, путаемся.
[Читать дальше →][2]

[1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
[2]: https://habrahabr.ru/post/318618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вспоминаем 2016-й: наши лучшие посты года
habra.16
habrabot(difrex,1) — All
2016-12-28 18:30:04


![][1]

Новый год всё ближе, остались считанные дни. Пора подвести итоги. Всего за этот год мы опубликовали почти 200 постов (этот — 198-й) с суммарным рейтингом 6912, получили 6245 комментариев, 21835 добавлений в избранное и почти 3 миллиона просмотров! Мы сели и с умилением и ностальгией вспомнили лучшие посты в нашем блоге за 2016 год. Присоединяйтесь!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f6a/51e/8b6/f6a51e8b68044088b97688daec3f096f.jpg
[2]: https://habrahabr.ru/post/318580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отчёт со Sberbank Data Science Day: решения, победители, интервью
habra.16
habrabot(difrex,1) — All
2016-12-28 22:00:04


В ноябре Сбербанк провел серию мероприятий по машинному обучению и искусственному интеллекту Sberbank Data Science Journey. Финальное мероприятие, Data Science Day, прошло 12-го ноября на площадке DI Telegraph. Его посетило более 1000 человек. [Читать дальше][1]

[1]: https://habrahabr.ru/post/318160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Компиляция Java программ и разрешение зависимостей в runtime
habra.16
habrabot(difrex,1) — All
2016-12-28 23:00:03


Как можно совместить некоторые достоинства динамических языков со строгой типизацией в обычном Java коде?
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318544/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Насколько удобным может быть API для рисования в iOS?
habra.16
habrabot(difrex,1) — All
2016-12-29 00:00:03


Здравствуйте, меня зовут Виктор, я работаю в компании Exyte. Недавно мы выложили в open source нашу внутреннюю разработку — библиотеку для работы с векторной графикой и ее анимации [Macaw][1]. Я хочу поделиться впечатлениями от применения ее в реальном проекте и рассказать о ее преимуществах над нативным API.



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


* Отнаследоваться от UIView, чтобы переопределить drawRect
* Описать "сцену" используя устаревший Core Graphics API

Давайте попробуем создать нестандартный контрол и используем его как пример:



![ControlImage][2]


[Читать дальше →][3]

[1]: https://github.com/exyte/Macaw
[2]: https://dl.dropboxusercontent.com/u/33704652/hosting/Animation/cg_control.gif
[3]: https://habrahabr.ru/post/318684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VPN за 60 секунд
habra.16
habrabot(difrex,1) — All
2016-12-29 10:30:03


Если Вы предпочитаете простые и красивые решения, или Вам нравится всё, что попадает под категорию It Just Works, то эта статья для Вас. Для запуска шифрованного подключения достаточно иметь на своем компьютере SSH-клиент, установить sshuttle (об этом чуть позже) и приобрести VPS с любым тарифным планом в интересующей Вас стране. На удалённой VPS-машине в большинстве случаев абсолютно ничего настраивать не нужно (достаточно, чтобы были установлены пакеты python и сервер SSH).
![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/56b/242/fdf/56b242fdf896476c9fe0c307eb8d1296.jpg
[2]: https://habrahabr.ru/post/318694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Intel Software Guard Extensions, учебное руководство. Часть 4, устройство анклава
habra.16
habrabot(difrex,1) — All
2016-12-29 13:30:04


В четвертой части серии учебных материалов, посвященных расширениям Intel Software Guard Extensions (Intel SGX), мы займемся созданием анклава и его интерфейса. Мы рассмотрим границы анклава, определенные в [третьей части][1], и определим необходимые функции моста, рассмотрим влияние функций моста на объектную модель и создадим инфраструктуру проекта, необходимую для интеграции анклава в наше приложение. Вместо ECALL анклава мы пока используем заглушки; к полной интеграции анклава мы перейдем в пятой части этой серии.

![][2]
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/intel/blog/318012/
[2]: https://habrastorage.org/files/bfc/3cb/493/bfc3cb4933524b1b9bfe94976956aa99.jpg
[3]: https://habrahabr.ru/post/318628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Sparrow — система управления пользовательскими скриптами
habra.16
habrabot(difrex,1) — All
2016-12-29 13:30:04


Здравствуйте. В течение этого года я написал [ряд][1] статей о [Sparrow][2] — системе управления пользовательскими скриптами. В конце года я хотел бы сделать своего рода результирующий пост, где еще раз попытаюсь описать основную суть этого инструмента.


[Читать дальше →][3]

[1]: https://habrahabr.ru/search/?q=sparrow#h
[2]: https://github.com/melezhik/sparrow
[3]: https://habrahabr.ru/post/318604/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как запрограммировать пословицу?
habra.16
habrabot(difrex,1) — All
2016-12-29 13:30:04


Пожалуй, можно описать с помощью программного кода почти все, что нас окружает. И хорошо, что почти, это позволяет нам не погружаться полностью в матрицу. Да, еще довольно трудно запрограммировать поведение отдельно взятых политиков, ведь как можно описать то, что не поддается логике? А вот мудрость, как противовес этому — можно.

![image][1]
[Читать дальше →][2]

[1]: http://s019.radikal.ru/i621/1407/d6/d58ddaedf56a.jpg
[2]: https://habrahabr.ru/post/318680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Превращаем свой смартфон в IoT датчик при помощи Bluemix. Пример разработки приложения
habra.16
habrabot(difrex,1) — All
2016-12-29 13:30:04


![][1]

Bluemix — мощная платформа, которая позволяет быстро и без проблем создавать, разворачивать и администрировать приложения в облаке. Bluemix — это реализация архитектуры IBM Open Cloud Architecture на основе открытого ПО Cloud Foundry, работающего по принципу «платформа как услуга» (Platform as a Service – PaaS).

При помощи этой платформы и службы IBM Watson IoT Paltform можно разработать Bluemix-приложение, которое позволит обрабатывать, визуализировать и сохранять данные, полученные со смартфона. В этой статье показано, как обычный смартфон можно превратить в надежный датчик, подключенный к сети.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/4b5/35f/c2f/4b535fc2f6df4e4cb7e9f3e1cf60082b.png
[2]: https://habrahabr.ru/post/318702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VulnHub: Эксплуатируем уязвимость переполнения буфера в Lord Of The Root
habra.16
habrabot(difrex,1) — All
2016-12-29 13:30:04


![][1]

Продолжаем разбор квестов с [VulnHub][2], на этот раз попался довольно интересный с обходом ASLR: [Lord Of The Root][3]. Но обо всём по порядку… [Читать дальше →][4]

[1]: https://habrastorage.org/files/444/c9b/a38/444c9ba38e9840538347246124d2d54f.png
[2]: https://www.vulnhub.com
[3]: https://www.vulnhub.com/entry/lord-of-the-root-1,129/
[4]: https://habrahabr.ru/post/318238/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Маршрутизация ортогональных соединений в редакторах диаграмм
habra.16
habrabot(difrex,1) — All
2016-12-29 16:30:04


# Маршрутизация ортогональных соединений в редакторах диаграмм {#marshrutizaciya-ortogonalnyh-soedineniy-v-redaktorah-diagramm}



В данной статье я покажу, как решить проблему маршрутизации соединений в редакторе диаграмм типа MS Visio. Здесь будет минимум теории и максимум практики. Если вам нужно быстро реализовать маршрутизацию соединений в двумерной сцене, и вы первый раз сталкиваетесь с подобной проблемой — то эта статья для вас.



![lead][1]



## Проблематика {#problematika}



К данной проблеме я пришел в процессе разработки своего хобби-проекта [ultra\_outliner][2]. Грубо говоря, в нем есть двумерная сцена, в которой находится много прямоугольных карточек, которые могут быть связаны между собой. И соединений может быть довольно много — а значит их нужно маршрутизировать, чтобы сегменты не накладывались, не пересекали карточки и др.



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


[Читать дальше →][3]

[1]: https://www.dropbox.com/s/x31twgv26dhv14e/lead.png?raw=1 "lead"
[2]: http://ultraoutliner.com
[3]: https://habrahabr.ru/post/318722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итоги года: Большой предновогодний дайджест Университета ИТМО
habra.16
habrabot(difrex,1) — All
2016-12-29 17:00:04


Накануне новогодних праздников мы решили поделиться с вами подборкой самых интересных материалов, которые вышли в блоге [Университета ИТМО][1] (и не только) в уходящем году: от научных публикаций до рассказов о предпринимателях и от робототехники до биоинформатики.

[![][2]][3] [Читать дальше →][4]

[1]: http://www.ifmo.ru/ru/
[2]: https://habrastorage.org/files/445/fc7/87b/445fc787bc074cd2ac81317b86cc3b65.jpg
[3]: https://habrahabr.ru/company/spbifmo/blog/318728/
[4]: https://habrahabr.ru/post/318728/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Велосипед для извлечения данных
habra.16
habrabot(difrex,1) — All
2016-12-29 17:00:04


![Извлечение данных][1]



Каждому кто занимается промышленной разработкой кровавым энтерпрайзом не раз приходилось сталкиваться с написанием слоя работы с базой данных. С этим столкнулись и мы.



Наш проект построен на финском фреймворке Vaadin и чистым JDBC в основе слоя работы с базой данных. Без опыта работы с JDBC мы нагородили достаточно большой слой спагетти кода, а потом доблестно с ним разобрались.



О том как мы с этим боролись и какой велосипед изобрели под катом.


[Читать дальше →][2]

[1]: https://habrastorage.org/files/4ca/ad2/706/4caad27066b24be4a041522ae39cf9e4.png
[2]: https://habrahabr.ru/post/318740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Методы защиты от CSRF-атаки
habra.16
habrabot(difrex,1) — All
2016-12-29 17:00:04


## Что такое CSRF атака? {#chto-takoe-csrf-ataka}



Ознакомиться с самой идеей атаки CSRF можно на классических ресурсах:


* [OWASP][1]
* [Acunetix][2]
* [Отличный ответ на SO][3]

##### Выдержка из ответа на SO: {#vyderzhka-iz-otveta-na-so}



Причина CSRF кроется в том, что браузеры не понимают, как различить, было ли действие явно совершено пользователем (_как, скажем, нажатие кнопки на форме или переход по ссылке_) или пользователь неумышленно выполнил это действие (_например, при посещении `bad.com`, ресурсом был отправлен запрос на `good.com/some_action`, в то время как пользователь уже был залогинен на `good.com`_).



## Как от нее защититься? {#kak-ot-nee-zaschititsya}



Эффективным и общепринятым на сегодня способом защиты от CSRF-Атаки является **токен**. Под токеном имеется в виду случайный набор байт, который сервер передает клиенту, а клиент возвращает серверу.



Защита сводится к проверке токена, который сгенерировал сервер, и токена, который прислал пользователь.

[Читать дальше →][4]

[1]: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
[2]: http://www.acunetix.com/websitesecurity/csrf-attacks/
[3]: http://stackoverflow.com/questions/11518245/csrf-attacks-and-double-submitted-cookie/29622103#29622103
[4]: https://habrahabr.ru/post/318748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отладочный механизм в процессорах Intel позволяет захватывать их через USB-порт
habra.16
habrabot(difrex,1) — All
2016-12-29 17:00:04


[![][1]][2]

Современные процессоры Intel позволяют использовать отладочный интерфейс через доступный на многих платформах порт USB 3.0 для получения полного контроля над системой, что дает возможность проводить атаки, которые не отслеживаются современными системами безопасности. Доклад об этих механизмах, а также о способах защиты от подобных атак, был представлен экспертами Positive Technologies 28 декабря на конференции Chaos Communication Congress (33C3) в Гамбурге. [Читать дальше →][3]

[1]: https://habrastorage.org/files/76c/090/236/76c090236c094d3a807a342798164041.png
[2]: https://habrahabr.ru/company/pt/blog/318744/
[3]: https://habrahabr.ru/post/318744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как 10 лет назад начинался проект PVS-Studio
habra.16
habrabot(difrex,1) — All
2016-12-29 17:30:04


![Единорог][1]

Десять лет назад мы создали простенькую утилиту под названием Viva64, предназначенную для выявления некоторых проблем в 64-битном коде. Так было заложено начало статического анализатора кода PVS-Studio. Хотя с того момента прошло 10 лет, что-то более-менее у нас, как у компании, стало получаться только несколько лет назад. Эта статья — не история успеха, так как мы считаем, что всё интересное только начинается. Однако, 10 лет — это повод подвести промежуточные итоги и рассказать нашим читателям как все начиналось, какие нас ждали ошибки, и что на данный момент у нас получилось. Местами я, возможно, буду не совсем хронологически точен при описании событий. Моя память не идеальна, а 10 лет — это длительный промежуток времени. Желаю всем приятного чтения.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/2a1/35a/43f/2a135a43f94d625e0d33a331aa6cf8e3.png
[2]: https://habrahabr.ru/post/318756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему этой зимой мы снова приглашаем всех поиграть в компьютерные игры при помощи искусственного интеллекта
habra.16
habrabot(difrex,1) — All
2016-12-29 18:00:03


Хабр, МФТИ приветствует тебя! Как истинные технари, сразу переходим к делу и приглашаем всех, кому интересно, принять участие в новом хакатоне DeepHack, который пройдет на Физтехе с 6 по 12 февраля. Отборочный этап уже начался и продлится до 22 января. Это мы всё к чему… Если вы не понаслышке знаете, что такое DQN, deep RL и DeepHack сразу регистрируйтесь на очередную научную школу-хакатон — [rl.deephack.me][1].

[][2]

А если вы не до конца в теме и вам, например, не ясно, почему компьютерные игры, какое отношение они имеют к управлению дата-центрами и что на самом деле будет в феврале, то срочно идите под кат — там максимальное погружение в жизнь искусственного интеллекта от древности и до наших дней. Ну вы же не думаете, что всё это изобрели только в XXI веке?
[Читать дальше →][3]

[1]: http://rl.deephack.me
[2]: https://habrahabr.ru/company/mipt/blog/318758/
[3]: https://habrahabr.ru/post/318758/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Ада Лавлейс. Первая в мире программа и взгляд в будущее
habra.16
habrabot(difrex,1) — All
2016-12-29 19:00:04


![image][1]


_Ада Лавлейс_

10 декабря 1815 года на свет появилась Ада Лавлейс, большинству из нас известная как самый первый в мире программист. Так уж получилось, что это звание принадлежит представительнице прекрасного пола. Сегодня исполняется двести один год со дня рождения этого человека. И в этом посте я бы хотел немного рассказать о самых интересных моментах из ее жизни, не отделываясь обрывочными фразами, но и не слишком уж углубляясь в детали. Материал можно найти, где угодно, имея под рукой Интернет. Однако мало кто полезет искать его просто ради интереса. Поэтому кому интересно, добро пожаловать под кат.
[Читать дальше →][2]

[1]: http://www.rudata.ru/w/images/2/2e/Ada_Lovelace_1838.jpg
[2]: https://habrahabr.ru/post/318752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DS, ML и люди, которые этим занимаются. Взгляд Сбербанка
habra.16
habrabot(difrex,1) — All
2016-12-29 20:30:03


Через банк проходят сотни миллионов транзакций ежедневно, поэтому на серверах накапливаются большие данные: сведения о самих клиентах, паттерны их покупок, требования в целом. По сути, банки превращаются в IT-компании так, как это произошло с телеком-операторами. Они предоставляют все больше цифровых сервисов и услуг, а собираемые ими данные и извлекаемая из них информация активно используются в создании новых сервисов. Применить эту информацию можно в множестве приложений, от классических задач оптимизации обработки транзакций и кибербезопасности с выявлением мошенничества, вплоть до создания персональных финансовых ассистентов и сверх-таргетированного маркетинга. [Читать дальше][1]

[1]: https://habrahabr.ru/post/318152/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Идиома Ranges
habra.16
habrabot(difrex,1) — All
2016-12-29 21:30:03


![image][1]
Идиома ranges — крайне удачное развитие итераторов. Она позволяет писать высокопроизводительный код, не выделяющий память, где это не надо, находясь на предельно высоком уровне абстракции. Кроме того делает библиотеки гораздо более универсальными, а их интерфейсы гибкими. Под катом краткое описание и практические примеры использования идиомы, тесты производительности, а так же сравнение с популярными реализациями итераторов в C++ и C#.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/b39/b45/b7a/b39b45b7a55a47559974bb8ce9280187.png
[2]: https://habrahabr.ru/post/318266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Стильный код на Python, или учимся использовать Flake8
habra.16
habrabot(difrex,1) — All
2016-12-29 23:30:05


![][1]
_Автор: Анатолий Соловей, developer_

Язык программирования Python очень востребован на современном рынке, он развивается изо дня в день, и вокруг него сложилось активное сообщество. Во избежание конфликтов между разработчиками-питонистами, создатели языка написали соглашение PEP 8, описывающее правила оформления кода, однако даже там отмечено, что:
> Many projects have their own coding style guidelines. In the event of any conflicts, such project-specific guides take precedence for that project.
В результате добавления новых правил количество требований к оформлению кода увеличилось настолько, что удержать их в голове стало очень трудно. При этом обращение к гайдам может занимать много времени и отвлекать от процесса разработки.

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

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

На помощь в этом случае приходят линтеры — инструменты, контролирующие оформление кода в проекте. Именно они помогают поддерживать его чистоту и, в нашем случае, предотвращать создание коммитов, которые могут содержать ошибки. Я для контроля качества использую Flake8 и сейчас постараюсь объяснить, почему выбрал именно его, и расскажу, как его настроить, чтобы получить максимальный результат. Заинтересовались? Добро пожаловать под кат.

[Читать дальше →][2]

[1]: https://habrastorage.org/files/839/634/9c3/8396349c3e804e45833b14213ed0efd3.png
[2]: https://habrahabr.ru/post/318776/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Мы хотим сделать вам новогодний подарок, но нам нужна ваша помощь
habra.16
habrabot(difrex,1) — All
2016-12-30 11:00:03


![][1]

Мы хотим сделать вам новогодний подарок, но нам нужна ваша помощь!

Да-да, именно так. Мы уже давно пытаемся улучшить стек USB в ReactOS. И мы знаем, как вы этого хотите! Одной из крайних попыток был [проект][2] в рамках GSoC 2016. Этот проект был успешен, поставленная в его рамках задача была выполнена, но в целом проделанной работы оказалось недостаточно. Перехватив эстафетную палочку, восполнить недостающие пробелы взялся другой разработчик-волонтер, Вадим Галянт. [Читать дальше →][3]

[1]: https://habrastorage.org/files/03b/925/17a/03b92517a68a4b17b29aaf355c5b0400.jpg
[2]: https://www.reactos.org/blogs/gsoc-final-report-usb-project-0/
[3]: https://habrahabr.ru/post/318798/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отладочная плата ПЛИС — Франкенштейн. Контроллер елочных гирлянд
habra.16
habrabot(difrex,1) — All
2016-12-30 12:00:04


_Очередная серия про ПЛИС и отладочную плату Френки. Предыдущие серии [1][1], [2][2], [3][3]._



![][4]Сделать контроллер елочных гирлянд не просто, а очень просто! Hello World на ПЛИС — это помигать светодиодом. А "С новым годом" на ПЛИС — это помигать несколькими светодиодами. Принцип прост, как и в предыдущих статьях: создаем счетчик, который делит частоту тактового генератора, выбираем биты из слова счетчика, для получения нужной скорости. Несколько бит из этого слова дадут нам определенный шаг отображения (в зависимости от количества выбранных бит 1, 2, 4, 8 и т.д. шагов). В зависимости от номера шага задаем значения для N светодиодов.



Для управления реальной гирляндой, можно взять какой-нибудь shield с электромагнитным реле. У меня оказался [вот такой][5], на 8 реле. [Схема подключения][6]. [Принципиальная схема][7].


[Дальше][8]

[1]: https://habrahabr.ru/post/316234/
[2]: https://habrahabr.ru/post/316586/
[3]: https://habrahabr.ru/post/317876/
[4]: https://habrastorage.org/files/334/6ce/c6f/3346cec6fac448bdbfc5125265b0b3f3.gif
[5]: https://habrastorage.org/files/fe8/e4b/f5e/fe8e4bf5ef494672b7ae4a3f02fc54b0.jpg
[6]: https://habrastorage.org/files/20e/b73/ba8/20eb73ba8bc44238836e3ed9b1886588.jpg
[7]: https://habrastorage.org/files/76e/2f5/8f6/76e2f58f626746119216ef201cdafe65.jpg
[8]: https://habrahabr.ru/post/318726/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CTFzone write-ups — Grand Finale
habra.16
habrabot(difrex,1) — All
2016-12-30 12:30:03


![image][1]



Друзья, настало время раскрыть последнюю тайну **CTFzone**. Мы готовы опубликовать райтап на одно из самых сложных заданий соревнований – **OSINT** на 1000 очков. Как и в случае с [Reverse 1000][2], мы решили вынести последнее задание ветки в отдельный пост ввиду большого размера и сложности.



Решения на таски попроще мы публиковали ранее, и теперь пришло время финального аккорда. Мы постарались сделать наш заключительный райтап максимально подробным, поэтому статья получилась длинной и интересной. Все готовы? ;)


[Читать дальше →][3]

[1]: https://habrastorage.org/files/d4b/9bc/473/d4b9bc4736464acaac71301c6fff94c2.jpg
[2]: https://habrahabr.ru/company/bizone/blog/316582/
[3]: https://habrahabr.ru/post/318652/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Второе пришествие ГОСТ 28147-89: Честные тесты
habra.16
habrabot(difrex,1) — All
2016-12-30 14:30:03


**Второе пришествие ГОСТ 28147-89**

Около десяти лет тому назад симметричная криптография, основанная на ГОСТ 28147-89, перестала удовлетворять потребностям аппаратных платформ по скоростным параметрам. Скорости криптопреобразований, обеспечиваемые алгоритмами реализованными на регистрах общего назначения процессоров, не успевали за скоростями обмена информацией в сетях и на дисковых накопителях.
С другой стороны (американской), появился AES-256, который показывал гораздо лучшие скоростные параметры при той же степени криптостойкости.

В этой ситуации 8 центр ФСБ начал работы над новым блочным шифром, который получил в последствии название «Кузнечик» от начальных букв фамилий авторов.
Изначально это была бесперспективная затея, поскольку повторялась логика шифра AES, но если тот был ускорен аппаратно в процессорах Интел и АМД, то у Кузнечика такого аппаратного ускорения на этих процессорах конечно быть не могло.
Так что Кузнечик, это классический пример выброшенных на ветер бюджетных денег и не малых…
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/318768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] FAQ по лицензированию pimcore
habra.16
habrabot(difrex,1) — All
2016-12-30 14:30:03


_Следующий перевод справочного материала по лицензированию CMS посвящен проекту [pimcore][1] родом из Австрии. Эта система уже успела несколько лет назад [отметиться][2] как самый перспективный Open Source-проект по версии Open Source Awards 2010, а также [получить ][3] такую награду, как Frost & Sullivan Content Management Systems Technology Innovation Award 2016 в текущем году.

Во многом этот документ базируется на аналогичном [материале][4] про лицензирование Drupal, но также имеет и свои особенности. Если вам будет интересно их узнать, читайте об этом ниже._


[Читать дальше →][5]

[1]: http://pimcore.org
[2]: https://habrahabr.ru/post/108619/
[3]: https://www.pimcore.org/en/resources/blog/and-the-leader-in-the-content-management-system-market-is_b767
[4]: https://www.drupal.org/about/licensing
[5]: https://habrahabr.ru/post/318772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Может ли рассуждать ваш код?
habra.16
habrabot(difrex,1) — All
2016-12-30 14:30:03


Когда мы думаем о рассуждениях (reasoning) в программировании, первое, что приходит в голову — это логическое программирование и подход базируемый на правилах (rule-based), экспертные системы и системы управления бизнес-правилами (business rule management systems, BRMS). Общераспространенные мультипарадигмальные языки практически [не включают][1] эти подходы, хотя и работают с ними посредством библиотек и интерфейсов. Почему? Потому что эти языки не могут включать себя формы, которые в некотором смысле противоречат их сути. Популярные языки программирования обычно работают с детерминизмом (ожидаемые данные, сценарии использования, и т.п.), в то время как подходы, использующие рассуждения, обычно работают с неопределенностью (непредсказуемые данные, сценарии использования, и т.п.). Рассуждения (reasoning) будет различным в обеих случаях тоже. В первом, рассуждает архитектор или разработчик, во втором же рассуждает машина вывода/правил (reasoning/rule engine).


[Читать дальше →][2]

[1]: https://en.wikipedia.org/wiki/Comparison_of_multi-paradigm_programming_languages
[2]: https://habrahabr.ru/post/318784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 ... 210