RSS
Pages: 1 ... 120 121 122 123 124 125 126 127 128 129 130 131 132 133
[>] Лень пораБОТила instagram
habra.16
habrabot(difrex,1) — All
2018-01-30 15:00:14


![][1]




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


Сейчас многие используют инстаграм (далее инста): кто-то там собирает альбомы, кто-то продает, кто-то покупает, а я там ленюсь. Мне всегда было интересно как там поживают мои друзья, одноклассники, коллеги и инста в этом помогала. Захотел узнать, что там нового — зашел, полистал ленту, увидел все, что интересовало ушел… НО! Мне почему-то всегда нужно было лайкнуть каждый пост (не могу обьяснить зачем, но такие вот дела). И вот представьте, неделю туда не заходил, сидишь, лайкаешь недельный пул, а когда у тебя 200+ подписок — это вообще ад.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/gf/yu/da/gfyuda9fmcd6xyopusaaumuy_wm.png
[2]: https://habrahabr.ru/post/347774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347774#habracut

[>] Опыт веб-разработки при создании игры «Составь слова»
habra.16
habrabot(difrex,1) — All
2018-01-30 16:00:14


![image][1]

Хочу поделиться своим опытом работы над веб-проектом: реализацией игры «Составь слова». Игра представляет собой известную головоломку, в которой нужно составлять разные слова из одного длинного слова.

Суть статьи — в том, как именно и что конкретно пришлось сделать, чтобы довести всю задумку от идеи до реализации.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/aq/0a/sf/aq0asfkt89omn_4pgccyolyk3ri.jpeg
[2]: https://habrahabr.ru/post/347852/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347852#habracut

[>] [Перевод] Абсурдно быстрое кодирование и декодирование base64
habra.16
habrabot(difrex,1) — All
2018-01-30 16:15:14


Об авторе: Дэниель Лемер — профессор компьютерных наук в Университете Квебека (Канада). Его исследования затрагивают производительность программного обеспечения и инженерию данных

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

Однако мы часто используем текстовые форматы; например, веб-страницы и электронные письма должны быть в текстовом формате. Как же мы отправляем изображения по электронной почте? Как внедряем картинки на веб-страницы? Один из вариантов — поставить ссылку на реальный бинарный файл. Другой типичный подход — встроить бинарный файл непосредственно в тело письма или веб-страницы с помощью [base64][1]. Base64 — это просто стандартный текстовый формат, который можно использовать для кодирования любых бинарных данных. Если быть точным, то код base64 — всегда валидный текст ASCII (и поэтому также валидный UTF-8). Каждый байт кода base64 содержит 6 бит данных. То есть мы «теряем» примерно 2 бита на байт. Поэтому эквивалент base64 бинарного файла будет примерно на 33% больше. На практике такое увеличение размера редко становится проблемой. Насколько я знаю, приложения к электронным письмам почти всегда кодируются в base64.

При написании HTML я нашёл удобным внедрять изображения напрямую в HTML-код с помощью схемы [data URI][2]. Например, в [недавней статье][3] я таким образом закодировал файл PNG. Крупнейшие веб-сайты вроде Google постоянно используют эту схему. Небольшим недостатком становится то, что веб-страницы чуть увеличиваются в размере (что очевидно) и нельзя воспользоваться преимуществами кэширования изображений. Но зато браузер экономит один сетевой запрос.
[Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Base64
[2]: https://en.wikipedia.org/wiki/Data_URI_scheme
[3]: https://lemire.me/blog/2018/01/16/microbenchmarking-calls-for-idealized-conditions/
[4]: https://habrahabr.ru/post/347864/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347864#habracut

[>] [Перевод] Пришло время для открытых и свободных процессоров?
habra.16
habrabot(difrex,1) — All
2018-01-30 16:15:14


![][1]Раскрытие [уязвимостей Meltdown и Spectre][2] снова привлекло внимание к багам на аппаратном уровне. Многое сделано для улучшения (всё ещё слабой) безопасности нашего программного обеспечения, но всё напрасно, если оборудование даёт сбой. Процессоры в наших системах по-прежнему, в основном, проприетарные и уже преподнесли ряд неприятных сюрпризов (например, в движке Intel Management Engine). Поэтому встаёт естественный вопрос о переходе на железо open-source, как мы сделали с нашим программным обеспечением. Такой переход вполне возможен и даёт ряд преимуществ, хотя и не является панацеей.

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

[1]: https://habrastorage.org/webt/m-/dn/tz/m-dntzd3ujsrlevbsycnxbitqyi.png
[2]: https://lwn.net/Articles/742702/
[3]: https://habrahabr.ru/post/347874/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347874#habracut

[>] Тринадцатая конференция «Свободное программное обеспечение в высшей школе»
habra.16
habrabot(difrex,1) — All
2018-01-30 20:00:14


![][1]

Побывал я тут в славном городе Переславле-Залесском на [13-й конференции “Открытое программное обеспечение в высшей школе”][2], организованной [Базальт СПО][3] и [ИПС РАН][4]. И показалось мне, что на данной конференции поднимались вопросы, которые могут быть интересны читателям Хабра.
[Читать дальше →][5]

[1]: https://habrastorage.org/webt/fj/he/aj/fjheaj6ndcbmzq8zjf5pluke654.jpeg
[2]: https://www.basealt.ru/about/news/archive/view/trinadcataja-konferencija-svobodnoe-programmnoe-obesp/
[3]: https://www.basealt.ru/
[4]: http://www.botik.ru/PSI/
[5]: https://habrahabr.ru/post/347898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347898#habracut

[>] [Из песочницы] Майнер на сайте — зло (но может стать и добром)
habra.16
habrabot(difrex,1) — All
2018-01-30 20:30:14


Часто на Хабре можно встретить комменты в духе «Майнер — хороша замена/дополнение к рекламе на сайте» или «Я лучше отдам 10-40% CPU». Данная статья приведёт аргументы, почему такие утверждения в корне неверны. Также статья выдвинет предположение, как можно решить приведённые проблемы, позволив майнерам стать дополнительным источником монетизации, что может положительно сказаться на вебе.

Справка: майнер — это программа для майнинга криптовалюты. Может встраиваться в сайты, принося автору сайта прибыль. Майнинг может использовать как мощности процессора, так и видеокарты (javascript может запускать шейдеры с помощью WebGL).
[Читать дальше →][1]

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

[>] [Перевод] Все о переопределении в Java
habra.16
habrabot(difrex,1) — All
2018-01-30 20:30:14


Всем доброго!

У нас на этой недели практически юбилей — стартует пятая группа "[Разработчик Java][1]", а это значит, что мы снова делимся всякими полезностями :)

Поехали.

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

Дочерний класс может переопределить методы экземпляра своего родительского класса. Это называется переопределением метода. Сигнатура (тип возврата, тип параметров, количество параметров и порядок параметров) должна быть такой же, какой была определена в родительском классе. Переопределение метода выполняется для достижения полиморфизма во время выполнения программы.

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

[1]: https://otus.pw/G0b3/
[2]: https://habrastorage.org/webt/il/qr/js/ilqrjsk7psk9levrbov77lvlylk.jpeg
[3]: https://habrahabr.ru/post/347900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347900#habracut

[>] Объект в футляре или Optional в Java 8 и Java 9. Часть 4: «Футляр с двойным дном»
habra.16
habrabot(difrex,1) — All
2018-01-30 20:45:14


[![Объект в футляре][1]][2]

Это четвёртая статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В [первой статье][3] было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. [Вторая статья][4] посвящена описанию методов класса Optional в том виде, как он появился в Java 8. [Третья][5] — методам, добавленным в класс в Java 9.

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

Если сервис возвращает Optional, о причине мы ничего не узнаем. Значит надо использовать что-то похожее на Optional, но содержащее информацию об ошибке в случае неуспеха. [Читать дальше →][6]

[1]: https://habrastorage.org/webt/ys/0h/kg/ys0hkgszo0x804sxkfr0q6svqcm.jpeg
[2]: https://habrahabr.ru/post/347836/
[3]: https://habrahabr.ru/post/347480/
[4]: https://habrahabr.ru/post/347576/
[5]: https://habrahabr.ru/post/347748/
[6]: https://habrahabr.ru/post/347836/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347836#habracut

[>] “Cтрашилка” о GDPR
habra.16
habrabot(difrex,1) — All
2018-01-31 00:00:14


[![][1]][2]В мае 2018 года в Европе вступают в силу обновлённые правила обработки персональных данных, установленные Общим регламентом по защите данных ([Регламент ЕС 2016/679 от 27 апреля 2016 г. или GDPR][3] — General Data Protection Regulation).

Все компании, которые обрабатывают (как внутри, так и за пределами ЕС) персональные данные граждан европейских стран, обязаны соблюдать требования этого документа. Сфера действия новых правил GDPR распространяется на все 28 стран ЕС. Этот документ заменит существующие законы о защите персональных данных в европейских странах. С учетом того, что новые правила GDPR будут применяться экстерриториально, их соблюдение будет обязательным для российских компаний, имеющих присутствие в ЕС. То есть для любого российского бизнеса, собирающему и обрабатывающему персональные данные **хотя бы одного** гражданина страны-члена ЕС. [Читать дальше →][4]

[1]: https://habrastorage.org/webt/qy/kp/8x/qykp8xy0kjxc88lu4hqwisrqmgs.png
[2]: https://habrahabr.ru/company/cloud4y/blog/347870/
[3]: http://ec.europa.eu/justice/data-protection/reform/files/regulation_oj_en.pdf
[4]: https://habrahabr.ru/post/347870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347870#habracut

[>] Как поймать программиста на списывании и стоит ли этим заниматься?
habra.16
habrabot(difrex,1) — All
2018-01-31 00:15:13


![][1]

Побывал я тут в славном городе Переславле-Залесском на [13-й конференции “Открытое программное обеспечение в высшей школе”][2], организованной [Базальт СПО][3] и [ИПС РАН][4]. И показалось мне, что на данной конференции поднимались вопросы, которые могут быть интересны читателям Хабра. Среди них:
* Как построить более эффективную систему высшего образования?
* Как, и стоит ли вообще, контролировать списывание при обучении программированию?
* Можно ли внести вклад в открытый проект не изменяя его исходный код?
[Читать дальше →][5]

[1]: https://habrastorage.org/webt/fj/he/aj/fjheaj6ndcbmzq8zjf5pluke654.jpeg
[2]: https://www.basealt.ru/about/news/archive/view/trinadcataja-konferencija-svobodnoe-programmnoe-obesp/
[3]: https://www.basealt.ru/
[4]: http://www.botik.ru/PSI/
[5]: https://habrahabr.ru/post/347898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347898#habracut

[>] ArcSight Forwarder Connector. Пошлём куда захотим
habra.16
habrabot(difrex,1) — All
2018-01-31 00:45:13


Добрый день, хабрасообщество!

В данной статье я поделюсь своим практическим опытом по выгрузке событий из ArcSight ESM. Детально рассмотрю функциональность и предоставлю пошаговую инструкцию по настройке ArcSight Forwarder Connector, а так же опишу интересные лайфхаки.

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

[1]: https://habrastorage.org/webt/hb/ak/cj/hbakcjrchgvgnjl3jhmfl8habey.jpeg
[2]: https://habrahabr.ru/post/347642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347642#habracut

[>] Wireshark для просмотра трафика в реальном времени
habra.16
habrabot(difrex,1) — All
2018-01-31 00:45:13


Иногда мне необходимо было залезть на linux-сервера и иметь возможность просматривать текущий трафик в реальном времени. Как я делал до этого? На целевом сервере устанавливался tcpdump, выхлоп которого писался в файлик. Далее файл через scp тянулся на локальный компьютер под Windows и открывался в Wireshark.

В определенный момент мне захотелось более удобного решения и я, нашев возможность запустить Wireshark на винде (локально) в связке с tcpdump-ом на сервере (удаленно) на просторах интернета, и немного подпилив эту реализацию, решил поделиться с Вами. [Читать дальше →][1]

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

[>] [recovery mode] Как угнать любой сайт в Яндексе имея только вебмастер?
habra.16
habrabot(difrex,1) — All
2018-01-31 01:00:13



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

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

[>] fx — алтернатива jq для обработки JSON из командной строки
habra.16
habrabot(difrex,1) — All
2018-01-31 01:00:13


![][1]



[jq][2] — самая популярная утилита для обработки JSON из командной строки, написана на C и имеет свой собственный синтаксис для работы с JSON.



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



Так и появилась идея написать [fx][3] с простым и понятным синтаксисом, который никогда не забудешь. А какой язык программирования знают все? Правильно — JavaScript.

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

[1]: https://habrastorage.org/webt/mx/hn/vx/mxhnvxbqzs2pwh58td8ea1sauhe.png
[2]: https://stedolan.github.io/jq/
[3]: https://github.com/antonmedv/fx
[4]: https://habrahabr.ru/post/347808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347808#habracut

[>] [Перевод] Что действительно случилось с Vista: инсайдерская ретроспектива
habra.16
habrabot(difrex,1) — All
2018-01-31 01:15:09


![][1]
_Традиционно группа разработчиков Windows подписывает постер (в данном случае изображение DVD) с выпуском новой версии Windows. Ко времени окончания вечеринки по поводу релиза на нём будут сотни или тысячи подписей_

> _«Опыт — это то, что ты получаешь только после того, как он тебе понадобится» — Стивен Райт_
Мне понравился содержательный блог Терри Кроули («[Что действительно случилось с Vista][2]»). Терри работал в группе Office и проделал фантастическую работу, описывая сложные козни вокруг Windows Vista и связаного, но заброшенного проекта Longhorn — с точки зрения внешнего наблюдателя.

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

[1]: https://habrastorage.org/getpro/habr/post_images/765/a7e/1be/765a7e1be80ff3f92703d15c88a80fb4.jpg
[2]: https://hackernoon.com/what-really-happened-with-vista-4ca7ffb5a1a
[3]: https://habrahabr.ru/post/347922/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347922#habracut

[>] Chromium: использование недостоверных данных
habra.16
habrabot(difrex,1) — All
2018-01-31 11:30:06


![PVS-Studio, Common Weakness Enumeration][1]Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.

На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно [Common Weakness Enumeration][2], то значит она является потенциальной уязвимостью.

Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/58c/b89/aaf/58cb89aafeb3e2044966c86c66ef7090.png
[2]: https://cwe.mitre.org/
[3]: https://habrahabr.ru/post/347938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347938#habracut

[>] Identity Management: новый инструмент в ServiceNow для управления учетными данными
habra.16
habrabot(difrex,1) — All
2018-01-31 13:30:14


Согласно [исследованию][1] Ponemon Institute, в среднем один случай утечки данных обходится компаниям в 3 миллиона долларов. При этом, как [отмечают][2] в Verizon, 90% краж данных выполняются с помощью фишинга. Поэтому проблемы идентификации пользователей для выявления деятельности злоумышленников выходят на первое место.

В связи с этим компания ServiceNow [объединилась][3] с компанией Okta для создания приложения, которое позволит клиентам облачного сервиса выявлять «дыры» в безопасности, связанные с идентификационными данными, и оперативно «закрывать» их. О подробностях этого решения расскажем далее.

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

[1]: https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=SEL03130WWEN
[2]: https://iapp.org/news/a/verizon-study-90-percent-of-breaches-involve-phasing-social-engineering/
[3]: https://techcrunch.com/2018/01/18/okta-teams-up-with-servicenow-to-bring-identity-layer-to-breach-containment/
[4]: https://habrastorage.org/webt/z-/ld/qd/z-ldqdpcj6adfe6f2vpmigilmyk.jpeg
[5]: https://habrahabr.ru/company/it-guild/blog/345624/
[6]: https://habrahabr.ru/post/345624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=345624#habracut

[>] Интеграция Google Pay
habra.16
habrabot(difrex,1) — All
2018-01-31 13:45:14


Привет, Хабр!

Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — **Google Pay API**.

[![изображение с сайта https://developers.google.com/payments/][1]][2]

**Итак**, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает не Google Play), то скорее всего среди вариантов оплаты у вас есть и “Оплата картой”. А это значит, что вам каждый раз приходится отправлять пользователя вводить данные карты или на красиво сверстанные экраны с картой, или на веб-сайт вашего провайдера платежных сервисов (далее — payment processor). Уже посчитали сколько действий придется совершить пользователю, чтобы оплатить заветный заказ? Ага, а теперь представьте, что он сможет выполнить то же целевое действие всего в два тапа. Мы тоже представили и подумали, а почему бы не дать пользователям такую возможность? Основные условия успеха — продавец быть [зарегистрирован в Google][3] и payment processor должен сотрудничать с Google.
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/zp/oz/tm/zpoztmk3kbzmwajqwi6hcaplwwe.png
[2]: https://habrastorage.org/webt/zp/oz/tm/zpoztmk3kbzmwajqwi6hcaplwwe.png
[3]: https://payments.developers.google.com/signup
[4]: https://habrahabr.ru/post/347460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347460#habracut

[>] [Перевод] Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
habra.16
habrabot(difrex,1) — All
2018-01-31 14:00:14


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

[![][2]][3]
Тот пост вызвал живой и эмоциональный отклик аудитории. Кто-то говорил о том, что всё пропало, и теперь он не сможет спокойно спать, кто-то утверждал, что уж его-то проектов это точно не коснётся, кто-то задавал вопросы о том, как от такого защититься… К проблеме, поднятой в предыдущем материале, можно относиться по-разному, но она вполне реальна, поэтому сегодня мы публикуем продолжение истории того, кто ворует номера кредиток. Сегодня он расскажет о методах защиты веб-проектов от потенциально опасного кода.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/ruvds/blog/346442/
[2]: https://habrastorage.org/webt/4k/xv/io/4kxvio7tyoiwfj9poibufj6dtss.jpeg
[3]: https://habrahabr.ru/company/ruvds/blog/347958/
[4]: https://habrahabr.ru/post/347958/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347958#habracut

[>] Статья о том, как мы попробовали применить современные нейросетевые технологии, чтобы находить каски на головах людей
habra.16
habrabot(difrex,1) — All
2018-01-31 15:30:07


![][1]

Раньше все свои интеллектуальные модули мы строили на традиционных алгоритмах видеоанализа (далее мы будем называть их «классическими»). О нейросетях мы, конечно, знали, и пробовали их применять еще в далеком 2008. В частности, сравнивать изображения людей по кластерам. Но результаты не были выдающимися (в том числе из-за невысокого уровня развития нейросетей). И мы на многие годы стали приверженцами «классики» машинного зрения. А все нейросети были у нас в головах :) [Читать дальше →][2]

[1]: https://habrastorage.org/webt/t6/mj/p3/t6mjp3uzko8kfh7f3cnsnsh7fyc.png
[2]: https://habrahabr.ru/post/347956/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347956#habracut

[>] [Перевод] Я разработчик с 9 до 17 (и ты можешь стать таким)
habra.16
habrabot(difrex,1) — All
2018-01-31 19:00:14


[Этот конкретный твит][1] от Сафьи Адбалла сподвиг меня на некоторые размышления:

> _Пожалуй, непопулярное мнение (и тут немного иронии от меня).
>
> Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.
>
> Можете оставить свой код в офисе — и это вполне нормально._
Такая позиция близка и мила моему сердцу, хотя я тоже понимаю иронию. Одна из вещей, которые я говорю потенциальным работодателям с тех пор как [меня уволили за отказ оставаться программировать после работы][2] — это то, что [я не согласен на овертайм][3]. По крайней мере, не на регулярной основе. Я могу иногда поучаствовать в авралах, когда критически важно срочно накатить конкретное изменение или исправить баг, но за исключением таких случаев я буду [появляться, вкалывать — и пойду домой][4].
[Читать дальше →][5]

[1]: https://twitter.com/captainsafia/status/952282930960887808
[2]: https://www.exceptionnotfound.net/be-like-us-or-else-desperation-failure-and-new-job-regret/
[3]: https://exceptionnotfound.net/the-toxic-glorification-of-working-hard/
[4]: https://www.exceptionnotfound.net/show-up-kick-ass-go-home/
[5]: https://habrahabr.ru/post/347960/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347960#habracut

[>] Код проверяли буквально по строчкам: как наш межсетевой экран проходил сертификацию ФСТЭК
habra.16
habrabot(difrex,1) — All
2018-01-31 19:30:11


_9 декабря 2016 года вступили в силу Требования к межсетевым экранам, утвержденные в [Информационном сообщении ФСТЭК от 28 апреля 2016 года][1]. Все МЭ – производимые, поставляемые и разрабатываемые – к моменту вступления Требований в силу должны быть сертифицированы. _

Прошел год, и что же? Сертификатом могут похвастать всего несколько компаний, среди них и «Смарт-Софт». Сейчас, когда мы прошли через все тернии сертификации, мы совсем не удивлены, почему так мало тех, кто дошел до конца. Мы расскажем, как мимикрировал наш продукт под новые условия, поделимся особенностями проверки со стороны государства и покажем, была ли от доработок польза для конечного пользователя. Впрочем, обо всём по порядку.

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

[1]: http://fstec.ru/component/attachments/download/913
[2]: https://habrastorage.org/webt/zf/cx/bu/zfcxbuqr5yp75un9ruwrbimzhj0.jpeg
[3]: https://habrahabr.ru/post/347666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347666#habracut

[>] [Из песочницы] Парсинг сайтов или долгострои Московской области
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


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



Была поставлена цель выполнить классификацию объектов первичного строительства по всеобъемлющему набору признаков: сведений об объекте, застройщике и т.д. Однако общедоступные данные оказались довольно скудными. Все же некоторую дескриптивную статистику собрать удалось…

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

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

[>] [Перевод] Learn OpenGL. Урок 4.6 — Кубические карты
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


# Кубические карты


До сих пор нам приходилось пользоваться лишь двухмерными текстурами, однако, OpenGL поддерживает гораздо больше типов текстур. И в этом уроке мы рассмотрим тип текстурной карты, на самом деле, представляющий собой комбинацию нескольких отдельных текстур – это кубическая карта (_cubemap_).

Кубическая карта, по сути, является одним текстурным объектом, содержащим 6 отдельных двухмерных текстур, каждая из которых соотносится со стороной оттекстурированного куба. Зачем может пригодиться такой куб? Зачем сшивать шесть отдельных текстур в одну карту вместо использования отдельных текстурных объектов? Суть в том, что выборки из кубической карты можно совершать используя вектор направления.
[Читать дальше →][1]

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

[>] Мега-Учебник Flask, Часть IX: разбиение на страницы (издание 2018)
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


### _Miguel Grinberg_ {#miguel-grinberg}


----


[<<< предыдущая][1] [следующая >>>][2]



Это девятый выпуск серии Mega-Tutorial Flask, в котором я расскажу вам, как разбивать списки в базе данных.

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

[1]: https://habrahabr.ru/post/347450/
[2]: https://habrahabr.ru/post/347926/
[3]: https://habrahabr.ru/post/347926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347926#habracut

[>] Безопасность сторонних зависимостей — проверяем при помощи snyk
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


Недавно была прекрасная публикация [“Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов”][1], на которую я [переводил][2] ответ. Автор недавно опубликовал [вторую часть][3], но, подозреваю, что перевода не будет — там предлагается решать проблему прекрасными способами вроде перевода важных элементов ввода «в отдельный iframe» или «на особые страницы без стороннего javascript». На этом месте те, кто повёлся на первую статью, должны бы усомниться в адекватности автора — и низкий (относительно предыдущей) рейтинг новой статьи это показывает.

**UPD**: [перевели таки][4].

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

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

[1]: https://habrahabr.ru/post/346442/
[2]: https://habrahabr.ru/post/346492/
[3]: https://hackernoon.com/part-2-how-to-stop-me-harvesting-credit-card-numbers-and-passwords-from-your-site-844f739659b9
[4]: https://habrahabr.ru/post/347958/
[5]: https://habrastorage.org/getpro/habr/post_images/17b/8fd/b7d/17b8fdb7d07fd9ca8e04ad61c243df0a.png
[6]: https://habrahabr.ru/post/347934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347934#habracut

[>] [Перевод] Как создать действительно случайный пароль
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


[![][1]][2]

Менеджеры паролей, такие как KeePass, 1Password и множество других, в значительной степени решают эту проблему. С их помощью вы можете генерировать уникальный и безопасный пароль для каждого сайта, который вы посещаете. Но такой менеджер защищен ровно настолько, насколько безопасен главный пароль, который вы используете для доступа к нему. Вы должны быть уверены, что его достаточная случайность и неугадываемость подтверждена количественными измерениями, а не только тем, что вы воспринимаете его случайным по причине наличия нескольких цифр или восклицательных знаков. Если нам требуется истинная случайность, нам понадобится кое-что специальное.

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

[1]: https://habrastorage.org/webt/ns/lf/wg/nslfwgj6j8ahv0cdi0g1p0w2xr4.png
[2]: https://habrahabr.ru/company/cloud4y/blog/347952/
[3]: https://habrahabr.ru/post/347952/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347952#habracut

[>] [Из песочницы] Фишинг на криптовалютах
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


Сейчас наверняка все слышали о таком понятии, как криптовалюта или Биткоин. Эта тема является одной из самых популярных и обсуждаемых на сегодняшний день. Про «крипту» говорят везде: в интернете, на телевидении, по радио, в кругу семьи и друзей и т.д. Естественно, злоумышленники также положили глаз на эту область, и вновь приходится говорить о способах атак хакеров. Одним из этих способов является фишинг криптовалют.
![][1]

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

[1]: https://habrastorage.org/webt/2a/ts/ri/2atsrijanvechhfle5xsprekoim.jpeg
[2]: https://habrahabr.ru/post/348006/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348006#habracut

[>] Как работает блокировка доступа к страницам, распространяющим запрещенный контент (теперь РКН проверяет и поисковики)
habra.16
habrabot(difrex,1) — All
2018-01-31 20:30:14


[![][1]][2]

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

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

[Соответствующий приказ][3] Роскомнадзора от 7 ноября 2017 года № 229 зарегистрирован в Министерстве юстиции России. [Читать дальше →][4]

[1]: https://habrastorage.org/webt/-z/8j/rq/-z8jrqsydmpzsgtqvpp8l1xrxri.png
[2]: https://habrahabr.ru/company/cloud4y/blog/347964/
[3]: http://publication.pravo.gov.ru/Document/View/0001201801160014
[4]: https://habrahabr.ru/post/347964/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347964#habracut

[>] Блокчейн: организация сети, проверка подписи и задание для студента, часть 2
habra.16
habrabot(difrex,1) — All
2018-01-31 21:15:10


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


[В первой части][1] было рассказано про возможности блокчейна, структуру и ЭЦП, в этой части будет рассказано про: проверку подписи, майнинг и примерную организацию сети. Отмечу, что не являюсь специалистом по распределенным системам (организация сети может быть не верной).


## Одноранговая сеть (P2P)


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

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

[>] Олимпиада «ИТМО ВКонтакте»: выходные в Санкт-Петербурге и +10 баллов к ЕГЭ
habra.16
habrabot(difrex,1) — All
2018-01-31 21:15:10


Учебный год перевалил за экватор, а это значит, что для выпускников школ все более остро встает вопрос об экзаменах и поступлении в вузы. Конечно, самый надежный вариант стать студентом любого российского университета — получить максимум баллов ЕГЭ. Однако баллы — не всегда лучший показатель успеваемости и способностей. Пример тому — [история][1] Ильи Глебова, который сейчас изучает технологии защиты информации в Университете ИТМО.

Конечно, произошедшее с Ильей — уникальный кейс, однако в Университете ИТМО есть [более 20 проектов][2], которые позволяют выпускнику гарантированно получить дополнительные баллы к ЕГЭ. Один из них — олимпиада «ИТМО ВКонтакте», которая стартует совсем скоро — в феврале. Подробнее о ней расскажем под катом.

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

[1]: https://habrahabr.ru/company/spbifmo/blog/334232/
[2]: https://abit.ifmo.ru/page/69/
[3]: https://habrahabr.ru/company/spbifmo/blog/347936/
[4]: https://habrahabr.ru/post/347936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347936#habracut

[>] Блокчейн: возможности, структура, ЭЦП и задание для студента, часть 1
habra.16
habrabot(difrex,1) — All
2018-01-31 21:15:10


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


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

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

[>] [Из песочницы] Установка Linux без .ISO и виртуализации
habra.16
habrabot(difrex,1) — All
2018-01-31 23:15:14


# Установка Linux без .ISO и виртуализации



Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.



# 1\. Назначение и возможности скриптов radish



Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.



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



Скрипты находятся на сервере Github и доступны [по ссылке][1].

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

[1]: https://github.com/abelits/radish
[2]: https://habrahabr.ru/post/348026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348026#habracut

[>] И так сойдёт… или Дыра как средство защиты
habra.16
habrabot(difrex,1) — All
2018-01-31 23:30:14


![][1]



По мотивам "[И так сойдёт… или как данные 14 миллионов россиян оказались у меня в руках][2]"...



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



И чтобы расставить все точки над E, — я вовсе не пытаюсь оценить или как-то обелить "ответственные" лица, что с одной, что с другой стороны.
Я скорее просто попробую объяснить другой (возможно новый для некоторых читателей) концептуальный подход на примерах, в том числе и касающихся той статьи.



Кстати, то что в ней не всё или скорей всего возможно не совсем всё правда, "реальному хакеру" видно невооруженным глазом.
Например прочитав "_Утащил базу весом 5 Гб… сколько времени это качалось. Вы думаете, кто-то заметил?_" я лишь усмехнулся и продолжил чтение (ибо ИМХО некоторое преувеличение допускается в такого рода статьях).



Хотя автор и сам признал что он немного лгунишка апдейтом в конце статьи.


> конечно же, никакой базы у меня нет, на протяжении 3-х дней я эмулировал скачивание ...

Теперь почему это очевидно/вероятно (даже не принимая другие типовые ограничения во внимание):

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

[1]: https://habrastorage.org/webt/pl/vo/j8/plvoj8fkeijg-crcgtd_jhokvg8.jpeg
[2]: /post/347760/
[3]: https://habrahabr.ru/post/348016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348016#habracut

[>] [Перевод] Как создать действительно случайный и доказуемо безопасный пароль
habra.16
habrabot(difrex,1) — All
2018-02-01 09:00:13


[![][1]][2]

Менеджеры паролей, такие как KeePass, 1Password и множество других, в значительной степени решают эту проблему. С их помощью вы можете генерировать уникальный и безопасный пароль для каждого сайта, который вы посещаете. Но такой менеджер защищен ровно настолько, насколько безопасен главный пароль, который вы используете для доступа к нему. Вы должны быть уверены, что его достаточная случайность и неугадываемость подтверждена количественными измерениями, а не только тем, что вы воспринимаете его случайным по причине наличия нескольких цифр или восклицательных знаков. Если нам требуется истинная случайность, нам понадобится кое-что специальное.

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

[1]: https://habrastorage.org/webt/ns/lf/wg/nslfwgj6j8ahv0cdi0g1p0w2xr4.png
[2]: https://habrahabr.ru/company/cloud4y/blog/347952/
[3]: https://habrahabr.ru/post/347952/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347952#habracut

[>] SecurityWeek 2: армия клонов, Google охотится на привидений, Blizzard патчится
habra.16
habrabot(difrex,1) — All
2018-02-01 09:45:13


[Новость][1]
Судьба зловреда Exobot, с помощью которого злоумышленники добывали данные банковских карт пользователей еще с 2013 года, сложилась интереснее, чем у большинства подобных троянов — но весьма проблематично для экспертов безопасности. Авторы бота охотно сдавали его в аренду на любой срок, причем сервис оказался столь успешен коммерчески, что появилась даже вторая версия, переработанная практически с нуля. Что характерно, заказчики могли по своему желанию модифицировать троян с помощью контрольной панели, выбирая нужные им функции. Практически фабрика клонов со спецификациями на любой вкус.

А в прошедшем декабре организаторы этого центра клонирования во всеуслышание заявили, что собираются продать исходный код ограниченному кругу покупателей. Якобы они уже срубили с Exobot достаточно и выходят из бизнеса. Заявление звучит не очень логично, но может быть отчасти правдой: если им удалось сорвать большой куш, теперь добыча и собственная свобода перевешивают возможные выгоды. Но скорее всего, операторы Exobot постарались таким образом замаскировать желание уйти в тень и скрыться от пристального внимания. Как бы то ни было, после первых же продаж неприятности не заставили себя ждать: зловред пошел в серию.
[Читать дальше →][2]

[1]: https://threatpost.ru/exobots-source-code-got-sold/24183/
[2]: https://habrahabr.ru/post/348024/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348024#habracut

[>] Программный синтез звука на ранних персональных компьютерах. Часть 1
habra.16
habrabot(difrex,1) — All
2018-02-01 10:30:14


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


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

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

[>] Что, собственно, такое персональные данные?
habra.16
habrabot(difrex,1) — All
2018-02-01 12:30:15


![image][1]


_Новгородский мальчик Онфим из XIII века превратил кору в носитель персональных данных, собрав набор из изображения человека и его имени._

Представьте, что вы нашли трёх друзей, которые родились с вами в один и тот же день. У вас одинаковая дата рождения, одинаковый пол, и вы можете определёнными усилиями сменить имена в рамках закона. В итоге получится четверо одинаковых людей. Будет ли набор «Ф. И. О. + дата рождения + пол» персональными данными?

Ответ, как это ни странно, — да.

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

Ранее в законодательном определении содержалось указание на конкретные примеры, которые каждый в отдельности или в совокупности с другой информацией составляли персональные данные. В текущей же редакции ст. 3 Федерального закона № 152-ФЗ примеров персональных данных не приводится, т. к. законодатель сделал упор на «духе закона», прямо оговорив, что к таким данным относится «любая информация, относящаяся к прямо или косвенно определённому или определяемому физическому лицу», отдав решение этого вопроса на откуп судебной практике.

Поэтому давайте разбирать на примерах, что есть ПДн, а что — нет.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/p6/r7/50/p6r750sppnx6agiefbmlypxqgyy.jpeg
[2]: https://habrahabr.ru/post/348046/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348046#habracut

[>] Разработка драйвера PCI устройства под Linux
habra.16
habrabot(difrex,1) — All
2018-02-01 12:45:14


![][1]
В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы.

В качестве подопытного выступит интерфейс датчиков перемещения ЛИР940/941. Это устройство, отечественного производства, обеспечивает подключение до 4 энкодеров с помощью последовательного протокола SSI поверх физического интерфейса RS-422.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/sf/xk/il/sfxkiltkrv6i--clz-dlrmgjrsw.jpeg
[2]: https://habrahabr.ru/post/348042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348042#habracut

[>] Прокачиваем WebDriverAgent, или как тестировать iOS-приложения после ядерного взрыва. Расшифровка доклада
habra.16
habrabot(difrex,1) — All
2018-02-01 12:45:14


Когда Apple с выходом Xcode 8 отказались от UI Automator, мы, как и многие, оказались у разбитого корыта. Appium, который у нас использовался, потерял актуальность, мы начали искать альтернативы и нашли инструмент WebDriverAgent от Facebook. Под катом — текстовая расшифровка доклада о том, с какими проблемами мы столкнулись, как мы их решали и как это повлияло на нашу инфраструктуру тестирования iOS-приложений.



![][1]

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

[1]: https://habrastorage.org/webt/yy/rz/ws/yyrzwsx5l9ptjyuzbb8otqg_cnw.png
[2]: https://habrahabr.ru/post/347974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347974#habracut

[>] [Из песочницы] Экономия газа в смарт-контрактах Ethereum
habra.16
habrabot(difrex,1) — All
2018-02-01 13:45:13


В Ethereum для выполнения каждой транзакции требуется определённое количество газа — специальной сущности. Существуют разные пути для снижения затрат. Часть из них уже реализована. Хочу начать с обсуждения вопроса оптимизации стоимости создания смарт-контракта.



![Накладные расходы для уникальных контрактов][1]



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

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

[1]: https://habrastorage.org/webt/vw/5m/fh/vw5mfhvvpxby1_-bu2z4_fnrpke.png
[2]: https://habrahabr.ru/post/348062/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348062#habracut

[>] Nemesida Scanner — сканер уязвимостей веб-приложений
habra.16
habrabot(difrex,1) — All
2018-02-01 14:45:14


![][1]


Nemesida Scanner предназначен для выявления уязвимостей в веб-приложениях, таких как SQL injection, XSS, LFI/RFI, XXE, Оpen-redirect, поиска компонентов с известными уязвимостями и критичных данных в открытом доступе, выявления недостатков конфигурации веб-приложения, сканирования портов, и т.д. Nemesida Scanner предоставляется в виде консольной версии для популярных Linux-дистрибутивов.

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

[1]: https://habrastorage.org/webt/hk/wf/dh/hkwfdh1pqxfin0m0zk1pwjnokri.png
[2]: https://habrahabr.ru/post/348064/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348064#habracut

[>] Структуры данных со свойствами программы
habra.16
habrabot(difrex,1) — All
2018-02-01 15:30:14


Как известно, база данных – это хранилище структурированной информации, пассивное по своей сути. Бизнес-логика приложения реализуется где-то вне базы, в виде «набора действий для достижения требуемого результата». В случае внесения изменений в хранимый набор данных результатом должно стать новое состояние базы. В краткой форме это можно записать как-то так: событие → \{действия\} → результат. Изменим эту формулировку на: событие → правила → результат, и посмотрим, что из этого получится.
[Читать дальше →][1]

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

[>] Создание NPM-модуля Яндекс.Кассы под Node.js — опыт Lodoss Team
habra.16
habrabot(difrex,1) — All
2018-02-01 15:30:14


![][1]



Спустя несколько месяцев после релиза обновленного API Яндекс.Кассы начали появляться первые интеграционные решения на новых технологиях. Одним из пионеров интеграции стала компания [Lodoss Team][2], разработавшая SDK-библиотеку для работы с Кассой под Node.js.



Никто не расскажет о проекте лучше, чем его автор. Поэтому передаю слово **Антону**, техническому идеологу **Lodoss Team**, который и расскажет о том, почему выбор пал на Кассу и как теперь у них всё это работает.

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

[1]: https://habrastorage.org/webt/k7/ac/bz/k7acbznazbplzi_mkl6gpy_yi5e.png
[2]: http://www.lodossteam.com/
[3]: https://habrahabr.ru/post/348070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348070#habracut

[>] Генеративное Моделирование и AI
habra.16
habrabot(difrex,1) — All
2018-02-01 15:30:14


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

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

[1]: https://habrahabr.ru/post/343800/
[2]: https://habrastorage.org/webt/05/sx/9a/05sx9a4nprmgcf26aulbzfi9qh4.gif
[3]: https://habrahabr.ru/post/347184/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347184#habracut

[>] [Из песочницы] Топ-5 прогнозов в сфере информационной безопасности
habra.16
habrabot(difrex,1) — All
2018-02-01 15:30:14


Давайте посмотрим правде в глаза, прошедший год был ужасным для кибербезопасности, с огромным количеством фишинговых атак, вирусов-вымогателей и т.д. Интересно, будет ли 2018 год лучше?

Многие эксперты мирового уровня прогнозируют увеличение количества атак. Они считают, что будут разработаны новые, сложные методы с более разрушительными последствиями.
В сети есть сотни прогнозов в сфере ИТ безопасности, мы сузили круг и собрали для вас топ-5. [Читать дальше →][1]

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

[>] [Из песочницы] Почему ранний возврат из функций так важен?
habra.16
habrabot(difrex,1) — All
2018-02-01 16:45:02


Привет, Хабр! Представляю вашему вниманию перевод статьи [«Why should you return early?»][1] автора Szymon Krajewski

![image][2]

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

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

[1]: https://szymonkrajewski.pl/why-should-you-return-early/
[2]: https://habrastorage.org/webt/it/fn/e4/itfne4ffljtuwuhtcf5eralkiie.png
[3]: https://habrahabr.ru/post/348074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348074#habracut

[>] Swift Package Manager
habra.16
habrabot(difrex,1) — All
2018-02-01 17:30:14


![][1]
Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей [Swift Package Manager][2].

К публичной версии приложили руку небезызвестные [Max Howell][3], создатель Homebrew, и [Matt Thompson][4], написавший [AFNetworking][5]. SwiftPM призван автоматизировать процесс установки зависимостей, а также дальнейшее тестирование и сборку проекта на языке Swift на всех доступных операционных системах, однако пока его поддерживают только macOS и [Linux][6]. Если интересно, идите под кат.
[Читать дальше →][7]

[1]: https://habrastorage.org/webt/aa/zm/jr/aazmjr5f_19lcu43febz4buwhcu.jpeg
[2]: https://github.com/apple/swift-package-manager
[3]: https://github.com/mxcl
[4]: https://github.com/mattt
[5]: https://github.com/AFNetworking/AFNetworking
[6]: https://swift.org/download/#releases
[7]: https://habrahabr.ru/post/348004/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348004#habracut

[>] [Перевод] Вышел GitLab 10.4 c динамическим тестированием безопасности приложений и бета-версией Web IDE
habra.16
habrabot(difrex,1) — All
2018-02-01 19:15:08


![Картинка для привлечения внимания][1]



В первом релизе 2018 года мы внесли улучшения в процессы планирования, тестирования, развертывания и работы с мерж-реквестами. Кроме того, в данный релиз включены новые возможности тестирования безопасности, а также первая версия Web IDE, который является частью нашего амбициозного проекта [Complete DevOps][2].


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

[1]: https://habrastorage.org/getpro/habr/post_images/59e/839/405/59e839405116eb8849df6bcca5fdeada.jpg
[2]: https://about.gitlab.com/2017/10/11/from-dev-to-devops/
[3]: https://habrahabr.ru/post/348086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348086#habracut

[>] Внимание, обновите Firefox до версии 58.0.1 для закрытия критической уязвимости
habra.16
habrabot(difrex,1) — All
2018-02-01 20:00:14


[![image][1]][2]

Mozilla выпустила важное обновление веб-браузера Firefox для исправления критической уязвимости, которая позволяет злоумышленникам удаленно выполнять вредоносный код на компьютерах, на которых установлена ​​уязвимая версия браузера.

Критическая уязвимость (CVE-2018-5124) может привести к выполнению кода в системе при открытии определённым образом подготовленных HTML-фрагментов, в которых используются дополнительные атрибуты управления интерфейсом. Суть уязвимости в возможности inline-подстановки JavaScript-кода через данные элементы, который будет выполнены на привилегированном уровне, отвечающем за формирование интерфейса браузера (chrome-privileged).
> «Успешное использование уязвимости может позволить злоумышленнику выполнить произвольный код с привилегиями пользователя. Если пользователь имеет повышенные привилегии, злоумышленник может полностью скомпрометировать систему», — говорится в [рекомендациях по безопасности от компании Cisco][3].Злоумышленник может получить возможность устанавливать программы, создавать новые учетные записи с полными правами пользователя, просматривать, изменять или удалять данные. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/47c/4bf/692/47c4bf692312047a1ddd5881dc7d2f36.jpg
[2]: https://habrahabr.ru/company/cloud4y/blog/348080/
[3]: https://tools.cisco.com/security/center/viewAlert.x?alertId=56610
[4]: https://habrahabr.ru/post/348080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=348080#habracut

Pages: 1 ... 120 121 122 123 124 125 126 127 128 129 130 131 132 133