Архив за 18 ноября 2012 - 3

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

Я долгое время совершал эту ошибку и считал ниже своего достоинства делать что-нибудь серьезное на PHP, допустим. Или в десктопе: WinForms — фи. По той же причине всегда пытался быть «на острие» современных технологий, раз за разом переделывая свои продукты на новые фреймворки/технологии.

Помню, когда на одной из последних работ я встретил человека, сделавшего SCADA-систему на Delphi. Я тогда программировал на Visual C++ и посчитал, что это — не серьезно. Вот если бы на C++… При этом его система была реально запущена в продакшен, а моя… ну, вы поняли.

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

Оттачивая свои скилы в использовании простых решений, чаще получаешь красивые и эффективные решения, нежели «прыгая» по новым технологиям.

Читать полностью »

Консольный комфорт, снова Тут хабраюзверь AStahl писал про полезную фичу, — рисование статусбара в консоли, на котором можно вывести часы и какую-либо другую обновляющуюся, полезную(?) информацию. У меня сейчас возникла такая задача, но его метод не понравился и поэтому я сделал свой велосипед-костыль.
Читать полностью »

Всем наверно известен замечательный OpenSource проект Trac, позволяющий организовать рабочий процессы при разработке программного обеспечения. Однако его развертывание и настройка является не простой задачей. Информация в интернете разрозненная и часто уже устаревшая. В этом я смог сам убедиться настраивая Trac интегрированный с Gitolite на связке Nginx+UWSGI.

После небольшой увертюры с бубном у меня родился этот документ являющийся практически пошаговой инструкцией по развертыванию проекта Trac. Надеюсь это пригодится кому-нибудь еще.
Читать полностью »

После прочтения очередной статьи и комментариев к ней, я в который раз убедился, что слово «дизайнер» для программистов является синонимом доброй половине словоформ «Большого словаря русского забористого мата».

На просторах сего сайта, в виду специфической аудитории ресурса, часто любят выражать своё негодование по отношению к методам работы начинающих «дизайнеров». Но нужно понимать, что частая встреча с непрофессиональным уровнем работы обусловлена низкой стоимостью выбираемых для сотрудничества дизайнеров и чуть более чем полным отсутствием общения между дизайнером и технарём (желанием «и рыбку съесть и на люстре покататься»).

Тот дизайнер, который ценит своё время, любит порядок в работе, разукрашивает папки и обзывает слои вменяемыми именами, а иногда даже оставляет «сноски в фотошопе в трудных для понимания местах» мгновенно переходит на следующий уровень с соответствующим ценником. И даже если финансы позволяют вам воспользоваться их услугами – их очень не просто найти, так-как соотношение между «дизайнерами-новичками» и «дизайнерами-со-скиллом-именования-слоёв» стремится к 80% — 20% или даже 90% — 10%.

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

Читать полностью »

image
Приветствую!

Недавно начал работать с Zend Framework 2, и возникла потребность написать cli модуль работающий с миграциями базы данных.

В этой статье я опишу как создать модуль для Zend 2 для работы с ним из командной строки на примере модуля миграций, как написать тесты, как опубликовать модуль в packagist.org

Что такое миграции: Миграции базы данных — это система классов описывающая действия над базой данных и позволяющая выполнять эти действия.

Установка фрэймворка

Начнем с установки фрэймворка, в качестве каркаса возьмем ZendSkeletonApplication
Читать полностью »

Один из депутатов партии «ЕР» предлагает более точно и избирательно блокировать интернет-ресурсы, которые попадают в «черный список». Суть его поправок в Федеральный закон № 149–ФЗ («Об информации») заключается в следующем — провайдерам рекомендуется установить оборудование DPI (Deep packet inspection) с тем, чтобы сайты, уклоняющиеся от блокировки путём смены IP-адреса, не могли возобновить свою работу.

DPI (Deep packet inspection) представляет из себя технологию накопления статистических данных, проверки и фильтрации сетевых пакетов по их содержимому. В отличие от брандмауэров, Deep Packet Inspection анализирует не только заголовки пакетов, но и полное содержимое трафика на уровнях модели OSI со второго и выше. DPI способно обнаруживать и блокировать вирусы, фильтровать информацию, не удовлетворяющую заданным критериям.
Читать полностью »

Неделя закрытого бета тестирования новой версии приложения NeoBook для iOS

Всем доброго дня! Мы все (команда «Apps Ministry») радеем за наши приложения и пытаемся сделать их максимально «юзабельными» для пользователей.

И все мы понимаем, что лишь конечный пользователь является мерилом наших успехов на этой ниве. Потому мы решили внедрить в наш процесс разработки этап бета-тестирования. А где, как не на Хабре, искать действительно адекватных юзеров (не нужно только сейчас рассказывать про сервисы бета-тестирование — не оно все это...). Только реально заинтересованные пользователи — только хардкор!!!

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

Используем для тестирования testflight , поэтому, собственно, у вас должен быть iOS девайс и аккаунт в testflight.

Более подробнее, под катом.

Читать полностью »

На хабре уже есть статья, посвященная антеннам. Продолжая тему, хочу рассказать хабраобществу о принципах работы фазированных антенных решеток (ФАР). ФАР нашли широкое применение в радиолокационных комплексах, противоракетной обороне, космической связи; применение в гражданских объектах (коммерческих) затруднено сложностью изготовления и дороговизной. Возможно кто-то заинтересуется тематикой и придумает эффективное применение ФАР для коммерческого применения.
Читать полностью »

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

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

Доступные инструменты:
Content Scripts, Background Pages, Message Passing

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

Читать полностью »

На фотографиях Lytro теперь можно менять перспективу и цвет

Так называемый пленоптический фотоаппарат Lytro уже не раз описывался на Хабре. Интерес к этому девайсу понятен — ведь он делает то, на что не способен пока ни один другой фотоаппарат. До настоящего момента на фотографиях, полученных при помощи Lytro, можно было изменять только фокус. Теперь же, с обновлением программного обеспечения, появилась возможность менять перспективу, а также добавлять некоторые фильтры, изменяющие внешний вид фото. Правда, обновление, о котором идет речь, появится только в начале декабря (4 числа).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js