RSS
Pages: 1 ... 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 210
[>] Совсем просто про минимальное идеальное хеширование, основанное на графах
habra.14
habrabot(difrex,1) — All
2015-03-31 10:30:03


Представим, что перед нами стоит классическая задача получить данные по какому-то ключу. Причем количество данных и их ключей заранее известно. Как решать подобную задачу? [Читать дальше →][1]

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

[>] Стань повелителем загрузки Linux
habra.14
habrabot(difrex,1) — All
2015-03-31 10:30:03


Сначала мы научимся исследовать установленные в компьютере устройства прямо во время загрузки с помощью udev (на примере подбора настроек видеокарт для Xorg). Затем оптимизируем систему для сетевой загрузки, и переведём её в режим «только для чтения» с помощью обработчика в файле initramfs, что позволит одновременную работу с одним образом на десятках компьютеров. Попробуем NFS заменить на NBD, а TFTP на HTTP, чтобы ускорить загрузку и снизить нагрузку на сеть. В конце вернёмся в начало — к загрузочному серверу. ![][1] Данная статья скорее исследование, а не готовое руководство (все решения работают, просто они не всегда оптимальны). Тем не менее, у вас появится достаточно знаний, чтобы сделать всё так, как захотите именно вы. Начало смотрите здесь: [Первоначальная настройка сервера][2] [Подготовка образа для загрузки по сети][3] [Читать дальше →][4]

[1]: //habrastorage.org/files/7a7/b69/abc/7a7b69abca3b47c69975721d79c531f9.jpg
[2]: http://habrahabr.ru/post/253256/
[3]: http://habrahabr.ru/post/253573
[4]: http://habrahabr.ru/post/254415/#habracut

[>] Ценовая эластичность в ритейле
habra.15
habrabot(difrex,1) — All
2015-11-19 19:00:06


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



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

[1]: http://habrahabr.ru/company/datawiz/blog/271169/
[2]: http://habrahabr.ru/post/271169/#habracut

[>] Грид, группировка данных и OData
habra.14
habrabot(difrex,1) — All
2015-03-31 10:30:03


В одной из прошлых статей мы кратко рассказали, как грид контролы работают с удаленным сервером, используя OData протокол. Большинство современных грид контролов позволяют удобно группировать данные по нескольким колонками. Рассмотрим подробнее, как формулируются запросы к REST серверу, в случае, когда грид производит автоматическую группировку данных.

# Удобство (зачем это нужно)

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

[1]: http://habrastorage.org/getpro/habr/post_images/483/86a/4a8/48386a4a888ccd2a53f55d3be7e134a2.png
[2]: http://habrahabr.ru/post/254413/#habracut

[>] Нестандартное использование сервиса мониторинга сайтов
habra.14
habrabot(difrex,1) — All
2015-03-31 11:30:05


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

[1]: //habrastorage.org/files/775/3b6/4bd/7753b64bdd554d51970f76f84c2b6f83.png
[2]: http://habrahabr.ru/post/253893/#habracut

[>] Как переписать большой проект или безболезненный для бизнеса рефакторинг
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:08




> Вопрос, который мне задают чаще всего, — как разговаривать о рефакторинге с руководителем?
>
>
>
> В таких случаях я даю несколько спорный совет: не говорите ему ничего!
>
>

_Мартин Фаулер, «Рефакторинг. Улучшение существующего кода»_ Устаревание кода, трудности с поддержкой, непредсказуемые баги — эти термины один за другим появляются в жизни разработчика по мере разработки продукта. И если первое — это скорее интересы разработчика, то последнее — это прямая проблема бизнеса. В этой статье я хочу поделиться опытом переписывания большого проекта и как бонус привести пару кусков кода, которые помогли нам и, надеюсь, помогут вам начать этот интересный путь. [Читать дальше →][1]

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

[>] Регулярные выражения и математический парсер
habra.15
habrabot(difrex,1) — All
2015-11-19 22:00:04


Когда-то давно, мне понадобился парсер математических выражений на C#. Конечно, скачать готовую реализацию — не проблема. Но вот только Интернета у меня в те годы не было. В итоге абсолютно без раздумий и без теоретических основ парсеров, конечных автоматов и прочего он был написан через регулярные выражения. Минут за 10. Стоит отметить, что нужны были только арифметический действия и скобки. Поддержка тригонометрических функций и прочего не требовалась. [Читать дальше →][1]

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

[>] Ждем вас на EMC Technology Day #3
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:10


Приглашаем всех посетить наше традиционное студенческое мероприятие – EMC Technology Day #3. В этом году конференция пройдет ![image][1] Специально для вас мы переработали формат конференции, и в этот раз наши ведущие технические эксперты представят вам свои зажигательные речи в формате 18-минутных TED-talks. Это уникальный шанс за один день узнать, чем занимается почти каждое из подразделений нашего центра разработок. Подробная информация о мероприятии представлена по ссылкам: [vk.com/emctechnologydayinsuai][2] [itstartupschool.guap.ru/program][3] Участие бесплатное, по предварительной регистрации. Ждем всех! Под катом вы сможете найти предварительную версию программы мероприятия. [Читать дальше →][4]

[1]: http://habrastorage.org/files/4ec/92a/db3/4ec92adb3f9446948663eff5b120e315.PNG
[2]: http://vk.com/emctechnologydayinsuai
[3]: http://itstartupschool.guap.ru/program
[4]: http://habrahabr.ru/post/254367/#habracut

[>] [Из песочницы] Полезные НЕ советы программисту
habra.15
habrabot(difrex,1) — All
2015-11-19 22:00:04


Я программист с небольшим стажем, но уже делаю свои первые робкие шаги по карьерной лестнице. Я много читаю и самообучаюсь, иногда что-то пробую в своей практике. И теперь я готов поделиться с вами несколькими советами по программированию которые очень помогают мне в моей каждодневной работе. Ко всем советам я пришел сам и они многократно опробованы в моих проектах. [Читать дальше →][1]

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

[>] Типичные грабли на пути программиста от Junior'а к Senior'у
habra.15
habrabot(difrex,1) — All
2015-11-20 06:30:06


Молодой программист, едва закончивший или ещё даже не закончивший ВУЗ, готов свернуть горы, и ему близлежащее будущее кажется таким: ![][1] Но более опытные товарищи знают, что на самом деле на его пути давно уже заботливо разложены грабли и путь от Junior'а к Senior'у выглядит как-то так: ![][2] Давайте вспомним некоторые типичные грабли, на которые мы все (ну или большинство) наступали сами того не замечая. Конечно, для опытных разработчиков многое покажется очевидным капитанством, однако молодых специалистов такие ловушки могут легко увести на темную сторону силы. [Читать дальше →][3]

[1]: https://habrastorage.org/files/c74/f79/7f9/c74f797f992f4e53b6962179628fe36e.jpeg
[2]: https://habrastorage.org/files/bf6/e29/b5d/bf6e29b5ddfb47df90a43768fd0dc758.jpg
[3]: http://habrahabr.ru/post/271297/#habracut

[>] Clickberry — пожалуй самая мощная видео-платформа на MS Azure теперь open source
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:10


Сколько существует индустрия разработки ПО, столько и идет вечная битва закрытого кода с открытым. Сколько копий было сломано, не пересчитать. Мы, в Clickberry, тоже в этой битве, 3 года на одной стороне, а вот теперь, можете считать нас перебежчиками, мы на другой. Встречайте нас в стане open source. Для тех кто не знает, Clickberry — это платформа создания, хранения и дистрибуции видео в общем и интерактивного видео в частности. [Читать дальше →][1]

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

[>] Что нового в Ruby 2.3
habra.15
habrabot(difrex,1) — All
2015-11-20 11:30:04


На прошой неделе вышел [превью Ruby 2.3.0][1]. Что есть интересного из изменений:

* оператор безопасной навигации вглубь объектов (safe navigation operator), [\#11537][2]
* в Hash и Array добавлен метод `dig` для доступа вглубь вложенных хэшей или массивов [\#11688][3]
* движение в сторону неизменяемых (frozen) по умолчанию строковых литералов ([обоснование][4], обсуждение [\#11473][5]

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

[1]: https://www.ruby-lang.org/ru/news/2015/11/11/ruby-2-3-0-preview1-released/
[2]: https://bugs.ruby-lang.org/issues/11537
[3]: https://bugs.ruby-lang.org/issues/11688
[4]: https://bugs.ruby-lang.org/issues/8976#note-30
[5]: https://bugs.ruby-lang.org/issues/11473
[6]: http://habrahabr.ru/post/271301/#habracut

[>] IO Ninja – программируемый эмулятор терминала/сниффер
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:10


![ioninja][1]Приветствую вас, уважаемые хабровчане! Сегодня я хотел начать рассказ об одном интересном продукте представляемой мной на хабре компании [Tibbo][2]. Продукт этот может оказаться полезен широкому кругу IT-профессионалов, включая системных администраторов, специалистов по информационной безопасности, и, наконец, простых разработчиков, которым нет-нет, да и приходится программировать общение с устройствами и другой низкоуровневый ввод/вывод. Разговор пойдёт про программируемый терминал/сниффер [IO Ninja][3] (здесь и далее я буду опускать слово «эмулятор» и говорить просто «терминал»). Подозреваю, что само определение «терминал/сниффер» может выглядеть достаточно непривычно, если не сказать странно. Поэтому начнём с истории возникновения IO Ninja. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/679/b09/a22/679b09a22de0cc3697e26879e0893973.png
[2]: http://tibbo.com
[3]: http://tibbo.com/ioninja/
[4]: http://habrahabr.ru/post/254381/#habracut

[>] Примеры фишинговых сообщений электронной почты
habra.15
habrabot(difrex,1) — All
2015-11-20 17:00:05


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

[1]: https://habrastorage.org/files/cc1/6b5/d6e/cc16b5d6ee184d51aedf4cfc7fa9f49f.png
[2]: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%8F
[3]: http://habrahabr.ru/post/271123/#habracut

[>] Как создавать и зарабатывать на SaaS | Часть 17 | Персональные данные и врачебная тайна в облаке
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:10


Сегодня сухой пост, написанный в ходе плотных консультаций с юристами компании [Зарцин и партнеры][1] и стартапа [Dental Cloud][2]. Добавить мне нечего, по-этому читаем и обращаемся к [Людмиле Харитоновой][3] за разъяснениями и консультациями. И внимание(!) в нем ссылки на 16 нормативно-правовых актов и предлагаю сначала сбегать за попкорном. **Кейс** Ключевой вопрос для обсуждения: «Может ли [SaaS сервис][4] передать третьему лицу на обработку и хранение данные, приравненные к врачебной тайне»? Потенциальный провайдер компания [Облакотека,][5] предоставляющая PaaS [«Платформа AzuRus»][6] В кейсе персональные данные (ПДн), содержащие сведения о здоровье рассматриваются в кейсе, как производная от ПДн и по-этой причине речь пойдет, в т.ч. и о последних в целом. ![image][7] [Читать дальше →][8]

[1]: http://www.zarlaw.ru/
[2]: https://dentalcloud.pro/
[3]: https://www.facebook.com/har.urist?fref=ts
[4]: https://dentalcloud.pro/
[5]: http://oblakoteka.ru/
[6]: http://oblakoteka.ru/about/news/zapushhena-novaya-platforma-azurus-s-linejkoj-tarifnyix-planov-waz/
[7]: http://habrastorage.org/getpro/habr/post_images/e99/2c1/2bf/e992c12bf9703a6171ecec0cc1e69ea3.jpg
[8]: http://habrahabr.ru/post/254423/#habracut

[>] Разработка защищенных банковских приложений: главные проблемы и как их избежать
habra.15
habrabot(difrex,1) — All
2015-11-20 20:30:04


[![][1]][2] В прошлом году злоумышленники совершили на 30 % больше атак на российские банки, чем годом ранее. Пытались вывести около 6 млрд рублей. Часто атака становится возможной из-за недостаточной защищенности финансовых приложений. По нашей [статистике][3], более половины систем дистанционного банковского обслуживания (54 %) содержали XSS-уязвимости, которые позволяют осуществить MitM-атаку и перехватить доступ к интернет-банкингу. С мобильными банковскими приложениями ситуация выглядит не лучше: 70 % «кошельков» для Android и 50 % для iOS в 2014 году содержали уязвимости, достаточные для получения доступа к счету. Выявлять уязвимости на ранней стадии гораздо дешевле, чем потом расхлебывать последствия их эксплуатации. В середине октября эксперты Positive Technologies Тимур Юнусов и Владимир Кочетков провели двухдневный мастер-класс по безопасной разработке банковских приложений. Сегодня мы представляем краткий пересказ. Разговор о проблемах безопасности и их возможных решениях следует начать с типичных проблем защищенности банковских приложений. [Читать дальше →][4]

[1]: https://habrastorage.org/files/f99/d85/923/f99d8592320d4f2f9cc38d98de93cd3d.jpg
[2]: http://habrahabr.ru/company/pt/blog/271287/
[3]: http://habrahabr.ru/company/pt/blog/258369/
[4]: http://habrahabr.ru/post/271287/#habracut

[>] Тревел-стартапы. Как программистов на триллионный рынок заманивают: кофаундеры, вакансии, хакатоны
habra.15
habrabot(difrex,1) — All
2015-11-20 23:30:03


![image][1] Яндекс, Рамблер, Qiwi очертили флажками территорию в области тревел-сервисов. Движуха вокруг рынка путешествий набирает обороты, и многие не стесняются и используют выражение next big thing. Скоро стартует [конференция на тему тревел-стартапов][2], где можно будет попробовать свои силы и послушать концентрированную аналитику от экспертов и практиков, разобраться, что происходит на рынке внутреннего туризма. Все больше людей в ближайшее время будет отдыхать в России, но готов ли к этому рынок? Что происходит с тревел-стартапами и как на это реагируют ключевые игроки рынка? В качестве ДЗ — эта статья, чтобы за 10-20 минут понять, что востребовано в мире и какие ИТ-специалисты нарасхват. Вот только некоторые идеи для тревел-стартапов, которые я нашел в ходе подготовки статьи: Uber для парусников, Airbnb для лодок, экскурсоводы-волонтеры, мобильные путеводители и ассистенты, билеты и заселение в последний час по скидкам, расшаривание своих маршрутов, нетворкинг для предпринимателей во время путешествий, виртуальный инкубатор тревел-стартапов, зарабатывание очков за поселение гостей, каршерринг для путешественников, уникальный User eXperience во время путешествий, гастрономические фичи, покупка товаров duty-free еще до прохождения паспортного контроля, дополненная реальность (владельцы смартфонов могут увидеть исторические достопримечательности такими, какими они были изначально), железячные стартапы (прикручивание GoPro к смартфону), кроссхостельские услуги и пр. Под катом подборка тревел-стартапов (в т.ч. полезных и для удалёнки), на которые можно посмотреть и сделать для себя выводы, список вакансий, чтобы понять, в каких программистах нуждается отрасль, а так же описания нескольких (прошедших) хакатонов. [Читать дальше →][3]

[1]: http://pageofvomit.files.wordpress.com/2011/11/forrest-gump-original.jpeg
[2]: http://tceh.com/event/feedback-travel/?utm_source=habrahabr.ru&utm_medium=tcehtravel&utm_campaign=feedback-travel
[3]: http://habrahabr.ru/post/270971/#habracut

[>] [Из песочницы] Python библиотека для Photon Server
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:10


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

[1]: https://www.exitgames.com/
[2]: http://habrahabr.ru/post/254455/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 17. «Pizza and Plastic»
habra.15
habrabot(difrex,1) — All
2015-11-20 23:30:03


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а также некоторые методы работы спецслужб по поимке хакеров и кардеров. Квест по переводу книги начался летом в ИТ-шном лагере для старшеклассников — «[Шкворень: школьники переводят книгу про хакеров][3]», затем к переводу подключились и Хабраюзеры, и даже немного редакция. Второе дыхание «квест по переводу книги» получил благодаря компании [Edison][4]. [В предыдущей главе][5] речь шла о том, как доверчевых кардеров раскрыли, используя контролируемую VPN, а разработчики [Edison][6] рассказали, что они создавали VPNку от анонимного заказчика. А буквально пару дней назад к ним обратился человек с Хабра с запросом помочь построить анонимный чат. Так что тема разработки в области анонимных VPN сервисов жива и актуальна.

#### Глава 17. «Пицца и Пластик»

_ (за перевод спасибо Ashot Ogoltsov)_ На верхнем этаже небоскреба на Post Street, на полу из ламината, стоял компьютер Макса — тихий и холодный. Это была маленькая квартира, размером чуть больше тюремной камеры. Эту квартиру нашел ему Крис, и она соответствовала всем его запросам: маленькая площадь, огромное количество соседских Wi-fi сетей. Квартира была декорирована под светлое дерево, в ней стоял большой холодильник и была кровать-раскладушка, которая убиралась в стену. Это была чистенькая квартирка площадью в 27 квадратных метров без каких-либо излишеств, где Макс скрывался после того как оставил свой пентхаус. Он получил неплохой навар с операции с Ситибанком и не занимался взломами уже несколько месяцев. Крису оставалось лишь приготовить поддельные документы для полугодовой аренды квартиры и заплатить депозит в размере 500$. За окном виднелись магазины и квартиры, которые, сами того не зная, уже были готовы предоставить компьютеру Макса канал для связи. Как только его компьютеры были включены, а антенна поймала канал какого-то простофили, Макс потратил немного времени, чтобы вернуться к своим делам. Как обычно он нацеливался на фродеров и для этого он разработал несколько новых методов кражи данных. Он был в курсе последних фишинговых атак, так как мониторил оповещения от организации под APWG (Анти-Фишинговая Группа [www.antiphishing.org][7] ). Оповещения включали адреса фишинговых сайтов и связанные имейлы. Этого было достаточно для Макса, чтобы проникать на сервера фишеров и перепохищать украденные данные. После чего он удалял информацию на серверах, чем крайне разочаровывал фишеров. Другие атаки были менее нацелены, Макс всё еще входил в ряды white-hat хакеров, и присутствовал в адресатах частной имейл рассылки, где часто раскрывались 0-day уязвимости. Днями и ночами компьютеры Макса сканировали сервера в поисках уязвимостей. Однажды, Макс сканировал Windows сервер на предмет переполнения буфера и нашел то, что привело его в мир кардеров. [Читать дальше →][8]

[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://www.edsd.ru
[5]: http://habrahabr.ru/company/edison/blog/270831/
[6]: http://www.edsd.ru
[7]: http://www.antiphishing.org
[8]: http://habrahabr.ru/post/270951/#habracut

[>] [Из песочницы] Как мы нашли способ добавления в сообщество любого пользователя VK и получили за это $10 тыс
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:11


Как-то раз мы с другом написали расширение для браузера, которое отслеживало все клиентские запросы к серверу на сайте vk.com. Наше расширение не просто отслеживало, а искало те запросы, где присутствовал ID пользователя. Сначала запросов было очень много. Чтобы уменьшить, мы решили отправлять запросы повторно, а ответы сравнивали с предыдущим запросом. Если ответы были одинаковыми, скрипт нас об этом уведомлял. После чего мы ручками хотели ковырять, но с VK нам это делать не пришлось. ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/files/42c/d9c/51b/42cd9c51b431420798cc43d668af9c73.png
[2]: http://habrahabr.ru/post/254457/#habracut

[>] [Перевод] Копают только вниз
habra.15
habrabot(difrex,1) — All
2015-11-21 01:30:02


Здравствуйте, уважаемые читатели. В последнее время нас заинтересовала серия Зеда Шоу "[The Hard Way][1]", которую хотелось бы как минимум частично перевести на русский язык. Поскольку порой мы действительно не ищем легких путей, начать хотелось бы с книги о языке C: [![][2]][3] Серия ориентирована в первую очередь на начинающих. Для тех, кто любит язык C, а также для их оппонентов, полагающих, что лучше стартовать с чего-нибудь попроще, мы публикуем немного сокращенную статью Эвана Миллера, написанную в конце прошлого года. Возможно, в зависимости от реакции на эту статью, мы решим дополнительно перевести и опубликовать отрывок из книги мистера Шоу либо даже его [ответ на критику][4], высказанную [Тимом Хентенааром][5], а пока приглашаем вас под кат, где, как нам представляется, изложены самые общие соображения в пользу актуальности этой книги. [Читать дальше →][6]

[1]: http://learncodethehardway.org/
[2]: https://habrastorage.org/files/e35/b24/da9/e35b24da96984ad1b6010240ac8984d7.jpg
[3]: http://habrahabr.ru/company/piter/blog/271347/
[4]: http://zedshaw.com/2015/09/28/taking-down-tim-hentenaar/
[5]: http://hentenaar.com/dont-learn-c-the-wrong-way
[6]: http://habrahabr.ru/post/271347/#habracut

[>] Аудио watermark для приложений Second Screen
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:11


Для приложений [Second Screen][1] cуществует два основных способа синхронизации контента по аудиосигналу (Automatic Content Recognition, ACR): на базе аудио fingerprints и с использованием цифровых водяных знаков (ЦВЗ, digital watermark). Эти технологии имеют принципиально разные подходы. Fingerprints — это компактное и устойчивое к искажениям представление самого контента. Процесс распознавания заключается в создании fingerprint аудиосигнала и поиске по базе эталонных образцов, с последующим извлечением требуемых данных, например, названия трека и смещения запроса относительно его начала. В случае с аудио ЦВЗ необходимая и достаточная для распознавания информация скрывается непосредственно внутри самого аудиосигнала. Я уже [ писал ][2] о достигнутых нами результатах по распознаванию аудио на основе fingerprints. В этом посте хочу рассказать об аудио ЦВЗ и проблемах, с которыми мы столкнулись при построении ACR на их основе. [Читать дальше →][3]

[1]: http://en.wikipedia.org/wiki/Second_screen
[2]: http://habrahabr.ru/post/232463/
[3]: http://habrahabr.ru/post/254379/#habracut

[>] Security Week 47: {не}взломанный Tor, Gmail предупреждает о дешифровке, атака штрих-кодами
habra.15
habrabot(difrex,1) — All
2015-11-21 05:30:02


![][1]20 ноября 1985 года мир впервые познакомился с операционной системой Windows. Нет, не так. С операционной системой Windows 1.0 познакомилась довольно узкая прослойка людей, связанных с IT, которых ровно 30 лет назад было гораздо меньше, чем сейчас. [Пресс-материалы][2] к запуску были распечатаны на бумаге, с теплыми, ламповыми фотографиями интерфейса, сделанными с монитора пленочным фотоаппаратом. По-хорошему, Windows 1.0 и операционкой-то назвать нельзя, скорее надстройкой над MS-DOS. В пресс-релизе цитируется Билл Гейтс: «Windows дает пользователям беспрецедентные возможности уже сегодня, а также является фундаментом для развития в области программного и аппаратного обеспечения на несколько лет вперед». И в целом он был прав, так все и вышло. 30 лет спустя Microsoft объявляет о масштабной инициативе в области безопасности, а последователь Билла Гейтса и Стивена Баллмера Сатья Наделла [называет][3] Windows 10 самой защищенной операционной системой. А вот с этим можно поспорить, но [анонсированные][4] планы по улучшению безопасности платформы, безусловно, масштабные: новая система управления безопасностью мобильных устройств для компаний (причем с поддержкой iOS и Android), расширение штата экспертов внутри компании, в том числе для обработки аналитики с миллионов Windows-машин по всему миру. Большая часть инициатив в анонсе направлена на корпоративную безопасность, но и обычным пользователям обещают больше защиты от вредоносных программ, кражи паролей и прочего. Насколько серьезно изменится ситуация с безопасностью, покажет время, на этой неделе Microsoft скорее обнародовала план, а не отчитывалась о результатах. Несмотря на разницу в технологиях и возможностях, между Windows 1.0 и Windows 10 есть много общего не только в названии. Пережив долгосрочный период почти абсолютной монополии, платформа Microsoft, как и 30 лет назад, всерьез конкурирует с другими ОС. А вот в сфере безопасности изменилось вообще все: от самой постановки проблемы до масштаба угроз. Тут не только Microsoft, а всем разработчикам софта и железа есть над чем поработать. Посмотрим, что случилось на этой неделе. Все выпуски дайджеста — [тут][5]. [Нажмите эту кнопку для начала работы][6]

[1]: https://habrastorage.org/files/4db/84e/d38/4db84ed38f6a457d9c2d4c566106b6b8.png
[2]: http://blog.seattlepi.com/microsoft/2010/10/14/found-by-ray-ozzie-microsoft-windows-1-0-press-kit/
[3]: http://www.computing.co.uk/ctg/news/2435176/windows-10-is-the-most-secure-operating-system-ready-for-deployment-in-all-enterprise-situations-claims-nadella
[4]: http://blogs.microsoft.com/blog/2015/11/17/enterprise-security-for-our-mobile-first-cloud-first-world/
[5]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[6]: http://habrahabr.ru/post/271295/#habracut

[>] Почему Касперский определяет на сайте троян HEUR:Trojan.Script.Generic? (и возможный способ устранения)
habra.14
habrabot(difrex,1) — All
2015-03-31 13:00:11


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

#### Угроза «HEUR:Trojan.Script.Generic»

Возможно у Вас есть сайт и Вы не использовали библиотеки типа _jQuery_, а решили просто на яваскрипте «спагетти-код на сайте намотать» (пусть как я, ради спортивного интереса). И тут Вы наверное даже не ожидаете такой «подлости» от любимого антивируса Касперского, тем более если Вы им не пользуетесь… а пользуется Ваш друг. Он то и увидит такое сообщение на Вашем сайте «объект заражен HEUR:Trojan.Script.Generic»: ![][1] А тем временем, другие антивирусы молчат. [Погружение на глубину][2]

[1]: //habrastorage.org/files/c2b/29d/d68/c2b29dd682684990a3ac478a6371f7c3.png
[2]: http://habrahabr.ru/post/254437/#habracut

[>] Вредоносное ПО для Android становится все более изощренным
habra.15
habrabot(difrex,1) — All
2015-11-21 07:00:02


![][1] Поскольку мобильная операционная система Android является одной из наиболее распространенных, злоумышленники постоянно разрабатывают все новые и новые вредоносы для этой ОС. В принципе, ПО такого рода появляется каждый день, и большинство программ особого упоминания не заслуживает. Но есть и adware, принцип внедрения и работы которого весьма интересен (а для неопытного пользователя — и очень опасен). Распространяется adware, о котором идет речь, вполне испытанным среди злоумышленников способом: перепаковываются обычные приложения от Twitter, Facebook или даже Okta (сервис двухфакторной аутентификации). Эти приложения с трояном загружаются не в каталог Google Play, а на сторонние ресурсы/каталоги, многие из которых также весьма популярны. С точки зрения пользователя, который пытается скачать какое-то из троянизированных приложений, все хорошо, при этом во многих случаях программа после установки работает, как нужно. Но во время установки на телефон жертвы устанавливается и мощное приложение-троян, которое использует эксплоиты для получения рута. Эксплоиты, найденные в трех семействах таких приложений (Shedun, Shuanet, и ShiftyBug) позволяют устанавливаться зловреду в качестве системного приложения с соответствующим статусом, который имеют только системные процессы. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/717/40a/245/71740a24570fb314d2dc190b1771227a.jpg
[2]: http://habrahabr.ru/post/271365/#habracut

[>] Самостоятельная сборка 3d-принтера или покупка готового оборудования для конструирования. ПО. Часть 2
habra.14
habrabot(difrex,1) — All
2015-03-31 14:00:05


В первой части, было [показано][1] и [рассказано][2] как собрать софт: [Repetier-host][4] (для связи компьютера с платой управления 3D-принтером) и[ Arduino IDE][5] (для работы с прошивкой микроконтроллера). И сам [3D-принтер][6].О тонкостях настройки этого программного обеспечения будет рассказано в этой части: [Читать дальше →][7]

[1]: http://www.youtube.com/watch?v=HrYUyv-Yjc0
[2]: http://habrahabr.ru/company/masterkit/blog/253240
[3]: //habrastorage.org/files/a4d/38a/008/a4d38a0086814ab2b6da88675ce004c1.jpg
[4]: http://www.repetier.com/downloads/
[5]: http://arduino.cc/en/main/software
[6]: http://3d.masterkit.ru/shop/3d-printers/1889560
[7]: http://habrahabr.ru/post/253901/#habracut

[>] Сделаем код чище: работа с 64-битными регистрами оборудования в Linux
habra.15
habrabot(difrex,1) — All
2015-11-23 08:00:05


Нередко у программистов, пишущих драйверы, возникают некоторые трудности с обменом данными в 64-битном формате. Давайте разберём некоторые ситуации. [Читать дальше →][1]

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

[>] [Перевод] Как интернет вещей меняет подход к безопасности в корпорациях
habra.14
habrabot(difrex,1) — All
2015-03-31 15:30:03


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

[1]: //habrastorage.org/files/314/0ae/c1b/3140aec1bdf8420494c34c0a98d180f3.jpg
[2]: http://habrahabr.ru/company/1cloud/blog/254505/
[3]: https://1cloud.ru/
[4]: http://habrahabr.ru/post/254505/#habracut

[>] [Перевод] Перевод: Этика Code Review
habra.15
habrabot(difrex,1) — All
2015-11-23 11:00:02


![][1]Недавно мне на глаза попалась небольшая, но очень емкая статья одного разработчика, в которой он рассматривает code reiew с довольно неожиданной стороны. Большинство материалов, посвященных code review, рассказывают о технических вопросах: какими утилитами пользоваться, как интегрировать code review в процесс continuous integration и прочие технические моменты. Автор же рассматривает code review как социальное взаимодействие. И, на мой взгляд, об этом стоит почитать. Под катом — перевод. [Читать дальше →][2]

[1]: https://habrastorage.org/files/2f5/b43/cb6/2f5b43cb67f3473daf99617072742377.png
[2]: http://habrahabr.ru/post/270881/#habracut

[>] Итоги GeekWeek. Как трудоустроиться, на чем разрабатывать и какие системы использовать
habra.15
habrabot(difrex,1) — All
2015-11-23 11:00:02


**Не так давно мы уже[ писали][1] о GeekWeek-2015. Онлайн-конференция проходит [буквально сейчас][2], и вы ещё можете успеть захватить последний день вебинаров. Поверьте, там есть на что посмотреть и кого послушать. Мы же, в свою очередь, начинаем подводить итоги. ** ![][3] Полсотни респондентов постарались максимально охватить все актуальные темы IT-современности. Мы говорили про языки и методы программирования, делились опытом трудоустройства, тимлидинга и создания собственных компаний, немного сплетничали и вполне серьёзно рассуждали о перспективах цифрового мира. Итак, обо всём по порядку.

##

**Вопросы построения карьеры обсуждались на конференции, пожалуй, наиболее часто. **Безусловно, этому поспособствовала ситуация в стране и мире, но и уровень гостей в не меньшей степени располагал к очевидным вопросам о том, как достигнуть таких же успехов. [Иван Немытченко][4] из Skillgrid посоветовал не гордиться лишь одним университетским дипломом, а прямо во время обучения стремиться применять навыки в реальном мире. [Владимир Железняк][5] из IT-Boost и [Иван Бут][6] (ex-Google) затронули тему прохождения собеседований в крупных компаниях и задали ключевой вопрос: «а надо ли вам это?». <a href=«[geekbrains.ru/events/158][7]? [Читать дальше →][8]

[1]: http://habrahabr.ru/company/geekbrains/blog/269681/
[2]: http://geekweekconf.com/live?utm_source=habrahabr&utm_medium=affiliate&utm_campaign=habrahabr_22.11.15
[3]: https://habrastorage.org/files/a46/2e2/5f8/a462e25f88cc43df85372b63e99ffee8.png
[4]: http://geekbrains.ru/events/153?utm_source=habrahabr&utm_medium=affiliate&utm_campaign=habrahabr_22.11.15
[5]: http://geekbrains.ru/events/187?utm_source=habrahabr&utm_medium=affiliate&utm_campaign=habrahabr_22.11.15
[6]: http://geekbrains.ru/events/148?utm_source=habrahabr&utm_medium=affiliate&utm_campaign=habrahabr_22.11.15
[7]: http://geekbrains.ru/events/158
[8]: http://habrahabr.ru/post/271395/#habracut

[>] [Перевод] Как вести секретную переписку в мире, где за вами постоянно следят: методы Эдварда Сноудена. Часть 2
habra.15
habrabot(difrex,1) — All
2015-11-23 12:00:03


![][1] _В [Части 1][2] мы разобрались с современными возможностями анонимной передачи зашифрованных сообщений, доступными простому пользователю и разобрали практическое применение популярных в этой области технологий на примере Mac OS X. Во второй части речь пойдет о том, как настроить работу анонимной шифрованной переписки на Windows, Linux и Android._ [Читать дальше →][3]

[1]: https://habrastorage.org/files/bfc/e6b/725/bfce6b725d884554939f0d21118eef54.jpg
[2]: http://habrahabr.ru/company/it-grad/blog/271165/
[3]: http://habrahabr.ru/post/271455/#habracut

[>] [Из песочницы] Игра «Жизнь» на логических элементах
habra.15
habrabot(difrex,1) — All
2015-11-23 13:00:03


Заранее предупрежу: довольно много картинок. В данной статье речь пойдёт о реализации игры «Жизнь» на логических элементах в симуляторе «Atanua». [Читать дальше →][1]

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

[>] Разбор задач первого квалификационного раунда Russian Code Cup 2015
habra.14
habrabot(difrex,1) — All
2015-03-31 15:30:04


![][1] В субботу 28 марта прошел первый квалификационный раунд Russian Code Cup 2015. 3093 программиста решали задачи в течение двух часов, из них хотя бы одно правильное решение прислали 1012 участников. Верное решение для всех пяти задач сдали двое: Геннадий Короткевич и Петр Митричев. Всего участники отправили на проверку 4069 решений, 2517 на С++, 705 на Java, 425 на Python, 318 на C#. Правильных решений — 1745, из них на С++ прислано 1099, на Java — 339. Первым за рекордные 2 минуты и 2 секунды решил задачу A (Магические карточки) победитель RCC 2014 года — Геннадий Короткевич (tourist). Он же первым решил задачи B (Домашнее задание) за 6:50 и C (Конгресс юных любителей) за 25:43. Задачу D (Расшифровка) за 51 минуту и 42 секунды решил победитель RCC 2013 года Петр Митричев (Petr). А последнюю задачу E (Занимательная криптография) за 1 час 2 минуты и 52 секунды решил участник из Японии (anta). Последняя успешная попытка совершена Михаилом Тихомировым за 6 секунд до конца соревнования. Самая простая задача A, самая сложная задача — E, задачу E сдало всего 13 человек. [Читать дальше →][2]

[1]: //habrastorage.org/files/7f8/077/470/7f807747002548d79d5e9919f646d77d.jpg
[2]: http://habrahabr.ru/post/254363/#habracut

[>] Динамическое создание Windows и Web CRUD-интерфейсов и не только для бизнес приложений с XAF + Entity Framework. Часть 1
habra.15
habrabot(difrex,1) — All
2015-11-23 13:30:03




##

У нас есть старенькое веб приложение DXLibrary для учета литературы и поиска интересных пополнений в местной библиотеке, написанное много лет назад за пару часов одним из разработчиков на DevExpress eXpressApp Framework (XAF). Данные приложения хранятся в Microsoft SQL Server базе, а работа с ними ведется через DevExpress eXpress Persistent Objects ORM (XPO). Так как [сие чудо][1] до сих пор сносно выполнет свои незаурядные функции, так что мне захотелось немного освежить его интерфейс под текущие реалии. Помимо фейслифтинга хочется сменить XPO на Microsoft ADO.NET Entity Framework (EF) под капотом. Основным мотивом тут для меня является не то, что EF чем-то лучше или хуже (обе ORM давно доказали, что отлично подходят для своих задач), а то, что до сих пор на Хабре не было русскоязычного туториала по интеграции XAF и EF, хотя они уже «не первый год замужем». Есть огромное желание восполнить этот пробел + элементарно было несколько запросов от пользователей «библиотекаря», которые можно заодно запилить в новой версии. Наконец, с версии [15\.1 XAF][2] предоставляет обновлённый веб интерфейс, заточенный в том числе для touch-устройств, который хотелось бы лишний раз показать сообществу, что греха таить:-) Это первая и вводная часть из серии постов, где я попытаюсь показать по шагам вариант ускоренной генерации как веб, так и настольных line-of-business (LOB) приложений по существующей базе либо готовой модели Entity Framework, представляющей структуру данных вышеописанной предметной области. Пользовательский интерфейс будет создаваться автоматически на базе микса технологий ASP.NET WebForms/HTML5 и WinForms, а также соответствующих визуальных компонент DevExpress, скомпонованных вместе в рантайм под чутким руководством XAF — нашего UI фреймворка (узнать больше на [Хабре][3], [сайте][4]), а по сути сложившегося за почти 10 лет существования и постоянно расширяемого набора best patterns & practices для быстрого создания Office-like бизнес приложений для .NET разработчиков. [Начать прохождение и также найти купон внутри][5]

[1]: https://habrastorage.org/files/3f2/972/5e4/3f29725e44fa4970b18b1daff639695e.png
[2]: https://www.devexpress.com/Subscriptions/New2015-1.xml?product=xaf
[3]: http://habrahabr.ru/search/?q=%5Bxaf%5D&target_type=posts
[4]: http://www.devexpress.com/xaf
[5]: http://habrahabr.ru/post/271331/#habracut

[>] RapidMiner – Data Mining и BigData у вас дома, быстро и без подготовки (почти)
habra.14
habrabot(difrex,1) — All
2015-03-31 18:00:02


![][1] Пока маркетологи обмазываются BigData и бегают в таком виде на пресс-конференциях, я предлагаю просто скачать бесплатный инструмент с тестовыми наборами данных, шаблонами процессов и начать работать. Закачка, установка и получение первых результатов — минут 20 максимум. Я говорю про **RapidMiner ** — опенсорсную среду, которая при всей своей бесплатности некисло «уделывает» коммерческих конкурентов. Правда, сразу скажу, что разработчики всё равно её продают, а в опенсорс отдают только предпоследние версии. Дома можно попробовать потому, что есть вообще бесплатные сборки со всей-всей логикой с всего лишь двумя ограничениями — максимальный объем используемой памяти 1 Гб и работа только с обычными файлами (csv, xls и т.п.) в качестве источника данных. Естественно, в малом бизнесе это тоже не проблема. [Читать дальше →][2]

[1]: //habrastorage.org/files/96c/2eb/c52/96c2ebc529204135a2d1425dc980987d.png
[2]: http://habrahabr.ru/post/254467/#habracut

[>] [Перевод] Забытый на Марсе: исследуем путешествия Марка Уотни из фильма Марсианин
habra.15
habrabot(difrex,1) — All
2015-11-23 14:30:04






_Перевод поста Jeffrey Bryant "[Stranded on Mars: Exploring Travel on Mars in The Martian][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_

----

Не так давно по популярной [книге][4] _The Martian (Марсианин)_ [Энди Вейра][5] был снят [фильм][6], который вышел в прокат второго октября. _Марсианин_ — фильм об астронавте Марке Уотни, оставленном в одиночестве на Марсе. Экипаж Ареса 3, третьего пилотируемого полета на Марс, считал, что он погиб во время эвакуации. Экипаж во время отлёта взял с собой лишь основные средства для спасения и коммуникации. Следующий пилотируемый полет на Марс должен был состояться через четыре года, потому Уотни должен был либо придумать себе план по выживанию в течение этого срока, либо смириться и умереть. В книге прекрасно представляются различные технические детали об условиях и доступных средствах, а также о проблемах, которые возникают в результате использования различных вещей не по их прямому назначению. И эти детали дают нам отличную возможность исследовать приключения главного героя вместе с [Wolfram language.][7] Думаю, сейчас тот самый момент, когда нужно написать: ОСТОРОЖНО, СПОЙЛЕРЫ! С этого момента в статье будут появляться и исследоваться различные аспекты сюжетной линии, её моменты и повороты. И если вам не хотелось бы узнать сейчас некоторые детали сюжета, то я бы порекомендовал сперва прочитать книгу, а затем вернуться и прочитать статью. [Читать дальше →][8]

[1]: http://blog.wolfram.com/2015/09/24/stranded-on-mars-exploring-travel-on-mars-in-the-martian/
[2]: http://blog.wolfram.com/data/uploads/2015/09/The-Martian-Blog.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: http://www.wolframalpha.com/input/?i=The+Martian+book
[5]: http://www.wolframalpha.com/input/?i=Andy+Weir
[6]: http://www.wolframalpha.com/input/?i=The+Martian+movie
[7]: https://www.wolfram.com/language/
[8]: http://habrahabr.ru/post/271469/#habracut

[>] Single Sign-On (SSO): OpenAM + mod_auth_mellon
habra.14
habrabot(difrex,1) — All
2015-03-31 21:30:02


Пост расcчитан на новичков, которые только знакомятся с SSO. В интернете не очень много документации по связке OpenAM и mod\_auth\_mellon, тем более на русском языке. Для быстрого старта буду использовать образы [Docker][1]. Для аутентификации пользователя рассмотрю модуль mod\_auth\_mellon, но можно использовать и другие методы, к примеру [Policy Agent или OpenIG][2].

# Теория

**Технология единого входа (англ. Single Sign-On)** — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации. **OpenAM (Access Management)** — провайдер идентификации (IdP, англ. identity provider), осуществляет аутентификацию пользователя. **mod\_auth\_mellon** — модуль apache, который аутентифицирует пользователя через IdP (OpenAM). [Читать дальше →][3]

[1]: https://www.docker.com/
[2]: http://openam.forgerock.org/doc/webhelp/admin-guide/gateway-or-policy-agent.html
[3]: http://habrahabr.ru/post/254503/#habracut

[>] [recovery mode] Новый ежеквартальный отчет антивирусной лаборатории PandaLabs
habra.15
habrabot(difrex,1) — All
2015-11-23 15:30:04


![][1] Антивирусная лаборатория **PandaLabs** компании **Panda Security** предупреждает в своем очередном ежеквартальном [отчете][2] о волне кибер-атак, в результате которых была нарушена безопасность информации, хранящейся в различных [Читать дальше →][3]

[1]: https://habrastorage.org/files/78b/763/2c0/78b7632c0c834140833de83aba5f06c8.png
[2]: https://pandasecurity.bitrix24.ru/~5letx
[3]: http://habrahabr.ru/post/271341/#habracut

[>] Работаем с Compound File
habra.14
habrabot(difrex,1) — All
2015-03-31 22:30:02


С составными файлами я работаю давно, больше 15 лет. За все время работы у меня накопилось достаточно информации о плюсах и минусах составных файлов. С одной стороны они являются действительно очень удобным хранилищем информации, позволяющим менять данные на лету, с другой стороны это удобство частично нивелируется скоростью доступа к данным. Вообще для чего обычно используют составные файлы? Для всего, что нужно хранить в некоем контейнере (NoSQL подмножество). К примеру, файлы старых версий Microsoft Office от 97 до 2003 включительно (состоящие на самом деле из нескольких десятков файлов), хранились как раз в составном файле. Сейчас тоже хранятся, только в качестве контейнера используется ZIP. Инсталляционные пакеты MSI тоже являются составными файлами, и даже файл кэша эскизов папок Thumbs.db использует этот формат. Правда для того же Word есть целый комплекс утилит (Recovery for Word, Word Recovery Toolbox, Munsoft Easy Word Recovery) восстанавливающих, ну или по крайней мере пытающихся восстановить, поврежденные документы. Выводы можете сделать сами. Хотя, при должной работе с составными файлами проблему их повреждения можно решить (и я покажу как). Ну и, конечно же, несомненным плюсом этого формата является то, что внутри хранилища эмулируется полноценная файловая система со своими файлами и папками. Кстати, нюанс. Перед началом статьи я провел опрос на нескольких форумах, и выяснилось, что подавляющее большинство разработчиков не работают с составными файлами, причем по простой причине — не слышали что это такое. Вот сейчас и закроем этот пробел. [Читать дальше →][1]

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

[>] Философия программирования 6 — Продукт и Проект
habra.14
habrabot(difrex,1) — All
2015-03-31 23:30:02


Разница между продуктом и проектом в том, что при разработке продукта есть план, а при разработке проекта есть исследования. Если у вас есть какая-то не решённая проблема, скажем вы ещё не решили какую базу данных использовать в своём проекте, то вам понадобится этот вопрос изучать, то есть исследовать. Это называется technology research. Исследование, это вовсе не обязательно, что-то совершенно новое в мировом масштабе, если вы строите мост, то вам надо исследовать грунт в данном конкретном месте, и пока этот грунт не исследован, мост, как продукт, ещё не существует, пока что это — проект. Ещё не известно, какой грунт, а значит не известно из чего делать мост, как его укреплять, невозможно посчитать бюджет и распланировать график работ. [Читать дальше →][1]

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

[>] [Перевод] JSONB запросы в PostgreSQL
habra.14
habrabot(difrex,1) — All
2015-04-01 01:00:02


Ранее я писал, как включить поддержку jsonb в [postgres/psycopg2][1]. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON. На эту тему есть [документация][2], но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
id serial primary key,
data jsonb
);

INSERT INTO json_test (data) VALUES
('{}'),
('{"a": 1}'),
('{"a": 2, "b": ["c", "d"]}'),
('{"a": 1, "b": {"c": "d", "e": true}}'),
('{"b": 2}');


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

[1]: http://schinckel.net/2014/05/24/python%2C-postgres-and-jsonb/
[2]: http://www.postgresql.org/docs/9.4/static/functions-json.html
[3]: http://habrahabr.ru/post/254425/#habracut

[>] [Перевод] Учебное пособие по Nim (часть 1)
habra.15
habrabot(difrex,1) — All
2015-11-23 15:30:04




перевести две части «Nim Tutorial». Меня это заинтересовало и я перевёл их самостоятельно, в меру своего разумения. Ежели кто найдёт ошибки (они там наверняка есть — глаз под конец совсем уже замылился), сообщайте в личку, буду править.





## Введение



> “Der Mensch ist doch ein Augentier – schöne Dinge wünsch ich mir.”

_(Цитата из песни «Morgenstern» группы «Rammstein». Примерный перевод: «Но человек – глазастый зверь, – мне нужно множество красивых вещей».)_ Это – обучающий материал (tutorial) по языку программирования _Nim._ Предполагается, что вы знакомы с базовыми концепциями программирования, такими как переменные, типы или команды, но глубокие знания не обязательны. Большое количество примеров по сложным нюансам языка, вы можете найти в официальном руководстве. Все примеры кода в этом документе следуют _руководству по стилю языка Nim._ [Читать дальше →][1]

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

[>] Топ-5 самых дурацких антивирусов. Записки хулигана
habra.14
habrabot(difrex,1) — All
2015-04-01 01:00:02


Дисклеймер: всему сказанному ниже «верить нельзя не верить»… Запятую поставьте сами. На носу 1 апреля, а многие из вас все еще пользуются скучными и устаревшими антивирусами. А ведь если побродить по разным софт-каталогам и поискать чего-нибудь на слово антивирус, можно найти ну очень интересные вещи! [Читать дальше →][1]

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

[>] Хагелин — гений научно-технической мысли
habra.15
habrabot(difrex,1) — All
2015-11-23 15:30:04


**Легендарный изобретатель шифровальных машин — Борис Цезарь Вильгельм Хагелин (1892 -1983)**. Не существует приложений связи, где бы не были применены решения, разработанные фирмой Crypto AG, которую более чем 60 лет назад основал талантливый криптограф Борис Хагелин. ![][1] Номенклатура аппаратуры и программного обеспечения Crypto AG исключительно широка. Известна компания не только шифртехникой для правительственной и военной связи. В офисах большая часть ежедневного обмена сообщениями и данными всё ещё идёт по классическим каналам – PSTN/ISDN, аналоговой или цифровой телефонии и факсу. Конфиденциальность переговоров, факсов и информации в ноутбуках обеспечивается рядом аппаратных решений Crypto AG: PSTN Encryption HC-2203, Secure GSM HC-2423, Fax Ecryption HC-4221, Crypto PC Security HC-6360, Crypto Laptop HC-6835 и другими. Для военных и гражданских применений разработаны [Читать дальше][2]

[1]: https://habrastorage.org/files/53c/ff5/cbb/53cff5cbb74542f9b7fc135889fc06ce.png
[2]: http://habrahabr.ru/post/271387/#habracut

[>] ReactOS Foundation откажется от претензий к логотипу ReactJS в обмен на инвестиции со стороны Facebook
habra.14
habrabot(difrex,1) — All
2015-04-01 03:30:02


![][1] Как говорится, не было бы счастья, да… Некоторое время назад в ReactOS Foundation было принято решение реализовать свое право по защите своих [средств индивидуализации][2], а именно зарегистрированной торговой марки, товарного знака и логотипа (формулировка зависит от конкретной юрисдикции правоприменения). Нас вдохновил успешный опыт проекта [Gnome][3], который [оградил][4] свою торговую марку от посягательств Groupon. Недавно юристы, нанятые Фондом, отправили в Facebook Ireland Limited предупреждение о нарушении торговой марки ReactOS. Дело в том, что Facebook занимается разработкой проекта ReactJS, чей логотип напоминает логотип ReactOS [до степени смешения][5]. Так как в течение длительного срока не последовало ни ответного письма, ни каких-либо соответствующих действий со стороны Facebook, юристы фонда на полных парах готовили судебный иск к социальной сети. Как вдруг с большим опозданием пришел ответ на претензионное письмо… и какой! [Читать дальше →][6]

[1]: //habrastorage.org/files/22c/084/d30/22c084d30a884ed59db3e8385e7e9b29.png
[2]: https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8
[3]: https://www.linux.org.ru/news/gnome/11024572/page3
[4]: https://engineering.groupon.com/2014/misc/gnome-foundation-and-groupon-product-names/
[5]: http://www.youtube.com/watch?v=KVZ-P-ZI6W4
[6]: http://habrahabr.ru/post/254579/#habracut

[>] Backslant – шаблонизатор в стиле slim
habra.14
habrabot(difrex,1) — All
2015-04-01 03:30:02


Захотелось мне сделать шаблонизатор, чтобы как slim, теги чтобы автоматом закрывались и прочее. Красиво же так:

html
head
title
- yield "Плюшка!" + " Чашка чаю!"


Но и этого мне мало, хочу чтобы не было своего недоязыка, хочу чтобы просто питоновские конструкции. А кто захочет себе в ногу стрельнуть и бизнес логики в шаблоны навалить, то это проблема начинашек, мне зачем мучаться размазывая код вьюх в папки типа utils, template\_tags и прочее? А и еще можно кстати угореть так уж угореть — а пусть шаблоны через новый механизм импорта в python 3 тянутся. И если надо что-то от другого шаблона себе вставить, то тоже пусть также работает. А еще, еще пусть каждый шаблон это генератор! [Читать дальше →][1]

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

[>] [Из песочницы] Андроид — кастомные View или ToggleButton 4x4
habra.14
habrabot(difrex,1) — All
2015-04-01 03:30:02


Рано или поздно любого начинающего андроид-разработчика перестает удовлетворять стандартный набор элементов управления. При этом имеется в виду как внешний вид, так и функциональность. И если с внешним видом все более или менее понятно, все достаточно легко кастомизируется, то функционала часто не хватает. Когда (уже достаточно давно) в одном из своих проектов я столкнулся с необходимостью выбора в настройках одного из трех параметров, решение было очевидно — RadioButton. Но по ряду причин, типа экономии места на экране и некоторых других, возникло желание использовать нечто вроде ToggleButton. Поскольку стандартный Toggle имеет лишь два состояния, был использован костыль в виде программной обработки некоей циклично меняющейся переменной, в зависимости от которой менялись свойства стандартного элемента вроде обычной Button или ImageButton – уже даже не помню. Способ вполне работоспособный, однако не без греха. Первый и самый главный – нарушается Генеральная линия партии, призывающая к раздельному хранению ресурсов и программного кода. Ну и при большом количестве подобных элементов управления код теряет всю свою изящность и привлекательность. Инкапсуляция, опять же, жутко страдает. Посему было решено создать кастомный элемент. [Читать дальше →][1]

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

[>] Матрица возможностей современных мессенджеров с упором на безопасность
habra.15
habrabot(difrex,1) — All
2015-11-23 15:30:04


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

[1]: https://habrastorage.org/files/43e/ef8/06a/43eef806a2bc40ef9834dfca5a6d8525.jpg
[2]: http://habrahabr.ru/post/271465/#habracut

[>] Декларативная разработка на Caché
habra.14
habrabot(difrex,1) — All
2015-04-01 03:30:02


    В Caché есть несколько различных способов пройтись по коллекции и выполнить какие-нибудь действия с ее элементами. Самым простым является while-цикл. Такой способ позволяет решить поставленную задачу в императивном стиле. Разработчику приходиться явно заботиться об итераторе, о переходе к следующему элементу и о проверке выхода за пределы коллекции.     Но разве это то, о чем должен заботиться разработчик?! Разработчик должен решать поставленную перед ним задачу, за максимально короткое время с максимально хорошим качеством кода. Было бы очень здорово просто взять коллекцию и применить к ней функцию, которая выполняет необходимые действия на каждом элементе этой коллекции. Не проверять границ, не создавать итератор, не вызывать вручную функцию на каждом элементе. Такой способ решения задач называется [декларативным программированием][1].

> Declarative programming is when you write your code in such a way that it describes
>
> **what you want to do**
>
> , and
>
> **not how you want to do**
>
> it.
>
>

([c][2]) [1800-information][3] Давайте подумаем, как же решить поставленную задачу декларативно, используя средства и возможности Caché. [Читать дальше →][4]

[1]: http://en.wikipedia.org/wiki/Declarative_programming
[2]: http://stackoverflow.com/questions/129628/what-is-declarative-programming
[3]: http://stackoverflow.com/users/3146/1800-information
[4]: http://habrahabr.ru/post/212671/#habracut

[>] [Перевод] Все еще торт, часть 3.0.0
habra.14
habrabot(difrex,1) — All
2015-04-01 03:30:02


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

[1]: //habrastorage.org/files/ad2/29c/dbf/ad229cdbf55a4124872169ccca68aa24.jpg
[2]: http://habrahabr.ru/post/254489/#habracut

Pages: 1 ... 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 210