• Подключение Paypal

      Вобщем поставили передо мной на работе задачу организовать прием платежей в наш проект через Paypal. От меня требовалось дать все необходимые данные для настройки аккаунта (сам аккаунт настраивался другим человеком), ну и, собственно, написать скрипт, который и будет принимать данные от paypal-а и начислять деньги юзерам.

      Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
      Читать дальше →
    • Точная проверка Email адреса регулярным выражением

        Как все знают, один из самых удобных способов проверки e-mail адреса является регулярные выражения. Недавно пришлось столкнулся с проблемой максимально точной проверки адресов. Данная проверка была необходима в системе автоматической рассылки спама опросников, где каждый список адресов подгружался автоматически одним большим файлом. Требовалось исключить максимальное количество заведомо невалидных адресов.
        Проблема заключалась в том, что все шаблоны проверки е-мэйла, которые можно встретить в интернете, МСДН и других источниках не удовлетворяли требованиям проверки. Обратившись к первоисточникам в виде RFC 2821 и RFC 2821, я выяснил как же точно и правильно валидирвоть адреса.
        Читать дальше →
      • Как обойтись без MS Office Automation

          Передо мной встала задача: надо импортировать данные из программы на .Net в XLS-файл (формат MS Excel). Нужно также уметь задавать для данных в файле шрифты, цвета, параметры печати и прочие бесполезные свойства.

          Microsoft предлагает для этого запускать Excel и обращаться к нему. И это — единственный способ работы с форматом, официально поддерживаемый компанией. Само собой разумеется, что на каждом компьютере, на котором будут запускать мою программу должен быть установлен MS Office. И никого не смущает, что даже для записи банальнейшей таблицы из 10 ячеек в файл приходится запускать многомегабайтного монстра — Excel.

          В общем, я решил найти другой путь. Как оказалось, существует множество библиотек, работающих с XLS-файлами напрямую, без запуска Excel. Но подавляющее большинство из них — платные.

          Из бесплатных библиотек я выделил две:
          • MyXLs — написана на C#, лицензия MIT, поддерживает базовое чтение и запись, форматирование. Проект развивается.
          • JExcelAPI — написана на Java, LGPL, очень мощная библиотека — поддерживает практически всё, что может понадобиться (включая картинки и формулы)

          Полнофункциональной бесплатной библиотеки для .Net я, к сожалению, не нашёл. Однако, JExcelAPI без труда запускается с помощью IKVM. Это, конечно, не самое изящное решение, но оно работает. А в тех случаях, когда нужны только базовый функционал можно использовать MyXLs.
        • Получение ISBN номера из книги в формате PDF

            Написал небольшой скриптик, который ищет в PDF книге ее ISBN номер. Скрипт написан на Python с использованием небольшой библиотеки для работы с ISBN.

            По умолчанию поиск производится среди первых 10 страниц.

            Библиотека доступна по адресу: www.staff.ncl.ac.uk/d.j.wilkinson/software/isbn.py

            Скрипт доступен по адресу: pastebin.com/f7d5c3e90

            Вывод выглядит так:

            $ ./get-isbn.py test.pdf
            ISBN-13: ['978-1-59059-585-5']
            ISBN-10: ['1-59059-585-8']
          • re: Store дисконт

              Доброе время суток, хабравчане!
              В начале августа появилась в интернете новость, что открылся первый Первый re:Store дисконт

              Поклонники «яблока» могут порадоваться: в Москве в сети re:Store открылся первый дисконт–магазин. Он расположен в торговом центре «Буденовский» (проспект Буденного, 53, метро «Шоссе Энтузиастов»). У тех, кто предпочитает продукцию Apple, отныне и в России появилась возможность приобрести модели Macintosh и iPod линеек прошлых сезонов со значительной скидкой. Практически в два раза дешевле обойдутся покупателям ноутбук MacBook или плеер iPod nano на 8 ГБ. А профессиональный ноутбук MacBook Pro c экраном диагональю 17 дюймов представлен в re:Store дисконт со скидкой более чем 40%. Здесь же можно приобрести аксессуары для предыдущих поколений плееров iPod — наушники, чехлы, док–станции и многое другое — со скидкой до 50%.
              re:Store

              Сегодня проезжая мимо, решил зайти.
              Читать дальше →
            • Криптография побочных эффектов

                Благодаря Ричарду Сноудену все больше людей теперь знают, что такое АНБ и чем оно занимается. Исходя из внутренних презентаций, которые были раскрыты, очевидно, что АНБ тратит немало усилий не только на коллекционирование трафика и внедрение “правильных” программ в сети интернет-провайдеров и софтверных гигантов, но и на анализ криптоалгоритмов. В открытый доступ попал 178-страничный документ с бюджетом национальной безопасности на 2013 год. Из него следует, что на проект Consolidated Cryptologic Program было потрачено 11 млрд. долларов. Что же можно сделать за такие деньги? Уж точно потратить с пользой. Например, на строительство гигантского вычислительного центра в штате Юта за 2 млрд. долларов, прямо в логове мормонов. Центр cодержит 2300 м2 площади под серверы, имеет собственную электростанцию в 65 Мегаватт и 60 тыс. тонн холодильного оборудования, чтобы все это охлаждать. В 2012 году из официальных уст было весьма завуалированно заявлено, что АНБ недавно достигла прорывных успехов в криптоанализе и взломе сложных систем. Уж не для этого ли им понадобился новый дата-центр? Гуру криптографии Брюс Шнайер прокомментировал эти заявления и высказал мнение, что АНБ вряд ли сможет в ближайшее время взломать какой-нибудь современный стойкий шифр, например AES. И далее сделал предположение, что АНБ направит свои усилия не на “честный” взлом алгоритмов, а на нахождение уязвимостей в самой реализации этих алгоритмов. Брюс выделил несколько областей, где можно достичь успеха:
                • атака на процедуру генерации ключа, где эксплуатируются халтурные датчики случайных чисел
                • атака на слабое звено в передачи данных (например, канал защищен хорошо, а сетевой коммутатор — плохо)
                • атака на шифры со слабыми ключами, которые еще осталось кое-где по недосмотру системных администраторов (хороший кандидат – RSA с 1024-битным ключом)
                • атака на побочные эффекты

                Попробуем разобраться, что такое атаки на побочные эффекты.
                Читать дальше →
                • +24
                • 14.5k
                • 2
              • Инъекция кода в .NET CLR: изменение IL-кода во время выполнения программы

                • Translation

                Предисловие



                Изменение .NET метода MSIL кода во время выполнения приложения – это очень круто. Это настолько круто, что можно перехватывать вызовы функций (hooking), сделать защиту своего ПО и другие удивительные вещи. Именно поэтому мне уже давно хотелось это осуществить, но была одна проблема – MSIL код компилируется в машинный код с помощью JIT перед тем, как мы сможем что-либо с этим кодом сделать. А так как .NET CLR не документирована и изменяется от версии к версии, то мы и будем искать стабильный и надёжный путь, независимый от точного расположения адресов в памяти.
                Читать дальше →
                • +88
                • 36.9k
                • 7
              • Тюнинг консольного клиента MySQL

                  Мне довольно часто, даже постоянно приходится обращаться к разным базам данных MySQL. Испробовав немало разных GUI клиентов я понял, что они все меня не удовлетворяют. То проблемы с кодировкой, то отсутствует автодополнение кода, то не работает история запросов. В общем пришел я к использованию консольного клиента mysql. И вроде все хорошо, но была пара проблем.
                  Во-первых заходя в очередную закладку с открытым соединением mysql я тупо смотрел в строку приглашения и старался понять на каком я сервере нахожусь и к какой базе данных подключен. Во-вторых при выводе большого количества полей или при выводе поля с длиной превышающей ширину терминала получалась каша из черточек, букв и палочек :). На днях я покопался в документации и с кое-чем разобрался.
                  Читать дальше →
                • Чему я научился в Майкрософт

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

                  Некоторые из этих вещей специфичны для Майкрософт, но большая часть найдет применение в любой командной/корпоративной среде. Некоторые из них сложны – из-за них тебя могут уволить (а может и хуже), если ты не знаешь, что делаешь.
                  Читать дальше →
                • Мы ♥ Иконки

                    Коротко о ясном


                    В интернете есть множество сайтов где выкладываются разного рода иконки, но по настоящему хороших сайтов мало. Но я нашел такой сайт. Иконки высшего качества собранные воедино совершенно бесплатно распространяются на сайте weloveicons.com. Иконки предоставляются в форматах для Mac OS, Windows и в .PNG

                    Каждый найдет себе то, что ищет


                    image image image
                  • Sandcastle: генерация документации с диаграммами классов

                      В продолжение статьи про автогенерацию документации по XML комментариям .NET кода с помощью Sandcastle я решил немного рассказать про компонент Drawbridge. Он позволяет встраивать в документацию кликабельные диаграммы классов экспортируемые из Visual Studio. Можно жмакнуть по классу и сразу перейти к его описанию. Мелочь, а приятно…
                      Читать дальше →
                    • Обзор библиотеки для интерактивной визуализации данных WPF DynamicDataDisplay

                        image
                        Здравствуйте, уважаемые хабрапользователи!

                        В этом посте я расскажу вам о нашей разработке — бесплатной Open-source библиотеке для интерактивной визуализации данных WPF DynamicDataDisplay.
                        Немного о нас: мы — это сотрудники лаборатории технологий Microsoft факультета Вычислительной математики и кибернетики Московского государственного университета. Недавно на Хабре была статья о том, каким наш факультет видится студенту первого курса, а теперь этот пост позволит вам немного больше узнать о том, чем занимаются студенты нашего факультета на более старших курсах. Пример того, над чем работают пятикурсники — это наша библиотека для интерактивной визуализации научных данных DynamicDataDisplay (сокращенно — D3).
                        Читать дальше →
                      • Учимся проектировать на основе предметной области (DDD: Domain Driven Design)

                          1. Введение



                          В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).


                          Читать дальше →
                        • Qt 4.5 и Qt Creator 1.0 теперь с нами!

                            Очередная версия библиотеки Qt теперь может радовать каждого. Этот релиз принес разработчикам важный и неожиданный сюрприз: Qt распространяется на LGPL. А также есть и другие приятные подарочки от Qt Software:
                            • Значительно увеличилась скорость работы графической подсистемы
                            • Улучшена интеграция с WebKit
                            • Также Qt был портирован на фреймворк Cocoa от Apple.

                            Подробный список на официальном сайте

                            Qt Creator


                            Qt Creator — это легковесная кросс-платформенная среда разработки, заточенная для разработки под C++ и Qt. Разработка Qt Creator велась с прицелом на две вещи: полностью кросс-платформенная разработка; и простота использования для тех, кто только начинает знакомиться с Qt.

                            Среда Qt Creator включает эффективный набор средств для создания и тестирования программ на Qt:
                            • Продвинутый редактор кода на языке C++
                            • Контекстная помощь
                            • Визуальный отладчик
                            • Управление исходным кодом
                            • Средства управления проектом и сборкой

                            Qt Creator также распространяется под лицензией LGPL 2.1. На данный момент для разработки поддерживаются только десктопные операционные системы (Windows, Linux и Mac OS), но поддержка платформ для встраиваемых устройств возможно будет добавлена в следующие несколько месяцев.

                            Всех разработчиков на Qt поздравляю с этим знаменательным событием!
                          • Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

                              Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
                              Читать дальше →