Как стать автором
Обновить
3
0
Артём @saveart

Пользователь

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

Справочник по Java Collections Framework

Время на прочтение6 мин
Количество просмотров738K
Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?


Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия


На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

image
Читать дальше →
Всего голосов 36: ↑27 и ↓9+18
Комментарии21

СУБД — поворот на 90 градусов

Время на прочтение3 мин
Количество просмотров5.8K
Объемы данных и требования к скорости их обработки за последние десятилетия многократно выросли. Системы управления базами данных (СУБД) пытаются соответствовать новым реалиям и претерпевают значительные эволюционные и революционные изменения. Одним из таких эволюционных факторов является движение в сторону т.н. вертикальных (column-based) систем хранения.
Примеры на пальцах
Всего голосов 18: ↑15 и ↓3+12
Комментарии32

Программируем LED на телефоне

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

Хотя Android API не позволяет напрямую включать-выключать светодиодный индикатор или вспышку фотокамеры, на некоторых телефонах такая возможность имеется.

Как программно помигать разноцветными огоньками, как написать свой «Фонарик» или какими еще светодиодами устройства можно управлять — об этом Вы узнаете ниже.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии62

Прощай, Zen Coding. Привет, Emmet!

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

Еще в 2009 году, image Сергей Чикуёнок опубликовал статью, в которой представил новый способ написания HTML и CSS кода. Этот революционный плагин, назывался Zen Coding, он помогал многим разработчикам на протяжении многих лет и в настоящее время вышлел на новый уровень.

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

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

Читать дальше →
Всего голосов 152: ↑123 и ↓29+94
Комментарии112

Банк скриптов для Festival

Время на прочтение2 мин
Количество просмотров6.7K
После прочтения топика «Учим ПК разговаривать», я сразу-же попробовал festival.
И был приятно удивлен!
Голос достаточно ровный, иногда только нужно подредактировать слова с двумя основами — фестиваль ставил в них одно ударение, а нужно два — просто написать слово через дефиз.
Еще если слова не оказывается в словаре, фестиваль может поставить ударение не там — тогда нужно явно указывать его с помощью знака плюс (+) перед ударной гласной.

Поигравшись, за несколько недель у меня накопилось несколько разных интересных скриптов. Я настроил через cron разговор с 8 до 10 вечера каждый час в 00 минут — общую информацию:
1) Дату, время
2) Температуру на процессоре/винчестере
3) Заряд батареи (в процентах и даже остаток (не спрашивайте зачем) в миллиамперах)
4) Проверка почты
5) Температуру на улице (актуальную)
Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии50

Raspberry Pi в качестве Time Capsule для Mac OS

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


Об одноплатном компьютере Raspberry Pi узнал чуть больше полугода назад и сразу появилось желание использовать его в качестве домашнего медиасервера. Но ожидание своего заказа в течении 4 месяцев и блуждание по Интернету навели на мысль использовать Raspberry Pi в качестве хранения резервных копий MacBook Pro, т.е., настроить RPi (Raspberry Pi) таким образом, чтобы система Mac OS X по локальной Wi-Fi сети создавала свои резервные копии автоматически.

Данная статья является попыткой создать пошаговую инструкцию по настройке RPi для использования в качестве Time Capsule.
Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии69

Сайт для программиста [на Node.js]. Просто. Стильно. Бесплатно

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

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

Меня аккаунт Вконтакте, и даже в Фейсбуке в качестве своего сайта не устраивает. Слишком много лишнего, навязанный формат и прочие неудобства.

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

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

Некоторые знания HTML и JS вам пригодятся. Опыт работы с Node.js не обязателен.

Читать дальше →
Всего голосов 131: ↑90 и ↓41+49
Комментарии96

Пишем редактор карт изображений (html image map) на javascript / html5 / inline SVG

Время на прочтение5 мин
Количество просмотров45K
Карты изображений применяются в том случае, когда требуется создать ссылку формы, отличной от прямоугольной. Например, для презентационных сайтов, отображения планов/схем и т.п.

Раньше создавать такие карты было удобно в Adobe ImageReady, но начиная с версии CS3 эта программа больше не поставляется с Фотошопом. На сегодняшний день подобный функционал есть в Adobe Fireworks, но устанавливать эту программу только из-за редактора карт (для работы мне нужен только Фотошоп) — не очень хорошая идея. Существуют и онлайн-редакторы, которые написаны, в основном, с использованием canvas. В них отсутствует возможность редактировать созданные области на карте. Если ошиблись — придется все переделывать. Да и создавать эти области не слишком удобно. Еще одно неудобство заключается в том, что картинку приходится загружать на сервер. В общем, надо писать что-то свое.

Итак, задача:
— написать на javascript редактор, который позволит создавать карты изображений — загружаем картинку, рисуем области, получаем html-код. Если ошиблись — должна быть возможность отредактировать карту. Редактор должен работать в оффлайн-режиме. Обеспечить поддержку только современных браузеров, в том числе Internet Explorer 9.

Summer html image map creator
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии8

Внутренности jQuery. Поиск кода, выполняемого по событию

Время на прочтение4 мин
Количество просмотров25K
Чем дальше в лес, тем толще партизаны. Нет, не так. Чем старше веб, тем больше джаваскрипта

Клиентского кода в веб-приложениях с каждым годом действительно становится все больше. Подчас это десятки файлов с сотнями функций. И что делать, когда нам нужно поменять код, выполняемый по событию (например, клик по ссылке). Как его найти? Задавшись решением этой задачи, я придумал несколько разных вариантов. Каждый из них имеет свои плюсы и минусы. И в конце статьи я предлагаю метод, который мне кажется оптимальным.
Читать дальше →
Всего голосов 132: ↑125 и ↓7+118
Комментарии34

Велокофта с сигналами поворота

Время на прочтение7 мин
Количество просмотров12K
Хочу поделиться с хабрасообществом интереснейшим проектом. Он не только поможет повысить безопасность в отсутствии велодорожек, но и будет невероятно удивительно смотреться живьем. И да, смею вас успокоить, в ближайшее время я больше не буду тревожить вас переводами. *прим. переводчика

«Я понял одну нехитрую истину. Она в том, чтобы делать чудеса своими руками.»
© А. Грин «Алые Паруса»




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

Читать дальше →
Всего голосов 158: ↑128 и ↓30+98
Комментарии186

Строим гусеничного Bluetooth-робота с камерой. Часть 1

Время на прочтение7 мин
Количество просмотров146K
По многочисленным просьбам я решил описать процесс создания вот такого робота с камерой на гусеничном шасси и управлением по bluetooth с помощью джойстика.

Я всегда мечтал создать робота, которым можно управлять с помощью компьютера и смотреть за его перемещениями от первого лица.
Весь процесс я условно разделил на три части:
1. Сборка робота
2. Программирование боротового микроконтроллера
3. Программирование управления с ПК
Читать дальше →
Всего голосов 172: ↑167 и ↓5+162
Комментарии134

Получаем бесплатный SSL сертификат

Время на прочтение4 мин
Количество просмотров516K
Привет, хабр!

О StartSSL я узнал от небезызвестного lissyara, в связи с чем ему очень благодарен.

Для начала расскажу, что же за зверь это. Как известно, SSL сертификаты выдаются центрами сертификации, чьи корневые сертификаты хранятся в хранилище сертификатов браузера\ОС (либо другого ПО, использующего SSL). Цена на большинство сертификатов зашкаливает, и платить приходится за каждый сертификат. Но у StartSSL весьма интересный подход — сами сертификаты у них бесплатные, вы платите только за проверку вашей личности.

Так же не может не радовать наличие русскоязычной поддержки.
Читать дальше →
Всего голосов 136: ↑123 и ↓13+110
Комментарии134

Обзор бесплатных инструментов для аудита web-ресурсов и не только

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

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

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

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

В злых целях знания использовать не буду!
Всего голосов 189: ↑174 и ↓15+159
Комментарии43

Подводные камни Scrum — разношерстные кадры

Время на прочтение5 мин
Количество просмотров5.3K
Хочу поделиться практическим опытом внедрения гибких методологий на проектах по веб-разработке высокой и средней сложности и предостеречь от коварных рисков.

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

Поехали.

Гибкие и «жесткие»


Есть гибкие методологии разработки (Agile), такие как Scrum, простые и постигаемые за пару дней. А есть «жесткие», увесистые, требующие многомесячного погружения, такие как RUP.

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

А чего бояться-то? Сумасшедшие бородатые специалисты говорят о процессах, артефактах, матрицах зависимости (Requirements Traceability Matrix) — а мы в рубахе, босиком, раз и… запрограммируем любой интернет-проект за 3 спринта! Ура, товарищи, к победе.

Так вот, «упрощение», предлагаемое гибкими методологиями, очень условное и коварное. «Расслабились» с одной стороны, придется хорошенько поднатужиться с другой.
Читать дальше →
Всего голосов 50: ↑39 и ↓11+28
Комментарии25

Сделай сам: регистрация ООО

Время на прочтение6 мин
Количество просмотров33K
Не так давно мы размещали подкаст, в котором Антон Шаяхов поведал миру, как быстро и качественно зарегистрировать ИП. Совершенно незаслуженно мы обошли вниманием более сложный процесс. Исправляемся.

Дано: ведется деятельность в качестве ИП, есть доступ в интернет, уровень интеллекта выше среднего.
Задача: в кратчайшие сроки и с минимальными затратами закрыть ИП и зарегистрировать ООО.

Почему ООО?
Всего голосов 134: ↑126 и ↓8+118
Комментарии104

Перехват системных вызовов в linux под x86-64

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

Введение


В интернете опубликовано множество статей по перехвату системных вызовов под x32. В рамках решения одной задачи появилась необходимость в перехвате системных вызовов под архитектурой x86-64 при помощи загружаемого модуля ядра. Приступим:
Всего голосов 56: ↑49 и ↓7+42
Комментарии14

Основные UI паттерны разработки Android приложений

Время на прочтение3 мин
Количество просмотров25K
Поскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии15

Создание локального репозитория Ubuntu 10.04

Время на прочтение4 мин
Количество просмотров14K
Постепенный перевод предприятия на GNU/Linux порождает необходимость соответствующих изменений в инфраструктуре. Сегодня мы решаем проблему глобального обновления клиентских машин путем создания локального репозитория. Процесс изначально документировался как памятка на будущее, потому заранее прошу прощенья за возможные несуразности в тексте. Итак.
Для начала следует определиться, посредством чего лучше сделать это. Интернеты выделяют двух фаворитов rsync и debmirror. Выбрал последний, ввиду его большей гибкости.

1. Получение ключей


Для создания зеркала репозитория необходимо получить ключ «Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>». Для этого в терминале от суперюзера вводим:
gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5
Читать дальше →
Всего голосов 80: ↑65 и ↓15+50
Комментарии26

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Время на прочтение14 мин
Количество просмотров31K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Всего голосов 196: ↑186 и ↓10+176
Комментарии32

Каким должен быть инсталлятор. Мастер-класс от Oracle

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

Театр начинается с вешалки, а программный продукт начинается с инсталлятора. Все мы хоть раз устанавливали программу и знаем, что часто по тому, как сделана программа установки, можно судить об отношении разработчиков ко всему программному продукту.
Также все наслышаны о таком «монстре», «корпорации зла», которая покупает Sun, судится с Google и т.д. Это Oracle Corporation, в которой работает более 100 тыс. сотрудников.
По роду моей деятельности мне пришлось столкнуться с флагманской СУБД данной компании – Oracle Database 11g Release 2.
До этого мое общение с этой СУБД замерло на версии 9i и теперь, хоть и избалованный другой известной СУБД, я решил насладиться инженерной мыслью Oracle Corporation.

Ниже вы ознакомитесь с моими первыми впечатлениями.
Читать дальше →
Всего голосов 162: ↑143 и ↓19+124
Комментарии140
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность