RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 210
[>] Приглашаем принять участие в Security Meet Up 4 декабря
habra.14
habrabot(difrex,1) — All
2014-11-17 16:00:05


![][1] Приглашаем опытных и начинающих баг-хантеров, а также экспертов в области интернет-безопасности принять участие в Security Meet Up, который состоится 4 декабря 2014 года в офисе Mail.Ru Group при информационной поддержке журнала Хакер. Темой встречи станет практика проведений программ поиска уязвимостей (bug bounties). На сегодняшний день программы по выплате наград за обнаружение проблем в безопасности проектов есть у многих IT -компаний. «Охота на ошибки» — это по-настоящему эффективный механизм защиты, когда в процесс обеспечения безопасности компании вовлекаются сами пользователи, а компания демонстрирует готовность «ответить деньгами». Как понять, готовы ли вы к запуску bug bounty? А к участию в ней в качестве ресерчера? Как организовать процесс выплаты вознаграждений, сбора и оценки заявок, взаимодействия с участниками? Чего ждать и к чему готовиться? Как подать хороший репорт и по каким критериям он отличается от плохого? Ответы на эти, а также другие распространенные вопросы, связанные с bug bounties, мы попробуем найти вместе с вами. [Читать дальше →][2]

[1]: //habrastorage.org/files/de3/008/2e4/de30082e4a214b47bc9557033393d565.jpg
[2]: http://habrahabr.ru/post/243377/#habracut

[>] [Перевод] Секретный конструктор std::shared_ptr
habra.15
habrabot(difrex,1) — All
2015-07-29 11:00:02


У `std::shared_ptr` есть небольшой секрет: очень полезный конструктор, о котором большинство программистов даже не слышали. Он был добавлен только в стандарте С++11, и его не было даже в TR1 версии `shared_ptr`. Однако он поддерживается gcc с версии 4.3, и компилятором MSVC еще с времен Visual Studio 2010. В Boost он появился примерно с 1.35.0. В большинстве обучающих материалов, в которых описывается `std::shared_ptr` ничего нет об этом конструкторе. Скотт Майерс ни словом не обмолвился о нем в «Effective Modern C++», другой автор — Nicolai Josuttis уделил этому конструктору около половины страницы в своей книге «The C++ Standard Library». [][1]



Итак, что представляет собой этот [секретный конструктор? ][2]

[1]: http://habrahabr.ru/post/263751/
[2]: http://habrahabr.ru/post/263751/#habracut

[>] [Перевод] Должны ли все изучать программирование?
habra.14
habrabot(difrex,1) — All
2014-11-17 16:00:05


Предлагаю вашему вниманию перевод статьи [«Should Everybody Learn to Code?»][1], которая показалась мне интересной. ![image][2]Чтобы проверить, смогут ли профессиональные графические дизайнеры написать простейшую компьютерную программу, Брайан Дорн, в то время студент магистратуры в Технологическом институте Джорджии (Georgia Tech), попросил их прочесть и изменить фрагмент программного кода. Дорн хотел понять, смогут ли они сами разобраться – как автоматизировать работу в Adobe Photoshop. Дизайнеры стали искать информацию в Интернете и, к сожалению, во многих случаях вводили неверные поисковые запросы: например, пытались разобраться с Java, когда на самом деле им был нужен JavaScript для этого конкретного проекта. Это могло быть связано с «отсутствием общего базового понимания компьютерных и программных структур», писал Дорн в журнале Communications в мае 2011 года. [Читать дальше →][3]

[1]: http://cacm.acm.org/magazines/2014/2/171674-should-everybody-learn-to-code/fulltext
[2]: http://habrastorage.org/files/022/194/2d2/0221942d2856465c8cefefc9cc2ec2a9.jpg
[3]: http://habrahabr.ru/post/243393/#habracut

[>] «Ра-а-авняйсь, смирно!». Выравниваем данные
habra.15
habrabot(difrex,1) — All
2015-07-29 11:30:03






В современных компиляторах задача векторизации циклов является очень важной и нужной. В большинстве своем, при успешной векторизации производительность приложения может быть существенно увеличена. Способов добиться этого достаточно [много][1], а тонкостей, связанных именно с получением ожидаемого «ускорения» нашего приложения – ещё больше. Сегодня мы поговорим о выравнивании данных, его влиянии на производительность и векторизацию и работу с ним в компиляторе, в частности. Очень подробно само понятие дается в [этой][2] статье, как и множество других нюансов. Но нас интересует влияние выравнивания при векторизации. Так вот, если вы прочитали статью или просто знаете, как происходит работа с памятью, то известие о том, что данные считываются блоками вас не удивит. [Читать дальше →][3]

[1]: http://habrahabr.ru/company/intel/blog/205552/
[2]: http://konishchevdmitry.blogspot.com/2010/01/blog-post.html
[3]: http://habrahabr.ru/post/262933/#habracut

[>] [Из песочницы] Odroid-W + W Docking Board LCD
habra.14
habrabot(difrex,1) — All
2014-11-17 16:30:03


Привет! Возможно моя статья будет выглядеть несколько «нубоватой», но аналогичного HOW TO в русскоязычном интернете лично я найти не смог. Речь пойдет о первичном развертывании операционной системы на одноплатном компьютере [Odroid-W][1] от Hardkernel, которому уделили на Хабре уже [две][2] [статьи][3] описательного характера. Особенностью будет использование совместно с самой платой “[W Docking Board with TFT LCD][4]”, без которой, к.м.к. возможности данной железки раскрыты не до конца. [Читать дальше →][5]

[1]: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G140610189490
[2]: http://habrahabr.ru/post/233133/
[3]: http://habrahabr.ru/post/240823/
[4]: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G140609436593
[5]: http://habrahabr.ru/post/243407/#habracut

[>] [Из песочницы] Алгоритмы и решения при разработке движка JavaScript на C#
habra.14
habrabot(difrex,1) — All
2014-11-17 16:30:04


Здравствуйте, уважаемые хабровчане! Чуть меньше года назад я, так же, в песочнице, публиковал статью о начале разработки [движка JavaScript на C#][1]. Прошел год после создания проекта и я рад представить вам первую версию сего творения, которую можно скачать на [nuget][2]. Но в этой статье я не буду пиариться, приводить сравнения с конкурентами, измерять производительность и прочее. Здесь я напишу о том, через что мне пришлось пройти, какой кровью всё это далось и с чем пришлось столкнуться. [Читать дальше →][3]

[1]: http://habrahabr.ru/sandbox/75576/
[2]: https://www.nuget.org/packages/NiL.JS/
[3]: http://habrahabr.ru/post/243399/#habracut

[>] В Android обнаружены уязвимости, позволяющие получить доступ к смартфону через MMS
habra.15
habrabot(difrex,1) — All
2015-07-29 12:00:02


Компания ZIMPERIUM, специализирующаяся на компьютерной безопасности, обнаружила критические уязвимости в ядре Android, которые позволяют выполнять код через отправку MMS сообщений или Google Hangout. По примерной оценке, данной опасности подвержено 95% пользователей устройств под управлением системы Android (около 950 миллионов человек). И что самое опасное, данную уязвимость достаточно просто использовать: необходимо лишь знать номер мобильного телефона жертвы. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3ba/bc6/5ea/3babc65eae180e2cbc639c71698f7670.jpg
[2]: http://habrahabr.ru/post/263759/#habracut

[>] [Из песочницы] Краткая история эволюции proof-of-work в криптовалютах. Часть 1
habra.15
habrabot(difrex,1) — All
2015-07-29 13:30:04


_Предлагаю вашему вниманию перевод [статьи «The Proof-of-Work in Cryptocurrencies: Brief History. Part 1»][1] Рэя Паттерсона (Ray Patterson) с сайта [Bytecoin.org][2]._ ![][3]

## До начала времен

Понятие Proof-of-work – «доказательство (проделанной) работы» – впервые появилось в работе [“Pricing via Processing or Combatting Junk Mail”][4] в 1993 г. И хотя в данной статье такого термина еще нет (появится через 6 лет), мы будем называть его именно так (PoW для краткости). Какую же идею предложили Cynthia Dwork и Moni Naor в своей работе? _«Чтобы получить доступ к общему ресурсу, пользователь должен вычислить некоторую функцию: достаточно сложную, но посильную; так можно защитить ресурс от злоупотребления»_ Если провести аналогию, Рыбнадзор обязывает [Джереми Уэйда][5] немного потрудиться, чтобы получить доступ к местному пруду – например, посадить несколько деревьев и прислать фото саженцев. При этом Джереми должен быть в состоянии с ней справиться за разумное время: до того, как все рыбы будут отравлены выбрасываемыми в окружающую среду веществами. Но, с другой стороны, работа не должна быть элементарной, иначе толпы рыбаков быстро опустошат весь пруд. В цифровом мире придумать пример подобной работы на самом деле не так тривиально. [Читать дальше →][6]

[1]: https://bytecoin.org/blog/proof-of-work/
[2]: https://bytecoin.org/info/
[3]: https://habrastorage.org/files/25f/e08/411/25fe08411e37431d8067c846372960ba.jpg
[4]: http://www.hashcash.org/papers/pvp.pdf
[5]: https://ru.wikipedia.org/wiki/%D0%A3%D1%8D%D0%B9%D0%B4,_%D0%94%D0%B6%D0%B5%D1%80%D0%B5%D0%BC%D0%B8
[6]: http://habrahabr.ru/post/263769/#habracut

[>] [Перевод] Шпионские штучки в Wolfram Language, или как спрятать в картинке всё что угодно
habra.15
habrabot(difrex,1) — All
2015-07-29 15:00:06






_Перевод поста Джона Маклуна (Jon McLoone) "[Doing Spy Stuff with Mathematica][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе._

----

Я читал о IT проблемах недавно арестованных, как заявлялось, русских шпионов. Говорилось, что они пользовались не самыми надёжными инструментами цифровой **стеганографии** ([вики][4]). И мне стало интересно — насколько быстро я смогу реализовать стеганографию через цифровые изображения в _Mathematica_, используя метод, известный как "**вставка младшего бита**" (_least significant bit insertion_). Идея стеганографии основывается на том, чтобы спрятать сообщения в какой-то другой информации таким образом, чтобы никто факта коммуникации не заметил. Само слово происходит от латино-греческий комбинации, означающей «скрытное письмо»; данным термином назывался процесс нанесения секретного сообщения на лысую голову человека, на которой затем отрастали волосы и, тем самым, прятали сообщение. В случае цифровой стеганографии всё делается посредством математики. [Читать дальше →][5]

[1]: http://blog.wolfram.com/2010/07/08/doing-spy-stuff-with-mathematica/
[2]: http://blog.wolfram.com/data/uploads/2010/07/DoingSpyStuffWithMathematica.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F
[5]: http://habrahabr.ru/post/263783/#habracut

[>] Киберпреступники возродили форум Darkode
habra.15
habrabot(difrex,1) — All
2015-07-29 16:00:02


Недавно мы [писали][1] о закрытии правоохранительными органами известного подпольного форума киберпреступников под названием Darkode. Кроме закрытия самого форума, множество его пользователей, которые являются известными киберпреступниками, были арестованы. Многие, но не все, поскольку один из администраторов Darkode под ником «Sp3cial1st» избежал ареста и перезапустил форум по новому адресу. ![][2] По [информации][3] известного malware/cybercrime исследователя [MalwareTech][4] для новой реинкарнации форума существенно усилены меры безопасности: доступ к форуму для пользователей возможен через Tor, а аутентификация реализуется с использованием специального Blockchain API. [Читать дальше →][5]

[1]: http://habrahabr.ru/company/eset/blog/262721/
[2]: https://habrastorage.org/files/1d5/db5/505/1d5db55054134e1799166ceb3706e6ea.jpg
[3]: http://www.malwaretech.com/2015/07/darkode-returns-following-international.html
[4]: https://twitter.com/MalwareTechBlog
[5]: http://habrahabr.ru/post/263755/#habracut

[>] Обзор нового Intercepter-NG 0.9.10
habra.15
habrabot(difrex,1) — All
2015-07-29 17:30:04


**Intro** С большим удовольствием хочу представить новую версию Intercepter-NG 0.9.10, которая, на мой взгляд, в значительной степени расширяет область применения инструмента. Данный обзор будет представлен не в виде сухого перечисления нововведений, а скорее как описание новых векторов атак вместе с рядом технических подробностей и элементами hack-story. Приступим… [Читать дальше →][1]

[1]: http://habrahabr.ru/post/263789/#habracut

[>] Тест Тьюринга на основе реальных поисковых запросов в Яндексе
habra.14
habrabot(difrex,1) — All
2014-11-17 18:00:03


На основе этого API я сделал маленький проект на [Openresty][2] (**nginx** + **Lua** + **imagemagick**), предоставляющий высокопроизводительную реализацию [CAPTCHA][3]. ![image][4] Предусмотрена возможность [встраивания][5] в виде **iframe**. [GitHub][6], [demo][7] [Читать дальше →][8]

[1]: http://export.yandex.ru/last/last20x.xml
[2]: http://openresty.org
[3]: http://en.wikipedia.org/wiki/CAPTCHA
[4]: https://raw.githubusercontent.com/dannote/recattle/master/samples/3.png
[5]: https://github.com/dannote/recattle#%D0%92%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[6]: https://github.com/dannote/recattle
[7]: http://recattle.dannote.net
[8]: http://habrahabr.ru/post/243419/#habracut

[>] Корпоративные лаборатории PENTESTIT: современные угрозы ИБ
habra.15
habrabot(difrex,1) — All
2015-07-29 17:30:04


![][1]

####

В последнее время участились случаи т.н. целенаправленных хакерских атак (APT), основной целью которых являются финансовый, промышленный и государственный сектор. Такие атаки характеризуются своей молниеносностью (от нескольких минут до нескольких часов) и высоким профессионализмом нападающих. Зачастую ИБ-специалисты, сталкиваясь с несколькими попытками вторжений (в том числе и с отвлекающими), не успевают вовремя отреагировать на реальную атаку. Более того, большинство подобных попыток вторжений оказываются выявленными уже постфактум – после утечки критичных данных. Уровень осведомленности сотрудников ИБ-подразделений о современных угрозах обычно не ставится под сомнение, но, тем не менее, количество атак и их масштабность растет год от года. Например, [здесь][2] собраны атаки начиная с 2008 года. Как можно заметить, их количество и вариации увеличивается с каждым годом. А [здесь][3] представлена эволюция и наглядная инфографика таких атак. Даже такие крупные вендоры ИБ, как «Лаборатория Касперского», подвергаются подобным атакам:

> Ранней весной 2015 года «Лаборатория Касперского» зафиксировала кибервторжение в свою корпоративную сеть. В ходе последовавшего за этим расследования была обнаружена новая вредоносная платформа, имеющая непосредственное отношение к одной из самых сложных и загадочных кампаний кибершпионажа – Duqu, раскрытой в 2011 году. Новая платформа получила название Duqu 2.0.

Как защитить ИТ-инфраструктуру компании перед лицом киберугроз? [Читать дальше →][4]

[1]: https://habrastorage.org/files/025/cba/dc5/025cbadc52f7469da65e4e903d25fb41.png
[2]: https://github.com/kbandla/APTnotes
[3]: https://apt.securelist.com/#secondPage
[4]: http://habrahabr.ru/post/263665/#habracut

[>] Как и зачем «ломают» интернет-магазины
habra.14
habrabot(difrex,1) — All
2014-11-17 19:30:04


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

[1]: //habrastorage.org/files/04d/7d7/de0/04d7d7de0bfd4d6bae20b57f83cff9ab.jpg
[2]: http://habrahabr.ru/post/242953/#habracut

[>] [Перевод] Грязные секреты экспресс-курсов по программированию
habra.15
habrabot(difrex,1) — All
2015-07-29 18:00:02


Привет, Хабр! Цель нашего образовательного проекта [Хекслет][1] — обучать программированию. Мы постоянно стараемся обратить внимание на то, что основы программирования, анализ и решение задач, понимание фундамента — это важно. Важнее, чем просто модный стек или технология. Поэтому наши курсы по [PHP][2] или [Ruby][3] основаны на [SICP][4], а курс по базам данных на самом деле посвящен стандарту [SQL-92][5], а не особенностям какого-нибудь MySQL. В СНГ все активнее распространяется идея образовательных центров, где "_можно стать программистом и устроиться на работу за 8 недель_". На западе же — их сотни! Каждый обещает светлое будущее, многие твердят, что «любой может стать программистом». Обещают трудоустройство. На волне «coding is the new literacy» («кодинг это новая грамотность») тысячи людей записываются в так называемые «буткемпы». Это огромный бизнес, но, к сожалению, большинство таких буткемпов не готовит настоящих программистов. Сегодня мы публикуем перевод статьи Кена Мазайки, профессионального разработчика и основателя нескольких успешных компаний, в том числе — образовательного проекта. Кен рассказывает о том, какими мифами пичкают новичков многие буткемпы, и что он думает по этому поводу. ![][6] [Читать дальше →][7]

[1]: https://ru.hexlet.io/
[2]: https://ru.hexlet.io/courses/php5
[3]: https://ru.hexlet.io/courses/ruby
[4]: https://mitpress.mit.edu/sicp/
[5]: https://en.wikipedia.org/wiki/SQL-92
[6]: https://habrastorage.org/files/cb4/9ae/517/cb49ae5179c64fa6b37c348a190bcce9.jpg
[7]: http://habrahabr.ru/post/263407/#habracut

[>] Решение задач на определение фальшивой монеты взвешиванием 2.0
habra.14
habrabot(difrex,1) — All
2014-11-18 08:30:03




## Сегодня я снова хочу вернуться к теме о задаче нахождении фальшивой монеты методом взвешивания на весах без циферблата.

Наиболее распространенные из таких задач — определение количества взвешиваний для выявления фальшивой монеты, если: 1) неизвестно какая она по весу; 2) известно, что она легче/тяжелее остальных. Или обратная задача: можно ли за определенное количество взвешиваний выявить фальшивую из заданного количества монет. [Подробности][1]

[1]: http://habrahabr.ru/post/243461/#habracut

[>] Установка, настройка и использование сканера уязвимостей chkrootkit
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


В предыдущей моей публикации про[ сканер уязвимостей rkhunter][1] в комментариях хабрапользователем [Indexator][2] был упомянут сканер chrootkit. При схожем функционале c rkhunter, есть ряд отличий, который будет интересно рассмотреть в этой статье. Интересно также то, что совсем недавно была выпущена новая версия сканера, разработка которого казалась замороженной c 2009 года. ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/company/first/blog/242865/
[2]: http://habrahabr.ru/users/indexator/
[3]: //habrastorage.org/files/6d6/0d8/c07/6d60d8c0740c4155a4fad87cbff32078.jpg
[4]: http://habrahabr.ru/post/243487/#habracut

[>] Транзакционный ад
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


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

[1]: http://www.ultimabusinessware.com/
[2]: http://habrastorage.org/files/f49/eb2/bb0/f49eb2bb0cf24b94b89948491c1fd6e5.png
[3]: http://habrahabr.ru/post/243245/#habracut

[>] [Из песочницы] Реализация поискового движка с ранжированием на Python (Часть 1)
habra.15
habrabot(difrex,1) — All
2015-07-29 20:00:02


_Просматривая ленту новостей я наткнулся на рекомендацию от Типичного Программиста на статью [«Implementing a Search Engine with Ranking in Python»][1], написанную Aakash Japi. Она меня заинтересовала, подобного материала в рунете не очень много, и я решил перевести её. Так как она довольно большая, я разделю её на 2-3 части. На этом я заканчиваю своё вступление и перехожу к переводу._ Каждый раз как я использую Quora, я в конечном итоге вижу по крайней мере вопрос вроде [этого][2]: кто-нибудь спрашивает, как работает Google и как он «ударяет» (находит) информацию в поиске. Большинство вопросов не настолько смелые и дезинформирующие, как этот, но все они выражают подобное чувство, и в этом они передают значительное непонимание того, как работают поисковые системы. Но в то время как Google является невероятно сложным, основная концепция поисковой системы, которые ищут соответствия и оценивают (ранжируют) результаты относительно поискового запроса не представляет особой сложности, и это может понять любой с базовым опытом программирования. Я не думаю, что в данный момент возможно превзойти Google в поиске, но сделать поисковой движок — вполне достижимая цель, и на самом деле это довольно поучительное упражнение, которое я рекомендую попробовать. Это то, что я буду описывать в этой статье: как сделать поисковую систему для локальных текстовых файлов, для которых можно обрабатывать стандартные запросы (по крайней мере, одно из слов в запросе есть в документе) и фразу целиком (появляется вся фраза в тексте) и может ранжировать с использованием базовой TF-IDF схемы. Есть два основный этапа в разработке поискового движка: построение индекса, а затем, используя индекс, ответить на запрос. А затем мы можем добавить результат рейтинга (TF-IDF, PageRank и т.д.), классификацию запрос/документ, и, возможно, немного машинного обучения, чтобы отслеживать последние запросы пользователя и на основе этого выбрать результаты для повышения производительности поисковой системы. Итак, без дальнейших церемоний, давайте начнем! [Читать дальше →][3]

[1]: http://aakashjapi.com/fuckin-search-engines-how-do-they-work/
[2]: http://www.quora.com/I-am-confident-that-I-am-going-to-build-a-search-engine-that-will-compete-with-Google-at-least-in-the-smallest-scale-possible-first-but-for-now-I-dont-know-any-programming-What-should-I-do
[3]: http://habrahabr.ru/post/263823/#habracut

[>] [Из песочницы] Проверка уязвимости Masque в iOS
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Недавно опубликована [статья][1], относящаяся к т. н. «Masque» уязвимости в iOS. Выдержка из статьи:

> «Уязвимость позволяет установить вредоносное приложение поверх уже существующего, причем это новое приложение получит доступ ко всем файлам предыдущего. Это при условии того, что устанавливаемое приложение будет иметь тот же самый идентификатор «bundle identifier», который iOS & OS X используют для идентификации приложений на уровне ОС, например, при доставке им обновлений. Уязвимости подвержены все версии iOS начиная с 7.1.1, включая, последнюю iOS 8.1.1 beta.»
>
>

Будучи знакомым с Enterprise сертификатами, мне захотелось непременно опровергнуть/доказать настоящий факт. Итак, что известно про Enterprise лицензию: [Читать дальше →][2]

[1]: http://habrahabr.ru/company/eset/blog/243279/
[2]: http://habrahabr.ru/post/243511/#habracut

[>] Django ORM. Добавим сахарку
habra.15
habrabot(difrex,1) — All
2015-07-29 21:30:02


![][1] Фреймворк Django, пожалуй, самый популярный для языка Python. Однако, при всей его популярности, часто критикуют его ORM — а именно lookup синтаксис через подчеркивания. На самом деле, такой выбор синтаксиса вполне обоснован — он легок в понимании, расширяем, а главное — прост, как швабра. Тем не менее, хочется красоты, или даже прямо изящества. Но красота — понятие относительное, поэтому будем отталкиваться из конкретных задач. Если заинтриговал — добро пожаловать под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0f0/925/186/0f092518650f41a38ae9f8a83f01206d.jpg
[2]: http://habrahabr.ru/post/263821/#habracut

[>] Как конфигурация влияет на архитектуру приложения
habra.15
habrabot(difrex,1) — All
2015-07-30 09:30:03


[Тестовое приложение][1] для тестирования сериализаторов было сделано на [библиотеке NFX][2]. Это Unistack библиотека. Честно говоря, я затрудняюсь назвать другой пример Unistack библиотеки. Может быть что-то похожее есть в виде ServiceStack. Хотя ServiceStack, в отличии от NFX, размазан по нескольким dll. Но самое главное, ServiceStack не является Uni, так как его части сделаны немножко по-разному, и он не покрывает такого глобального пространства, как NFX. Но целью данной статьи не является обсуждение концепции Unistack, а одна из особенностей использования NFX. Как использование NFX повлияло на наше тестовое приложение? Давайте посмотрим. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/263705/
[2]: https://github.com/aumcode/nfx
[3]: http://habrahabr.ru/post/263827/#habracut

[>] Перевод книги «Kingpin». Глава 3. «The Hungry Programmers»
habra.15
habrabot(difrex,1) — All
2015-07-30 10:30:03


![][1] [magisterludi][2]: Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 34. DarkMarket][6] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

* книг про хакеров на русском языке мало (полторы)
* книг про кардинг на русском нет вообще
* Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
* приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
* работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
* текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья
* книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Хочу выразить благодарность ребятам из проекта [«Юные программисты ФСБ РФ»][7] из Кадетской школы 1770 г. Москвы и руководителю [Сергею Епифанцеву][8] за координационную работу. ![image][9] Кто хочет помочь с переводом других глав пишите в личку [magisterludi][10]. [Читать дальше →][11]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: http://habrahabr.ru/users/magisterludi/
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263293/
[7]: http://vk.com/ludydela
[8]: http://vk.com/epifantsew
[9]: https://habrastorage.org/getpro/habr/post_images/710/189/8c3/7101898c322af10882b3bd63675a0d78.jpg
[10]: http://habrahabr.ru/users/magisterludi/
[11]: http://habrahabr.ru/post/263819/#habracut

[>] Перевод книги «Kingpin». Глава 5. «Cyberwar!»
habra.15
habrabot(difrex,1) — All
2015-07-30 15:00:05


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 5. «Cyberwar!»][6] [Глава 34. DarkMarket][7] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

* книг про хакеров на русском языке мало (полторы)
* книг про кардинг на русском нет вообще
* Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
* приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
* работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
* текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
* книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][8].

#### Глава 5. Кибервойна!

_(за перевод спасибо хабраюзеру [ShiawasenaHoshi][9])_ По возвращению домой в Сан-Франциско Макса ждало искушение в виде следующей строки кода: bcopy (fname, anbuf, alen = (char \*)\*cpp — fname); [Читать дальше →][10]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263813/
[7]: http://habrahabr.ru/post/263293/
[8]: http://habrahabr.ru/users/magisterludi/
[9]: http://habrahabr.ru/users/shiawasenahoshi/
[10]: http://habrahabr.ru/post/263813/#habracut

[>] Работа с паролями: как защитить свои учетные записи (мнения специалистов)
habra.15
habrabot(difrex,1) — All
2015-07-30 15:00:05


Недавно стало известно об «уязвимости» в системе для корпоративных клиентов такси-сервиса Gett. Как выяснили исследователи, всем им по умолчанию выдавались [одинаковые пароли][1] (естественно, многие из них никто потом не меняет). В итоге, зная один пароль, злоумышленники могли попасть в множество аккаунтов сразу (среди клиентов Google Россия, «Вконтакте», Ozon и другие компании). [![][2]][3] Скандалы, связанные с кражей паролей и похищением личных данных, случаются регулярно — только за прошедшие пару лет в сеть утекали пароли пользователей таких крупных компаний, как [Adobe][4], популярных [почтовых сервисов][5], хакеры взламывали даже сами [сервисы для хранения паролей][6]. Исследования также показали, что одними из главных проблем безопасности онлайн-банков являются [авторизация и аутентификация][7]. [Читать дальше →][8]

[1]: http://siliconrus.com/2015/07/gett-corporate/
[2]: https://habrastorage.org/files/0b8/e8a/76e/0b8e8a76e93340de904f5d5296ad109c.png
[3]: http://habrahabr.ru/company/pt/blog/263101/
[4]: http://habrahabr.ru/sandbox/75762/
[5]: http://habrahabr.ru/post/236759/
[6]: http://www.forbes.com/sites/katevinton/2015/06/15/password-manager-lastpass-hacked-exposing-encrypted-master-passwords/
[7]: http://ptsecurity.ru/about/news/41018/
[8]: http://habrahabr.ru/post/263101/#habracut

[>] [Из песочницы] Печать из Google Apps Script
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04




#### Часть 1. Challenge

Читая ленту на [oDesk][1], наткнулся на интересный проект по моему направлению (а я отслеживаю, в основном, задачи на написать что-то, прикрутить что-то или иным способом замучить Google Apps Script или приложения Google Apps). Клиент просил написать скрипт, который будет отсылать ему выделенный фрагмент из Google Spreadsheet по нажатию кнопки. Но была в описании одна фраза, зацепившая меня — «Мне сказали, что невозможно создать скрипт, который будет печатать из Google Apps». Я всегда очень любил и люблю «невозможные» задачи:

> — Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь. — Мы хотим знать, как её решать.
>
>
>
>

Статья рассчитана на читателей, уже знакомых с Google Apps Script и сопутствующими технологиями. [Читать дальше →][2]

[1]: http://www.odesk.com
[2]: http://habrahabr.ru/post/243421/#habracut

[>] [recovery mode] Жизненный цикл документа в профессиональной справочной системе. Немного сказочный пост о том, как кипа бумаги превращается в систему
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


![][1] **Мечта Карлсона сбывается** Помните из классики: _— Карлсон, ты знаешь, она хочет попасть в телевизор! — Она? В телевизор? — Да. — Вот эта толстая домомучительница хочет залезть в самую маленькую коробочку?! Ничего не получится. Её надо будет сложить вчетверо!_ А теперь представьте, что каждый день мы кладем в «самую маленькую коробочку», в информационно-справочную систему, по **три реальные тележки текстовых документов**, которые весят явно больше, чем Фрекен Бок. Плюс все эти документы нужно как-то добыть, сверить по многу раз, технологически обработать, а потом доставить пользователю в достоверном и актуальном виде. Об этом Карлсон мог только мечтать. Сегодня мы совершим экскурсию по **Производственному департаменту** Консорциума «Кодекс» (ПД), сотрудники которого занимаются формированием начинки для профессиональных справочных систем **«Кодекс»** и **«Техэксперт»**. Коллеги из разных подразделений из первых уст расскажут о нашем способе «наведения чистоты» в системе такого масштаба. Мы проследим весь жизненный путь документа от поиска до попадания к пользователю. Также выясним, есть ли у документа жизнь после смерти. [Читать дальше →][2]

[1]: //habrastorage.org/files/e11/9f6/812/e119f68128e34a0ca4e782ce99420f98.jpg
[2]: http://habrahabr.ru/post/243439/#habracut

[>] Arduino на службе здоровья — 2
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


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

##### Были использованы компоненты:

Барометр\\альтиметр\\термометр BMP180; [Читать дальше →][2]

[1]: http://habrahabr.ru/post/242521/
[2]: http://habrahabr.ru/post/243469/#habracut

[>] [Из песочницы] Введение в компонентно-ориентированный подход к программированию
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Сам Unity Engine (далее Unity), как и многие другие игровые движки, наиболее приспособлен к компонентно-ориентированному программированию (далее КОП), так как Behavioral Pattern — один из базовых паттернов архитектуры движков, наряду с паттерном «Component» из классификации Decoupling Patterns. Потому именно компонент является базовой единицей для реализации бизнес-логики в Unity. В этой статье я расскажу о том, как применять КОП в Unity. [Потому стоит перейти от привычного ООП к КОП?][1]

[1]: http://habrahabr.ru/post/243479/#habracut

[>] [Перевод] Автозапуск приложения Node.js на CentOS 6.2
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Для автозапуска приложений Node.js есть много способов, но после некоторых поисков мне удалось отыскать такое решение, которое и работает, и не представляет большой трудности. Сперва я испробовал и одного upstart достаточно для того, чтобы устроить и то, и другое. [Читать дальше →][4]

[1]: https://github.com/nodejitsu/forever
[2]: https://ru.wikipedia.org/wiki/Upstart
[3]: http://mmonit.com/monit/
[4]: http://habrahabr.ru/post/243429/#habracut

[>] Пишем maintainable код
habra.15
habrabot(difrex,1) — All
2015-07-30 16:00:04


У[ нас][1] сотни программных проектов на поддержке, некоторые из них поддерживаются нами почти десять лет. Нетрудно догадаться, что понятие maintainable кода (переведу это понятие как код, легкий в поддержке) является у нас одним из основных. По счастливому стечению обстоятельств легкий в поддержке код также является и легким для (unit-)тестирования, легким для освоения новыми членами команды и т.д. Скорее всего, это связано с тем, что для создания maintainable кода приходится озаботиться хорошей архитектурой проекта и завести несколько хороших привычек. В этой статье и поговорим о таких привычках, благодаря которым часто хорошая архитектура получается сама собой. Постараюсь также иллюстрировать все хорошими примерами.



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

[1]: http://icl-services.com/company/about/
[2]: http://habrahabr.ru/post/261863/#habracut

[>] Осваиваем Linux за три недели
habra.14
habrabot(difrex,1) — All
2014-11-18 14:30:03


Идея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН ([тут][1] и [тут][2] мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней. ![xkcd.com/456/][3] В силу того, что это область на стыке наук, мы постоянно общаемся с биологами. Биологам же сейчас приходится работать с очень большими объемами данных, поэтому умение использовать Linux, оптимальную для подобных задач операционную систему, становится необходимым навыком. На самом деле, речь не только об умении обращаться с Linux, а в целом о компьютерной грамотности: какие существуют правила работы на сервере, как загружать и эффективно хранить файлы с данными, какие программы запускать для их обработки и как это сделать и т.д. — все те вещи, которые как упрощают и ускоряют вашу работу, так и значительно облегчают совместную деятельность с коллегам. Несмотря на то, что разобраться с Linux можно и самостоятельно, почитав умные книжки и сайты, для людей из не технической среды это часто вызывает определенные сложности и многие сдаются на начальных этапах освоения этой ОС (например, на знакомстве с командной строкой). На основе нашего опыта я и мой коллега Андрей Пржибельский ([andrewprzh][4]) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в [трехнедельный открытый онлайн-курс (MOOC)][5] Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, — поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям — 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми). [Читать дальше →][6]

[1]: http://habrahabr.ru/company/spbau/blog/143115/
[2]: http://habrahabr.ru/company/spbau/blog/186492/
[3]: //habrastorage.org/files/2fc/8ed/5b7/2fc8ed5b726e4eb69a410c80b56c50c9.png
[4]: http://habrahabr.ru/users/andrewprzh/
[5]: https://stepic.org/course/Введение-в-Linux-73/
[6]: http://habrahabr.ru/post/243473/#habracut

[>] [Из песочницы] Как я учился на своих ошибках или как сделать вторую игру лучше
habra.14
habrabot(difrex,1) — All
2014-11-18 15:00:03


Привет, Хабр! ![][1] Хочу поделиться с вами опытом разработки двух игр под Андроид, их продвижением и рассказать об ошибках, которые я совершал, и как я решил их избежать в будущем. Год назад я начал делать свою первую игру на Андроид. Всё начиналось с идеи. Обычная, ничем не примечательная — запоминать фигурки на экране. Ради опыта и своего первого проекта на **Google Play** я начал усердно работать с моим братом. **Ошибка №1 — Нежелание прислушиваться к чужому мнению** Неделя работы — и у нас уже был мало-мальски рабочий прототип. Ну конечно же, я показывал его друзьям, говорил о планах, спрашивал мнение. Многие говорили, что идея не новая, не интересная, но я не хотел это слышать и мы продолжали разработку. В конце концов мы сами поняли, что от игры многого ждать не стоит, но желание закончить начатое превзошло все. [Читать дальше →][2]

[1]: //habrastorage.org/files/d7f/ed3/79f/d7fed379f2c94ceca8a52db607f4987d.png
[2]: http://habrahabr.ru/post/243519/#habracut

[>] OpenVZ, Quagga и LiveMigration
habra.15
habrabot(difrex,1) — All
2015-07-30 18:00:02


![][1]Добрый всем день! Хочу поделиться удобным способом использования OpenVZ контейнеров. Объект этот очень лёгкий, можно поднимать экземпляр на каждый чих. По умолчанию для контейнера используется «venet» сетевой интерфейс. Для администратора это выглядит, как просто присвоить контейнеру адрес, и это удобно. Но для того, чтоб контейнер был доступен из сети, следует использовать адреса из той же IP сети, к которой подключён физический сервер (HN). Сервер знает список запущенных на нём контейнеров и отвечает своим MAC-ом на ARP запросы с адресами контейнеров. Но всегда хочется больше удобства в работе, и поможет нам в этом динамическая маршрутизация. Как именно рассмотрим на примерах, используя Quagga и OSPF. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f9a/468/741/f9a4687416694e20a45c923a22d5a0fc.png
[2]: http://habrahabr.ru/post/244151/#habracut

[>] [Перевод] Когда строка не является строкой?
habra.14
habrabot(difrex,1) — All
2014-11-18 15:30:04


В рамках моей «работы» над стандартизацией C# 5 в технической группе [ECMA-334 TC49-TG2][1] мне посчастливилось увидеть несколько интересных способов, которыми [Владимир Решетников][2] проверял C# на прочность. В данной статье описана одна из проблем, которые он поднял. Разумеется, она, скорее всего, никак не затронет 99.999% C#-разработчиков… но разобраться все равно любопытно. Спецификации, используемые в статье:

* Стандарт [Unicode 7.0.0][3] – в особенности, [глава 3][4]
* [C# 5][5] (Документ Word)
* [ECMA-335 ][6](Спецификация CLI)



### Что такое строка?

Как бы вы объявили тип `string` (или `System.String`)? Я могу предположить несколько вариантов ответа на данный вопрос, от расплывчатых до довольно конкретных:

* «Какой-нибудь текст в кавычках»
* Последовательность символов
* Последовательность символов Юникода
* Последовательность 16-битных символов
* Последовательность кодов UTF-16

Только последнее утверждение полностью верно. Спецификация C# 5 (раздел 1.3) гласит:

> Обработка строк и символов в C# использует UTF-16. Тип
>
> `char`
>
> представляет код UTF-16, а тип string – последовательность кодов UTF-16.
>
>

Пока всё в порядке. Но это C#. А как насчет IL? Что используется там, и имеет ли это значение? Оказывается, что имеет… Строки должны быть объявлены в IL как константы, и природа этого способа представления важна – не только кодировка, но и интерпретация этих закодированных данных. В частности, последовательность кодов UTF-16 не всегда может быть представлена в виде последовательности кодов UTF-8. [Читать дальше →][7]

[1]: http://www.ecma-international.org/memento/TC49-TG2.HTM
[2]: https://twitter.com/vreshetnikov
[3]: http://www.unicode.org/versions/Unicode7.0.0/
[4]: http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf
[5]: http://www.microsoft.com/en-us/download/details.aspx?id=7029
[6]: http://www.ecma-international.org/publications/standards/Ecma-335.htm
[7]: http://habrahabr.ru/post/243523/#habracut

[>] [Из песочницы] Автоматизация ip-сети с помощью подручных инструментов (Python)
habra.15
habrabot(difrex,1) — All
2015-07-30 18:00:02


Эта статья подойдет сетевым специалистам, которые находятся в поисках примеров возможной автоматизации ip сети с помощью подручных инструментов. Как один из вариантов автоматизации, это взаимодействие программной среды с CLI (Command Line Interface) оборудования, так называемый ‘Screen Scraping’. Собственно, об этом варианте и пойдет речь. В качестве программной среды, будет использован язык программирования Python версии 3.3. Для сомневающихся в потребности изучения языка программирования, необходимо отметить, что базовые навыки программирования на Python достаточно просты в освоении и для решения описанных ниже задач являются достаточными. В дальнейшем с совершенствованием навыков будет совершенствоваться код и уровень производимых продуктов. Для удаленного взаимодействия с оборудованием в основном будет использоваться протокол SSH, поэтому в качестве работы с SSH, для облегчения задач, выбран дополнительный модуль для Python – Paramiko. Как правило рассмотрение решения конкретных задач, может способствовать лучшему усвоению материала, поэтому не затягивая процесс далее будут рассмотрены выборочные примеры задач по возрастающей степени сложности и их решение с использованием выше описанных инструментов (важно заметить, все ip адреса, логины, пароли, названия и специфические значения параметров с сетевых устройств — вымышленные, любое совпадение случайно). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/263859/#habracut

[>] Компактная реализация RSA для встраиваемых применений
habra.14
habrabot(difrex,1) — All
2014-11-18 16:00:04


[RSA][1] является широкоизвестным алгоритмом шифрования с открытым ключом. На его основе, кроме асимметричного шифрования, можно также реализовать электронную подпись ([ЭЦП][2]). Эти возможности привлекательны для встраиваемых систем, микроконтроллеров. Сам метод шифрования с виду чрезвычайно прост:








где C,M,e,n — целые числа, M — открытый текст, числа e и n представляют собой открытый ключ, C — шифротекст. mod — остаток от деления. Расширование выглядит столь же просто:








где C,M,n играют ту же роль, что и при шифровании, d — закрытый ключ. При этом n=p\*q, где p и q — простые числа (секретные), e обычно равно 65537, d вычисляется на основе e, p и q. Криптостойкость основана на том, что для достаточно больших p и q задача разложения n на множители или обращения формулы шифрования без знания p и q не решается за приемлемое время. Но эта кажущаяся простота обманчива. За ней скрывается огромное количество деталей и сложностей реализации. Особенно если стоит цель получить эффективную по быстродействию и памяти реализацию, пригодную для применения в микроконтроллерах. Я не нашел в интернете подходящих библиотек, а попытки изучения исходников **libgcrypt** заводят в такие дебри, из которых не выберешься. Поэтому я написал свою компактную библиотеку, которой и делюсь с уважаемыми читателями. [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/RSA
[2]: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C
[3]: http://habrahabr.ru/post/243425/#habracut

[>] Reveal для всех!
habra.14
habrabot(difrex,1) — All
2014-11-18 19:00:03


![][1] Здравствуйте, ** Хабровчане **! Я расскажу как я реализовал Circual Reveal анимацию из Lollipop, опустив порог до Gingerbread. В Lollipop появились нативные классы HardwareCanvas, RenderNodeAnimator для более плавной анимации и отрисовки, на нем построена Ripple и Reveal анимация. Теперь многие элементы рисуются и анимируются на уровне железа. [Читать дальше →][2]

[1]: //habrastorage.org/files/626/67f/1d0/62667f1d00eb4ba08d9eda3d93503cc0.jpg
[2]: http://habrahabr.ru/post/243541/#habracut

[>] Теоретический минимум *nix-based-систем для WebDev-падавана
habra.14
habrabot(difrex,1) — All
2014-11-18 20:00:02


![][1]

###### Помни: сила рыцаря-джедая — это сила Вселенной. Но помни: гнев, страх — это всё ведет на темную сторону Силы. Как только ты сделаешь первый шаг по темному пути, ты уже не сможешь с него свернуть…

Добрый день, уважаемый галактический сенат! На связи снова Денис Мельский, и сегодня на повестке дня — определение теоретического минимума познания \*nix систем для юного падавана web-мастерства. Хотелось бы начать с того, что все мы прекрасно знаем: на 67.4 % наши любимые интернеты крутятся на \*nix-based-серверах, а в жизни среднестатистического web-разработчика в вакууме — так и на все 90 %. ![][2] Для любителей пруфов — [welcome][3]. Т. ч. в нашем ремесле без знания \*nix-систем никак. Давайте проведем экскурс в мир \*nix и поймем, какими знаниями должен обладать юный падаван. Предлагаю рассмотреть три юниорских степени познания дзена управлением шайтан-машиной ака \*nix-сервак на примере всеми любимой ubuntu. [Читать дальше →][4]

[1]: //habrastorage.org/files/8c0/1ed/7fa/8c01ed7fa4a84b1a8bd27bf1dc126bfb.png
[2]: //habrastorage.org/files/431/32d/d9c/43132dd9c4e54039aff49e642fa9e8fc.png
[3]: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
[4]: http://habrahabr.ru/post/243563/#habracut

[>] [Перевод] Когда программа падает только по средам
habra.15
habrabot(difrex,1) — All
2015-07-30 19:30:02


Откиньтесь на спинку кресла и отдохните – пришло время рассказать об одном из моих самых любимых багов. ![][1]Это была моя самая первая работа в сфере IT – летняя практика в компании, разрабатывающей очень серьезное медицинское оборудование, в частности [системы подачи анестезии][2] и [мониторы для пациентов больниц][3]. Монитор для пациента – это такая попискивающая коробка рядом с лежачим больным, которая меряет пульс, давление, частоту дыхание и прочее, а также оповещает медсестер в случае неприятностей. Офис был полон двухметровых баллонов с веселящим газом, по нему расхаживали роскошнобородые гуру-эксперты по встраиваемым системам, и были целые комнаты-хранилища специально для документации, необходимой для сертификации различного оборудования. Народ до сих пор шепотом рассказывал об одном баге, пропущенном тестировщиками с десяток лет назад, из-за которого система подачи анестезии перезапустилась посреди операции. Стоит ли говорить, что зеленого сопляка-студента вроде меня и за километр бы не подпустили к боевым системам? Вместо этого мне поручили проект-прототип с целью опробовать в действии самые горячие технологические новинки 1997 года – сервер на C++, который бы слушал мониторы по серийному порту, сливал интересные данные в базу на SQL Server и отправлял их на Java-апплет через CORBA, чтобы доктора и родственники могли следить за самочувствием больного через интернет. Красота же! Особенно с учетом того, что практического опыта у меня не было ни с одной из этих систем и технологий! [Читать дальше →][4]

[1]: https://habrastorage.org/files/9c6/05d/d7c/9c605dd7cbc344c592e6a3738a1f0527.jpg
[2]: http://www.dremed.com/catalog/product_info.php/cPath/753_731/products_id/2203
[3]: http://www.dremed.com/catalog/product_info.php/cPath/753_731/products_id/1944
[4]: http://habrahabr.ru/post/263871/#habracut

[>] [Перевод] Витая архитектура
habra.15
habrabot(difrex,1) — All
2015-07-30 20:00:02






_Перевод поста Кристофера Карлсона (Christopher Carlson) "[Twisted Architecture][1]". Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][2] за помощь в переводе._

----

Я не ставил перед собой задачу скрутить [Херст-тауэр][3] (Hearst Tower) Нормана Фостера в ленту Мёбиуса и отправить его в космос, или заставить его [Мэри-Экс][4] танцевать танго с самим собой, просто я увлекся. Это один из профессиональных рисков работы с _[Mathematica][5]_. Всё началось с невинного эксперимента в лофтинге — методике также известной как обтягивание (skinning), пришедшей из судостроительства. Целью моего исследования были некоторые трёхмерные формы, а лофтинг казался отличным способом быстро добиться результатов. Я написал функцию **Loft**, которая принимает упорядоченное множество трёхмерных контуров и обтягивает его полигонами. [Читать дальше →][6]

[1]: http://blog.wolfram.com/2009/09/11/twisted-architecture/
[2]: http://habrahabr.ru/users/kirillguzenko/
[3]: https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%80%D1%81%D1%82-%D1%82%D0%B0%D1%83%D1%8D%D1%80_(%D0%9D%D1%8C%D1%8E-%D0%99%D0%BE%D1%80%D0%BA)
[4]: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B1%D0%BE%D1%81%D0%BA%D1%80%D1%91%D0%B1_%D0%9C%D1%8D%D1%80%D0%B8-%D0%AD%D0%BA%D1%81
[5]: http://www.wolfram.com/products/mathematica/index.html
[6]: http://habrahabr.ru/post/263869/#habracut

[>] Классика Computer Science
habra.14
habrabot(difrex,1) — All
2014-11-18 20:30:03


Привет, Хабражители! На той неделе у нас вышло переиздание классической книги [«Архитектура компьютера»][1]. ![image][2] Предлагаем пополнить коллекцию хорошими книгами с 18% скидкой, подробности внутри [Читать дальше →][3]

[1]: http://www.piter.com/collection/klassika-computer-science/product/arhitektura-kompyutera-6-e-izd
[2]: http://habrastorage.org/files/e63/fc1/414/e63fc1414db84ecea3acc1fd546ee983.jpg
[3]: http://habrahabr.ru/post/243497/#habracut

[>] Golang и ООП
habra.14
habrabot(difrex,1) — All
2014-11-19 02:30:03


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

[1]: //habrastorage.org/files/e1b/004/2d2/e1b0042d294c4991b9d67ad9be8cfbd5.jpg
[2]: http://habrastorage.org/files/cb2/802/618/cb280261874d4e0dbabfe6e8bdfd7a1d.jpg
[3]: http://habrahabr.ru/post/243593/#habracut

[>] [Перевод] Учебник по языку программирования D. Часть 3
habra.14
habrabot(difrex,1) — All
2014-11-19 07:00:06


Вторая часть перевода [D Programming Language Tutorial][1] от [Ali Çehreli][2]. Содержание главы расчитано для начинающих и, как мне кажется, даже не раскрывает темы. Но это перевод одной из глав. Предыдущие части:

1. [Часть 1][3]
2. [Часть 2][4]

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

[1]: http://ddili.org/ders/d.en/index.html
[2]: http://ddili.org/AliCehreli_resume.html
[3]: http://habrahabr.ru/post/226071/
[4]: http://habrahabr.ru/post/226565/
[5]: http://habrahabr.ru/post/243595/#habracut

[>] Хакатон в Казани: как что-то сделать и не забить на это
habra.14
habrabot(difrex,1) — All
2014-11-19 09:30:03


15 ноября в Казанском ИТ-парке стартовала Kazan Startup Week. Да, таких эвентов сейчас много, но здесь это делают на более менее подготовленной почве. Плюс, тут с каждым годом все больше программистов, особенно интересна их работа с детской аудиторией [http://juniorstartup.ru][1] и , но заметка будет немного о другом, хотя и частично с теми же участниками. ![][2] Итак, в субботу-воскресенье в Казани прошел Хакатон. В первый день как обычно были презентации идей и в итоге, после 24 часов кодинга (3-4 команды реально [не спали][3] всю ночь), из 50 проектов осталось чуть более 30. Помимо большого количества игр, были приложения, симулирующие эвакуацию из зданий, визуализатор химических реакций и даже проект, который позволяет выявить рак на ранних стадиях заболевания. [Читать дальше →][4]

[1]: http://juniorstartup.ru/
[2]: //habrastorage.org/files/569/136/6ac/5691366acc2f4735847e36e0f57815f7.png
[3]: http://instagram.com/p/vcNhrOSZSR/
[4]: http://habrahabr.ru/post/243599/#habracut

[>] Подпольный рынок кардеров. Перевод книги «Kingpin». Глава 5. «Cyberwar!»
habra.15
habrabot(difrex,1) — All
2015-07-30 22:30:02


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 5. «Cyberwar!»][6] [Глава 34. DarkMarket][7] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

* книг про хакеров на русском языке мало (полторы)
* книг про кардинг на русском нет вообще
* Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
* приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
* работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
* текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
* книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][8].

#### Глава 5. Кибервойна!

_(за перевод спасибо хабраюзеру [ShiawasenaHoshi][9])_ По возвращению домой в Сан-Франциско Макса ждало искушение в виде следующей строки кода: bcopy (fname, anbuf, alen = (char \*)\*cpp — fname); [Читать дальше →][10]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263813/
[7]: http://habrahabr.ru/post/263293/
[8]: http://habrahabr.ru/users/magisterludi/
[9]: http://habrahabr.ru/users/shiawasenahoshi/
[10]: http://habrahabr.ru/post/263813/#habracut

[>] [Из песочницы] Как я собрал скелет бота для заказа такси в Telegram
habra.15
habrabot(difrex,1) — All
2015-07-31 01:00:03


В день запуска ботов в Telegram я за 3 часа собрал бота, который присылает температуру воздуха в ответ на геолокацию пользователя. С того же дня я бредил вызовом такси через бота в Telegram, так как API службы такси у меня был под рукой. Моя цель – не просто рассказать, как я собрал бота для вызова такси, а поделиться этим процессом с другими, чтобы то время, которое я потратил на реализацию алгоритма не тратили остальные. Вследствие этой работы любая служба такси, при наличии API, может за 5 минут настроить шаблон этого бота под себя. Или владелец бота с большим количеством пользователей сможет быстро подключать к себе службу такси. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/263875/#habracut

[>] Intel INDE 2015 — новый полезный инструмент для разработки кросс-платформенных приложений
habra.14
habrabot(difrex,1) — All
2014-11-19 13:30:05


![][1] Недавно компания Intel выпустила обновление для набора инструментов и библиотек INDE, про который неоднократно писал здесь мой коллега [Terror][2]. Причем, обновление настолько значительное, что его можно сравнить с апгрейдом с мопеда до внедорожника (хотя и мопед тоже останется у вас). Intel INDE включает в себя инструменты для полного цикла разработки приложений: настройка окружения (интеграция с IDE для Android), оптимизированные под каждую платформу классы (работа с медиа, библиотеки для работы с потоками, разнообразные утилиты), компиляторы, средства для отладки, профилирования и оптимизации кода. Все эти средства способны значительно ускорить и упростить создание кроссплатформенных приложений. А производительность на каждой отдельной платформе и архитектуре будет оптимальной. [Подробности про INDE][3]

[1]: //habrastorage.org/files/44c/407/38f/44c40738faed4927bf5d8335a21481e0.PNG
[2]: http://habrahabr.ru/users/terror/
[3]: http://habrahabr.ru/post/242105/#habracut

[>] Новые критические уязвимости в Android: В чем проблема, и как защититься
habra.15
habrabot(difrex,1) — All
2015-07-31 14:00:03


[![][1]][2] Исследователи информационной безопасности обнаружили [ряд серьезных уязвимостей][3] в одном из компонентов ядра мобильной ОС Android под названием Stagefright (библиотека для работы с файлами мультимедиа, например PDF). Первым о проблемах в компоненте Stagefright заявил исследователь из компании Zimperium Labs Джошуа Дрейк ([Joshua J. Drake][4]). Кроме того, об обнаружении серьезной уязвимости в Android [заявила][5] компания TrendMicro. [Читать дальше →][6]

[1]: https://habrastorage.org/files/4aa/1e4/e9d/4aa1e4e9d7bb490babcb48540f33ce1a.png
[2]: http://habrahabr.ru/company/pt/blog/263903/
[3]: http://www.kb.cert.org/vuls/id/924951#sthash.qdKGAWhq.dpuf
[4]: http://www.twitter.com/jduck
[5]: http://blog.trendmicro.com/trendlabs-security-intelligence/trend-micro-discovers-vulnerability-that-renders-android-devices-silent/
[6]: http://habrahabr.ru/post/263903/#habracut

[>] Без слайдов: интервью с Дмитрием Жемеровым из JetBrains
habra.15
habrabot(difrex,1) — All
2015-07-31 14:00:03


Сегодня пятница, а пятница на хабре — это отличный день для чего-то необычного. Сегодня я предлагаю вашему вниманию интервью с **Дмитрием [yole][1] Жемеровым**, человеком, который приложил руку и к IntelliJ IDEA, PyCharm, Kotlin и многим другим продуктам компании. О чем мы поговорили:

* как развивается IDEA, куда она движется
* в чем разница между IntelliJ и JetBrains
* зачем в компании два CEO
* что происходит в Kotlin'e
* с какими трудностями столкнулась команда Kotlin в процессе разработке языка
* что такое Language Design Review
* что из себя представляет современный Google
* почему закрылся Google Code
* почему хабр важен для разработчиков IDE






Под катом — то же самое в виде текста. [Интервью в текстовом виде][2]

[1]: http://habrahabr.ru/users/yole/
[2]: http://habrahabr.ru/post/263905/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 210