Search
Write a publication
Pull to refresh
2
0
Send message

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Views650K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →

Умный дом, как я до такого докатился. Часть 1-я

Reading time4 min
Views467K

Пару лет назад, когда стоял вопрос отделки новой квартиры, возникла тривиальная, казалось бы, задача.
Дано:
  • Кухня-студия (кухня совмещенная с холлом/коридором), три точки освещения.
  • Необходимо управлять освещением из двух точек. У входа в квартиру и на кухне.

Варианты решения:
  • Покупаем, так называемые, проходные выключатели, ставим три штуки на кухню, три в коридоре — вот оно счастье. Вот только получилось, что от коридора на кухню нужно вести 9 жил кабеля, некрасиво, спрятать некуда.
  • Покупаем готовые решения по управлению одним источником с нескольких точек.
    Точных чисел не помню, но получалось что-то около 10000р за точку освещения + 1000р за каждый выключатель, итого 36000р. Жаба.
  • Как это ни странно, но эту идею высказала жена, в общем-то далекая от IT: “ А помнишь, ты светофор в Яндексе делал? Может тут тоже что-то сам сообразишь?”
    В самом деле, а почему бы и нет, подумал я?

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

Умный дом на базе Z-Wave

Reading time5 min
Views245K


Долгое время я вынашивал идею, как лучше сделать удобное управление светом и электроприборами в квартире. При этом, мне хотелось иметь некое готовое модульное решение для относительно несложной самостоятельной настройки. Так, совершенно случайно, я наткнулся на оборудование, которое можно внедрить уже в существующую дома сеть совершенно «безболезненно». Им оказались устройства, работающие по протоколу Z-Wave.
Читать дальше →

Bluetooth-стикер поможет найти ключи, рюкзак или пульт ДУ

Reading time2 min
Views65K


Говорят, что если связать вместе ключи, пульт ДУ телевизора и носки (самые «теряемые» вещи в мире), то откроется портал в неведомое измерение, в которое попадают все потерянные вещи. Если серьезно, то действительно, часто бывают моменты, когда спешишь, а ключи от дома/машины найти не можешь. Или там пульт ДУ куда-то подевался, и телевизор сразу превращается в неуправляемый «кирпич». На днях было представлено интересное решение всех этих проблем. Решение — маленький bluetooth-девайс, получивший название StickNFind (пока в продаже его нет, сразу скажу).

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

GPL панель управления сервером Vesta

Reading time3 min
Views70K


Сейчас уже сложно сказать, когда именно я начал работу над вестой. Если считать первые скрипты добавления виртуальных хостов в апач, то это был 2007 год. Получается 5 лет тому назад. Помню тогда на работе состоялся примерно такой диалог:
— Ты решил написать свою панель управления?
— Ага, ведь cPanel это ужас, Plesk хоть и лучше, но сильно дорогой. Да и вообще у меня уже почти все готово
— Хм… для того чтобы просто приблизиться к сPanel тебе потребуется минимум 2 года

Не помню, что тогда ответил, но фразу про то, что почти все готово, я повторял еще не раз. Сейчас еще я хочу рассказать что готово в версии 0.9.7
Читать дальше →

Экспорт истории сообщений из Skype 4.*

Reading time3 min
Views124K
Прочитав новость об уязвимости в Skype, позволяющей угнать любой аккаунт, в процессе чтения комментариев и постов по теме наткнулся на новую для себя информацию: оказывается, начиная с версии 4.* Skype хранит информацию о пользователе в базе sqlite. Это и навело меня на мысль о том, что информацию из базы можно легко и непринужденно получить.
Читать дальше →

Большое файловое хранилище для маленькой такой компании

Reading time7 min
Views175K
Думаю, что любая группа разработчиков рано или поздно сталкивается с такой, казалось бы, примитивной задачей как
  • вики, учет задач, тикетов, дефектов;
  • система управления версиями/репозиторий;
  • файловый сервер.


И если в случае первого и второго предлагается множество прекрасных средств, в частности для багтрекинга существуют известные каждому Redmine, Trac, а для управления версиями Subversion, Git, Mercurial, то для грамотной организации файлового хранилища приходится в очередной раз изобретать велосипед.
Читать дальше →

Подборка цветовых схем подсветки синтаксиса для Sublime, TextMate и Vim

Reading time1 min
Views64K
Дейл Риз — один из разработчиков PHP-фреймворка Laravel — выложил на Гитхаб весьма приятную подборку цветовых схем, совместимую с Sublime Text 2, Vim и TextMate. В неё входят преимущественно тёмные темы (21 из 25), и, что бывает не так уж часто, практически все они выглядят очень прилично — есть из чего выбрать. Инструкции по установке и скриншоты каждой темы — в репозитории.
Под катом — скриншоты всех 25 схем.
Читать дальше →

Приемы написания скриптов в Bash

Reading time7 min
Views173K
Администраторам Linux писать скрипты на Bash приходится регулярно. Ниже я привожу советы, как можно ускорить эту работу, а также повысить надежность скриптов.

Совет 1

Не пишите скриптов, которые выполняют действия ничего не спрашивая. Такие скрипты нужны довольно редко. А вот всевозможного «добра» для копирования, синхронизации, запуска чего-либо, хоть отбавляй. И если в любимом Midnight Commander Вы вдруг нажали не на тот скрипт, то с системой может произойти все что угодно. Это как правила дорожного движения — «написано кровью».

Совет 2

Отталкиваясь от предыдущего, в начало каждого скрипта неплохо помещать что-то вроде:
read -n 1 -p "Ты уверен, что хочешь запустить это (y/[a]): " AMSURE 
[ "$AMSURE" = "y" ] || exit
echo "" 1>&2
Команда echo, кстати, здесь нужна потому, что после нажатия кнопки <y> у вас не будет перевода строки, следовательно, следующий любой вывод пойдет в эту же строку.

Совет 3

Это ключевой совет из всех. Для того, чтобы не писать каждый раз одно и то же — пользуйтесь библиотеками функций. Прочитав много статей по Bash, я вынужден констатировать, что этой теме уделяется мало внимания. Возможно в силу очевидности. Однако я считаю необходимым напомнить об этом. Итак.
Заведите свою библиотеку функций, например myfunc.sh и положите ее, например в /usr/bin. При написании скриптов она не только поможет сократить ваш труд, но и позволит одним махом доработать множество скриптов, если Вы улучшите какую-либо функцию.
Например, в свете совета 2 можно написать такую функцию:
Читать дальше →

Простой личный анонимайзер

Reading time2 min
Views90K
В свете последних событий и вероятного будущего, нам всем может понадобиться удобная утилита, которая позволяет смотреть на Web глазами цивилизованного европейца, а лучше голландца. Это может быть нужно для проверки доступности сайта, обхода слишком навязанного геотрекинга, неуместного черного списка или для осуществления любой другой легитимной законной деятельности в интернетах, которую нам не позволяют в данной сети неправильно сконфигурированный шлюз или прокси-сервер.

Конечно, можно воспользоваться публичным анонимайзером, ТОРом или VPN'ом, но это не всегда удобно и не всегда возможно: например, публичный терминал в интернет-кафе или любой компьютер, на котором у нас нет прав, не позволит нам воспользоваться TOR'ом или VPN, а «анонимные прокси» вообще вещь в себе: никогда не знаешь как монетизирован именно этот хост. Личный анонимайзер же будет работать на любом устройстве и с большой вероятностью не будет заблокирован на бордере. Предлагаемый метод не отменяет TOR или VPN (или SSH), а дополняет их возможностью доступа с чужих хостов.

Нулевое необязательное требование: домен. Это около 10 долларов в год, в принципе не обязательно, но удобно и желательно.

Во-первых, нам понадобится личный экзит-поинт в нужной стране. К нашим услугам www.leaseweb.com, где всего за 9 евро в месяц можно пользоваться VPS'кой. Очень полезный в хозяйстве инструмент для многих нужд! На этом хосте должен быть настроен Apache и PHP, я опущу этот вопрос, так как он достаточно подробно освещен другими.

Во-вторых, нам понадобится скрипт, который будет показывать собственную адресную строку, искомый сайт во фрейме ниже и будет обладать другими полезными опциями вроде скрэмблера URL'ов, выкидывания всего embedded-хлама и кукисов, хранение кукисов на стороне сервера и т.п. Решений несколько, простое и работающее — Glype Proxy, который можно взять на glype.com.

Установка скрипта проста.
Читать дальше →

Бесплатные VM с Windows для тестирования сайтов на старых версиях IE

Reading time1 min
Views152K
Microsoft уже несколько лет раздаёт бесплатные виртуальные машины с Windows XP, Vista и 7 для тестирования веб-сайтов на старых версиях браузера Internet Explorer.

Все образы укомплектованы соответствующей версией IE и апдейтами безопасности. Для XP установлены апдейты до октября 2012 года, для остальных — до марта 2011 года. В остальном — это чистая свежая инсталляция Windows без особенных модификаций. Образы в формате VHD можно загрузить в Microsoft Virtual PC или другой пакет виртуализации. Самораспаковывающиеся архивы RAR для удобства скачивания разбиты на части по 700 МБ.
Читать дальше →

Узнать логин-пароль установленные на PPPoE в роутере

Reading time1 min
Views198K
Что делать если необходимо узнать логин-пароль установленные на PPPoE в роутере? Вопрос был задан в habrahabr.ru/qa/28217 и я из природной любознательности решил поэкспериментировать. Предположим что доступа к админке у нас нет. Модель роутера не так важна (в моём случае для тестов был взят D-Link DIR-300)

Решение под катом
Читать дальше →

Арсенал веб-дизайнера

Reading time2 min
Views162K
В интернете существует множество сайтов, помогающих веб-дизайнеру в работе: ресурсы с иконками, плюшками для фотошопа, UI-китами, шрифтами, вдохновляющими работами других дизайнеров и многим другим. В этой статье я постарался собрать самые полезные сайты для веб-дизайнеров.

Большие и популярные сайты


Behance - работы лучших дизайнеров со всего мира

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

Microsoft Mail app и неработающая отправка писем через smtp

Reading time2 min
Views19K
image
На днях мой директор попросил разобраться почему его новенький планшет Microsoft Surface RT не желает отправлять почту.
Гугление только подтвердило тот факт, что Mail App не работает c smtp как во «взрослой» Windows 8, так и на планшетах. Решения же найдено не было. Общение с поддержкой через чат с сотрудником Microsoft привело к тому, что я получил ссылки на темы форумов Microsoft, которые и раньше находил гуглом.
Читать дальше →

Light — продвинутый светильник с Linux на борту

Reading time2 min
Views16K

22 октября на kickstarter начался сбор средств для проекта «Light» — продвинутого linux-светильника. Он представляет собой куб из матового пластика, внутри которого на гранях расположены 52 RGB-светодиода, под управлением микрокомпьютера с акселерометром и беспроводным модулем, что открывает большие возможности для применения этого устройства: его можно использовать и как необычный светильник и как индикатор (например, использования системных ресурсов на сервере), и как будильник, или ambilight.

Одной из целей этого проекта является создание платформы для разработки, доступной не только опытным системным программистам. Так как для управления устройством используется REST-интерфейс, то не имеет значения, на каком языке было написано приложение и выполняется ли оно на самом Light, или где-то на другом конце Земли.

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

Немного технической информации

Проксируем и спасаем

Reading time7 min
Views168K
1 ноября мир изменился и больше никогда не будет таким же как прежде. В российском интернете появилась цензура — общеизвестный уже список запрещенных сайтов. Для одних это важнейшая политическая тема, для других повод изучить технологии шифрования и защиты анонимности, для третьих просто очередной странный закон, который приходится исполнять на бегу. Мы же поговорим о технологическом аспекте.

В данном пособии мы узнаем как быстро и просто сделать рабочее зеркало любого сайта, что позволяет сменить IP и назначить любое доменное имя. Мы даже попробуем спрятать домен в url, после чего можно сохранить локально полную копию сайта. Все упражнения можно сделать на любом виртуальном сервере — лично я использую хостинг Хетцнер и OS Debian. И конечно мы будем использовать лучший веб-сервер всех времен и народов — NGINX!

К этому абзацу пытливый читатель уже приобрел и настроил какой нибудь выделенный сервер или просто запустил Linux на старом компьютере под столом, а так же запустил Nginx последней версии со страничкой «Save me now».
Cкорее кого-нибудь спасем

Конвертируем видео… в SVG

Reading time5 min
Views26K
Так уж сложилось, что испокон веков единственный кроссбраузерный способ показать анимацию в браузере без JS — анимированный gif. Был бы у него JPEG-based аналог — и интернет мог бы быть совсем другим… Современные альтернативы, например APNG — работает не везде и со столь же небольшим сжатием, а долгожданный тэг <video> страдает от патентов.

Хочу поделится результатами моего небольшого академического эксперимента по конвертированию видео в формат SVG (которое затем при везении можно просто показать через <img src="">).

Академического — потому что проблемы кросс-браузерной совместимости далеки от решения, и потому в нынешнем виде это едва-ли где-то применимо.
SVG — это не только векторная графика, но и 3 а то и 4 метра качественного видео...
Читать дальше →

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.8M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

TorrentMonitor

Reading time4 min
Views60K
Как говорится — лень — двигатель прогресса. Я не открыл ничего нового и так же ничего нового не придумал. Взяться за реализацию этой идея меня подтолкнуло то, что универсальные мониторилки не в состоянии работать с некоторыми нашими трекерами (например rutracker.org), да и функционал немного не тот, что мне нужен. Проект изначально писался исключительно под себя, под свои требования и задачи, а потом захотелось поделиться им с людьми.

Список возможностей приложения выглядит следующим образом:
— слежение за темами на nnm-club.ru
— слежение за темами на rutracker.org
— слежение за релизерами на nnm-club.ru
— слежение за релизерами на rutracker.org
— поиск новых серий на lostfilm.tv
— поиск новых серий на novafilm.tv

Если вам стало хоть немного интересно, добро пожаловать под кат.
Читать дальше →

На основе Raspberry Pi сделали полноценный нетбук (+ идея проведения конкурса)

Reading time2 min
Views76K


Raspberry Pi — весьма популярный мини-ПК, и на его основе сейчас создают разного рода интересные проекты. К примеру, на основе модели за 35 у.е. (с 512 МБ ОЗУ, Ethernet, USB, HDMI) умелец создал функциональный ноутбук. Правда, корпус не фабричный, но что это меняет? Да и в дальнейшем, думается, другие мастера смогут создавать проекты в корпусах старых/вышедших из строя ноутбуков. Немного подробностей — в продолжении.

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

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity