-
Про старый добрый RMI
Не так давно, после многолетнего перерыва, в одном небольшом проекте использовал такую древнюю технологию как RMI. В итоге хотел поделиться общими впечатлениями и сделать небольшие заметки “для себя” на будущее. Задача была типовой — перебросить выполнение некоторых функций с одного сервера на другой, на котором установлено специальным образом настроенное оборудование и программное обеспечение. В результате […]
-
Комиксы
Поскольку эта рабочая неделя короткая и уже постепенно подходит к концу, то я решил не публиковать сегодня никаких нагружающих мозг публикаций. Давно хотел вместо очередной технической статьи выложить небольшую подборку ссылок на веб-комиксы, которые регулярно читаю в перерывах на обед и перед работой. 1. CommitStrip Французские авторы. Про жизнь небольшой команды занимающейся веб-разработкой.
-
Java и лямбда-выражения.
Ни для кого не секрет, что во второй половине 2013 года планируется выпуск Java 8 (UPD: на JavaOne 2013 в Москве сообщили, что выход восьмерки перенесут на 2014). Мне наконец-то надоело быть пассивным читателем всех этих многочисленных восторженных отзывов о нововведениях языка и я решил скачать предварительную версию JDK (благо она уже давно выложена) и […]
-
Уменьшение размеров JavaScript и CSS файлов.
В данном случае идет речь о минификации, т.е. например удалении лишних пробельных символов и комментариев. Часто используется при подготовки и развертывании систем готовых к промышленной эксплуатации. Конечно, также с целью экономии трафика имеет смысл включать GZIP compression в настройках сервер, но данная статья не об этом. Минификация – операция довольно рутинная и по-хорошему должна быть […]
-
Java. Примеры копирования файлов. Эволюция и революция.
Задачка копирование файлов в свое время была хорошим тестом для программистов. 1. Streams. До появления пакета NIO (New I/O, версия Java 1.4) многие использовали обычные потоки. public static void copy(File source, File dest) throws IOException { FileInputStream is = new FileInputStream(source); try { FileOutputStream os = new FileOutputStream(dest); try { byte[] buffer = new byte[4096]; […]
-
Сколько стоит талант программиста (и не только).
Давно уже ничего не писал на общие темы – о выборе профессии, жизненном пути или поиске предназначения. Последний раз подобных тем касался почти три года назад. Прежде чем начать изложение, хотел сообщить, что я осознаю всю нестрогость моих расчетов и надеюсь никто не станет воспринимать приведенные ниже доводы буквально! Теперь можно приступать. Думаю многие знают […]
-
Java Security Update (Java 7u13)
Вышло долгожданное обновление Java! Oracle выпустил релиз даже раньше запланированного срока (изначально должен был выйти 19 февраля 2013г). В анонсе сказано, что обновление содержит 50 исправлений безопасности: Due to the threat posed by a successful attack, Oracle strongly recommends that customers apply CPU fixes as soon as possible. This Critical Patch Update contains 50 new […]
-
Липкий запуск сервисов в Android-e.
В Android API есть такой абстрактный класс как Service. Он является наследником ContextWrapper-а, который в свою очередь является наследником Context-a. При некоторых допущениях можно относиться к сервисам как к “активити без UI” (хотя это не совсем правильно в деталях). Использовать сервис рекомендуется для задач не требующих прямого вмешательства пользователя. В документации особо акцентируется внимание на […]
-
В коворкинге. 9 месяцев спустя.
Итак, 31 октября, накануне Хеллоуина я уехал из коворкинга. В сумме провел в нем около 9 месяцев. Причины отъезда Во-первых, стало шумно. Появилось несколько новых соседей, которые много общаются по телефону (больше 50-70% моего времени пребывания). Одного-двух говорливых соседей терпеть еще можно, можно было одеть наушники, сделать перерыв и пройти прогуляться и т.д. Когда “говорунов” […]
-
Андроидная венгерско-верблюжья нотация
Для разработчиков OC Android, как и для других серьёзных программистов, существует соглашение по оформлению кода. В целом оно совпадает с соглашением в обычной Java. Как именно нужно оформлять, можно прочитать на официальной странице для Android разработчиков. Привожу краткую справку по наименованию полей класса: НЕ паблики и НЕ статики должны начинаться с “m” (анг: Non-public, non-static […]