Search
Write a publication
Pull to refresh
9
0
Борис @xdevel

User

Send message

Знакомимся с аспектно-ориентированным программированием в PHP

Reading time10 min
Views31K
При разработке программного обеспечения программисты и архитекторы пользуются декомпозицией — представлением объектов и взаимосвязей между ними в виде классов, объектов, их свойств и методов.


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

PowerShell. Дешифруем файлы после воздействия «вируса»

Reading time8 min
Views119K
В неком городе России
(Может быть, что даже в вашем)
Есть не маленькая фирма.
Арендует помещенье
У НИИморгорворпрома.

В этой фирме есть сотрудник, почту любящий читать. Открывает как-то файл, кем-то вложенный нарочно, в недра письмеца пришедшего. Запустив без задней мысли «Благодарственное письмо.hta» и не увидев поздравления, покурить решил немного. Возвращаясь с перекура, он читает в беспокойстве:

Если Вы читаете это сообщение, значит Ваш компьютер был атакован опаснейшим вирусом.
Вся Ваша информация (документы, фильмы и другие файлы) на этом компьютере была зашифрована
с помощью самого криптостойкого алгоритма в мире RSA1024.
Восстановить файлы можно только при помощи специальной программы. Чтобы её получить, Вам необходимо
написать нам письмо на адрес unblockme@tormail.org
Читать дальше →

Почему мне нравится работать программистом в Луисвилле (или почему я не перееду, чтобы работать в Вашем стартапе)

Reading time8 min
Views119K
Уже некоторое время вверху моего сайта висит слоган:
Нет, я не работаю в Нью-Йорке, Вашингтоне или долине, и меня это полностью устраивает.

Как и со многими (если не с большинством) из вас, со мной регулярно связываются рекрутеры. К сожалению, они не знают обо мне ничего конкретного, кроме того, что сумели найти в моем LinkedIn или GitHub. Если уж они и посещали мой сайт, то определенно не заметили этот слоган. Мне порядком надоело отвечать на тонны одинаковых писем (хотя возможно они чем-то и отличаются) снова и снова, так что, надеюсь, читатели моего блога на этот раз простят мне эгоистичное отступление от основной его темы.

Я разработчик софта из Луисвилля, штат Кентукки, и я здесь до чертиков счастлив.

Коротко об авторе и еще кое-что
Эрни Миллер удаленно работает в крупном американском стартапе Living Social ведущим Ruby on Rails разработчиком. О своей должности он пишет «Build awesome things, and make people happy. That's about it.».

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

Этот пост еще в декабре прошлого года попался мне на глаза и отлично употребился вместе с «Как я нахожу время?».

В то же самое время я посетил Ульяновский RailsClub'Ulyanovsk, а чуть позже побывал в Праге. И на резком контрасте с Москвой, я четко понял, что многое в жизни можно делать по-другому. Автор статьи постарается объяснить — как.

Полезного и приятного чтения!


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

Теория радиоволн: ликбез

Reading time4 min
Views457K
image

Думаю все крутили ручку радиоприемника, переключая между «УКВ», «ДВ», «СВ» и слышали шипение из динамиков.
Но кроме расшифровки сокращений, не все понимают, что скрывается за этими буквами.
Давайте ближе познакомимся с теорией радиоволн.
Читать дальше →

Рендер Diablo3. Как это работает

Reading time7 min
Views117K
Как устроены графические движки популярных игр с мировым именем? Какие технологии применяют разработчики в самых крупных игровых компаниях? Действительно ли, чтобы сделать красивую игровую графику необходимо применять самые передовые технологии современной 3D графики? На эти вопросы мы попробуем ответить на примере рендер части игры Diablo3, от компании Blizzard Entertainment.
Читать дальше →

Методы вычисления мультиномиальных коэффициентов

Reading time11 min
Views15K
Однажды, пролистывая популярный Q&A по математике (math.stackexchange.com), я обнаружил вопрос про расчет мультиномиальных коэффициентов и он меня заинтересовал. На заметку, для тех, кто не знает что это такое, существует статья в википедии. Итак, нужно вычислить следующее выражение:



Казалось, зачем на хабре выкладывать решение такой простой задачи? Ответ заключается в том, что самый простой наивный способ, заключающийся в перемножении факториала суммы с последующим делением его на произведение факториалов, не подойдет из-за того, что промежуточные вычисления выйдут за разрядную сетку типа uint и даже ulong, хотя результат может оказаться в пределах значений этих типов. Мне понравилась эта задача, и я сразу же сел за ее решение и придумал три способа. Остальные два способа я позаимствовал из других ответов. Итак, статья будет об описании и сравнении всех реализованных мною методов на C# под .NET.
Читать дальше →

Checkstyle и Java. Поможет ли автоматическая инспекция кодa?

Reading time10 min
Views13K


В последнее время на Хабре заметно участились статьи об автоматизации и оптимизации код-ревью, инспекциях кода и других способах поддержания кода крупных проектов в достойном виде (например, статья 1, статья 2, статья 3).

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

Последние труды нашей команды по написанию дополнительных чеков (проверок) для Checkstyle вошли в новую сборку нашего дополнения для Eclipse Checkstyle-плагина Eclipse-cs (sevntu-checkstyle 1.5.3, 4.09.2012).

Мы продолжаем эксперименты по автоматизации поиска ошибок на этапе написания Java — кода. Мы убедились в том, что писать свои проверки для Checkstyle несложно — точнее совсем просто! Сложнее написать чек, действительно уникальный и полезный в разработке (а еще сложнее — позже договориться со всеми членами команды разработчиков о совместном использовании нового чека). В этом посте я постараюсь описать последние достижения нашей команды в направлении разработки новых чеков для Checkstyle. Также ниже я хотел бы немного осветить принцип действия, полезность и ограничения библиотеки Checkstyle, Eclipse Checkstyle-плагина и нашего к нему дополнения.

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

Новый релиз пакета modLivestreet 0.5.0-rc full

Reading time2 min
Views5K
image
После двадцати часов работы публикую свежий пакет modLivestreet, который надеюсь станет переломным в восприятии и уже сможет наглядно продемонстрировать для чего вообще это все затевалось.

Что же на этот раз нового? В этот раз упор был сделан на то, чтобы создавалось все необходимое для полной установки Livestreet-а в несколько кликов и практически полное управление движком из админки MODX, а именно:
  • Источники файлов Livestreet (полностью раздел, плагин modLivestreet, папка uploads). Теперь не придется долго искать где что лежит, а там же можно через админку управлять файлами Livestreet
  • Шаблоны для MODX, чтобы выводить главную Livestreet, любые документы Livestreet, Любые документы MODX в двух вариациях (в две колонки с лентой новостей в правом блоке, и в одну колонку без сайдбара).
  • Пара чанков, чтобы вклиниться в шаблонизацию Livestreet

В общем во многом модуль уже готов к тому, чтобы его использовать.

Под катом более полный список изменений и демо-ролик.
Читать дальше →

Установка LivestreetCMS на MODX Revolution из пакета за 10 кликов

Reading time4 min
Views5.8K
imageЯ уже не раз писал о своем модуле modLivestreet для связки MODX Revolution + LivestreetCMS (В этом топике подробно расписана идея и реализация со схемами и т.п.).
Спустя почти две недели с начала разработки модуля, я пришел к следующему выводу: слишком все сложно получается. Идея сама по себе простая: к MODX Revolution (которому исторически не хватает модулей для построения блогов) прикрутить LivestreetCMS, дабы получить этакую социалочку с хорошим функционалом.

Первый пакет я накидал быстро, и он вполне обеспечивал перенаправление запросов на Livestreet и вывод контента в MODX. Но дальше захотелось реализовать синхронную работу с пользователями MODX- и LS-., потом еще что-то… В общем функционал рос, код тоже. Проблемы проявились в сложностях настройки данного союза. Если с MODX можно сказать вообще никаких серьезных проблем не возникло (во всяком случае не потребовалось трогать ни байта кода движка), то с Livestreet все оказалось сложнее… Так или иначе приходилось лезть в код. Я конечно понимаю, что какие-то вещи можно и перегрузкой классов в своем плагине сделать, но это только частное решение проблемы. Да и некоторые моменты не перегрузить, как к примеру обстояло дело с классом Jevix. Но это не важные детали. Главное — настройка всего этого дела требует много ручной работы. Когда я написал мануал по установке и настройке всего этого дела, я совсем озадачился… Вроде и не много, но все равно больше, чем ничего.
Читать дальше →

Релиз 11-й версии Asterisk

Reading time1 min
Views19K


На финальном дне конференции Astricon 2012, 25 октября, объявлено о релизе 11-й версии Asterisk, которая имеет статус LTS, поддержка обещана до октября 2017-го года. Версия доступна для загрузки с www.asterisk.org/downloads, пока только в исходном коде.

Из наиболее заметных нововведений:
  • поддержка WebRTC (звонки из браузера, нативно)
  • логгирование идентификатора звонка в каждой строке всех log-файлов
  • новый драйвер Jingle / Google Talk (chan_motif)
  • поддержка кастомных кодеков, генерирование/парсинг SDP параметров

Полный список — wiki.asterisk.org/wiki/display/AST/New+in+11

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

Микроэлектроника для космоса и военных

Reading time13 min
Views308K
Возможное, многие из вас думали после ситуации с Фобос-Грунтом — что такого особенного в микросхемах для космоса и почему они столько стоят? Почему нельзя поставить защиту от космического излучения? Что там за история с арестом людей, которые микросхемы экспортировали из США в Россию? Где все полимеры?

На эти вопросы я и попробую ответить в этой статье.

Disclaimer: Сведения получены из открытых источников и могут быть не вполне точными. Я лично с военной электроникой не работаю, а кто работает — те статьи писать не могут. Буду рад дополнить и исправить статью.
Читать дальше →

Если бы языки программирования были женщинами

Reading time3 min
Views17K
То ли весна, то ли упоминание о неделе женщин на Хабре заставили меня задуматься о том, какими женщинами были бы языки программирования. Поиск по этой теме выдал пару явно устаревших статей, и я решила написать свою. Просьба воспринять с юмором и не обвинять в шовинизме — я, знаете ли, и сама не мужик :-)

P.S. Придумалось далеко не для всех известных мне языков — раскрытие темы для недостающих только приветствуется.

Prolog
Женщина-мечта: делает все, что вы хотите. К сожалению, иногда описание того, что же вы хотите, занимает больше времени, чем объяснение, как это делать.

BASIC
Горячая разведенка; специализируется на соблазнении подростков, и очень многие получают с ней свой первый опыт. Мнения взрослых о ней разделяются — одни вспоминают ее с нежностью, другие — осуждают ее дурное влияние на юные умы.

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

О мотивации в ИТ

Reading time5 min
Views154K
В этой статье я затрону вопрос мотивации в ИТ, причем с ракурса, который вряд ли можно встретить в классических трудах по экономике. Все, описанное здесь, является моим личным мнением, основанном на работе в различных ИТ компаниях и общении с различными ИТ специалистами.

Тема статьи пришла после ознакомления с отчетом rabota.ua, в котором есть результаты исследования, свидетельствующие о том, что для большинства айтишников главный мотиватор – зарплата. Вроде все ясно и понятно, но давайте посмотрим на проблему глубже.
Читать дальше →

Мобильные приложения для iOS и Android на php

Reading time1 min
Views18K
Миллионы php разработчиков смогут разрабатывать мобильные приложения для iOS и Android на php. Этим утром на ZendCon, Zend chief executive Andi Gutmans анонсировал, что Zend Studio 10, позволит делать мобильные приложения на php.
В числе новых возможностей:
  • WYSIWYG drag-and-drop конструктор мобильного интерфейса
  • Интеграция с проектом Apache Cordova для доступа к нативному API телефона (работа с камерами, акселерометрами)
  • Интеграция с PhoneGap, которая позволит публиковать приложения в различных app stores


Источник:
venturebeat.com/2012/10/23/huge-news-php-developers-can-now-design-build-and-publish-mobile-apps-right-in-zend-studio

Bitbucket — большое обновление

Reading time2 min
Views64K

Bitbucket — это хостинг для Mercurial и Git репозиториев. Ближайший аналог и прямой конкурент — github. По популярности Bitbucket отстаёт, однако у него есть пара заметных фич по сравнению с github — это поддержка Mercurial и возможность создать сколь угодно приватных репозиториев на бесплатном аккаунте, однако дать доступ можно максимум пяти пользователям (у github вообще нет приватных репозиториев для бесплатных аккаунтов).

Сегодня команда Bitbucket выпустила большое обновление своего сервиса. Полностью обновился дизайн и добавилось много новых функций. Сделаю краткий обзор нововведений на основе записи в официальном блоге команды разработчиков.
Читать дальше →

Как работает микроэлектронное производство и что нам стоит дом построить?

Reading time8 min
Views183K
Многие наверняка не раз задавались вопросом, почему процессоры, видеокарты и материнские платы которые мы покупаем в магазинах — разработаны и сделаны где угодно, только не в России? Почему так получается, неужели мы только нефть качать можем?

Сколько стоит запуск производства микросхемы, и почему при наличии 22нм фабрик, бОльшая часть микросхем по всему миру до сих пор делается на «устаревшем» 180нм-500нм оборудовании?

Ответы на эти и многие другие вопросы под катом.
Читать дальше →

Подготовка к сдаче экзамена Oracle certified JAVA associate

Reading time3 min
Views66K
Поиск русского гайда по сдаче на OCAJP 7 не увеньчался успехом, так что я решил написать свой.

Что это за сертификат рассказывают в этом видео. Сдавать или нет каждый решает для себя сам, но этот сертификат является базовым в иерархии Oracle для интересующихся Java.

Для себя я решил сдавать на OCP чтобы во-первых систематизировать знания, а во-вторых поднять привлекательность для работодателей.

Началось как обычно с чтения CodeRanch. Когда я начинал готовиться книг посвященных OCA 7 еще не было в природе. Сейчас уже появился официальный гайд. Но учитывая ценник (30$), я все же воздержался бы от покупки. Сейчас расскажу почему.
Читать дальше →

Установка Gitorious на Centos 6

Reading time8 min
Views12K
image
Gitorious – open source альтернатива GitHUB, написан на RoR, использует ActiveMQ (в данном случае Stomp)
Установка производилась на свежеустановленный дистрибутив CentOS-6.2-x86_64-minimal. Все команды выполняются от root, там где нужен другой пользователь будет соответствующее указание.

Время на установку ~3 часа
Читать дальше →

Как определить язык напечатанного текста? (Европейские языки)

Reading time1 min
Views110K
Увидев красивую и понятную блок-схему, описывающую, как отличать одну письменность от другой, я удивился. В первую очередь тому, что это оказалось кому-то интересным. Но раз уж та схема показалась любопытной, то я попробую продолжить тему, начатую уважаемым soulburner. Здесь речь пойдёт о том, как отличать друг от друга европейские языки.

Для начала – что такое европейские языки. Предлагаю ограничиться государственными языками стран Европы. Так как границы Европы – вещь спорная, то отдельно оговоримся про соседние страны. Духовно близкий Израиль, а также Грузию и Армению можно отличить по письменности из той же блок-схемы, Азербайджан и Казахстан я включу по доброте душевной, а Абхазию и Южную Осетию – в качестве прогиба перед российской властью. Так что абхазский в наш классификатор попадёт, а баскский и гэльский – ну уж нет, перебьются.

Языков больше, чем типов письменности. Поэтому диаграмка получилась большая. Отличать языки друг от друга будем в основном по особенным буквам, в частности, по буквам с диакритическими значками (диакритикой). Диакритика бывает над гласной (в букве й), над согласной (буква č) или может как-то сопровождать букву (как в букве ç; строго говоря это не дикритика вовсе, но мы здесь будем придерживаться такого жаргона). Наиболее известные (с моей точки зрения) значки в Европе — это умляут (он же диаерезис: ü), гачек (č) и акут (é).

Тех, кто не испугался, прошу под кат

Information

Rating
Does not participate
Location
Пятигорск, Ставропольский край, Россия
Date of birth
Registered
Activity