Pull to refresh
15
0
Алексей @Toseter

User

Send message

«Правильная» utf-8 кодировка в настройках nginx/apache

Reading time3 min
Views98K
Надеюсь, что данный пост окажется полезным многим разработчикам, т.к. судя по многочисленным тредам в интернете, проблема-то довольно частая. Суть проблемы в следующем: неправильное наименование кодировки utf-8 в настройках nginx/apache. При этом отдаваемый сервером контент воспринимается нормально во всех браузерах, кроме Internet Explorer-a.
Читать дальше →

Android nine-patch — растягиваем андроида

Reading time2 min
Views99K
nine-patchРекомендации по созданию UI виджетов и некоторых блоков приложений для ОС Android предписывают нам использовать блоки с закруглёнными углами и/или с эффектом объема, отбрасывающие тени. Какие же инструменты нам дает SDK для реализации таких интерфейсов?
При описании простых векторных форм без дополнительного оформления углов и краев блока рекомендуется использовать shape формы. Если в блоке имеются сложные графические элементы по углам или с краев блока можно использовать Nine-patch изображения, о которых и пойдет речь в этой статье. На случай сложного оформления блока, например в виде единого объекта, остается использовать только фиксированное изображение, что уменьшит рамки масштабирования и не даст изменить соотношение сторон блока.
Читать дальше →

HTC Hero — восстановление нормальной работоспособности сенсорного стекла

Reading time3 min
Views119K
Приветствую уважаемых читателей. В этой статье я хотел бы рассмотреть проблему, которая довольно часто (если верить интернет ресурсам) возникает с аппаратами HTC Hero. Суть проблемы заключается в частичном или же полном отказе нижней части сенсорного стекла. Эта проблема не обошла стороной и мой аппарат. Родилось даже небольшое обсуждение, в комментариях к одному из недавних постов. Под хабракатом я попытался изложить то, как я (в моем случае — успешно) боролся с этой проблемой.
Читать дальше →

Создаём свой Look and Feel — Часть I

Reading time25 min
Views21K
Добрый день, Хабражитель!

Уже достаточно много было рассказано о Swing и графике, также немного было упомянуто о различных незаурядных возможностях, предоставляемых сторонними библиотеками.

Сегодня же я представлю на Ваш суд «последний рубеж» погружения во все те возможности, которые предлагает нам Swing – создание своего Look and Feel класса, а также всего того, что потребуется по ходу дела.

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

Но даже если Вы не собираетесь делать свой LaF – советую всё же ознакомиться с содержанием. Уверен Вы найдёте много нового и интересного. И даже, возможно, поймёте в чём был корень той или иной интерфейсной проблемы, которая, вероятно, мучала Вас долгие месяцы и годы.

Tip: Если Вы не ещё не знакомы с графикой и Swing в Java более-менее тесно — советую сперва перечитать несколько статей на тему (к примеру оффициальный туториал, статью по Swing от Skipy или же мои предыдущие вводные статьи).

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

CLI на стероидах: Google Guice и JCommander

Reading time10 min
Views6.7K
В этой статье я хочу рассказать об одном из способов построения CLI-приложений на Java.
Собственно сама потребность в таких приложениях никуда не делась — так, например, в моем случае это было приложение для проведения функционального и нагрузочного тестирования серверной части. Конечно же были варианты в проведении необходимых тестов при помощи набора JUnit-ов, но мы были сильно ограничены во времени и хотелось получить решение, не требующее программирования со стороны отдела тестирования. Тем более, что бинарный протокол по которому взаимодействовали клиент и сервер был четко специфицирован.

Идея


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

На Хабре не так давно была статья о commons-cli. Сам commons-cli мне не понравился своим 'деревянным' API, однако из комментариев к самой статье я узнал про несколько альтернатив в числе которых был JCommander.

Привлек внимание именно он, поскольку:
  • Естественная поддержка паттерна Команда;
  • Удобный способ определения параметров вызова, основанный на аннотациях;
  • Автоматическое формирование помощи по доступным командам;
  • Неплохая документация;
  • Бесплатно.


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

Плагины VIM о которых следует знать, часть 1: surround.vim

Reading time3 min
Views16K
Топик — вольный перевод статьи Vim Plugins You Should Know About, Part I: surround.vim Петериса Круминса.

UPD: вторая часть

Что такое плагин surround.vim? Вот что говорит о нем автор, Тим Поп (Tim Pope):

Surround.vim работает со всем, что «окружает»: скобками, кавычками, тегами XML и т.п. Плагин предоставляет сочетания клавиш, которыми можно легко удалять, изменять и добавлять пары таких окружающих элементов.
Читать дальше →

Как собрать бинарный deb пакет: подробное HowTo

Reading time15 min
Views234K
Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии :)

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

В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах :)

Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —
поехали дальше!

Прокрастинация разрушила мою жизнь, часть 2: интересные ответы нытику

Reading time7 min
Views34K
Вчера я опубликовал перевод топика «Прокрастинация разрушила мою жизнь» одного из североамериканских хлопцев с Hacker News. Сегодня вы можете ознакомиться с интересными ответами HN-юзеров.

юзер Isamu



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

Быстрое обновление проектов на клиентских серверах через FTP

Reading time2 min
Views4.7K

Задача


Часто приходится сталкиваться с долгосрочными проектами, которые требуют разработки на тестовом сервере под Linux, и после проверки клиентом — обновления кода на его сервере. Разумеется, имеет смысл использовать систему контроля версий (мы используем SVN), и когда есть доступ к клиентскому серверу через SSH — достаточно сделать например команду svn update или svn checkout.

Проблема


Однако, когда к клиентскому серверу есть доступ только по FTP — приходится заливать обновления вручную, используя одну из альтернатив:
— копировать по FTP все файлы проекта, чтобы ничего не упустить
— составлять список файлов которые были изменены с момента предыдущего релиза, и заливать только их.

Решение


Хочу поделиться решением, которое позволяет автоматизировать этот процесс, и производить обновление проекта на клиентском сервере простым запуском скрипта на вашем dev-сервере. Для этого предлагается написать простенький Shell скрипт, который будет выполнять следующее:
1) Экспортировать код проекта из системы контроля версий
2) Обновлять код проекта на клиентском сервере
Читать дальше →

Инструменты командной строки для веб-разработчика

Reading time3 min
Views40K
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
Читать дальше →

Программный RAID-6 под Linux: опыт восстановления массива 16Тб

Reading time5 min
Views14K
Несколько дней назад вышел из строя один из жестких дисков на бюджетном массиве из 16х1ТБ дисков. Уровень массива: RAID 6. Ситуация осложнилась тем, что (как оказалось) ранее также встал кулер на видеокарте этого же сервера, что не было заранее подмечено, и после замены HDD, в результате изменения режима охлаждения корпуса — это стало проявляться в виде зависаний во время синхронизации, что само по себе очень неприятно. Вылилось это в то, что массив перестал автособираться, и были помечены как сбойные еще несколько дисков, и пришлось уже разбираться с ним по-серьёзному, курить вики, мануалы и форумы (форумы — самое полезное, поскольку описывают опыт конкретных людей в конкретных ситуациях).
Читать дальше →

Chosen: сделай выпадающие списки более дружественными

Reading time1 min
Views55K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

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

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7

FlexGet или Бекапим инетернет автоматически

Reading time2 min
Views13K
image

Доброго дня, Хабр!
Довольно давно хотел как то автоматизировать закачки с трекеров любимых сериалов. И вот наконец неделю назад чисто случайно наткнулся на довольно интересную софтинку FlexGet.

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

Контроллер для домашней пивоварни Mega Brewery. Part I

Reading time3 min
Views74K
image Я домашний пивовар.
Начинаю «разработку» контроллера для своего минипивзавода.

Т.к. я нифига не программист, обратился к русскому Arduino сообществу.
С момента желания сделать умный термометр для пивоварения, прошло много времени и возникло новое желание — построить автоматизированную домашнюю пивоварню. Для ее автоматизации необходим блок управления. Решено было отказаться от использования покупных PID контроллеров, для управления ТЭНом, т.к. имеется Arduino, к ней SSR реле — 2шт., дисплей 4 на 20 строк и к нему Serial Board для передачи инфы по одному проводу, не считая землю и питание.
Читать дальше →

Релаксирующие текстовые редакторы для Linux

Reading time4 min
Views8.9K
У самого ubuntu нету, поэтому попросили разместить. Думаю статья окажется полезной.

image
Еще в прошлом году на Хабре вышла статья о «релаксирующем» текстовом редакторе Ommwriter. Специфическая визуальная оболочка не могла не привлечь графоманов, нуждающихся в полном погружении в процесс написания текста. К сожалению, на момент выхода статьи хабраюзера langolf (а, впрочем, и до сих пор) не вышло ни одной версии для Linux.

Однако, это не означает, что аналогов Ommwriter не существует. Я был порядочно удивлен, случайно узнав о существовании многих программ, подходящих для такого рода графоманства. Поэтому мною был подготовлен небольшой обзор «focus on writing» текстовых редакторов для Linux.
Читать дальше →

Заказываем sata мультипликаторы для файлопомойки на 90 тб в тайване

Reading time2 min
Views20K
image
Собственно эта эпопея продолжения этого поста про большой корпус на 45 винтов.
Первое с чего стоит начать поиск любого девайса это определение его названия, наш пациент называется CFI-B53PM, представляет из себя плату с одним входом сата и 5 выходами, то есть на один сата кабель можно посадить 5 сата винтов.
Читать дальше →

Возможности для студентов, о которых вы, возможно, не знали

Reading time3 min
Views18K
Есть много причин недолюбливать нынешнюю образовательную систему — учат плохо, технологии устаревшие, много ненужной информации и т.д. Я так тоже считал и в той или иной степени считаю. Но, несмотря на это, у студентов есть много возможностей, о которых они даже не догадываются. В этой статье я решил собрать советы, которые должны пригодиться студентам во время учебы. К сожалению, о многом я узнал на последнем курсе, а то и вовсе после окончания университета.

Итак, поехали…
Читать дальше →

Улучшаем интерфейс Java-приложения

Reading time27 min
Views100K
Добрый день, Хабражитель!

Достаточно много различной раздробленной информации существует на тему работы со Swing и графикой в просторах интернета, а также на тему интерфейсов Java-приложений. Кто-то твердит о том, что Java морально устарела и десктоп-приложения на Java не имеет смысла писать, кто-то с пеной у рта доказывает обратное. В то же время работа идет, приложения пишутся и встают очередные проблемы. В предыдущей статье я уже привел небольшой список полезных библиотек для исключительных случаев, но нередко бывает так, что никакая сторонняя библиотека не позволяет сделать то, что Вам нужно. Именно в такой момент стоит задуматься о возможной необходимости написания своих компонентов.

Итак, в данном посте я постарался изложить самые важные и значимые на мой взгляд моменты по работе со Swing и графикой — как создавать компоненты, как стилизовать интерфейс, чего делать не стоит и многое другое…

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

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Date of birth
Registered
Activity