Pull to refresh
124
0
Михаил Стадник @Mikhus

Software Engineer

Send message

Оригинальный способ хранения изображений флагов

Reading time1 min
Views3.6K
Поставил сегодня я новую бета версию Skype и заодно решил посмотреть старым добрым Restorator'ом какие ресурсы (картинки в частности) содержит 25 мегабайтный файл. И наткнулся на очень интересный способ хранения флагов стран:


Upd: Рисунок оригинальный, ничего не менял, только прозрачные области белым цветом залил.
Total votes 197: ↑191 and ↓6+185
Comments197

Profiling PHP Applications With xdebug

Reading time8 min
Views41K
Добро пожаловать в третью статью о xdebug. Уже сейчас вы должны были попробовать xdebug, если нет, сделайте это сегодня ;-).
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments17

Webbynode — VPS для разработчиков

Reading time1 min
Views1.7K
Я с интеренсом наблюдаю за развитием проекта webbynode. Разработчики обещают создать «cloud computing решение для разработчиков».
Вот только некоторые из «приятных особенностей» данного проекта:
  • VPS хостинг на основе Xen.
  • Ориентация на хостинг приложений и оптимизированный под это интерфейс управления.
  • Технология «ReadyStack», позволяющая быстро развертывать готовые решения для популярных фреймворков. Прямо сейчас есть решения для RoR, Django, и LAMP.
  • Высокая доступность, благодаря использованию многих датацентров.

Я зарегестрировался в программе для бета-тестеров, и вскоре мне пришло приглашение со всей необходимой для входа информацией.
После логина открылась удобная web-консоль для управления развернутым VPS.

Немного скриншотов и коментариев
Total votes 31: ↑29 and ↓2+27
Comments24

Мама, я буду юзабилистом!

Reading time1 min
Views682
Вчера во Fresh, блоге о новостях юзабилити, была опубликована заметка о том, что профессия юзабилити-специалист вошла в список U.S. News & World Report’s Best Careers of 2009 — список лучших профессий года (в списке она называется «Usability experience specialist», скрещения слов «usability» и «user experience»). Кроме названий самих профессий в списке приводится средний годовой заработок, оценка сложности освоения профессии, удовлетворение от работы и т.д. (можно отсортировать по любому из критериев, кликнув по названию столбца). И даже когда кризис скалиться балансом бумажным, специалисты, работающие над повышением пользовательских качеств программ и продуктов продолжают вызывать интерес у работодателей.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments20

Тестирование JavaScript: Fireunit Screencast

Reading time2 min
Views995
Вчера, после прочтения поста Джон Резига, решил записать по горячим следам первый в своей жизни (это я к тому, что сильно ругать не стоит, а конструктивная критика приветствуется :) скринкаст.

Fireunit — это инструмент для тестирования javascript кода, созданный в виде дополнения к firebug'y Джоном Резигом в рамках его сотрудничества с командой firebug. На данный момент, он работает только под ff3+, firebug 1.2+.

Зачем же нужен такой инструмент тестирования, если он работает только в firefox?

  1. Fireunit позволяет тестировать очень интересные dom-события — события загрузки и готовности контента, завершнения отрисовки, вроде contentReady
  2. Вполне вероятно, что fireunit будет включен в состав (или, по крайней мере, его можно будет установить с) firebug light.
  3. Сама идея фреймворка тестирования, встроенного в браузер, является очень привлекательной. Вполне возможно, что производители других браузеров включат аналогичный инмструмент в свои продукты (как уже было с web inspector'ом для webkit, dragonfly для opera, developer toolbar для ie8)


Под катом само видео
Total votes 40: ↑39 and ↓1+38
Comments13

Дырявый Ecofont экономит краску

Reading time1 min
Views3.7K
EcofontШрифт Ecofont — рождение ума человека по имени Колин Уиллемс (Colin Willems), работающего в голландской компании SPRANQ.

Основное отличие шрифта Ecofont от всех остальных — это маленькие неокрашенные кружочки, помещенные внутрь каждой буквы с одной-единственной целью: уменьшить общее количество тонера/чернил, используемых принтером при печати документов. Скажем прямо — реализация проста до невозможности, но возможно как раз по этой причине подобный шрифт появился только сейчас.

Какой объем символа может быть убран, при условии, что читабельность текста сохранится? После множества тестов с различными формами в Spranq пришли к выводу, что лучше всего использовать маленькие круги, а еще после нескольких тестов было обнаружено, что в результате принтер использует на 20% меньше краски — отличное антикризисное решение для корпоративного сектора.

И хотя создатели шрифта и не ставят своей целью его популяризацию, наверняка те, кому идея приглянулась, обратят на него свое внимание. Для печати больших объемов продукции (как в издательском деле) экономия подобного рода наверняка найдет применение.

Позитивный момент из описания шрифта: «The Ecofont is distributed under GPL...»

Ecofont via Lifehacker
Total votes 86: ↑76 and ↓10+66
Comments50

Основы BASH. Часть 1

Reading time5 min
Views1.4M
Безусловно, все те кто общается с ОС Linux хоть раз да имели дело(во всяком случае слышали точно) с командной оболочкой BASH. Но BASH не только командная оболочка, это еще и превосходный скриптовый язык программирования.
Цель этой статьи — познакомить поближе юзеров с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной(-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.
Читать дальше →
Total votes 146: ↑135 and ↓11+124
Comments114

В защиту PHP

Reading time4 min
Views3.4K
Недавно на stackoverflow была создана тема, в которой автор утверждал, что PHP неважнецкий язык и просил переубедить его. В качестве аргументов он привёл несколько доводов, которые были последовательно прокомментированы другим участником. Вольный перевод сего представлен ниже.
Лично я полностью согласен с отвечающим и думаю, что всем ненавистникам PHP стоит с нижеследующим ознакомиться.

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

Это то, что я люблю и ненавижу одновременно. Однако по своей сути это утверждение верно. Почему некоторые двухсловные функции разделяются подчеркиванием, а некоторые нет? Почему $needle и $haystack иногда меняются местами? Это смешно. Но в конце концов действительно ли это так важно? Моя IDE с автоподстановкой и php.net всегда под рукой. Так что возможно это и является негативным фактором для PHP как языка. Но не мешает мне быть эффективным программистом.
ещё
Total votes 130: ↑91 and ↓39+52
Comments446

Плавающая контентная область сайта.

Reading time5 min
Views2.2K
Приветствую Хабр.
По мотивам cайта, сделанного сами знаете кем :)
В свое время увидел, такой эффект – слева сайта находятся ссылки, при клике на которые контентная область сайта плавно перемещается к указанному идентификатору. Эффект запомнился — решил повторить.
Для реализации плавного перемещения взял JQuery.

Читать дальше →
Total votes 125: ↑108 and ↓17+91
Comments78

«Чтобы раскрутить бизнес, нужно не останавливаться»

Reading time10 min
Views4.5K
Каждая предметная область имеет своих экспертов. Специалистов, которые понимают ее лучше других, авторитет которых не ставится под сомнение, а высказанные мнения – цитируются и обсуждаются всем заинтересованным сообществом. Игорь Ашманов – заметная фигура в Рунете, признанный эксперт в области поисковой оптимизации. На лекции для слушателей специализации «Менеджмент в сфере интернет-технологий» он рассказал о том, какие трудности возникают при создании бизнеса с нуля, а также о текущем состоянии рынка оптимизации, перспективах его развития, своем видении рынка интернет-маркетинга и поисковых машин.

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

«Начнете развивать свой проект – пройдете через все обязательные этапы развития», — пообещал он. – «Обязательно будет целая серия проблем и неудач, с которыми вам придется столкнуться. У любого начинающего водителя сразу пробивает колесо, разряжается аккумулятор, «дурит» сигнализация, захлопываются двери с ключом внутри, даже если он купил совершенно новую надежную машину. Не говоря уж о стандартной цепочке мелких аварий и приключений с ГАИ. С бизнесом – то же самое.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments16

Легенда о «Сетуни»

Reading time3 min
Views4K
В далёкие времена, когда деревья были ниже, а космос ещё так далёк, где-то в конце 50-х прошлого столетия, зарождалась эра вычислительных машин.
Инженеры в белых халатах творили историю.
Транзисторы, диоды, реле, ферритовые кубы… создавались первые ЭВМ.
В стенах МГУ появилась легенда. И имя ей — Сетунь.

Промышленный образец ЭВМ «Сетунь», ВДНХ, 1961 год
Продолжение
Total votes 96: ↑94 and ↓2+92
Comments178

Titanium — новая RIA платформа

Reading time1 min
Views1.2K
Appcelerator, Inc, известные своим SDK для разработыки «rich web pages» представили новую, полностью открытую платформу для построения RIA под названием Titanium.
Платформа базируется на ряде популярных продуктов:
  • WebKit
  • Chromium
  • Gears
  • GTK+
  • JQuery
  • Appcelerator SDK
  • NSIS
  • Ruby

3 имеющиеся в наличии демки выглядят достаточно приятно.

Под катом — официальное релиз-видео.

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments2

Полный перевод Web Standards Curriculum

Reading time1 min
Views855
image

Как правило, реализация любой идеи начинается с обсуждения планов, графиков и прочих неотъемлемых компонентов серьёзного проекта. Впрочем, бывает и так, что люди без лишних разговоров просто делают то, что считают полезным, тем самым преподнося сюрприз окружающим. Один из примеров тому — практически полный перевод на русский язык цикла статей, входящих в курс Web Standards Curriculum, являющийся частью образовательного проекта Opera. Посему приглашаю всех заинтересованных в данных статьях, но не обладающих хорошими навыками владения английским языком, ознакомиться с русскоязычным вариантом. Уверен, что вы найдёте массу полезной информации, пригодной для использования в своих разработках и проектах.

Читать Web Standards Curriculum на русском
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments37

MS SQL: hierarchyid — иерархия по-новому

Reading time4 min
Views50K
В наше время среди СУБД самую большую распространенность получили реляционные базы данных, в которых основными объектами являются таблицы и отношения между ними. Таблицы — это очень хорошо, они позволяют решить большинство задач по хранению данных и манипуляции с ними. Но в реальном мире сущности требующие хранения не всегда представлены в табличном виде. Одним из таких очень распространенных видов структуры данных отличных от таблицы является древовидная структура, когда каждый элемент данных имеет предка и потомков. Примером такой структуры может быть структура штата предприятия, в котором во главе стоит директор (корень дерева), его заместители, отделы с начальниками, которые подчиняются определенным заместителям, сотрудники отделов, которые подчиняются начальникам.

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

Однако, разработчики СУБД MS SQL предлагают в своей новой версии MS SQL 2008 для реализации древовидной иерархии новый тип хранения данных hierarchyid.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments35

Раскладка клавиатуры с AltGr

Reading time1 min
Views34K

Мне, как обычному пользователю, надоело каждый раз переключать русскую раскладку для набора символов типа: [ ] { } < >, одного-двух символов латиницы и т. п. Мне кажется, что в этом я не одинок, и решил поделиться достаточно простым способом (для Windows).


На Хабре упоминалась клавиша AltGr и о том, что с ее помощью можно вводить различные спецсимволы. Ничего создавать я не хочу, поэтому качаем готовую раскладку(UPD: 404, см. ниже), устанавливаем, и добавляем раскладку «Русская (AltGr)» (Язык и региональные стандарты > Языки > Подробнее)


Все, теперь вместо Ctrl + Shift (или Alt + Shift) можно удерживать AltGr. Надеюсь, кому-нибудь будет полезно.

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments43

Фоновый .png и IE 6 — принуждаем к миру.

Reading time2 min
Views2.2K
Известен следующий баг «народного» браузера — картинки в формате .png, содержащие участки с альфа-прозрачностью отображаются неправильно. А именно — область этих участков заливается серым цветом (спасибо dreamhelg за лаконичное описание сути происходящего в данном случае).

Сегодня в в своей RSS-ленте обнаружил ссылку на очередную статью о конфронтации .png и IE. Воспринял ее, пожалуй, как и бóльшая половина удививших заголовок выше — с предубеждением (мол, опять двадцать пять). Тем не менее, выяснилось много интересного. Например, теперь фоновые .png отлично подчиняются свойствам background-position и background-repeat.
Читать дальше →
Total votes 80: ↑74 and ↓6+68
Comments77

Yii Framework

Reading time2 min
Views40K
Случайно встретился ещё один PHP-фреймворк. Обычно новые фреймворки я просматриваю мельком, но этот меня очень заинтересовал.

Авторы (Qiang Xue, Xiang Wei Zhuo), возможно, известны вам по довольно гибкому, но и довольно тормознутому фреймворку Prado.

Итак, что же в нём такого интересного?
Читать дальше →
Total votes 63: ↑55 and ↓8+47
Comments60

Издержки больших проектов или взгляд на программирование в команде изнутри

Reading time1 min
Views3.8K
Ни для кого не секрет, что разработка больших программных продуктов требует не только эффективного руководства, но и эффективных процессов, которым следуют все разработчики. На примере своей компании я постараюсь описать жизненный цикл проекта и цену его разработки и поддержки. Те, кто работает в небольших командах из нескольких человек, смогут сравнить и представить, что их ждет при увеличении штата или же чего они избежали, если расширяться не планируют. А в комментариях можно покритиковать, указать на ошибки и предложить альтернативы.

Итак, собственно, к делу.

Мы занимаемся системами электронной биржевой торговли, аналитикой рынка и поставкой маркет-данных в реальном времени. К таким системам предъявляются повышенные требования по надежности — каждая ошибка может привести к потере больших денег.
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments112

Новая хеш-функция MD6

Reading time2 min
Views12K
MD6 — алгоритм хеширования переменной разрядности, разработанный профессором Рональдом Ривестом из Массачусетского Технологического Института в сентябре 2008 года. Предназначен для создания «отпечатков» или дайджестов сообщений произвольной длины. Предлагается на смену менее совершенному MD5. По заявлению авторов, алгоритм устойчив к дифференциальному криптоанализу. MD6 не обладает достаточной стойкостью к коллизиям первого рода. Используется для проверки подлинности опубликованных сообщений, путем сравнения дайджеста сообщения с опубликованным. Эту операцию называют «проверка хеша» (hashcheck).
Читать дальше →
Total votes 93: ↑82 and ↓11+71
Comments89

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity