RSS
Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 210
[>] Fuga Framework — Маленький веб фреймворк для Java
habra.15
habrabot(difrex,1) — All
2015-08-28 18:00:02


В этой статье я бы хотел рассказать о своем фреймворке, который я нескромно назвал Fuga Framework ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/65e/c08/e0a/65ec08e0ad1c484abb044b50bc9df71d.png
[2]: http://habrahabr.ru/post/265597/#habracut

[>] Встреча настоящих .Net хардкорщиков. CLRium #2. Москва, Питер + online
habra.14
habrabot(difrex,1) — All
2014-12-24 19:30:03


![][1] Я не люблю заезженное слово «конференция». Это — встреча разработчиков с общими интересами, которые хотят послушать о трюках, которые позволяют обходить правила, установленные в.Net Framework, которым интересна тема использования меняющих и создающих языки, тулов. А также, что можно получить если знаешь как компилировать и декомпилировать приложение. Об этом не говорят. Потому что разговор на эту тему слишком долгий чтобы уместить в формат одного часа стандартного выступления на конференциях. Я пробовал выступать на .NEXT, и помимо положительных отзывов были «галопом по Европам». Согласен, за час не уложиться. Добро пожаловать в полный формат! Я надеюсь, в вашей памяти теплится еще прошлый CLRium и сейчас никто не отчаивается и яро смотрит на технологии и все с удовольствием готовы их поглощать. Я помню и время от времени поглядываю на ваши многочисленные отзывы, которые греют мое желание провести все еще раз. Причем на этот раз — с хорошей и полезной практикой. Теперь у нас целых два дня. Причем вы можете купить билет как на один, так и на оба дня. Первый день — как в прошлый раз: много хардкора, не практичного, но очень интересного… Позволяющего еще лучше понять как все работает и как этим можно воспользоваться… Тем со временем еще немного накидаю. **Много мяса на любителя**. И второй — практика. Второй длиннее первого. На час =). Во второй день будет очень много **Roslyn**, JetBrains **Nitra **(он же N2, он же Nemerle2)? **RyuJIT**, **.Net Framework open sourced**. Вот честно, я бы сам сходил

# Почитать и зарегистрироваться



* [Ссылка на регистрацию в Питере][2], 15 мая
* [Ссылка на регистрацию в Москве][3], 24 апреля
* На **онлайн вещание** из другого города можно купить билет с любой из ссылок выше
* [Дамп ваших отзывов с прошлого раза][4] если остались (ну… мало ли) какие-то сомнения

![cool][5] _Примеры статей и полный список тем выступлений — под катом_ [Читать дальше →][6]

[1]: http://habrastorage.org/getpro/habr/post_images/4c4/d7e/445/4c4d7e445390935ae351a0bd5cbcfa99.png
[2]: http://braingems.timepad.ru/event/172083/
[3]: http://braingems.timepad.ru/event/172055/
[4]: https://docs.google.com/spreadsheets/d/1r7w2iya5H0ZNGUbL11Srgyed2krc3CQyCzdx9hlkflU/edit#gid=0
[5]: http://habrastorage.org/files/6e9/787/21a/6e978721a17f4a79a43c9ad6145a7699.png
[6]: http://habrahabr.ru/post/246665/#habracut

[>] Советы начинающим разработчикам сетевых приложений
habra.15
habrabot(difrex,1) — All
2015-08-28 22:30:02






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

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

[>] RealSense вебинар. Для тех, у кого есть вопросы
habra.14
habrabot(difrex,1) — All
2014-12-24 20:30:02


![][1]Технология Intel RealSense продолжает развиваться, а это значит, что количество людей, использующих её в своих приложениях, также неуклонно увеличивается. Мы понимаем, что и у начинающих разрабатывать новые виды интерфейсов, и уже накопивших некоторый опыт, например, участвуя в [конкурсе Intel RealSense App Challenge][2] (на котором, кстати, в этом году блестяще выступают российские программисты), постоянно появляются вопросы, на которые не всегда можно найти ответы. Чтобы облегчить вашу работу и помочь в том же конкурсе, мы устраиваем специальный вебинар. Еще одна приятная тема для обсуждения: на смену бета-версии вышел финальный релиз [Intel RealSense SDK 2014 Gold][3] — ее мы тоже обязательно затронем. [Зарегистрироваться на вебинар][4]. Приглашаем на вебинар и тех, кто ни разу не использовал технологию RealSense, но хочет попробовать — для таких мы разыграем камеру RealSense. [P.S.][5]

[1]: //habrastorage.org/files/77a/7ba/166/77a7ba166df2460eb58423e4c9065507.jpg
[2]: http://habrahabr.ru/company/intel/blog/230969/
[3]: https://software.intel.com/en-us/intel-realsense-sdk/details
[4]: https://attendee.gotowebinar.com/register/3746456492626697474
[5]: http://habrahabr.ru/post/246593/#habracut

[>] Визуализация кристаллических 3d-структур в браузере без плагинов
habra.15
habrabot(difrex,1) — All
2015-08-29 12:00:02


Привет, Хабр! В этой статье я сравню четыре открытых движка визуализации кристаллических структур в формате CIF (Crystallographic Information File), популярном в кристаллохимии и материаловедении. Речь пойдёт о современном JavaScript (включая транскомпиляцию Java и C в JavaScript), о кристаллохимии и физике твёрдого тела. Мы телепортируемся из мира Шрёдингера и Ландау в мир Бернерса-Ли и Джобса, а затем обратно. Итак, поехали. [Читать дальше →][1]

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

[>] [Из песочницы] Network UPS Tools (NUT) на CentOS и Windows с отправкой смс через smstools+playsms
habra.14
habrabot(difrex,1) — All
2014-12-24 22:30:03


В условиях ограниченного бюджета небольшой компании, скромный терминальный сервер 2003 получал бесперебойное электричество от Ippon Smart Winner 1500, который управлялся стандартной утилитой. Не могу чего-то сильно плохого сказать про этот ИБП и его монструозную утилиту управления с анимацией тока. Гудит вполне на свои деньги. Со временем, windows пришлось обременить парой виртуальных машин Vmware, а парк пополнился парой небольших линуксовых серверов с АТС, Jabber и прочими офисными радостями. Соответственно, возникло желание тоже управлять их питанием от Ippon, ибо заявлена поддержка \*nix. [Читать дальше →][1]

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

[>] [Перевод] «Кто на первой базе» — новый географический справочник от Mapzen
habra.15
habrabot(difrex,1) — All
2015-08-30 09:30:02




# Маленькая версия





Все административные единицы! Пока всё сыро и сложно!!! Но это пока!!!

# Большая версия

Mapzen создаёт географический справочник административных единиц. Не то, чтобы всех, но подавляющего большинства, и, мы надеемся, большинства их видов. Географический справочник — это большой список административных единиц, каждая из которых имеет постоянный идентификатор и некоторое количество свойств, описывающих их местонахождение. Интересно рассматривать справочник как пространство, где дебаты вокруг административных единиц _ведутся_, но не решаются. Мы называем наш справочник «Who’s On First» (Кто на первой базе), или короче — «WOF». [Читать дальше →][1]

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

[>] Регистрация оффшорной компании в Белизе
habra.14
habrabot(difrex,1) — All
2014-12-25 00:00:03


_Я горжусь тем, что плачу налоги в Соединенных Штатах. Правда, я бы гордился не меньше за половину суммы. (с) Артур Годфри_ Пару месяцев назад я писал на Хабре [о регистрации компании в Эстонии.][1] Сегодня же, я хочу поделиться опытом регистрации компании в Белизе, рассказать пару юридических тонкостей, и сказать несколько слов о применении такой компании. **Краткая характеристика:** Белиз является оффшорной юрисдикцией, и находиться в списке оффшорных зон Украины, России, Белоруссии и Казахстана. Налогообложение оффшорных компаний в Белизе нулевое. Отсутствует требования по ведению и подаче финансовой отчетности и проведению аудита компании. Акционером или директором компании может быть как юридическое так и физическое лицо независимо от места регистрации или гражданства. Требований к количеству акционеров или директоров в Белизском законодательстве нет. В Белизе (не публичный) регистр акционеров компании. **Ежегодные пошлины:** $100 — если уставной капитал не превышает $50,000 и все акции компании имеют номинальную стоимость. (т.е. если капитал заявлен и не внесен) $1,000 — если уставной капитал превышает $50,000; $350 — если уставной капитал не превышает $50,000 и некоторые или все акции компании не имеют номинальной стоимости; и если уставного капитаал нет и все акции не имеют номинальной стоимости. $4,000 — если компания имеет статус “public investment company” Пошлины платятся в следующем году, после года в котором была зарегистрирована компания, **до 31 Июля.** Если Вы просрочили оплату ежегодной пошлины, ее размер увеличивается на 10% и дается новый срок — **до 31 Октября.** Если же Вы не оплатили пошлину до 31 Октября, ее размер увеличивается на 50%. **Что нужно сделать, чтоб зарегистрировать компанию?** [Читать дальше →][2]

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

[>] R01 + Timeweb, ваши сайты под угрозой
habra.15
habrabot(difrex,1) — All
2015-08-30 15:00:02


Сегодня утром ряд клиентов получили письма счастья о смене ДНС серверов:

> Домен:
>
>
>
>
>
> domain: \*\*\*\*\*\*\*.RU
>
>
>
> admin-o: \*\*\*\*\*\*\*-GPT
>
>
>
> \* nserver: ns-\*\*\*\*\*\*\*.awsdns-34.org
>
>
>
> \* nserver: ns-\*\*\*\*\*\*\*.awsdns-58.com
>
>
>
> \* nserver: ns-\*\*\*\*\*\*\*.awsdns-12.net
>
>
>
> \* nserver: ns-\*\*\*\*\*\*\*.awsdns-30.co.uk
>
>
>
> state: REGISTERED, DELEGATED
>
>
>
> created: 29-11-2011
>
>
>
> changed: 30-08-2015
>
>
>
> paid-till: 29-11-2015
>
>
>
> mnt: TIMEWEB-MNT-GPT
>
>
>
> source: R01
>
>
>
>
>
> заменен на:
>
>
>
>
>
> domain: \*\*\*\*\*\*\*.RU
>
>
>
> admin-o: \*\*\*\*\*\*\*-GPT
>
>
>
> \* nserver: ns1.hostingnewfree.ru
>
>
>
> \* nserver: ns2.hostingnewfree.ru
>
>
>
> state: REGISTERED, DELEGATED
>
>
>
> created: 29-11-2011
>
>
>
> changed: 30-08-2015
>
>
>
> paid-till: 29-11-2015
>
>
>
> mnt: TIMEWEB-MNT-GPT
>
>
>
> source: R01

Сверка с whois действительно подтвердила серьезность данного письма, везде фигурировали одинаковые днс, а то, что на данную проблему жаловались несколько клиентов, заставило попробовать разобраться с проблемой глобально, не занимаясь изучением взлома одного клиента. [Читать дальше →][1]

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

[>] Мясо на любителя. Конференция CLRium #2. Москва, Питер, online
habra.14
habrabot(difrex,1) — All
2014-12-25 12:00:03


![][1] Я не люблю заезженное слово «конференция». Это — встреча разработчиков с общими интересами, которые хотят послушать о трюках, которые позволяют обходить правила, установленные в.Net Framework, которым интересна тема использования меняющих и создающих языки, тулов. А также, что можно получить если знаешь как компилировать и декомпилировать приложение. Об этом не говорят. Потому что разговор на эту тему слишком долгий чтобы уместить в формат одного часа стандартного выступления на конференциях. Я пробовал выступать на .NEXT, и помимо положительных отзывов были «галопом по Европам». Согласен, за час не уложиться. Добро пожаловать в полный формат! Я надеюсь, в вашей памяти теплится еще прошлый CLRium и сейчас никто не отчаивается и яро смотрит на технологии и все с удовольствием готовы их поглощать. Я помню и время от времени поглядываю на ваши многочисленные отзывы, которые греют мое желание провести все еще раз. Причем на этот раз — с хорошей и полезной практикой. Теперь у нас целых два дня. Причем вы можете купить билет как на один, так и на оба дня. Первый день — как в прошлый раз: много хардкора, не практичного, но очень интересного… Позволяющего еще лучше понять как все работает и как этим можно воспользоваться… Тем со временем еще немного накидаю. **Много мяса на любителя**. И второй — практика. Второй длиннее первого. На час =). Во второй день будет очень много **Roslyn**, JetBrains **Nitra **(он же N2, он же Nemerle2)? **RyuJIT**, **.Net Framework open sourced**. Вот честно, я бы сам сходил

# Почитать и зарегистрироваться



* [Ссылка на регистрацию в Питере][2], 29 — 30 мая
* [Ссылка на регистрацию в Москве][3], 3 — 4 апреля
* На **онлайн вещание** из другого города можно купить билет с любой из ссылок выше
* [Дамп ваших отзывов с прошлого раза][4] если остались (ну… мало ли) какие-то сомнения

![cool][5] _Примеры статей и полный список тем выступлений — под катом_ [Читать дальше →][6]

[1]: http://habrastorage.org/getpro/habr/post_images/4c4/d7e/445/4c4d7e445390935ae351a0bd5cbcfa99.png
[2]: http://braingems.timepad.ru/event/172083/
[3]: http://braingems.timepad.ru/event/172055/
[4]: https://docs.google.com/spreadsheets/d/1r7w2iya5H0ZNGUbL11Srgyed2krc3CQyCzdx9hlkflU/edit#gid=0
[5]: http://habrastorage.org/files/6e9/787/21a/6e978721a17f4a79a43c9ad6145a7699.png
[6]: http://habrahabr.ru/post/246665/#habracut

[>] Мясо на любителя. Встреча .Net сообщества на CLRium #2. Москва, Питер, online
habra.14
habrabot(difrex,1) — All
2014-12-25 13:30:03


![][1] Я не люблю заезженное слово «конференция». Это — встреча разработчиков с общими интересами, которые хотят послушать о трюках, которые позволяют обходить правила, установленные в.Net Framework, которым интересна тема использования меняющих и создающих языки, тулов. А также, что можно получить если знаешь как компилировать и декомпилировать приложение. Об этом не говорят. Потому что разговор на эту тему слишком долгий чтобы уместить в формат одного часа стандартного выступления на конференциях. Я пробовал выступать на .NEXT, и помимо положительных отзывов были «галопом по Европам». Согласен, за час не уложиться. Добро пожаловать в полный формат! Я надеюсь, в вашей памяти теплится еще прошлый CLRium и сейчас никто не отчаивается и яро смотрит на технологии и все с удовольствием готовы их поглощать. Я помню и время от времени поглядываю на ваши многочисленные отзывы, которые греют мое желание провести все еще раз. Причем на этот раз — с хорошей и полезной практикой. Теперь у нас целых два дня. Причем вы можете купить билет как на один, так и на оба дня. Первый день — как в прошлый раз: много хардкора, не практичного, но очень интересного… Позволяющего еще лучше понять как все работает и как этим можно воспользоваться… Тем со временем еще немного накидаю. **Много мяса на любителя**. И второй — практика. Второй длиннее первого. На час =). Во второй день будет очень много **Roslyn**, JetBrains **Nitra **(он же N2, он же Nemerle2)? **RyuJIT**, **.Net Framework open sourced**. Вот честно, я бы сам сходил

# Почитать и зарегистрироваться

![][2]

* [Ссылка на регистрацию в Питере][3], 29 — 30 мая
* [Ссылка на регистрацию в Москве][4], 3 — 4 апреля
* На **онлайн вещание** из другого города можно купить билет с любой из ссылок выше
* [Дамп ваших отзывов с прошлого раза][5] если остались (ну… мало ли) какие-то сомнения

![cool][6] _Примеры статей и полный список тем выступлений — под катом_ [Читать дальше →][7]

[1]: http://habrastorage.org/getpro/habr/post_images/4c4/d7e/445/4c4d7e445390935ae351a0bd5cbcfa99.png
[2]: //habrastorage.org/files/c62/e85/f6b/c62e85f6b85a481682cf2eaf51aff8f4.jpg
[3]: http://braingems.timepad.ru/event/172083/
[4]: http://braingems.timepad.ru/event/172055/
[5]: https://docs.google.com/spreadsheets/d/1r7w2iya5H0ZNGUbL11Srgyed2krc3CQyCzdx9hlkflU/edit#gid=0
[6]: http://habrastorage.org/files/6e9/787/21a/6e978721a17f4a79a43c9ad6145a7699.png
[7]: http://habrahabr.ru/post/246665/#habracut

[>] Нестандартный Top10 событий в сфере IT-безопасности 2014 года
habra.14
habrabot(difrex,1) — All
2014-12-25 14:00:02


![][1]В нашей рабочей терминологии есть одно устоявшееся английское выражение «threat landscape». На русский язык оно нормально не переводится (ландшафт угроз, ага). Если все предельно упростить, то это такая штука, на основе которой компании делают выбор: закупить еще железа или потратить деньги на защиту существующей инфраструктуры. Зависимость тут прямая: если ваши поезда постоянно сходят с рельс, то решается это вовсе не закупкой новых локомотивов. Оценивать ландшафт (ну вот, опять) по шкале от приветливого до угрюмого можно по-разному. Вот, например, версия от наших экспертов по безопасности: [итоги 2014-го][2], [прогноз на 2015-й][3] и, для любителей цифр, [цифры][4]. А что думают сами компании? Мы их регулярно об этом спрашиваем (подробнее [тут][5]), но в этом году решили использовать еще один нестандартный метод. Отслеживанием всех значимых новостей в сфере IT-безопасности у нас занимается редакция сайта [Threatpost][6]. Мы решили отобрать 10 событий уходящего года (для версии сайта на [английском][7]) по единственному критерию: популярности соответствующих статей. И получили интересный набор новостей, актуальный для айтишников, наших нынешних и потенциальных клиентов и безопасников. В нем абсолютно нет политики (то есть историй про Сноудена и NSA), и довольно мало тем стратегического плана. Зато на первый план вышли проблемы, которые необходимо учитывать при оценке этого самого ландшафта уже сейчас. Подробнее – под катом. [Читать дальше →][8]

[1]: http://habrastorage.org/files/a40/4f3/bc1/a404f3bc16fe493688f47d07eafc41db.jpg
[2]: http://securelist.ru/analysis/ksb/24603/kaspersky-security-bulletin-2014-razvitie-ugroz-v-2014-godu/
[3]: http://securelist.ru/analysis/ksb/24575/kaspersky-security-bulletin-2014-prognozy-na-2015-god/
[4]: http://securelist.ru/analysis/ksb/24580/kaspersky-security-bulletin-2014-osnovnaya-statistika-za-2014-god/
[5]: http://business.kaspersky.ru/obzor-riskov-it-bezopasnosti-2014-nikomu-poshhady-net/2099/
[6]: http://threatpost.ru/
[7]: http://threatpost.com/
[8]: http://habrahabr.ru/post/246745/#habracut

[>] [Перевод] Интервью с Nenad Rakocevic о языке Red, приемнике Rebol
habra.15
habrabot(difrex,1) — All
2015-08-30 16:00:03


После нашего последнего [интервью с Brian McKenna][1] для [This is not a Monad tutorial][2] мы взяли интервью у [Nenad Rakocevic][3], создателя языка программирования [Red][4]. С моей субъективной точки зрения Red и Rebol довольно странные создания! Но не поймите меня неправильно, это не значит ничего плохого. Например, я не знаю многих высокоуровневых языков с такими возможностями как встраиваемые DSL для стандартного низкоуровневого программирования или имеющего 50 встроенных типов. Вам следует попробовать его, вы найдете много интересных идеи в программировании на Red. Пишите мне на твиттер [@unbalancedparen][5] свои комментарии или предложения по интервью для This is not a Monad tutorial. **Оставайтесь с нами!**



**Расскажите нам немного о появлении Red. Для чего он был создан?** [Читать дальше →][6]

[1]: https://medium.com/this-is-not-a-monad-tutorial/interview-with-brian-mckenna-about-roy-purescript-haskell-idris-and-dependent-types-63bb1289ea3d
[2]: https://medium.com/this-is-not-a-monad-tutorial
[3]: https://github.com/dockimbel
[4]: http://www.red-lang.org/
[5]: http://twitter.com/unbalancedparen
[6]: http://habrahabr.ru/post/265685/#habracut

[>] [Перевод] Интервью с Nenad Rakocevic о языке Red, преемнике Rebol
habra.15
habrabot(difrex,1) — All
2015-08-30 23:30:03


После нашего последнего [интервью с Brian McKenna][1] для [This is not a Monad tutorial][2] мы взяли интервью у [Nenad Rakocevic][3], создателя языка программирования [Red][4]. С моей субъективной точки зрения Red и Rebol довольно странные создания! Но не поймите меня неправильно, это не значит ничего плохого. Например, я не знаю многих высокоуровневых языков с такими возможностями как встраиваемые DSL для стандартного низкоуровневого программирования или имеющего 50 встроенных типов. Вам следует попробовать его, вы найдете много интересных идеи в программировании на Red. Пишите мне на твиттер [@unbalancedparen][5] свои комментарии или предложения по интервью для This is not a Monad tutorial. **Оставайтесь с нами!**



**Расскажите нам немного о появлении Red. Для чего он был создан?** [Читать дальше →][6]

[1]: https://medium.com/this-is-not-a-monad-tutorial/interview-with-brian-mckenna-about-roy-purescript-haskell-idris-and-dependent-types-63bb1289ea3d
[2]: https://medium.com/this-is-not-a-monad-tutorial
[3]: https://github.com/dockimbel
[4]: http://www.red-lang.org/
[5]: http://twitter.com/unbalancedparen
[6]: http://habrahabr.ru/post/265685/#habracut

[>] Простое решение для использования ЭЦП
habra.14
habrabot(difrex,1) — All
2014-12-25 14:00:02


![image][1]Несколько лет назад мы начали проект «Открытые голосования», призванный создать систему для удобного проведения надежных и проверяемых голосований. К сожалению, дело ограничилось только теоретическими разработками, а в плане конкретных реализаций мы так и не продвинулись вперед. Не так давно я начал размышлять — почему так? Я сам разработчик. В команде тоже есть несколько разработчиков. Так что-же нам мешает? И пришел к выводу, что главная помеха — слишком большие первоначальные планы. Поэтому я решил начать с малого — с инструмента для простого использования электронной подписи обычными людьми. Причем, не только для нашего проекта, а для любого сайта, который сочтет это необходимым. На данный момент это решение готово и я хочу поделиться им с общественностью. Исходные коды распространяются под открытой лицензией (ссылки в конце статьи). [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/034/6fb/33e/0346fb33e0de9e0289bcbacb19074c81.png
[2]: http://habrahabr.ru/post/246467/#habracut

[>] [Из песочницы] Пишем вектор на Dlang
habra.14
habrabot(difrex,1) — All
2014-12-25 15:30:03


Доброго времени суток, хабр! В этом посте я хочу рассмотреть некоторые особенности языка D, на примере создания структуры алгебраического вектора. В посте **не** рассматриваются вопросы линейной алгебры или другой математики. Стоит напомнить, что в отличии от C++ в D классы и структуры имеют разное логическое предназначение и устроенны они по разному. Структуры не могут наследоваться, в структурах нет никакой другой информации, кроме полей (в классах есть таблица виртуальных функций, например), структуры хранятся по значению (классы всегда ссылками). Структуры прекрасно подходят для простых типов данных. [Читать дальше →][1]

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

[>] Почему не все так просто с MongoDB
habra.15
habrabot(difrex,1) — All
2015-08-31 08:30:03


![][1]В последнее несколько лет MongoDB приобрела огромную популярность среди разработчиков. То и дело в интернете появляются всякие статьи как очередной молодой популярный проект выкинул на свалку истории привычные РСУБД, взял в качестве основной базы данных MongoDB, выстроил инфраструктуру вокруг неё, и как все после этого стало прекрасно. Даже появляются новые фреймворки и библиотеки, которые строят свою архитектуру целиком на Mongo ([Meteor.js][2] например). По долгу работы я примерно 3 года занимаюсь разработкой и поддержкой нескольких проектов, которые используют MongoDB в качестве основной БД, и в этой статье хочу рассказать, почему на мой взгляд с MongoDB далеко не все так просто, как написано в мануалах, и к чему вы должны быть готовы, если вдруг решите взять MongoDB в качестве основной БД в ваш новый модный стартап :-) Все что описано ниже можно воспроизвести с использованием библиотеки [PyMongo][3] для работы с MongoDB из языка программирования Python. Однако скорее всего с аналогичными ситуациями вы можете столкнуться и при использовании других библиотек для других языков программирования. [Читать дальше →][4]

[1]: https://habrastorage.org/files/3d7/138/f13/3d7138f13e884a458527bd3a07202f12.png
[2]: https://www.meteor.com/
[3]: https://api.mongodb.org/python/
[4]: http://habrahabr.ru/post/265747/#habracut

[>] Вендорозамещение для ИТ-инфраструктуры (телекоммуникаций): какой импорт можно поменять на другой импорт
habra.15
habrabot(difrex,1) — All
2015-08-31 12:00:03


![][1] Диспозиция по стране такая: многие большие компании (в первую очередь – банки и госкорпорации) привыкли строить инфраструктуру на известных американских брендах. Причин много, но главная — системный подход. В этом году им всем пришлось так или иначе менять поставщиков. Потому что железо завезти мимо санкций на «левое» юрлицо относительно просто (хоть и дороже), а вот закупить сервис на «Кузьмич и партнёры» для железа в ЦОДе крупного банка — почти невозможно. А решения без поддержки вендора банку не нужны. У компаний, не попавших под санкции, история другая. Там руководство спустило служебные записки вроде «оценить возможность построения инфраструктуры на китайском (Хуавей и др.) оборудовании». Потому что, в целом, нужен план на всякий случай. Ниже я покажу, кого и на что можно менять, и коротко пройдусь по профитам и подводным камням. Например, мало кто знает, что стоимость тот же «Хуавея» в некоторых случаях может оказаться выше, чем у «Циски». [Читать дальше →][2]

[1]: https://habrastorage.org/files/a45/3b3/485/a453b3485ccc487097ed35ff1344a43c.jpg
[2]: http://habrahabr.ru/post/265765/#habracut

[>] [Из песочницы] Пишем настоящий шум Перлина
habra.15
habrabot(difrex,1) — All
2015-08-31 12:30:02


По поисковому запросу _шум перлина_ сразу попадается [этот перевод][1] на Хабре. Как справедливо заметили в комментариях к публикации, речь идёт вовсе не о шуме Перлина. Возможно, автор перевода и сам был не в курсе. Чем выгодно отличается шум Перлина, легко заметить, если сравнить картинки. Обычный шум (из той самой статьи): И увеличением количества октав первую картинку ко второй никак не приблизишь. Я не буду описывать достоинства шума Перлина и область его применения, а постараюсь объяснить как он реализован. Думаю, это будет полезно многим программистам, ведь хакерские исходники Кена Перлина не много объясняют даже при наличии комментариев. [Читать дальше →][2]

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

[>] [Из песочницы] Стоимость жилья как функция координат
habra.15
habrabot(difrex,1) — All
2015-08-31 13:00:02






Цены на жильё формируются из многочисленных факторов, основные из которых — это близость к центру города и наличие рядом различной инфраструктуры. Но реальные цены только в бумажных газетах и риэлторских сайтах. Мы будем строить свою карту с ценами на недвижимость в Москве при помощи python, яндекс API и matplotlib, специальный репортаж с места событий под катом. [Репортаж][1]

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

[>] Scapegoat-деревья
habra.14
habrabot(difrex,1) — All
2014-12-25 15:30:03


![][1]Сегодня мы посмотрим на структуру данных, называемую Scapegoat-деревом. «Scapegoat», кто не в курсе, переводится как «козёл отпущения», что делает дословный перевод названия структуры каким-то странным, поэтому будем использовать оригинальное название. Деревьев поиска, как вы, возможно, [знаете][2] есть очень много разных видов, и в основе всех их лежит одна и та же идея: "**А хорошо бы при поиске элемента перебирать не весь набор данных подряд, а только какую-то часть, желательно размера порядка log(N)**". Для этого каждая вершина хранит ссылки на своих детей и какой-то критерий, по которому при поиске точно понятно, в какую из дочерних вершин надо перейти. За логарифмическое время это всё будет работать тогда, когда дерево является сбалансированным (ну или стремится к этому) — т.е. когда «высота» каждого из поддеревьев каждой вершины примерно одинакова. А вот способы балансировки дерева уже у каждого типа деревьев свои: в красно-чёрных деревьях в вершинах хранятся маркеры «цвета», подсказывающие когда и как нужно перебалансировать дерево, в АВЛ-деревьях в вершинах хранится разница высот детей, Splay-деревья ради балансировки вынуждены изменять дерево во время операций поиска и т.д. Scapegoat-дерево тоже имеет свой подход к решению проблемы балансировки дерева. Как и для всех остальных случаев он не идеален, но вполне применим в некоторых ситуациях. К достоинствам Scapegoat-дерева можно отнести:

* Отсутствие необходимости хранить какие-либо дополнительные данные в вершинах (а значит мы выигрываем по памяти у красно-черных, АВЛ и декартовых деревьев)
* Отсутствие необходимости перебалансировать дерево при операции поиска (а значит мы можем гарантировать максимальное время поиска O(log N), в отличии от Splay-деревьев, где гарантируется только амортизированное O(log N))
* Амортизированная сложность операций вставки и удаления O(log N) — это в общем-то аналогично остальным типам деревьев
* При построении дерева мы выбираем некоторый коэффициент «строгости» α, который позволяет «тюнинговать» дерево, делая операции поиска более быстрыми за счет замедления операций модификации или наоборот. Можно реализовать структуру данных, а дальше уже подбирать коэффициент по результатам тестов на реальных данных и специфики использования дерева.

К недостаткам можно отнести:

* В худшем случае операции модификации дерева могут занять O(n) времени (амортизированна сложность у них по-прежнему O(log N), но защиты от «плохих» случаев нет).
* Можно неправильно оценить частоту разных операций с деревом и ошибиться с выбором коэффициента α — в результате часто используемые операции будут работать долго, а редко используемые — быстро, что как-то не хорошо.

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

[1]: //habrastorage.org/files/6c6/cbb/e62/6c6cbbe624b140e9b12dc4e4466f2e99.png
[2]: http://habrahabr.ru/post/66926/
[3]: http://habrahabr.ru/post/246759/#habracut

[>] Как я сдавал OSCP
habra.15
habrabot(difrex,1) — All
2015-08-31 13:30:03






Периодически на хабре поднимается тема подготовки специалистов в различных областях информационной безопасности и получения соответствующих сертификаций. Уже обсуждали подготовку и сдачу CISSP, CISA, Security+, CEH\\ECSA. Раз в две-три недели нас активно приглашают на курсы от пентестит. В этом же топике я хочу познакомить читателей с еще одним вариантом обучения и поделиться собственным опытом прохождения курса [Penetration Testing Training with Kali Linux][1] от Offensive Security с последующей сдачей экзамена. [Читать дальше →][2]

[1]: https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/
[2]: http://habrahabr.ru/post/265757/#habracut

[>] Изменение ролей пользователей 1С 8 (файловый вариант)
habra.14
habrabot(difrex,1) — All
2014-12-25 15:30:03


Небольшая вводная: системный администратор уволился, пароль не оставил. Изменения в законодательстве, необходимо обновить 1С. Вариантов несколько: сбросить список пользователей, сбросить пароль администратора или узнать его с помощью брутфорса. Мы пойдем другим путем — сделаем пользователя с известным нам паролем — администратором. [Читать дальше →][1]

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

[>] «Благодарим за использование наших продуктов и служб». Что мы разрешаем сервисам
habra.15
habrabot(difrex,1) — All
2015-08-31 14:30:03


Компания Microsoft является далеко не единственной, пытающейся застолбить за собой право на использование наших данных (в том числе и персональных). Другие компании начали этот путь куда раньше и зашли на него куда дальше. В качестве разминки предлагаю Хаброжителям угадать, кому принадлежит приведенная ниже фраза. "… вы предоставляете компании… и ее партнерам действующую во всем мире лицензию, которая позволяет нам использовать это содержание...". И это далеко не все интересное. [Читать дальше →][1]

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

[>] Первые шаги к онлайн-офису на Linux или как мы портировали под Mono (о сложностях и их решениях)
habra.14
habrabot(difrex,1) — All
2014-12-25 15:30:03


![][1] Вчера мы выпустили [ONLYOFFICE][2] под Linux и спешим поделиться не только новостями, но и полезной информацией для тех, кто, как и мы, 5 лет назад оказался в собственной ловушке под названием «ASP.Net» Попытки портировать приложение на Unix с использованием проекта Mono мы начали предпринимать еще 4 года назад, однако, долгое время у нас ничего не получалось, поскольку на тот момент Mono сильно отставал по функционалу при портировании с .Net под Windows. В частности, в Mono была сильно урезана поддержка wcf, а также плохо работал asp.net mvc. Впрочем, к счастью разработчиков все эти годы проект Mono активно развивался — добавилась поддержка .Net 4.0 и .Net 4.5, так что весной 2013 мы решили возобновить работу. Здесь мы расскажем о том, с какими проблемами столкнулись в процессе портирования облачного офиса под Mono, как их решили, что имеем в итоге, и как один инициативный пользователь уже через пару часов после релиза обернул всё в Dockerfile. [Читать дальше →][3]

[1]: //habrastorage.org/files/8df/c2c/653/8dfc2c653e344c9cb5f94281cdc2aee3.jpg
[2]: http://www.onlyoffice.com/ru
[3]: http://habrahabr.ru/post/246777/#habracut

[>] [Из песочницы] Фурье-обработка цифровых изображений
habra.15
habrabot(difrex,1) — All
2015-08-31 14:30:03




## Предисловие

Цифровая фотография или иное растровое изображение представляет собой массив чисел, зафиксированных сенсорами уровней яркости, в двумерной плоскости. Зная что с математической точки зрения тонкая линза выполняет преобразование Фурье изображений, размещённых в фокальных плоскостях, можно создать алгоритмы обработки изображений, являющихся аналогами обработки изображений классической оптической системой. Формула таких алгоритмов будет выглядеть следующим образом:

1. Z=FFT(X) – прямое двухмерное преобразование Фурье
2. Z′=T(Z) – применение функции или транспаранта к Фурье-образу изображения
3. Y=BFT(Z′) – обратное двухмерное преобразование Фурье

Для вычисления преобразований Фурье используются алгоритмы быстрого дискретного преобразования Фурье. Хотя оптическая система линз осуществляет преобразование Фурье на непрерывном диапазоне аргумента и для непрерывного спектра, но при переходе к цифровой обработке данных формулы преобразования Фурье могут быть заменены на формулы дискретного преобразования Фурье.

## Примеры реализации



* Алгоритм размытия изображения
* Алгоритм повышения резкости изображения
* Алгоритм масштабирования изображения

Реализованные алгоритмы являются частью библиотеки с открытым исходным кодом FFTTools. Интернет-адрес: [github.com/dprotopopov/FFTTools][1] [Читать дальше →][2]

[1]: https://github.com/dprotopopov/FFTTools
[2]: http://habrahabr.ru/post/265781/#habracut

[>] Первые шаги к онлайн-офису на Linux или как мы портировали под Mono (о сложностях и их преодолении)
habra.14
habrabot(difrex,1) — All
2014-12-25 17:00:03


![][1] Вчера мы выпустили [ONLYOFFICE][2] под Linux и спешим поделиться не только новостями, но и полезной информацией для тех, кто, как и мы, 5 лет назад оказался в собственной ловушке под названием «ASP.Net» Попытки портировать приложение на Unix с использованием проекта Mono мы начали предпринимать еще 4 года назад, однако, долгое время у нас ничего не получалось, поскольку на тот момент Mono сильно отставал по функционалу при портировании с .Net под Windows. В частности, в Mono была сильно урезана поддержка wcf, а также плохо работал asp.net mvc. Впрочем, к счастью разработчиков все эти годы проект Mono активно развивался — добавилась поддержка .Net 4.0 и .Net 4.5, так что весной 2013 мы решили возобновить работу. Здесь мы расскажем о том, с какими проблемами столкнулись в процессе портирования облачного офиса под Mono, как их решили, что имеем в итоге, и как один инициативный пользователь уже через пару часов после релиза обернул всё в Dockerfile. [Читать дальше →][3]

[1]: //habrastorage.org/files/8df/c2c/653/8dfc2c653e344c9cb5f94281cdc2aee3.jpg
[2]: http://www.onlyoffice.com/ru
[3]: http://habrahabr.ru/post/246777/#habracut

[>] [Из песочницы] База данных простых чисел
habra.14
habrabot(difrex,1) — All
2014-12-25 18:30:02


Давеча снова увлекся простыми числами. Манит меня их тайна. Написал алгоритм, похожий на решето Эратосфена. За 3 часа программа нашла 700 тысяч первых простых чисел. А мне надо хотя бы 14 миллионов простых чисел, чтобы перемножив их, получить число с количеством десятичных цифр, равным 100 миллионам штук. Из статьи [«Еще раз о поиске простых чисел»][1], написанной пользователем [Bodigrim][2], узнал о существовании быстрой программы [primegen][3], которая работает используя [решето Аткина][4]. Установил ее в виртуальной машине LUbuntu (VirtualBox). Действительно, **primegen очень быстро работает!** Тогда встал вопрос, как сохранить 14 миллионов простых чисел? Можно просто каждое простое число записать в файл как int32. А если простое число будет больше мощности 32-х бит? [Читать дальше →][5]

[1]: http://habrahabr.ru/post/133037/
[2]: http://habrahabr.ru/users/bodigrim/
[3]: http://cr.yp.to/primegen.html
[4]: http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%88%D0%B5%D1%82%D0%BE_%D0%90%D1%82%D0%BA%D0%B8%D0%BD%D0%B0
[5]: http://habrahabr.ru/post/246789/#habracut

[>] Редактор Urho3D (часть 1)
habra.15
habrabot(difrex,1) — All
2015-08-31 18:00:02


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

[1]: http://habrahabr.ru/post/265611/
[2]: https://habrastorage.org/files/245/03d/3ce/24503d3cea274d48bdbb23d91e872b16.png
[3]: http://habrahabr.ru/post/265749/#habracut

[>] Intel Parallel Studio XE 2016: новые возможности компилятора C/C++
habra.15
habrabot(difrex,1) — All
2015-08-31 19:00:02






На прошлой неделе вышла новая версия компилятора С/С++ от Intel — 16.0 aka Parallel Studio XE Composer Edition for C++. Существенно расширилась поддержка новых стандартов (C11, C++14, OpenMP 4.1), возможности по работе с Xeon Phi, вышли новые версии библиотек и ещё много всего «вкусного». Давайте более подробно посмотрим на то, что появилось в последнем релизе. Поехали! [Читать дальше →][1]

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

[>] [Перевод] Проектирование RESTful API с помощью Python и Flask
habra.14
habrabot(difrex,1) — All
2014-12-26 00:00:03


В последние годы REST (REpresentational State Transfer) стала стандартной архитектурой при дизайне веб-сервисов и веб-API. В этой статье я покажу вам как просто создавать RESTful веб-сервисы используя Python и микрофреймворк Flask.

## Что такое REST?

Характеристика системы REST определяется шестью правилами дизайна:

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

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

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

[>] Открытый клон Chameleon Launcher
habra.15
habrabot(difrex,1) — All
2015-09-01 02:30:02


Года два­-три назад я случайно узнал о интересном лаунчере для android ­ [chameleon launcher][1]. Купил и какое­-то время даже успешно использовал, пока создатель не потерял к нему интерес. Привлекло меня в этом лаунчере то, что он позволял превратить домашний экран планшета в информационное табло — тут и rss­ленты, и twitter, и погода и т. д. Всё смотрится красиво и удобно, а место на экране не расходуется зря (а его на экране всегда мало). Кроме того, он позволял писать свои собственные виджеты на js. Но создатель потерял интерес к своему творению (в своё время он собирал на него деньги через kickstarter) и сначала виджеты перестали работать (они используют сервер для работы), появились баги, которые не фиксились. В итоге недавно приложение и вовсе было удалено из Play Market. Постепенно у меня начало появляться желание написать аналогичный лаунчер — приценивался к технологиям, но не хотел связываться с Java. Но в эти выходные я решил попробовать свои силы в написании клона этого лаунчера. В этой заметке я расскажу о текущем состоянии дел. Возможно, кто­-то ещё заинтересуется проектом и присоединится к нему. Основной экран: ![image][2] [Читать дальше →][3]

[1]: http://www.chameleonlauncher.com/
[2]: https://habrastorage.org/getpro/habr/post_images/5dc/22c/3fd/5dc22c3fd6208197ae877f5230b07335.png
[3]: http://habrahabr.ru/post/265823/#habracut

[>] [Перевод] GC в Go: приоритет на скорость и простоту
habra.15
habrabot(difrex,1) — All
2015-09-01 11:00:03


_Перевод [блог-поста][1] главного автора сборщика мусора в Go, Ричарда Хадсона, изобретателя многих алгоритмов для GC в других языках, одного из ведущих инженеров Intel (сейчас работает в Google)._ Go планирует свой сборщик мусора (GC) не только для 2015 года, но и для 2025 и дальше: это должен быть GC, который поддерживает современные принципы разработки программ и хорошо масштабируется вместе с появлением нового софта и железа в следующие десятилетия. В этом будущем нет места для пауз GC с «остановкой мира» (stop-the-world), которые были преградой для более широкого применения таких безопасных и надёжных языков, как Go. Go 1.5, первый проблеск этого будущего, достиг цели уменьшить верхнюю планку пауз до 10мс, которую мы поставили перед собой год назад. Некоторые впечатляющие цифры вы можете посмотреть в [докладе на GopherСon][2]. Эти улучшения времени отклика привлекли много внимания; блог пост Робина Верлангена [«Миллиарды запросов в день встречают Go 1.5»][3] подтверждает наши расчеты реальными результатами. Отдельно нам понравились [скриншоты графиков продакнш-сервера от Алана Шреве][4] и его комментарий «Holy 85% reduction!». [Читать дальше →][5]

[1]: https://blog.golang.org/go15gc
[2]: https://talks.golang.org/2015/go-gc.pdf
[3]: https://medium.com/@robin.verlangen/billions-of-request-per-day-meet-go-1-5-362bfefa0911
[4]: https://twitter.com/inconshreveable/status/620650786662555648
[5]: http://habrahabr.ru/post/265833/#habracut

[>] [Перевод] Создание искусственного интеллекта для игр — от проектирования до оптимизации
habra.15
habrabot(difrex,1) — All
2015-09-01 12:00:03


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

[1]: https://habrastorage.org/files/506/d60/e50/506d60e50d0b46b49f8d6fc09c915f0d.jpg
[2]: http://habrahabr.ru/post/265679/#habracut

[>] О дублировании тайлов веб-карт
habra.15
habrabot(difrex,1) — All
2015-09-01 13:00:03


Для организации работы веб-карт по технологии [Slippy Map][1] требуется организовать тайловое хранилище, в котором могут предварительно рендериться (генерироваться) тайлы в заранее заданном контексте карты, либо использоваться набор сервисов для генерации тайлов по запросу, либо некий симбиоз из первых двух подходов. Первый подход имеет недостаток — требуется слишком большое хранилище для тайлов. Так, по данным [OpenstreetMap][2] по состоянию на март 2011 года требовалось 54ТБ места для хранения тайлов. По моим подсчетам для актуальных данных на июнь 2015 года эта цифра уже составляет около 100ТБ (это только оценка, на реальный эксперимент я не решился) для хранения тайлов масштабов 0...17. Такой «прирост» оценок вызван тем, что за прошедшее время данные OpenStreetMap существенно пополнились, детализировались районы, которые в марте 2011 года были пустыми. Нельзя также списывать со счетов неоптимальность сжатия (в моем случае по сравнению с OpenStreetMap) формата PNG (у меня средний размер тайла составляет 4.63КБ против [633 байт][3] OpenStreetMap'а в марте 2011 года), сложность стиля рисования карты mapnik'ом и прочие мои нюансы. В любом случае требуется ОЧЕНЬ много места для тайлового хранилища, что может себе позволить далеко не каждый сервер. Ситуация усугубляется еще и тем, что для блочных файловых систем маленькие по размеру тайлы расходуют целый блок (тайл размером 103 байта может занимать целый блок, например, 4КБ), что приводит к неэффективному расходованию физического пространства жесткого диска. Для большого количества тайлов (для крупных масштабов карт) в рамках одной директории может еще наблюдаться проблема невозможности хранения требуемого количества файлов либо директорий больше, чем позволяет файловая система. Но при всем при этом данный поход обеспечивает комфортное время выполнения запроса на отдачу тайла. Второй подход хоть и не требователен к емкости тайлового сервера, но требует организовать и поддерживать несколько сервисов (PostgreSQL, Postgis, HStore, mapnik, renderd, mod\_tile, apache), которые бы надежно генерировали и отдавали тайл запрашиваему клиентскому сервису. Также требуется периодически подчищать кэш тайлов. Иными словами платой за небольшую емкость жесткого диска тайлового сервера является сложность архитектуры и значительное время выполнения запроса на отдачу каждого конкретного тайла (по моим подсчетам до 500мс только для 1 клиента, для высоконагруженного сервиса это время может вырасти до неприемлемых величин). [Читать дальше →][4]

[1]: http://wiki.openstreetmap.org/wiki/Slippy_Map
[2]: http://wiki.openstreetmap.org/wiki/Tile_disk_usage
[3]: http://wiki.openstreetmap.org/wiki/Tile_disk_usage
[4]: http://habrahabr.ru/post/265807/#habracut

[>] Настольная игра для самых маленьких программистов (от 7 лет)
habra.14
habrabot(difrex,1) — All
2014-12-26 12:30:04


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

[1]: //habrastorage.org/files/c45/eb0/082/c45eb008241e42f5a8b72a52e740dc52.jpg
[2]: http://habrahabr.ru/post/246795/#habracut

[>] [Перевод] LLVM для исследователей
habra.15
habrabot(difrex,1) — All
2015-09-01 15:00:04


![][1]В этой статье рассказывается о проведении исследований на базе инфраструктуры компилятора [LLVM][2]. Нашего рассказа должно хватить для того, чтобы исследователи, которым компиляторы прежде были по большей части безразличны, пришли в восторг от LLVM и сделали с его помощью что-нибудь интересное.

# Что такое LLVM?

LLVM — это по-настоящему удобный для разборки и сборки «ранний» компилятор для таких традиционных языков программирования, как C и C++. LLVM настолько хорош, что считается «больше, чем просто компилятором» (это динамический компилятор, он работает с языками, не относящимися к семейству C, он представляет собой [новый формат доставки для App Store][3] и т. д. и т. п.). Все перечисленное верно, но для нашей статьи важно лишь приведенное выше определение. LLVM имеет несколько ключевых отличий от других компиляторов:

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

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

[1]: https://habrastorage.org/files/7bc/94c/88f/7bc94c88f01440318d557f0d3c418375.jpg
[2]: http://llvm.org/
[3]: https://developer.apple.com/library/prerelease/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html#//apple_ref/doc/uid/TP40012582-CH35-SW2
[4]: http://habrahabr.ru/post/265871/#habracut

[>] Опыт создания домашнего Wi-Fi маршрутизатора. Часть 2. Установка и настройка ПО
habra.14
habrabot(difrex,1) — All
2014-12-26 12:30:04


![][1] И снова здравствуйте! В [первой части][2] статьи я рассказывал о «железной» составляющей будущего роутера. Поскольку без софта даже самое расчудесное железо, естественно, работать не будет, следовательно требовалось снабдить аппарат соответствующей программной «начинкой». Когда я затевал всё это движение, я предполагал, что будет непросто. Но не предполагал, что настолько. В одном из [комментариев][3] к предыдущей части статьи я клятвенно пообещал рассказать о нижеследующем «к выходным». Благоразумно умолчал к каким именно. :-) Тут ещё умудрился прихворнуть не вовремя, но всё-таки сдерживаю своё обещание. Итак… [Поехали!][4]

[1]: //habrastorage.org/files/1f5/83c/a2e/1f583ca2e55244bd9007a1bbca9c6f8f.jpg
[2]: http://habrahabr.ru/post/245421/
[3]: http://habrahabr.ru/post/245421/#comment_8172877
[4]: http://habrahabr.ru/post/245809/#habracut

[>] Хабр шелл: встраиваем кросплатформенный ssh server в java приложение
habra.15
habrabot(difrex,1) — All
2015-09-01 16:00:04


![][1] Расскажу как внедрить в существующее java приложение ssh сервер, который может выводить в терминал данные о лучших статьях с habrahabr. Это лишь пример, но на его основе вы сможете получить дополнительное средство для администрирования вашей программы и расширить поведение любыми командами, без изменения исходного кода и пересборки приложения. [Подробности][2]

[1]: https://habrastorage.org/files/2d8/2a6/325/2d82a63254ac4151868bd19709eb2d35.png
[2]: http://habrahabr.ru/post/265741/#habracut

[>] «Хакеры и художники», «On Lisp» и эссе на русском. Учим(ся) писать как Пол Грэм
habra.15
habrabot(difrex,1) — All
2015-09-01 16:00:04




> _To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master._

> _«Лучший способ писать — это переписывать» _
>
> Пол Грэм, «The Age of the Essay»

![][1] Преред [курсом][2] Сергея Абдульманова ( [milfgard][3]) я взял для себя квест — структурировать все статьи Грэма. Пол не только крутой программист и инвестор — он мастер лаконичного письма. Если [milfgard][4] назвал свой курс для контент-менеджеров "[Буквы, которые стреляют в голову][5]", то Пол Грэм стреляет из ![][6] «по глазам» (кто играл в Fallout 2 тот поймет). А еще мне захотелось освоить Lisp. Чисто так, чтобы мозг поразвивать, потому что крутые люди — Грэм, Кей и Рэймонд, Моррис — говорят хором: «Учите Lisp». На данный момент Пол Грэм написал (по крайней мере, я насчитал) 166 эссе. Из них на русский переведены 68.74. Если читать по 1 статье в день (что очень хороший результат, потому что я после одной статьи хожу задумчивый неделю — голова кипит как после отличного мастер-класса, а иногда и как после двухдневного интенсива), то процесс займет полгода. Под катом — список всех статей со ссылками на оригинал и с переводом (если он есть). Подборка живая (так что, как обычно, добавляйте в избранное, потом прочитаете) и будет дополняться по мере обнаружения свежака. Еще вы найдете переведенную на 8/15 книгу «Хакеры и художники» и 4/25 перевода книги «On Lisp». Так же я приведу свою подборку топ-5 статей Пола Грэма, с которых я бы рекомендовал начать знакомство с этим автором. [Читать дальше →][7]

[1]: https://habrastorage.org/files/69e/509/8cd/69e5098cd85a40d68796d6aef11a117e.jpg
[2]: http://tceh.com/edu/contentmarketing/?utm_source=habrahabr&utm_medium=contentpost&utm_campaign=contenthabr1
[3]: http://habrahabr.ru/users/milfgard/
[4]: http://habrahabr.ru/users/milfgard/
[5]: http://tceh.com/edu/contentmarketing/?utm_source=habrahabr&utm_medium=contentpost&utm_campaign=contenthabr1
[6]: https://habrastorage.org/files/96c/638/8fc/96c6388fc5024400bb5a158c98a2b30a.jpg
[7]: http://habrahabr.ru/post/253311/#habracut

[>] Новый курс «Анализ безопасности веб-проектов» на Stepic
habra.15
habrabot(difrex,1) — All
2015-09-01 16:30:02


![][1] Вниманию всех начинающих разработчиков, желающих создавать не только красивые и интересные, но и защищённые сервисы: 10 сентября на [Stepic][2] откроется новый курс по программе Технопарка Mail.Ru «Анализ безопасности веб-проектов». Преподаватель Технопарка Ярослав Рабоволюк расскажет о том, как злоумышленники подходят ко взлому сервисов и как не дать им этого сделать. Также студенты под чутким руководством преподавателя сами попробуют свои силы во взломе сервера. _Чтобы поймать преступника, нужно думать как преступник._ В общем, скучно не будет! [Читать дальше →][3]

[1]: https://habrastorage.org/files/f78/4c0/033/f784c0033c6e4c608678c53d32c4ec84.jpg
[2]: https://stepic.org/
[3]: http://habrahabr.ru/post/265859/#habracut

[>] Mail.Ru объявляет о начале закрытого бета-тестирования двухфакторной аутентификации
habra.14
habrabot(difrex,1) — All
2014-12-26 16:00:02






Хабр, привет! Мы рады поделиться с вами отличными новостями: мы давно работаем над реализацией двухфакторной аутентификации в сервисах Mail.Ru и сейчас, накануне Нового года, внезапно готовы начать закрытое бета-тестирование. Приглашаем к участию всех желающих. В нашей реализации в качестве второго фактора выступает код, отправленный по SMS на номер телефона, подключенный к аккаунту. Начать закрытое бета-тестирование двухфакторной аутентификации мы решили с Почты — это один из ключевых для нас сервисов, который также наиболее критичен с точки зрения защиты пользовательских данных. Как мы уже сказали, мы также работаем над тем, чтобы поддержать ее и на других проектах Mail.Ru. Именно поэтому в заявке на участие в тестировании мы просим вас указать, какими продуктами вы пользуетесь, и будем предоставлять к ним доступ по мере готовности. Любую обратную связь по работе двухфакторной аутентификации можно присылать на адрес . Первым откликнувшимся бета-тестерам мы готовы предоставить доступ еще до Нового года, чтобы вы успели потестировать функционал во время праздников. [][2]

[1]: https://hackerone.com/mailru
[2]: http://habrahabr.ru/post/246607/#habracut

[>] Bluetooth и другие способы взлома наручников
habra.14
habrabot(difrex,1) — All
2014-12-26 18:30:02


В уходящем году одним из главных бумов IT-индустрии стали гаджеты, которые по-русски лучше всего назвать «наручными». С одной стороны, шагомеры и другие сенсоры персональной физической активности стали всё чаще делать в виде браслетов — такова, например, эволюция популярного трекера Fitbit. С другой стороны, старая гвардия тоже включилась в борьбу за человеческие запястья, выпуская умные часы: тут и Android Wear, и Apple Watch, и Microsoft Band. Сегодня мы поговорим о некоторых опасностях этой моды. [![image][1]][2] Нет, мы вовсе не против здорового образа жизни. Мы даже поддерживаем идею о том, что 1 января лучше не объедаться салатами перед телевизором, а вместо этого принять участие в одном из [новогодних забегов][3]. Однако многие отправятся на такие забеги или тренировки с модными фитнесс-браслетами и другими трекерами. Авторы рекламных статьей, расхваливающих эту бижутерию, обычно не задаются вопросами типа «как здесь набрать пароль?» или «где здесь выключатель?». Между тем, эти вопросы вскрывают целый ворох проблем безопасности, которые несёт миниатюризация наручных компьютеров. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/dfa/194/6df/dfa1946dfdb689c64299e3e37eeaec6e.jpg
[2]: http://habrahabr.ru/company/pt/blog/246855/
[3]: http://newrunners.ru/mag/novyj-god-beguna-olive-ili-zhizn/
[4]: http://habrahabr.ru/post/246855/#habracut

[>] Встраивание электронной подписи в системы с WEB-интерфейсом с помощью браузерного плагина и openssl
habra.14
habrabot(difrex,1) — All
2014-12-26 19:30:02


![][1] Несколько лет назад нашей компанией был выпущен продукт [Рутокен Плагин][2], который предназначен для встраивания ЭЦП в системы с web-интерфейсом. Основываясь на полученном опыте интеграции продукта в реальные проекты мне хочется отметить, что нередко разработчики для реализации серверной части предпочитают использовать поддерживающий российские криптоалгоритмы openssl. В данной статье будет расписана типичная схема подобной интеграции, основанная на следующих сценариях использования плагина:

* Регистрация на портале (с выдачей сертификата или по имеющемуся сертификату)
* Строгая аутентификация на портале
* Электронная подпись данных и/или файлов в формате CMS
* Шифрование данных и/или файлов в формате CMS

Данные сценарии предполагают клиент-серверное взаимодействие, написание клиентских скриптов на JavaScript и соответствующих им серверных вызовов openssl. Подробности под катом. [Читать дальше →][3]

[1]: //habrastorage.org/files/fe6/ac6/b87/fe6ac6b878504ec5ac7aca2a9bdf73b4.jpg
[2]: http://www.rutoken.ru/products/all/rutoken-plugin/
[3]: http://habrahabr.ru/post/246861/#habracut

[>] [Перевод] Как я получил медаль за код
habra.14
habrabot(difrex,1) — All
2014-12-27 06:00:03


![][1] В 2005 мой отряд Нацгвардии отправили в Ирак в рамках операции «Освобождение Ирака». Моей армейской специальностью была 92А, что означает специалист по логистике и запасам. Мои задачи состояла в том, чтобы заказывать запчасти для механиков, забирать их, возвращать старые, разбираться с опасными материалами, отправлять и принимать транспортные средства и обслуживать лицензии. И много чего ещё. В общем, в то время вся система крутилась на ULLS-G (Unit Level Logistics System – Ground, система логистики уровня отряда – наземная), которую потом уже сменила SAMS-E (Standard Army Maintenance System – Enhanced, расширенная стандартная система обслуживания армии), которая – так получилось – использовала в качестве бэкенда Oracle. По сравнению с SAMS-E, система ULLS-G выглядела как динозавр. Я много её использовал за 4 года, проведённые на службе. И это было ужасно. ULLS-G работала под MS-DOS (угу), и большинство компьютеров, которые я использовал, работали под MS-DOS (это был 2000 год). Когда мы прибыли на место дислокации, большинство компьютеров уже работали под WinXP/2K, поэтому можно было запускать ULLS-G в режиме совместимости с MS-DOS. [Читать дальше →][2]

[1]: //habrastorage.org/files/b11/ca2/fc2/b11ca2fc22064925a5f67f41bb9a1364.png
[2]: http://habrahabr.ru/post/246885/#habracut

[>] Клетка со всеми удобствами
habra.15
habrabot(difrex,1) — All
2015-09-01 17:00:03


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

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

[>] Безопасность Wi-Fi сетей: обнаружение атак
habra.15
habrabot(difrex,1) — All
2015-09-01 17:00:03


![image][1] Продолжение серии статей, посвященной вопросам современных угроз, сценариев атак и мерам противодействия. На этот раз мы рассмотрим **примеры обнаружения атак на беспроводные сети**. [Читать дальше →][2]

[1]: https://bosscontrols.com/wp-content/uploads/2015/06/WIFI_SAFETY_blog.jpg
[2]: http://habrahabr.ru/post/265697/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 9. «Возможности»
habra.15
habrabot(difrex,1) — All
2015-09-01 20:00:02


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

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

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

#### Глава 9. Возможности

_(за перевод спасибо [jellyprol][13])_ Макс надел блейзер и помятые карго брюки на вынесение приговора и молча наблюдал как юристы начали судебные прения по его делу. Дженнифер Граник, адвокат защиты, сказала судье Джеймсу Вэру что Макс заслуживает смягчения приговора за свою работу в качестве эквалайзера. Прокурор выбрал противоположную точку зрения. Макс, как он утверждал, сделал вид будто он стал информатор ФБР, пока втайне совершал преступления против правительства США. Это было хуже чем если бы он никогда не сотрудничал с ними. [Читать дальше →][14]

[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/264227/
[6]: http://habrahabr.ru/post/263819/
[7]: http://habrahabr.ru/post/263813/
[8]: http://habrahabr.ru/post/264349/
[9]: http://habrahabr.ru/post/265149/
[10]: http://habrahabr.ru/post/263293/
[11]: http://habrahabr.ru/company/piter/blog/204042/
[12]: http://habrahabr.ru/users/magisterludi/
[13]: http://habrahabr.ru/users/jellyprol/
[14]: http://habrahabr.ru/post/265335/#habracut

[>] Почему вам НЕ стоит использовать AngularJs
habra.14
habrabot(difrex,1) — All
2014-12-27 18:30:04


Много времени прошло с момента появления AngularJs (в масштабах веб-технологий конечно). Сейчас в интернетах есть огромное количество постов восхваляющих этот фреймворк до небес, что это манна небесная не иначе, а критики не так уж и много как он того заслуживает. Сразу хочу сказать, что фреймворк я знаю хорошо, даже больше чем мне хотелось бы его знать, я программировал на нем в течении 2 лет. И для следующего проекта я его точно не выберу. Так что же не так с ним? Тут нет однозначного ответа, слишком много разных недостатков, которые создают такой облик фреймворку. Если одним словом – непродуманная архитектура. Распространенная практика в мире ангуляра — решать проблемы, которые сам себе же и создал. Хотя на самом деле этой проблемы можно было бы и избежать, если хорошо спроектировать архитектуру. **И ЭТОТ ПАТТЕРН ЕСТЬ ПРАКТИЧЕСКИ В КАЖДОМ АСПЕКТЕ ФРЕЙМВОРКА.** Под катом я приведу много конкретных примеров, так что устраивайтесь поудобнее. [Читать дальше →][1]

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

[>] Редактор Urho3D (часть 2)
habra.15
habrabot(difrex,1) — All
2015-09-02 10:00:03


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

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

Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 210