Search
Write a publication
Pull to refresh
1
0
jj_killer @jj_killer

User

Send message

Java по-русски. Часть первая: Книги

Reading time2 min
Views497K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →

Акванотус — водяные знаки онлайн

Reading time3 min
Views1.4K
Хочу вам рассказать о своем небольшом проекте, который пригодится блоггерам и фотографам. С помощью этого сервиса вы легко сможете изменить размер своих фотографий и иллюстраций, добавить к ним рамки и водяные знаки.
Читать дальше →

Sokso: сам себе last.fm

Reading time1 min
Views1.1K
Сколько уже ищу, но никак не могу найти нормальный плеер. XMMS и клоны, Listen Music Player, Rhythmbox Music Player, VLC Media Player, Banshee, mpd + обвязки — какое-то оно все не такое.

В результате гугления был нарыт Sockso — sockso.pu-gh.com — Personal Music Server под платформы Windows, Mac OSX, Linux.

Свободный, с открытыми исходниками, “ПМС” для всех и каждого. Основной упор в дизайне сделан, так что любой кто имеет мышку и несколько MP3 мог делиться с друзьями музыкой по интенету за секунды. Этакий сам себе last.fm. Sockso Personal Music Server умеет на сегодня:

* Без установки. Развернул файлы и понеслась!
* MP3, OGG Vorbis, Flac, and WMA
* Веб интерфейс для друзей и GUI для себя любимого.
* Онайновые флеш плееры, плейлисты, поиски и т.д.
* Скачивание из своей библиотеки песен, альбомов, или плейлистов.
* Статистика, что игралось, самое популярное и т.д.
* «Шкуркабельный» веб интерфейс
* Пользовательские и библиотечные плейлисты.
* Выключения GUI для запуска на headless серверах
* UAC (User account control) и собственные плейлисты
* Загрузка музыки в библиотеку через веб
* Подкачивает обложки для треков / альбомов
* Умеет перекодировать «вывод» если полосы пропускания не хватает
* «Cover Flow» стиль — выбор плейлиста из оболожек
* Умеет дружить с last.fm и скроблить туда
* Умеет SSL «искаропки»

p.s. Установка в убунту зависимостей: sudo apt-get install sun-java6-bin flac lame ffmpeg

ОС и вебсервер — вместе веселей

Reading time3 min
Views6.1K
Привет всем. Сначала я думал, что лучше всего продолжить тему nginx на примере подчищенного и откомментированного конфига с одного из боевых серверов, но потом понял, что это потребует довольно большого объёма дополнительной информации. Поэтому, я решил попробовать, для затравки, рассказать в общих чертах о том, как nginx устроен, и почему он работает так быстро.

далее

Поддержка nginx в IntelliJ IDEA

Reading time2 min
Views7K
idea nginx plugin
Я использую nginx как фронт сервер для своего проекта. Сам проект пишется на Java в IntelliJ IDEA. Захотелось редактировать конфиги nginx и запускать nginx сразу в IDEA. Сел и написал плагин.
Читать дальше →

SketchFlow: прототипирование интерфейсов по-новому

Reading time13 min
Views24K
Все хорошие разработчики и дизайнеры, с которыми я знаком, в той или иной мере занимаются прототипированием. Как мне кажется, прототипирование напоминает канал между заказчиком и разработчиком, по которому передаются идеи и отзывы заинтересованных сторон, что позволяет вносить изменения в проект еще на раннем этапе разработки.

Как вы, наверное, замечали, прототипы могут быть представлены в разнообразных формах: от каких-то набросков на салфетке, до дизайна созданного в профессиональном пакете, который выглядит очень близко к желаемому результату. Несмотря на такое количество вариантов, мы можем выделить два основных типа прототипов: малодостоверные (Low fidelity) и высокодостоверные (High fidelity ). Малодостоверный прототип – это простое описание, набросок на рисовальной доске или скетч, которые приблизительно показывают кусочек пользовательского интерфейса. Пример такого прототипа представлен на рис. 1.


Рис. 1 – Пример малодостоверного прототипа, который демонстрирует форму входа в систему

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

Хранение кода в бд или собираем код по кирпичикам

Reading time7 min
Views10K
Данная статья написана Napolsky. По известным причина он не смог ее опубликовать. Если статья вам понравилась — поощрите автора известным способом.

В этом топике я расскажу об одном разрабатываемым мною подходе в веб программировании, сердцем которого является хранение кода в базе данных. Несколько замечаний по дальнейшему тексту:
  • Под словосочетанием «код страницы» имеется ввиду исполняемый (php) код
  • Во всех вопросах, касательно производительности, имеется ввиду чистое время генерации страницы, без использования акселлераторов, систем кеширования и т д

Как все начиналось


Для того чтобы понять, а «зачем оно собственно надо» быстренько пройдем тот путь, который и привел меня к хранению кода в бд. Так сложилось, что свой путь в веб программировании я начинал не с написания каких-либо скриптов или модулей для существующих систем, а сразу с написания собственного движка сайта с абсолютного нуля. К этому моменту я имел двухлетний опыт программирования на C++ и, конечно же, по накатанной пытался строить свой веб движок на ООП (правда в то время в PHP от ООП было одно название :) ). В пределах разумного, я очень люблю свои «велосипеды». Особенно большие. И прежде чем воспользоваться готовым решением, всегда задаюсь вопросом «а нельзя ли написать получше?».
Читать далее

Очищаем веб-страницы от информационного шума

Reading time5 min
Views3.7K
Приветствую всех!

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

Будем очищать веб-страницы от «информационного шума».

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

Создаем закруглённые уголки с помощью CSS 3

Reading time3 min
Views83K
image

Одно из наиболее ожидаемых свойств CSS3, несомненно, свойство border-radius. С помощью свойства border-radius можно создавать, такие популярные в последнее время, прямоугольники с закругленными углами, исключительно средствами CSS, не используя никаких изображений.
Читать дальше →

Русская документация по пакетному фильтру OpenBSD (PF)

Reading time1 min
Views2.1K
Всем привет!
Пару месяцев назад перевёл первую часть документации PF(на остальное нет времени).
Но опубликовать получилось недавно. Думаю многим документация будет полезна, а может кто даже захочет помочь в этом деле, что было бы просто замечательно.

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

P.S
Если есть какие либо замечания по переводу, буду рад их услышать.

Анимированные меню на jQuery

Reading time6 min
Views5.5K
Недавно я наткнулся на сайт Dragon Interactive (dragoninteractive.com). Сайт этот достаточно добротно сделан в плане дизайна. А изюминкой можно назвать их анимированное меню. Ну вот если бы это было сделано в Adobe Flash, я даже и не упоминал бы о таком. Но при более близком рассмотрении оказалось, что их меню — это сочетание простых XHTML, CSS и Javascript. В данной статье я собираюсь продемонстрировать, как создавать менюшки (очень близкие к Dragon Interactive’s menu).

Смотрим демо
Читаем далее...

Black Hat 2009: слайды команды Invisible Things Lab

Reading time2 min
Views1.4K
Сегодня завершается всемирно известная конференция специалистов по информационной безопасности Black Hat 2009 (Лас-Вегас, США). В связи с этим стали доступны слайды экспертов команды Invisible Things Lab (на английском языке).

Александр Терешкин и Рафаль Войтчук расскрывали следующие темы:

1. Знакомство с руткитами кольца -3-го уровня (ориг.: Introducing «Ring -3» rootkits).
2. Атакуем Intel BIOS (ориг.: Attacking Intel BIOS).

о чём эти темы, и где взять слайды?

Лампа настроения!

Reading time2 min
Views38K
Лампа настроения (mood lamp) является RGB лампой, которая меняет цвет в случайном порядке. Была зеленая, плавно стала голубой, потом фиолетовой… какого цвета она станет в следующий момент времени не знает никто)

image

Купить такую проблематично, сделаем ее сами!)
Читать дальше →

pv — маленькая, но очень полезная утилита

Reading time2 min
Views86K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →

DNS Tunneling via iodine: сыр действительно бесплатный

Reading time3 min
Views26K
Есть:
— отключенный за неуплату интернет (adsl, lan, etc)
или
— нешифрованная wi-fi сеть c закрытым интернетом, но работающим dns
или
— очень строгий firewall с открытым dns

Хочется:
полноценный интернет, пусть даже очень медленно
Как?

cogear — релиз 1.0

Reading time2 min
Views947
Доброго времени суток, %username%.
В начале лета был опубликован анонс системы управления сайтами cogear.

Особенности движка:

  • Работает на фреймворке CodeIgniter.
  • Модульная архитектура. Установка/удаление модулей в один клик.
  • Широкий спектр применения системы. Дистрибутив предоставляет возможность создать сообщество с многопользовательскими блогами, но благодаря расширяемой архитектуре возможностей трансформации движка существует великое множество.
  • Гибкая система хуков. Позволяет модифицировать любые контроллеры и модели, не затрагивая их код.
  • Открытый исходный код.
  • Интернационализация.
  • Автоматическая загрузка классов/моделей.
  • Оптимизация скорости загрузки (объединение файлов CSS и JavaScript).
  • Кеширование с поддержкой тегов (работает с файловой системой и Memcached).
  • Возможность подгружать стили и скрипты для определенных браузеров (прощай IE6).
  • Собственный шаблонизатор, дающий возможность работать и с PHP-Native.
  • Подробная документация, в том числе и в PDF.

Информация, скриншоты, трафик

Siege — утилита для нагрузочного тестирования веб-серверов

Reading time7 min
Views83K
Надеюсь, что данный материал будет кому-нибудь полезен.

Siege – это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы.

UPD: спасибо за плюсы, перенес в тематический блог.
Читать дальше →

Использование составных ключей для манипуляции данными в memcached

Reading time7 min
Views3.3K
Часто, при работе с memcached, возникает ситуация, когда необходимо удалить данные в самых различных местах. Например, при добавлении нового комментария, необходимо обновить не только кеш самих комментариев этой страницы, но и ленты комментариев на главной странице, списока комментариев пользователя, счетчика комментариев пользователя, общего счетчика комментариев сайта, счетчика комментариев статьи и т.д. Можно запомнить все ключи этих данных и множество раз вызвать delete() с этими ключами.

<?php
$cache->delete('comments_art123');
$cache->delete('comments_tape');
$cache->delete('comments_user123');
$cache->delete('comments_counters_art123');
$cache->delete('comments_counters_user123');
......
?>


* This source code was highlighted with Source Code Highlighter.


Как известно, memсached хранит данные плоско, то есть одному ключу соответствует всегда одно значение. Вложенных ключей не существует. Так же нет возможности удалить группу ключей, скажем по маске. Хорошо бы было, если бы можно было сделать, например, так: $cache->delete('comments*'); Но так нельзя.

Но если нельзя, но очень хочется, то можно ;)
Читать дальше →

Information

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