RSS
Pages: 1 ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 133
[>] Unsafe продолжает жить в Java 9
habra.16
habrabot(difrex,1) — All
2017-02-28 17:00:04


С началом работы над Java 9 было анонсировано удаление критически важных классов из пакетов sun.\* (понятное дело Sun, а в последствии и Oracle заявляли, что их использование является собственным риском компаний и проектов), что вызвало шквал критики и недовольства со стороны сообщества (ибо highload решения для которых производительность это все, используют скрытые возможности sun.\*). Предыстория началась 15 лет назад с выходом версии языка 1.4, за это время большое количество библиотек, фреймворков, приложений успели внедрить закрытый код в свой.

![image][1]

Вот только не полный перечень проектов, которые у всех на слуху: Scala, Kafka, Akka, Hadoop, Cassandra, Hazlecast и прочие…
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/c45/959/966/c45959966ccedb4bd1895f768e273d0a.png
[2]: https://habrahabr.ru/post/322840/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Краткое руководство по выходу в opensource: кому это нужно, для чего и как
habra.16
habrabot(difrex,1) — All
2017-02-28 17:00:04


На прошлой внутренней конференции разработчиков Контура я выступал с докладом. В моей презентации был слайд, на котором были перечислены известные российские ИТ-компании, разделенные на два столбца. Между компаниями в правом и левом столбцах было одно весомое различие.



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



Отличие их состояло в том, что они активно распространяют свои технологии и знания — делятся с профессиональным сообществом открытым кодом и понятными мануалами, выступают на конференциях. Они осознанно вкладываются в развитие своих opensource-проектов. Технологии и описания многих из них лежат в открытом доступе на специально созданных сайтах [tech.yandex.ru][1], [opensource.mail.ru][2], [techno.2gis.ru/opensource][3], и известны многим разработчикам за пределами компаний.



**Если вы вдруг решили заняться благотворительностью (почти) и сделать что-то подобное в своей компании, надеюсь, мой текст поможет ответить на вопросы: нужно ли это вам, сколько ресурсов потребуется и что в итоге получится.** У нас вышел такой сайт: [tech.skbkontur.ru][4].

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

[1]: https://tech.yandex.ru
[2]: https://opensource.mail.ru
[3]: http://techno.2gis.ru/opensource
[4]: http://tech.skbkontur.ru
[5]: https://habrahabr.ru/post/322844/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SK Telecom начинает работу над квантовыми криптосистемами
habra.16
habrabot(difrex,1) — All
2017-02-28 18:00:05


Компании SK Telecom и Nokia [разработали][1] прототип квантовой криптографической системы, который продемонстрировали в понедельник на выставке Mobile World Congress в Барселоне. Этим совместным проектом компании надеются подтолкнуть операторов связи и производителей серверного оборудования к работе над безопасными сетями следующего поколения.

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

[1]: http://www.cio.com.au/article/614952/sk-telecom-pushes-interoperable-quantum-crypto-systems/
[2]: https://habrastorage.org/files/9b0/fd9/321/9b0fd932105548e5b3260438e983754b.jpg
[3]: https://habrahabr.ru/company/1cloud/blog/322824/
[4]: https://habrahabr.ru/post/322824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Google Summer Of Code 2017 — почему это важно и как в этом поучаствовать
habra.16
habrabot(difrex,1) — All
2017-02-28 18:30:04


**TL;DR: Сегодня начался «студенческий» период [Google Summer of Code][1], и если вы — студент какого-нибудь ВУЗа, вполне возможно, что это именно то, чем вы хотите заняться этим летом!**



Привет. 27 февраля Гугл объявил, какие [опенсорсные проекты][2] приняты в программу в этом году. И теперь для всех студентов, которые хотят принять участие, наступил момент приложить усилия, чтобы поучаствовать в этом занятном мероприятии.



Я попытаюсь объяснить, как и зачем это делать — частично пересказать (очень вкратце) официальный сайт, частично поделюсь своими собственными наблюдениями, как ментора этой программы.

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

[1]: https://summerofcode.withgoogle.com/
[2]: https://summerofcode.withgoogle.com/organizations
[3]: https://habrahabr.ru/post/322868/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] История одного толстого бинарника
habra.16
habrabot(difrex,1) — All
2017-02-28 19:30:04


![enter image description here][1]



_Привет. Меня зовут Марко (я системный программист в Badoo). И я представляю вашему вниманию перевод поста по Go, который мне показался интересным. Go действительно ругают за толстые бинарники, но при этом хвалят за статическую линковку и за удобство выкладки единственного файла. Если на современных серверах толстые бинарники – не проблема, то на встраиваемых системах – еще как. Автор описывает свою историю борьбы с ними в Go._

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

[1]: https://habrastorage.org/files/b4d/988/8eb/b4d9888eb7d4478b9e65030a1a53c896.png
[2]: https://habrahabr.ru/post/322880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Самая простая в мире lock-free хеш-таблица
habra.16
habrabot(difrex,1) — All
2017-02-28 20:00:04


![image][1]

Безблокировочная хеш-таблица — это медаль о двух сторонах. В некоторых случаях они позволяют достигать такой производительности, которой не получить другими способами. С другой стороны, они довольно сложны.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/513/646/c17/513646c1755fe24a09374229daf6b5d9.jpg
[2]: https://habrahabr.ru/post/322496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настоящий герой в мире программирования: кто он?
habra.16
habrabot(difrex,1) — All
2017-02-28 21:00:04


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

Но что если сегодня больше не нужны новые Марки Цукерберги? Может быть достаточно быть простым работягой, хорошо выполняющим свои обязанности, чтобы «спасти» этот мир?

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

[1]: https://habrastorage.org/files/814/f2f/b8b/814f2fb8b6b84786bbdcd1376d4f68bc.jpg
[2]: https://habrahabr.ru/company/it-grad/blog/322812/
[3]: https://habrahabr.ru/post/322812/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Открытые онлайн-курсы от Университета ИТМО: Мартовская версия
habra.16
habrabot(difrex,1) — All
2017-03-01 11:00:04


В одном из наших предыдущих [материалов][1] мы публиковали список курсов, проводимых преподавателями Университета ИТМО. Февральским обучающим программам дан старт, но вы все еще можете на них записаться и влиться в рабочий процесс. А сегодня мы подготовили новую подборку курсов, начало которых запланировано на 6 марта.

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

[1]: https://habrahabr.ru/company/spbifmo/blog/320496/
[2]: https://habrastorage.org/files/e3f/dcf/e41/e3fdcfe41d7848c69f86a1e1b7139a27.jpg
[3]: https://habrahabr.ru/post/322942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка окружения SELinux для на примере LAMP-сервера
habra.16
habrabot(difrex,1) — All
2017-03-01 12:30:04


### Это третья статья из цикла



И сегодня она попала в поток «Администрирование». Сегодня мы не будем [писать модули][1] или [настраивать RBAC][2], а пойдем по пути наименьшего сопротивления и просто захарденим обычный LAMP-сервер при помощи готовой политики, включив необходимые настройки.
Если кто забыл, за аббривиатурой LAMP скрывается **L**inux, **A**pache, **M**ysql, **P**HP, т.е. это большая часть всех VDS, которые покупают люди для хранения своих личных блогов. Надеюсь, что этот поможет всем им стать немного безопаснее :)
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/320100/
[2]: https://habrahabr.ru/post/322476/
[3]: https://habrahabr.ru/post/322904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Исключения в Windows x64. Как это работает. Часть 2
habra.16
habrabot(difrex,1) — All
2017-03-01 13:30:04


Опираясь на материал, описанный в [первой части][1] данной статьи, мы продолжим обсуждение темы обработки исключений в Windows x64. И в этой части мы подробно рассмотрим те области PE образа, которые задействуются в процессе обработки исключений. Описываемый материал требует знания базовых понятий, таких, как пролог, эпилог, кадр функции и понимания базовых процессов, таких, как действия пролога и эпилога, передача параметров функции и возврат результата функции. Если читатель не знаком с вышеперечисленным, то перед прочтением рекомендуется ознакомиться с материалом из первой части данной статьи.
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/aladdinrd/blog/321868/
[2]: https://habrahabr.ru/post/322956/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка окружения SELinux на примере LAMP-сервера
habra.16
habrabot(difrex,1) — All
2017-03-01 13:30:04


### Это третья статья из цикла



И сегодня она попала в поток «Администрирование». Сегодня мы не будем [писать модули][1] или [настраивать RBAC][2], а пойдем по пути наименьшего сопротивления и просто захарденим обычный LAMP-сервер при помощи готовой политики, включив необходимые настройки.
Если кто забыл, за аббривиатурой LAMP скрывается **L**inux, **A**pache, **M**ysql, **P**HP, т.е. это большая часть всех VDS, которые покупают люди для хранения своих личных блогов. Надеюсь, что этот поможет всем им стать немного безопаснее :)
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/320100/
[2]: https://habrahabr.ru/post/322476/
[3]: https://habrahabr.ru/post/322904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что такое платформа Tarantool IIoT?
habra.16
habrabot(difrex,1) — All
2017-03-01 14:00:10


![image][1]



Недавно в пресс-релизе мы рассказали о том, что запустили [Tarantool IIoT][2] — платформу для промышленного интернета вещей. [Новость][3] облетела многие электронные издания. Но что такое Tarantool IIoT и как он работает — тема оставалась не до конца раскрытой. Мы решили это исправить. Подробности под катом.

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

[1]: https://habrastorage.org/files/1c3/5c6/d7f/1c35c6d7f1154985aec52b85b65f7fc0.jpg
[2]: https://corp.mail.ru/en/press/releases/9876/
[3]: http://www.rbc.ru/technology_and_media/15/02/2017/58a1de9a9a79476d0aaf2d85
[4]: https://habrahabr.ru/post/322730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Zero Security: A» — начальный уровень подготовки в области практической информационной безопасности
habra.16
habrabot(difrex,1) — All
2017-03-01 15:00:05


![image][1]



Одним из основных направлений деятельности Pentestit является разработка специализированных программ начальной (Zero Security: A) и профессиональной (Корпоративные лаборатории) подготовки в области информационной безопасности. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 80% от общей программы курса.** В данной статье мы разберем базис команд и полезных трюков при проведении тестирования на проникновение внешнего периметра.**

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

[1]: https://hsto.org/files/1fb/3e4/ebb/1fb3e4ebbb724ed2850bbe912ed3cdcc.png
[2]: https://habrahabr.ru/post/322834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Идеальный каталог, набросок архитектуры
habra.16
habrabot(difrex,1) — All
2017-03-01 17:30:04


Подвернулась мне задачка разработать универсальный каталог товаров и услуг, по совместительству каталог предприятий, документов и чего угодно ещё. В работе этот «опыт» не пригодился, а идея хорошая, по-моему скромному мнению :) Хочется поделиться, и послушать критику.

Каталог подразумевает упорядоченность — иерархию, подразумевает непосредственно хранение информации, и конечно поиск, наверное аналитику… что-то ещё? Больше ничего в голову не приходит.

Теперь по пунктам.
[Читать дальше →][1]

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

[>] Обучение без учителя. Как стать профессионалом, не имея наставника
habra.16
habrabot(difrex,1) — All
2017-03-01 18:00:04


![image][1]



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



В этой статье я поделюсь правилами, которые помогают мне постоянно развиваться как специалист, поддерживать себя в конкурентноспособной форме, и расскажу историю подъема от pre-junior до senior.



**БОНУС**: подборка забавных и удручающих случаев с собеседований.


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

[1]: https://habrastorage.org/files/4e9/93a/70f/4e993a70f0f2472c9d0d5c8328bf5b78.png
[2]: https://habrahabr.ru/post/322546/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Оптимизация фронтенда под браузеры
habra.16
habrabot(difrex,1) — All
2017-03-01 18:00:04


![enter image description here][1]



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


* С точки зрения User Experience (UX) фронтенд должен обеспечивать быструю загрузку и работу веб-страниц.
* А с точки зрения Developer Experience (DX) нам хочется, чтобы и сам фронтенд тоже работал быстро, был прост в использовании и вообще являлся примером для подражания.

Всё это делает пользователей и разработчиков счастливее, а заодно существенно улучшает ранжирование сайтов поисковиками. Например, Google уделяет особое внимание оптимизированности фронтенда. Если вы достаточно долго бились над тем, чтобы ваш сайт заработал побольше баллов в [Google Pagespeed Insights][2], то, надеемся, эта статья поможет вам лучше понять, для чего всё это нужно и каково разнообразие стратегий оптимизации фронтенда.

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

[1]: https://habrastorage.org/files/7f7/d27/6b1/7f7d276b1a8645e1bab538770361e6c1.jpg
[2]: https://developers.google.com/speed/pagespeed/insights/
[3]: https://habrahabr.ru/post/322988/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интернет-контрразведка в действии: создаем персональную систему менеджмента информационной безопасности
habra.16
habrabot(difrex,1) — All
2017-03-01 19:30:03


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



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


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

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

[>] [Из песочницы] Рождение нового алгоритма по имени Broo и сравнение с Brotli и остальными
habra.16
habrabot(difrex,1) — All
2017-03-01 21:00:04


Доброго времени суток хабравчане и гости сайта, речь пойдет об алгоритме [сжатия без потерь][1], который является совместным «ребенком». В данной статье будут приведены промежуточные результаты которых удалось добиться, в виде таблиц сравнения с популярными алгоритмами.


### Коротко об алгоритме


Основная идеология для алгоритма была составлена в нескольких характеристиках:
[Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/%D0%A1%D0%B6%D0%B0%D1%82%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C
[2]: https://habrahabr.ru/post/322978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже — 2
habra.16
habrabot(difrex,1) — All
2017-03-02 07:30:03


**![Multidimensional Space Trading Strategies][1]**



**Введение**



Примерно три года назад я написал свою первую и не считая этой единственную статью на Хабрахабре **[«Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже»][2]**. Сработал эффект Хабрахабра, статья оказалась очень популярной и меня буквально засыпали сообщениями и различными предложениями трейдеры. А через месяц эту же статью напечатали в журнале о финансах **[Financial One][3]**. Конечно, я не ожидал такого внимания к моим наработкам и, возможно, благодаря этому я принял окончательное решение заняться алгоритмической торговлей на Бирже профессионально.



С момента написания статьи многое изменилось. Успел поработать в алгоритмическом и хедж-фонде, в процессе реализовал свои идеи в виде полноценной платформы для алгоритмической торговли. Кстати, скоро планирую перевести часть алгоритмов и программного кода в Open Source на GitHub. Разработать платформу было весьма непросто, пришлось значительно подтянуть свои навыки программирования на C# и разобраться с множеством нюансов и сложностей биржевой торговли.



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


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

[1]: https://habrastorage.org/getpro/habr/post_images/72d/a9a/ea6/72da9aea6e63c1ee43a25c2c48c77a63.png
[2]: https://habrahabr.ru/post/209198/ "Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже"
[3]: http://www.fomag.ru "Financial One"
[4]: https://habrahabr.ru/post/323022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Установка и использование виртуальной сетевой лаборатории EVE-NG совместно с Ansible. Первый опыт
habra.16
habrabot(difrex,1) — All
2017-03-02 10:00:03


![image][1]



В данной статье приведен опыт инженера-сетевика по развертыванию виртуальной лаборатории [EVE-NG][2] в домашних условиях, для целей подготовки к экспертным экзаменам Cisco.



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

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

[1]: https://habrastorage.org/files/e2d/67c/51c/e2d67c51cca74b50b8ea5ca4dcc78ff0.png
[2]: http://www.unetlab.com/
[3]: https://habrahabr.ru/post/323014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Про ScalaCheck. Свойства. Часть 3
habra.16
habrabot(difrex,1) — All
2017-03-02 12:30:04


**Часть 3. Свойства**



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

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

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

[>] Security Week 09: Тяжесть уязвимости Cloudflare, приватность IoT-медвежат
habra.16
habrabot(difrex,1) — All
2017-03-02 12:30:04


![][1]День у директора отделения банка «Прорыв» Ивана Петровича Хататапасова не задался. Накануне прислали мутную и многоообещающую бумагу из центра о внедрении каких-то новых практик и метрик. С утра во двор банка заехал грузовик и прямо на землю выгрузил бесформенную кучу денег. По телефону Ивану Петровичу объясинили, что в рамках оптимизиции региональной сети небольшая часть средств будет временно храниться в данном отделении, за что Иван Петрович может получить комиссию: «Ну возьмите там ведро денег. Нет, расписок не нужно, но только одно ведро».

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

То есть, кхм, о чем это я. Приведенный выше абсурд в контексте хранения персональных данных в сети регулярно превращается в суровую реальность: то у Yahoo! миллиарды! паролей! украдут!, то у Cloudflare в результате ошибки ([новость][2]) важные данные распылит тонким слоем по сайтам клиентов и гуглу. Сегодняшний выпуск — про приватность. И правильную оценку рисков.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/0ca/4df/abf/0ca4dfabf7fd45518508f9a32d977ae1.jpg
[2]: https://threatpost.com/cloudflare-bug-leaks-sensitive-data/123891/
[3]: https://habrahabr.ru/post/322914/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Промисы на примере бургер-вечеринки
habra.16
habrabot(difrex,1) — All
2017-03-02 13:30:05


![][1]

_Это перевод [статьи][2], которую Марико Косака написала в качестве альтернативного введения в промисы JavaScript. Наброски иллюстраций она делала в своём блокноте во время чтения разных статей, посвящённых промисам. Если хотите изучить более подробно, в конце вы найдёте список полезных ссылок._

Недавно Марико участвовала в обсуждении того, как можно с помощью JavaScript сделать фичу, которая давала бы доступ к внешним данным (должна была быть асинхронной). Она сказала: «Ну, давайте используем `fetch()`… так что в коде… эээ...», и пока силилась вспомнить fetch API, собеседник сказал: «Будет возвращаться промис». По словам Марико, её мозг впал в ступор, и она сказала: «Честно говоря, не знаю, что ты имеешь в виду…»

Ей приходилось много раз писать код, основанный на промисах, но для полной картины нужные пазлы в её голове почему-то не соединились. Она поняла, что на самом деле не «въезжает» в суть.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/5c6/256/45f/5c625645faa549d4ae5e9791a680e893.png
[2]: http://kosamari.com/notes/the-promise-of-a-burger-party
[3]: https://habrahabr.ru/post/323066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы делали первую сделку-аккредитив на блокчейн в Альфа-Банке
habra.16
habrabot(difrex,1) — All
2017-03-02 14:00:03


Несколько месяцев назад Альфа-Банк и S7 совершили сделку-аккредитив, используя блокчейн. Если вы ещё не видели, то прошу [сюда][1].

     ![][2]

   Думаю многие слышали или читали про блокчейн — вокруг технологии много хайпа и как обычно до нас это всё дошло с некоторым запозданием. Но всё таки дошло и теперь многие хотят, чтобы в их продуктах был блокчейн. Возможно мощный маркетинг приведёт к “зиме” в ещё одной технологии, а возможно мы все окажемся в одном большом блокчейне. Давайте всё таки разбираться с технологией и сделаем это на примере продукта Аккредитивы, который мы создали.

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

[1]: https://vc.ru/n/alfa-s7-blockchain
[2]: https://habrastorage.org/files/608/817/1ac/6088171ac3ff4a0483d115d858aa18a8.png
[3]: https://habrahabr.ru/post/323070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как с помощью maven работать с библиотеками, которых в maven нет
habra.16
habrabot(difrex,1) — All
2017-03-02 14:30:09


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



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



Эта статья для тех, кто только начинает осваивать java.



![image][1]



В моей [предыдущей статье][2] было сказано, что maven сам скачает все указанные в pom.xml зависимости. А вот что будет, если он какую-нибудь зависимость не найдёт? В таком случае maven скажет, что зависимость не обнаружена и прервёт процесс сборки с ошибкой. Что делать в этом случае?

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

[1]: https://habrastorage.org/files/a45/439/28d/a4543928d49447bfa07f224105fb8a21.jpg
[2]: https://habrahabr.ru/post/311108/
[3]: https://habrahabr.ru/post/323008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Python на службе у конструктора. Укрощаем API Kompas 3D
habra.16
habrabot(difrex,1) — All
2017-03-02 15:00:05


![Logo][1]



Работая в конструкторском отделе, я столкнулся с задачей — рассчитать трудоёмкость разработки конструкторской документации. Если брать за основу документ: [«Типовые нормативы времени на разработку конструкторской документации. ШИФР 13.01.01" (утв. Минтрудом России 07.03.2014 N 003)»][2], то для расчета трудоёмкости чертежа детали нам необходимы следующие данные:


* Формат чертежа и количество листов
* Масштаб
* Количество размеров на чертеже (включая знаки шероховатости и выносные линии)
* Количество технических требований

Из имеющихся инструментов на предприятии имеем: Kompas 3D v14 и Python 3.5.



В интернете не так много статей о написании программ с использованием API Kompas 3D, и ещё меньше информации о том, как это сделать на Python. Попробую рассказать по шагам, как решалась поставленная задача и на какие грабли приходилось наступать. Статья рассчитана на людей, владеющих основами программирования и знакомых с языком Python. Итак, приступим.


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

[1]: https://habrastorage.org/files/75a/869/fe6/75a869fe65854087a5b965b1b2c82f75.png "Python конструктора"
[2]: http://www.consultant.ru/document/cons_doc_LAW_199653/
[3]: https://habrahabr.ru/post/323078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Как мы делали первую сделку-аккредитив на блокчейн в Альфа-Банке
habra.16
habrabot(difrex,1) — All
2017-03-02 15:30:04


Несколько месяцев назад Альфа-Банк и S7 совершили сделку-аккредитив, используя блокчейн. Если вы ещё не видели, то прошу [сюда][1].

  ![][2]

Думаю многие слышали или читали про блокчейн — вокруг технологии много хайпа и как обычно до нас это всё дошло с некоторым запозданием. Но всё таки дошло и теперь многие хотят, чтобы в их продуктах был блокчейн. Возможно мощный маркетинг приведёт к “зиме” в ещё одной технологии, а возможно мы все окажемся в одном большом блокчейне. Давайте всё таки разбираться с технологией и сделаем это на примере продукта Аккредитивы, который мы создали.
[Читать дальше →][3]

[1]: https://vc.ru/n/alfa-s7-blockchain
[2]: https://habrastorage.org/files/608/817/1ac/6088171ac3ff4a0483d115d858aa18a8.png
[3]: https://habrahabr.ru/post/323070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как не писать лишнего. Без магии
habra.16
habrabot(difrex,1) — All
2017-03-02 16:00:03


![img][1]
Недавно я опубликовал свою [первую статью][2] на Хабре. И первый блин прилетел мне прямо в голову. 12к просмотров и плюс 4 звезды на гитхабе… Ладно, сам виноват, не надо было заниматься ерундой на уроках русского языка и литературы. Если я правильно понял, то проблема заключалась в том, что я сразу перешел к сути. Вывалил все в лоб. Не познакомился с родителями, так сказать. А что за [Jeta][3] такая, как она работает, что происходит за сценой? [Магия какая я то][4]… Никому ведь не нужна магия в проектах, так?



_"От куда у тебя уверенность, что твоя библиотека вообще кому-то нужна?"_ спросит [среднестатистический хаброчанин][5]. Оттуда, что каждый день, вешая очередную аннотацию или просто смотря на код, я думаю _"Боже, это прекрасно!"_. Кто от такого откажется?



Ладно, давайте сначала и по порядку.

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

[1]: https://habrastorage.org/getpro/habr/post_images/5ca/895/c98/5ca895c98b635c172f3a79fa4d883d1f.png
[2]: https://habrahabr.ru/post/317970
[3]: http://jeta.brooth.org
[4]: https://projectlombok.org
[5]: https://habrahabr.ru/post/317880
[6]: https://habrahabr.ru/post/318020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Новости наших онлайн-курсов: обновлен курс «Web-технологии» и добавлен «Постановка задачи на разработку ПО»
habra.16
habrabot(difrex,1) — All
2017-03-02 17:00:04


![image][1]



Обновленный курс «[Web-технологии][2]» на платформе [Stepik][3] теперь поддерживает последнюю версию Django и возможность вести разработку как на Python 2, так и на Python 3. Преподаватели курса — Дмитрий Смаль и Динар Сабитов, web-программисты из игрового направления Mail.Ru Group. Второго марта мы перезапускаем «[Постановку задачи на разработку ПО][4]» без дедлайнов, чтобы вы смогли пройти курсы в удобное время и получить сертификаты. Преподаватель курса — Дмитрий Безуглый, генеральный директор в компании "Системный подход", бизнес-аналитик и системный аналитик.

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

[1]: https://habrastorage.org/files/f7d/c5d/84e/f7dc5d84e46f4435acfbdd6d8a06f8a4.jpg
[2]: https://stepik.org/course/Web-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8-154/
[3]: https://stepik.org/explore/courses
[4]: https://stepik.org/course/%D0%9F%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BD%D0%B0-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83-%D0%9F%D0%9E-1128/
[5]: https://habrahabr.ru/post/323056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Опыт внедрения 2fa на linux с duosecurity
habra.16
habrabot(difrex,1) — All
2017-03-02 20:00:07


На недавно прошедшей конференции [Zeronights][1] я рассказывал про двухфакторную аутентификацию, и какие проблемы могут быть при ее внедрении. К сожалению, времени выступления для полного погружения в тему было мало, поэтому я постараюсь раскрыть некоторые детали в рамках отдельных постов.
И начну с самой популярной темы, а именно двухфакторной аутентификации на linux — какие есть варианты настройки и почему даже очень хорошее решение требуется доработать напильником.
[Читать дальше →][2]

[1]: https://2016.zeronights.ru/program/defensive-track/
[2]: https://habrahabr.ru/post/322544/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ставим сети — ловим роботов
habra.16
habrabot(difrex,1) — All
2017-03-03 00:30:03


![][1]

Началось всё как обычно — с подозрений. Уж больно много людей приходит на мои сайты, которые скачивают дистрибутивы приложений по прямым ссылкам без рефереров. Как-то странно это, правда? Не могут же быть так популярны блокировщики ссылок. Я замечал некоторые адреса и пользователи обычно приходили опять скачивать без ссылки. Часто другую программу — никак не относящуюся к первой. Дальше пошли в ход проверки, что да как в логах. Оказалось, что абсолютное большинство таких заходов — странные пользователи, которые имеют пустые HTTP\_ACCEPT\_ENCODING и HTTP\_ACCEPT\_LANGUAGE. HTTP\_USER\_AGENT иногда указывает на Java, JavaScript, Wget, Perl, PHP и так далее, но большинство обычные строки браузеров. Все более-менее приличные поисковики у меня давно учитываются и это, конечно, не они.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/562/963/7ef/5629637efcc046d88928a6cd78401e7d.gif
[2]: https://habrahabr.ru/post/323118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поэтический дискурс с привкусом реверс-инжиниринга
habra.16
habrabot(difrex,1) — All
2017-03-03 08:00:04


_«Старик Ассемблер нас заметил,
И в гроб сходя, благословил»_


![image][1]

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

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

[1]: https://habrastorage.org/files/89e/0a5/cc1/89e0a5cc1b27471ab1e71086f4f0dd87.jpg
[2]: https://habrahabr.ru/post/323034/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Лекарство от болезни»: Автоматное программирование
habra.16
habrabot(difrex,1) — All
2017-03-03 10:00:05


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

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

[1]: https://habrastorage.org/files/a97/6e4/3d7/a976e43d78004777b256ce945d134e2f.png
[2]: https://habrahabr.ru/company/spbifmo/blog/323122/
[3]: https://habrahabr.ru/post/323122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ReactDoc — первое open source решение программы «Единая фронтальная система»
habra.16
habrabot(difrex,1) — All
2017-03-03 16:00:05


Программисты всегда пользовались генераторами документации, когда это было возможно. Это упрощает документирование, позволяет получить справку по продукту без обращения к коду самого проекта. В Программе долгое время использовался JavaDoc, т.к. большинство проектов написаны на Java, но это было до недавнего времени. Сейчас проекты развиваются  - мало кто представляет хороший продукт без хорошего UI. Отрасль frontend дала жизнь новому направлению разработки — разработчик UI. Концентрируясь на удобстве пользователя, а не на бизнес-процессах, UI-разработка позволяет избегать  сложности бизнес-приложений — камень преткновения многих enterprise-решений.

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

[1]: https://habrastorage.org/files/b80/b46/661/b80b46661270487fa2ec3406f9041ee6.jpg
[2]: https://habrahabr.ru/company/efs/blog/323148/
[3]: https://habrahabr.ru/post/323148/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Лекарство от болезни»: автоматное программирование
habra.16
habrabot(difrex,1) — All
2017-03-03 16:00:05


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

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

[1]: https://habrastorage.org/files/a97/6e4/3d7/a976e43d78004777b256ce945d134e2f.png
[2]: https://habrahabr.ru/company/spbifmo/blog/323122/
[3]: https://habrahabr.ru/post/323122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Объяснение блокчейна для веб-разработчиков
habra.16
habrabot(difrex,1) — All
2017-03-03 16:30:04


## Предисловие переводчика


_Предлагаю читателям Хабрахабра перевод статьи [«The Blockchain Explained to Web Developers, Part 2: In Practice»][1] за авторством [Francois Zaninotto][2]. Эту статью я нашел в блоге компании Marmelab. Статья представляет собой отличное введение в технологию блокчейн «с нуля», но может оказаться интересной и для тех, кто уже «в теме». Она касается не только того, как работает блокчейн, но и перспектив его развития, а также с чего начать, если вы хотите создать свой проект, использующий блокчейн. _


## Объяснение блокчейна для веб-разработчиков, Часть первая: Теория


Блокчейн – это новая популярная технология. Даже если вы не слышали о ней, вы, вероятнее всего, знаете о Bitcoin. Блокчейн — это одна из фундаментальных технологий на которых основан Bitcoin. Эксперты говорят, что блокчейн вызовет революцию схожую с той, которую некогда вызвал Интернет. Но что это на самом деле и как его можно использовать для создания приложений? Эта статья является первой в серии из трех, рассказывающей о феномене Блокчейна. Мы обсудим теорию, покажем фактический код и поделимся своим опытом, основанным на реальном проекте.
[Читать дальше →][3]

[1]: https://marmelab.com/blog/2016/05/20/blockchain-for-web-developers-in-practice.html
[2]: https://twitter.com/francoisz
[3]: https://habrahabr.ru/post/323128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Защита удаленного терминального сервера или двухфакторная аутентификация клиентов RDG при помощи Azure MFA
habra.16
habrabot(difrex,1) — All
2017-03-03 16:30:04


![Azure MFA for RDG][1]



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

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

[1]: https://habrastorage.org/files/9a9/0a2/d4b/9a90a2d4b3e34f14bbd07f9e08dab1c4.png
[2]: https://habrahabr.ru/post/315972/
[3]: https://habrahabr.ru/post/323110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование выражений для фильтрации данных из БД
habra.16
habrabot(difrex,1) — All
2017-03-03 16:30:04


Статья основана на [ответе в StackOverflow][1]. Начну с описания проблемы, с которой я столкнулся. Есть несколько сущностей в базе данных, которые нужно отображать в виде таблиц на UI. Для доступа к базе данных используется Entity Framework. Для этих таблиц есть фильтры, по полям этих сущностей. Нужно написать код для фильтрации сущностей по параметрам. [Читать дальше →][2]

[1]: http://stackoverflow.com/questions/29448432/pass-expression-parameter-as-argument-to-another-expression
[2]: https://habrahabr.ru/post/321644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Copyleft под угрозой: Github теряет совместимость с GPL?
habra.16
habrabot(difrex,1) — All
2017-03-04 10:30:04


![image][1]
1 марта произошло очень важное событие, которое прошло почти незамеченным, несмотря на свою значимость. Github обновил [terms-of-service][2], в которых появилось несколько пунктов, которые ставят под угрозу все репозитории под GPL, CC-\*-SA и другими лицензиями.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/ff3/a58/552/ff3a58552915e881616d6cd0c9f9d793.png
[2]: https://help.github.com/articles/github-terms-of-service/
[3]: https://habrahabr.ru/post/323182/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О чём молчат авторы «Hello, World!»-ов
habra.16
habrabot(difrex,1) — All
2017-03-04 13:30:04


![image][1]



Обычно адепты нового _Того-самого-лучшего-языка_ пишут свои рекламные мини-программы для обучения и продвижения примерно так:


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

[1]: https://i2.wp.com/dbakevlar.com/wp-content/uploads/2015/08/helloworld.gif
[2]: https://habrahabr.ru/post/323194/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка веб-скрапера для извлечения данных с портала открытых данных России data.gov.ru
habra.16
habrabot(difrex,1) — All
2017-03-04 20:30:04


Иногда возникает необходимость получить данные c веб-страниц и сохранить их в структурированном виде.

Инструменты веб-скрапинга ([web scraping][1]) разрабатываются для извлечения данных с веб-сайтов. Эти инструменты бывают полезны тем, кто пытается получить данные из Интернета. Веб-скрапинг — это технология, позволяющая получать данные без необходимости открывать множество страниц и заниматься копипастом. Эти инструменты позволяют вручную или автоматически извлекать новые или обновленные данные и сохранять их для последующего использования. Например, с помощью инструментов веб-скрапинга можно извлекать информацию о товарах и ценах из интернет-магазинов.
[Читать дальше →][2]

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

[>] Программирование SoC Zynq
habra.16
habrabot(difrex,1) — All
2017-03-05 16:30:04


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

Простой одноплатник мне как-то не хотелось приобретать, поэтому выбор мой пал на SoC'и. Выбирал я между Zynq и Cyclone V. По названию темы, думаю, догадались, что же я решил выбрать.

![][2]

Данная публикация будет состоять из небольшого обзора платки с заглавной картинки и того, как «программировать» и «конфигурировать» подобное железо. Кому это интересно прошу под кат.
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/319736/
[2]: https://habrastorage.org/files/a58/de8/98b/a58de898bde843c8bebb0e47f941cda3.jpg
[3]: https://habrahabr.ru/post/323224/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Почему в сорок лет я решил поменять профессию и стать программистом Python
habra.16
habrabot(difrex,1) — All
2017-03-05 16:30:04


На прошлой неделе я ходил на собеседование, и основной вопрос ко мне был такой: «Почему вы решили поменять профессию и стать программистом?». В конце собеседования человек, который проводил собеседование — руководитель отдела перспективных разработок одной IT компании — прямо сказал: "… я вас не понимаю, вы претендуете на позицию, которая явно ниже вашей и по уровню оклада, и по должности, да в общем и не такая интересная, как ваша работа сегодня..."
[Читать дальше →][1]

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

[>] [Из песочницы] DariaDB. Разработка базы данных для хранения временных рядов
habra.16
habrabot(difrex,1) — All
2017-03-05 20:30:03


Уже больше года, как у меня есть свой хобби-проект, в котором я разрабатываю движок базы данных для хранения временных рядов — dariadb. Задача довольно интересная — тут есть и сложные алгоритмы да и область для меня совершенно новая. За год был сделан сам движок, небольшой сервер для него и клиент. Написано все это на С++. И если клиент-сервер находится пока в достаточно сыром состоянии, то движок уже обрел некоторую стабильность.Задача хранения временных рядов достаточно распространена там, где есть хоть какие-то измерения (от SCADA-систем до мониторинга состояния серверов).

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

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

[>] Программа на PYTHON для определения авторства текста по частоте появления новых слов
habra.16
habrabot(difrex,1) — All
2017-03-06 08:30:04


### Короткая история метода


В короткой публикации [1] под названием “Авторство писателей можно узнать по специальной формуле” сообщалось, что в научном издании «New Journal of Physics», группа шведских физиков из университета Умео под руководством Себастьяна Бернгардсона описала новый метод, который позволяет на основе статистических данных определить автора текста. Исследователи проверяли, как в текстах трех писателей — Томаса Харди, Генри Мелвилла и Дэвида Лоуренса — реализуется так называемый закон Ципфа. Исследователи обнаружили, что частота появления новых слов по мере роста объема текста меняется у разных авторов по-разному, причем эта закономерность не зависит от конкретного текста, а только от автора.

Это сообщение было опубликовано 11.12.2009, а, более двадцати лет тому назад, Джон Чарльз Бейкер [2] ввел единицу для измерения способности автора использовать новые слова (здесь понятие «новые» трактуется как ранее не используемые в данном тексте). Джон доказал, что указанная единица является индивидуальной характеристикой автора.

В периодических изданиях и в сети отсутствует информация о реализации закона Зипфа для определения авторства. Поэтому моя работа является первым научным исследованием в указанной области.
[Читать дальше →][1]

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

[>] Метарегулярные выражения на D
habra.16
habrabot(difrex,1) — All
2017-03-06 11:30:04


![][1]Пробежался по хабам и не нашел ничего написанного одновременно в хабы "D" и "Ненормальное программирование". Может сложиться совершенно ложное представление что на D пишут исключительно нормальные люди, или еще хуже того — что знание D автоматически делает из любого программиста нормального человека. Спешу опровергнуть.



Хотя сам я строго говоря программистом на D не являюсь — у меня нет ни одного промышленного проекта, зато я периодически с удовольствием роюсь в чужом коде выковыривая вкусные изюминки. А еще я пишу для себя небольшие утилиты, чаще всего для обработки текстовых данных, то что обычно делается на скриптовых языках, благо D предлагает очень неслабый набор инструментов для работы со строками.
Ну а там где текстовые процессоры, там и регулярные выражения, как же без них. И здесь D снова оказывается на высоте, по легкости и удобству использования его библиотека регулярных выражений приближается к Perl. Но в Perl регулярки являются частью синтаксиса, можно сказать что сам язык выстроен в значительной мере вокруг них, а в D это вполне себе независимый модуль — std.regex из стандартной библиотеки написанный Дмитрием Ольшанским. Еще один замечательный момент — парсер выражения может быть построен во время компиляции (естественно если само выражение задано литералом), и разумеется я не мог удержаться чтобы не посмотреть как оно внутри устроено.
И вот тут то, разбираясь в деталях у меня слетела шляпа возникла мысль, а нельзя ли вызывать одно регулярное выражение изнутри другого? Не вставить литерал (как тривиально можно сделать в Perl например), а непосредственно вызвать скомпилированный код одного выражения изнутри другого. Достаточно на мой взгляд дурацкая идея чтобы с ней стоило поиграть.
Итак, чего мы хотим? Примерно вот такого (пока это псевдокод):


INT=regexp("\d+");
LIST=regexp("INT(,INT)*"); [Читать дальше →][2]

[1]: https://habrastorage.org/files/8ee/596/c21/8ee596c2154846f99da7a9e8ccf6213d.png
[2]: https://habrahabr.ru/post/323186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ищем и анализируем ошибки в коде Media Portal 2
habra.16
habrabot(difrex,1) — All
2017-03-06 12:00:04


Media Portal 2 — это открытое программное обеспечение класса медиа центр, которое позволяет смотреть видео, фотографии, слушать музыку и многое другое. Для нас, разработчиков статического анализатора _PVS-Studio_, это еще одна возможность проверить интересный проект, рассказать людям (и разработчикам в том числе) о найденных ошибках и, в свою очередь, еще раз показать возможности нашего анализатора.


![Picture 9][1]


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

[1]: http://www.viva64.com/media/images/content/b/0481_Media_Portal/image1.png
[2]: https://habrahabr.ru/post/323304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Самые полезные приёмы работы в командной строке Linux
habra.16
habrabot(difrex,1) — All
2017-03-06 16:00:04


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

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что [команды][1] эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

[![image][2]][3]
Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
[Читать дальше →][4]

[1]: https://likegeeks.com/main-linux-commands-easy-guide/
[2]: https://habrastorage.org/getpro/habr/post_images/845/928/8f7/8459288f755535c7435eb0961a4a9e9a.png
[3]: https://habrahabr.ru/company/ruvds/blog/323330/
[4]: https://habrahabr.ru/post/323330/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Проблемы тестирования: почему 100% покрытие кода это плохо
habra.16
habrabot(difrex,1) — All
2017-03-06 16:30:03


![][1]

Недавно в нашем блоге мы [рассказывали][2] об использовании предметно-ориентированных языков для решения конкретных задач разработки с помощью Python. Сегодня речь пойдет о тестировании — в частности, о том, почему стопроцентное покрытие тестами кода это на самом деле плохо.

Материал подготовлен на основе выступления разработчика Positive Technologies Ивана Цыганова на конференции Moscow Python Conf ([слайды][3], [видео][4]). [Читать дальше →][5]

[1]: https://habrastorage.org/files/107/5e8/4b2/1075e84b21c54f72bdbf13bd5f230920.png
[2]: https://habrahabr.ru/company/pt/blog/319320/
[3]: http://www.slideshare.net/IvanTsyganov/moscow-python-conf-2016-100
[4]: https://www.youtube.com/watch?v=Y8CK6AMqskQ
[5]: https://habrahabr.ru/post/323294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Реализация на Python многопоточной обработки данных для парсинга сайтов
habra.16
habrabot(difrex,1) — All
2017-03-06 17:00:05


Процесс парсинга усложняется существенными затратами времени на обработку данных. Многопоточность поможет в разы увеличить скорость обработки данных. Сайт для парсинга — [«Справочник купюр мира»][1], где получим валюту в соотношении к иным.
[Читать дальше →][2]

[1]: http://banknotes.finance.ua/
[2]: https://habrahabr.ru/post/323238/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 133