Обновить
39

Пользователь

23
Подписчики
Отправить сообщение

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Время на прочтение3 мин
Охват и читатели387K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →

Анализ Crackme #1 от PE_Kill

Время на прочтение9 мин
Охват и читатели13K

Предисловие



Я уже долгое время ничего не исследую, так сказать ушел на покой. Но тут мне на глаза попалась очередная поделка немало известного в определенных кругах PE_Kill'a. Т.к. мне довелось решать его предыдущую поделку в рамках CRACKL@B Contest 2010, которая в свою очередь была довольно интересна, я решил взглянуть на его новое «детище».

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

База GeoIP – страны и города, декабрь 2011

Время на прочтение2 мин
Охват и читатели9.8K
Вышла в свет обновленная версия русскоязычной базы данных стран и городов. Основное изменение — удалено большое количество дублей городов.
Читать дальше →

Прагматичный подход к производительности

Время на прочтение7 мин
Охват и читатели2.4K
Является преждевременная оптимизация дорогой в ад? Или подход «потом исправим» превращает программистов из «специалистов» в презираемую всеми «школоту»?

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

Вышел FlashDevelop 4.0

Время на прочтение1 мин
Охват и читатели7.4K


Замечательная новость для всех flash-разработчиков — буквально пару дней назад вышла финальная версия отличной IDE FlashDevelop 4.0. Те, кто уже знаком с FlashDevelop могут сразу перейти к загрузке новой версии. Остальных хабражителей я приглашаю под кат, чтобы ознакомиться с кратким changelog'ом и описанием основных фич FD4.
Читать дальше →

Поисковый движок IndexTank передан в open source

Время на прочтение1 мин
Охват и читатели3.2K
В октябре 2011 года профессиональная социальная сеть LinkedIn купила компанию IndexTank, которая занимается производством поисковых технологий. Очевидно, приобретена в первую очередь команда профессионалов под началом известного специалиста Диего Баша (Diego Basch), он же основатель и генеральный директор IndexTank, а в прошлом — один из ведущих разработчиков Inktomi. Как иногда бывает в таких случаях, прошлые продукты компании решили передать в open source. Диего Баш объявил, что исходные коды программного обеспечения IndexTank опубликованы под свободной лицензией Apache 2.0 и выложены на github.

indextank-engine: индексатор
indextank-service: API, BackOffice, Storefront и фреймворк Nebulizer для управления индексами

Поисковый движок IndexTank используется на многих крупных сайтах, в том числе Reddit, Wordpress (плагин для Wordpress) и BitTorrent. Он обеспечивает индексацию контента в реальном времени, поиск с учётом геолокации и т.д.

Программные интерфейсы позволяют разработчикам встраивать поиск IndexTank в свои приложения на Ruby, Java, .NET, Python, PHP и т.д. Документация по API здесь.

Пишем ГОСТ криптопровайдер

Время на прочтение18 мин
Охват и читатели41K
рис.1
Секреты создания CSP для Windows раскрыты в статье Ю.С.Зырянова.

Российские криптоалгоритмы ГОСТ реализованы в OpenSSL Gost.

Удивлен, что на просторах Интернета не удалось найти подтверждения, что кем-то был создан интерфейс криптопровайдера ГОСТ под Windows с использованием вышеприведенных инструментов.

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

Использование DSL в Visual Studio

Время на прочтение11 мин
Охват и читатели6.7K

Введение


Раньше я ни когда не задумывался над разработкой инструментов, упрощающих разработку в Visual Studio, и чаше создавал различные сторонние утилиты для помощи себе в разработке. Но, как обычно бывает, настал переломный момент.
Однажды встала задача разработки платформы, на базе которой надо было бы разрабатывать специализированные решения.
Хотелось максимально упростить разработку решений на платформе, и при этом не урезать возможность гибкой настройки.
Возникло два основных направления решения проблемы:
  • Разработать собственные инструменты для создания решений
  • Создать вспомогательные средства, встроенные в среду разработки

Читать дальше →

Бизнес в США из России. Часть II. Деньги и банки

Время на прочтение11 мин
Охват и читатели67K
Сегодня попробую осветить денежные вопросы.
Банковский счет, карты, платежи, PayPal и все такое.
Это продолжение топика HOWTO: свой бизнес в США из России, если кто пропустил.
Читать дальше →

Red Hat: Позвольте «облаку» OpenShift компилировать ваши Java-приложения

Время на прочтение2 мин
Охват и читатели5.3K
Решил перевести новость о том, что OpenShift теперь объединяет Jenkins, JBoss Tools и Maven, позволяя Java-разработчикам программировать, собирать, развёртывать и масштабировать приложение в облаке.

Red Hat предлагает вам использовать OpenShift не только для хостинга приложений, но и для всего цикла разработки ПО. Вы можете программировать, компилировать и улучшать своё ПО прямо в «облаке», не используя для этого десктоп или мощный ноутбук.

OpenShift — PaaS-облако, о запуске которого Red Hat объявил в мае. Эта облачная платформа существует в трёх версиях — Express, Flex и Power и позиционируется, как альтернатива Microsoft Azure или Google App Engine. Главное преимущество облачных вычислений состоит в том, что они автоматически масштабируют ресурсы, настолько, насколько это требуется для текущей нагрузки.
Читать дальше →

ООП в JavaScript

Время на прочтение4 мин
Охват и читатели40K
Хочу представить вам функцию-конструктор классов createClass.
Чем хорош этот конструктор:
1. Сам код выглядит более читабельным и понятным
2. Поддержка множественного наследования
3. Поддержка абстрактных методов
4. Наследование статических методов и свойств класса
5. Умный метод instanceOf (проверяет по всей цепочке классов)
Читать дальше →

Структуры данных в картинках. LinkedList

Время на прочтение4 мин
Охват и читатели585K
Приветствую вас, хабражители!

Продолжаю начатое, а именно, пытаюсь рассказать (с применением визуальных образов) о том как реализованы некоторые структуры данных в Java.



В прошлый раз мы говорили об ArrayList, сегодня присматриваемся к LinkedList.

LinkedList — реализует интерфейс List. Является представителем двунаправленного списка, где каждый элемент структуры содержит указатели на предыдущий и следующий элементы. Итератор поддерживает обход в обе стороны. Реализует методы получения, удаления и вставки в начало, середину и конец списка. Позволяет добавлять любые элементы в том числе и null.

Прочитать чуть больше

Автоматическое тестирование программ

Время на прочтение9 мин
Охват и читатели50K

Введение


Долгое время считалось, что динамический анализ программ является слишком тяжеловесным подходом к обнаружению программных дефектов, и полученные результаты не оправдывают затраченных усилий и ресурсов. Однако, две важные тенденции развития современной индустрии производства программного обеспечения позволяют по-новому взглянуть на эту проблему. С одной стороны, при постоянном увеличении объема и сложности ПО любые автоматические средства обнаружения ошибок и контроля качества могут оказаться полезными и востребованными. С другой – непрерывный рост производительности современных вычислительных систем позволяет эффективно решать все более сложные вычислительные задачи. Последние исследовательские работы в области динамического анализа такие, как SAGE, KLEE и Avalanche, демонстрируют, что несмотря на присущую этому подходу сложность, его использование оправдано, по крайней мере, для некоторого класса программ.

Читать дальше

Приложения для приема цифрового телевещания средствами DirectShow

Время на прочтение8 мин
Охват и читатели3.9K
Приложение написано под ОС Windows7, DirectX 9, модель тюнера – AverTV Duo Hybrid PCI-E2, язык C#

Microsoft TV Technologies Internals. В этой статье описан граф для приема цифрового телевещания, а также фильтры, которые используются при постороении графа.

Для создания приложения необходимо:
1. Построить граф.
В своем графе я использую следующие фильтры:
• Microsoft DVB-T Network Provider
• AVerMedia 716x BDA DVBT Tuner (в зависимости от вашей модели Тюнера)
• AVerMedia 716x BDA Digital Capture (в зависимости от вашей модели Тюнера)
• MPEG2 Demultiplexer
• BDA MPEG2 Transport Information Filter
• MPEG-2 Sections and Tables
• Microsoft DTV-DVD Video Decoder
• Video Mixing Renderer 9
Читать дальше →

Правила составления Software requirements specification

Время на прочтение5 мин
Охват и читатели235K
Все мы прекрасно знаем о том, как разрабатывается ПО. Подумали 10 минут и сразу пошли кодить. Цикл создания программного обеспечения состоит из многих ключевых моментов. Это такие моменты как планирование, создания архитектуры, создание SRS, создание дизайна и тд и тп.

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

Бесплатная централизованная библиотека кода: Microsoft All-In-One Code Framework

Время на прочтение1 мин
Охват и читатели20K


Начиная решение прикладной задачи, удобно было бы посмотреть на простой пример её реализации в коде. Ещё больше хочется иметь возможность попросить кого-нибудь написать тебе пример, чтобы вооружившись им разбираться уже со своей конкретной задачей.
Читать дальше →

Взлом матановой капчи на C# — это просто!

Время на прочтение4 мин
Охват и читатели42K
В этом топике я хочу вам рассказать о взломе т.н. «матан-капчи», пример которой был представлен в недавнем топике Матановая капча на PHP — это просто!.
Прочитав статью автора об этой замечательной капче, мне захотелось написать программу для её распознавания, как говорится just for fun ;)
Читать дальше →

Linq To Entities vs. Linq To Objects на примере группировки

Время на прочтение3 мин
Охват и читатели6.5K
LINQ — удобная, красивая, но при этом довольно коварная абстракция. Самые неожиданные вещи обычно происходят на стыке какой-либо реализации LINQ и LINQ To Objects. Сегодня на одном примере я рассмотрю совместную работу LINQ To Entities (Entity Framework) и LINQ To Objects.

Читать дальше →

Релиз Nginx CT++ Module 0.5 — высокопроизводительного модуля-шаблонизатора для веб-сервера

Время на прочтение2 мин
Охват и читатели3.6K
Первоначально хотел оформить как топик-ссылку, но тогда не получилось бы вставить картинку:

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

Позднее, как появится свободное время, напишу более подробную пошаговый HowTo, что вообще можно и что нужно делать с модулем, как можно представить MVC в виде: M — ваши сервисы, V — этот модуль и C — Nginx.
Читать дальше →

Принципы дизайна страниц оплаты для интернет-магазинов

Время на прочтение14 мин
Охват и читатели22K
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).

Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
Читать дальше →

Информация

В рейтинге
4 843-й
Зарегистрирован
Активность