Как стать автором
Обновить
3
0
Роман Давыдкин @Beholder

Java-разработчик

Отправить сообщение

Контрастная схема Eclipse/pyDev под TextMate

Время на прочтение4 мин
Количество просмотров6.6K
Проблема:
при запуске Эклипсы на экране с высоким разрешением — ничего не видно, а внимание отвлекается на непонятные элементы интерфейса.
Цветовая раскраска для разработки под Python кажется неинформативной.
Особенно актуально для людей с пониженным зрением, работающих без очков на мониторах с разрешением 1680х1050 и выше.

Задача:
1) найти скин, который бы визуально увеличивал значимые части интерфейса (названия табов, элементы списков)
2) а также визуально уменьшал рюшечки, не несущие смысловой нагрузки
3) подобрать броские и понятные цвета и шрифты редактора
4) желательно чтобы всё вместе это напоминало (хотя бы отдаленно) редактор textmate

На решение была потрачена пара часов перебора различных вариантов методом тыка.
Описание поможет вам сэкономить эти несколько часов :)

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

10 приемов, разрушающих хрупкую красоту кода

Время на прочтение19 мин
Количество просмотров102K
Статья приводится в сокращении из-за ограничения на объем материала.

Для меня программирование — это не только технология, но и, во многом — искусство. И, поэтому, большое значение имеет красота кода.

Последние несколько лет я собирал приемы программирования, разрушающие в программном коде его утонченную красоту:
  1. Объявление всех переменных в начале программы;
  2. Возврат результата функции через ее параметр;
  3. Отсутствие локальных функций;
  4. Отсутствие else if;
  5. Использование параллельных массивов;
  6. Хранение размера массива в отдельной переменной;
  7. Доступ к свойствам объекта через obj.getProperty() и obj.setProperty(value);
  8. Использование рекурсии для вычисления факториалов и Чисел Фибоначчи;
  9. Отсутствие именованных параметров функции;
  10. Невозможность объявления объектов «на лету».
Наверняка, в некоторых местах вы будете со мной несогласны — ведь чувство красоты у всех разное.


Объявление всех переменных в начале программы


В двух словах:

Переменные должны объявляться в начале логического блока, в котором они используются, а НЕ в начале функции или программы.


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

Приручение py-rrdtool

Время на прочтение4 мин
Количество просмотров13K
Как говорится в одной древней мудрости: можно вечно наблюдать три вещи: как горит огонь, как течёт вода и как рисует графики rrdtool. Этот пост как раз о последнем.
И так, что же такое rrdtool? rddtool — замечательная утилита, которая позволяет управлять данными, хранимыми в формать rrd (round-robin database). Данный формат примечателен тем, что изначально предназначен для хранения периодичной информации, причём так, что размер самой БД получается фиксированным (довольно небольшим) независимо от количества данных. При этом сохраняется возможность получать отчёты за продолжительные отрезки времени с произвольной точностью. Наибольшее распространение данная система нашла в системах мониторинга, где, как говорится, лучше один раз увидеть картинку, чем 7 раз прочитать логи. В конце статьи Вы сможете получить нечто, похожее на

пример


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

Munin — мониторинг сети это просто!

Время на прочтение3 мин
Количество просмотров112K

В жизни каждого системного администратора рано или поздно наступает момент, когда глаз и рук уже не хватает уследить за всеми серверами, то там, то там возникают какие-то проблемы, а для решения их очень хочется узнать что же было «до этого». И именно здесь на выручку приходят они — вел
икие и ужасные системы мониторинга. Долгое время я пользовался Nagios, и до сих пор, при всём удобстве, иначе как монстрообразным назвать не могу. В итоге реально использовались лишь 10% возможностей этой прекрасной системы. Всё изменилось, когда я наткнулся на Munin — прекрасное решение для мониторинга небольших сетей.
Обзор системы

Обзор LLVM

Время на прочтение13 мин
Количество просмотров87K
LLVM (Low Level Virtual Machine) — это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture».

LLVM — не просто очередной академический проект. Его история началась в 2000 году в Университете Иллинойса, а теперь LLVM используют такие гиганты индустрии как Apple и Adobe. В частности, на LLVM основана подсистема OpenGL в MacOS X 10.5, а iPhone SDK использует GCC с бэкэндом на LLVM. Apple является одним из основных спонсоров проекта, а вдохновитель LLVM — Крис Латтнер — теперь работает в Apple.

В основе LLVM лежит промежуточное представление кода (intermediate representation, IR), над которым можно производить трансформации во время компиляции, компоновки (linking) и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM поддерживает генерацию кода для x86, x86-64, ARM, PowerPC, SPARC, MIPS, IA-64, Alpha.

LLVM написана на C++ и портирована на большинство *nix-систем и Windows. Система имеет модульную структуру и может расширяться дополнительными алгоритмами трансформации (compiler passes) и кодогенераторами для новых аппаратных платформ. Пользовательский фронтенд, как правило, линкуется с LLVM и использует C++ API для генерации кода и его преобразований. Однако LLVM включает в себя и standalone утилиты.

Для тех, кто не без оснований считает C++ не лучшим языком для написания компиляторов, с недавних пор в LLVM включена обертка API для OCaml.

Чтобы понять, что можно сделать с помощью LLVM, и на каком уровне придётся работать, давайте разберёмся,
что из себя представляет LLVM IR.

Памятка дизайнеру сайтов

Время на прочтение10 мин
Количество просмотров245K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

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

Два инструмента для создания шрифтов.

Время на прочтение2 мин
Количество просмотров137K
Я настоящий фанат типографики, и трачу много времени на поиск и экспериментирование со всеми видами различных типов шрифтов и стилей.

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

Изучаем наличие layout

Время на прочтение1 мин
Количество просмотров6.2K
Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.

UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь

Верстка скругленных границ и острых углов

Время на прочтение4 мин
Количество просмотров21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

Стилизация файл-инпутов

Время на прочтение5 мин
Количество просмотров38K
Результат стилизации файл-инпута
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.

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

Обзор шаблонизатора Quicky: Производительность и Гибкость

Время на прочтение5 мин
Количество просмотров5.2K
Quicky — hi-end шаблонизатор, написанный на PHP отличающийся гибкой функциональностью, и в то же время, высокой производительностью. За основу взят синтаксис и функционал Smarty.


содержание:
переход со Смарти, на Quicky
— — чем Quicky лучше Smarty?
Quicky быстрее PHP-native?
Quicky темная сторона силы.
Комьюнити Quicky. (теперь все тут http://code.google.com/p/quicky/)
Богатые возможности Quicky.
Вместо заключения. Личное мнение.
Читать дальше →

Безопасная загрузка изображений на сервер. Часть вторая

Время на прочтение7 мин
Количество просмотров28K
Это вторая часть перевода. Начинать прочтение лучше с первой.

Итак, после применения описанных в первой части методов, мы можем прекратить волноваться? К сожалению, нет. То, какие расширения файла будут переданы транслятору PHP, будет зависеть от конфигурации сервера. Разработчик часто не знает и не контролирует конфигурацию веб-сервера. Мы видели веб-серверы, с такой конфигурацией, что файлы .html и .js выполнялись как php. Некоторые веб-приложения могут потребовать, чтобы файлы .gif или .jpeg интерпретировались PHP (это часто случается, когда изображения, например графы и диаграммы, динамически строятся на сервере самим PHP).

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

Безопасная загрузка изображений на сервер. Часть первая

Время на прочтение10 мин
Количество просмотров138K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

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

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

«Python 3 Patterns & Idioms». Новая книга Брюса Эккеля.

Время на прочтение1 мин
Количество просмотров3.6K
Брюс Эккель, автор бэст-сэллеров «Thinkin in Java» и «Thinking in C++», выпустил новую книгу «Python 3 Patterns & Idioms».
Книга доступна в форматах html и Windows Help.
Распространяется по лицензии Creative Commons Attribution-Share Alike 3.0.
Линк

Дёшево и сердито блокируем 85% спама: greysmtpd

Время на прочтение3 мин
Количество просмотров3K
Пока я не стал фрилансером, я не знал, что такое спам. У меня хватало ума не светить свой email где попало, а для регистраций на сайтах использовать временные email. И я привык к тому, что вся почта у меня бегает очень быстро, письма никогда не теряются, и никто не жалуется что мой сервер отказался принимать его письмо. Став фрилансером, я оказался вынужден опубликовать свой email, причём на многих сайтах — ведь новые клиенты должны иметь возможность легко со мной связаться. И спам полился… сначала небольшим ручейком, но в последнее время он уже напоминает скорее полноводную реку, чем ручеёк.

Использование традиционных спам-фильтров (RBL, GMail, SpamAssassin, etc.) меня не устроило: все они время от времени ошибаются, и принимают за спам нормальные письма. И не важно, они их давят, возвращают отправителю, или складируют в отдельную папку чтобы я их периодически просматривал — в любом случае есть ненулевая вероятность потерять важное письмо.
Читать дальше →

Про хостинг MTW.ru

Время на прочтение2 мин
Количество просмотров3.6K
Сервер Picamatic располагается на площадке этого хостинга. Сегодня утром этот чудо-хостинг нас отключил (сейчас сервер снова работает).

Узнать, почему

Реализация Singleton в JAVA

Время на прочтение4 мин
Количество просмотров282K
В этой статье я хочу затронуть тему одного из наиболее распространенных паттернов объектно-ориентированного программирования – Singleton. Но в данном случае я не буду описывать преимущества/недостатки и области применения этого паттерна, а попытаюсь изложить свой взгляд на его имплементацию в JAVA.

Общие сведения
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Читать дальше →

Работаем с массивами в JavaScript без велосипедов

Время на прочтение2 мин
Количество просмотров42K
Эту статью я хочу посвятить тонкостям работы с массивами в JavaScript.

Наверное, у каждого JavaScript-разработчика есть фунции (самописные или библиотечные) $ (выбор элемента по id) и $$ (выбор элементов по CSS-классу). Если мы выбираем несколько элементов по CSS-классу, то мы хотим произвести с ними определенные действия. Напрашивается цикл. А если нужна выборка среди них? Преобразования? Действия над нужными элементами? Непростой получается код.

JavaScript не стоит на месте, Mozilla неустанно улучшает JavaSript в своем движке Gecko и грех не пользоваться этими нововведениями. В JavaScript 1.6 добавлены новые полезные методы для упрощения кода, необходимого в вышеописанных ситуациях.
Читать дальше →

Исходники Sim City открыты под GNU GPL

Время на прочтение1 мин
Количество просмотров2.3K
Открыты исходники самой первой Sim City под лицензией GNU GPL, причём не под известным всем нам названием (Sim City), а под кодовым Micropolis.

Ссылка на скачивание: www.donhopkins.com/home/micropolis/micropolis-activity-source.tgz

Пока сижу, ковыряюсь. Windows-пользователям на заметку: в архиве есть файл с именем «aux», который, естественно, не распаковывается.

Ссылка на официальную заметку в блоге: link

Версия OLPC SimCity, основанная на этом же коде, после всех согласований с Electronic Arts, будет распространяться бесплатно вместе с ноутбуками OLPC.

CSS Sprites: все, что вы знали, но боялись спросить

Время на прочтение1 мин
Количество просмотров6K
Сейчас уже много где написано и упомянуто про технику CSS sprites (aka CSS Image Maps). Я не буду открывать Америку и рассказывать о ней дотошно еще раз, а просто хочу привести несколько примеров и полезных ссылок. И пару советов из собственной практики.

Сама техника заключается в том, что мы создаем комбинированное изображение, из которого затем «вырезаем» с помощью свойств background-position нужный нам в данном случае кусок. На текущем уровне поддержки браузерами (я полагаю, что 99,9%) оно является просто must-have для любого уважающего себя интернет-ресурса (ибо позволяет сократить число запросов к серверу, отделить поведение от представления, возложить труд по анимации на CSS-движок браузера, а не на JS-движок, т.е. это будет работать даже с выключенными скриптами, и много-много прочих «вкусностей»). Но обо всем по порядку. Поехали.

читать дальше на webo.in →

Информация

В рейтинге
6 391-й
Откуда
Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer