http://mtaalamu.ru
Знание на уровне не ниже среднего следующих языков и технологий:
Java (SE), включая multithreading.
SQL (PL/pgSQL, T-SQL)
Приветствуется знание/опыт:
Java SWT/JFace library.
C#
СУБД (PostgreSQL, MSSQL)
Английский язык на уровне чтения технической документации.
Рассматриваются кандидаты, имеющие опыт работы и знания в других языках программирования, при наличии желания к самостоятельному изучению Java/Postgresql.
Мы предлагаем:
Конкурентоспособный уровень з/п.
Бесплатные обеды, чай, кофе, сладости.
Демократичная атмосфера в офисе.
Широкие возможности профессионального роста.
Контакты:
тел. 8(8552)920-500; +79656155011
почта: developers.life@gmail.com
Skype: nimda1985]]>
Организатором мероприятия стала местная JUG, а не корпорация Oracle. Питерская группа поклонников Java в последние годы заметно активизировалась и устроила всё весьма прилично. Несколько удивило, что «золотым» спонсором мероприятия выступил сайт «Одноклассники», написанный, оказывается почти полностью на Java. Их представители выступили с несколькими интересными докладами, в основном касающимися высоконагруженных систем. (Таковым, кстати, будет посвящена отдельная конференция в конце апреля).
Я же прослушал следующие выступления:
]]>
Ну что-ж, тогда встречайте: настроенная виртуальная машина для Java-разработки от самого Oracle! В состав входят NetBeans для любителей гуёвых IDE, а также сервер приложений GlassFish. Всё это установлено на фирменный оракловский Linux (гы-гы-гы… уши CentOS торчат с первых минут загрузки).
При установке вас ожидает небольшой квест. Во-первых, нужно зарегистрироваться на сайте Oracle. Без авторизации скачивать не дают. Во-вторых, образ виртуального диска выложен 4-мя кусочками (3 по 700 и еще 200+ Мб). Для их склеивания прилагается нехитрый батничек (assemble.cmd). В-третьих, виртуальную машину лучше не создавать с нуля (хотя и так можно), а импортировать их прилагающегося xml-файла. В-четвертых, не очевидны имя пользователя и пароль (подсказываю: glassfish / glassfish).
А в остальном всё очень мило, можно включить поддержку русского языка, хотя NetBeans, конечно, придется поднастроить. Предупреждаю также о том, что Firefox там настроен через прокси, так что может показаться, что нет соединения с Интернетом.]]>
Кое-что появляется на официальном сайте, а также можно деятельность можно отслеживать на ресурсе
На официальном сайте доступны записи прошедших встреч !!!]]>
package ru.yababay;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
/**
*
* @author yababay
*/
public class Sample implements Initializable {
@FXML
private TextField label;
@Override
public void initialize(URL url, ResourceBundle rb) {
label.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if(!newValue.booleanValue())
System.out.println(label.getText());
}
} );
}
}
Т.е. некое свойство GUI-элемента — focusedProperty — изменяется и это влечет за собой события. Как производятся сами изменения — это уж забота системы. Программист же должен сосредоточиться на реакции.
Потихоньку вхожу во вкус такого программирования, которое, хотя и непривычно, но и впрямь очень способствует сосредоточению на бизнес-логике, а не рисовании красивых интерфейсов. Впрочем, интерфейсы и без того получаются довольно симпатичные.]]>
Да, русский язык, все-таки, плохо подлежит алгоритмизации. Такие вещи, как «одна тысяЧА», но «две тысяЧИ», «пять тысяЧ»; или, скажем «триСТА», но «пятьСОТ»; или «двадЦАТЬ», но «сорок(!)» и «девяноСТО»; или «двЕ тысячи», но «двА миллиона» — со всем этим пришлось изрядно повозиться.
И еще: как, все-таки, хорошо, что в современных версиях Java можно использовать национальные алфавиты без дополнительных телодвижений.]]>
Побывав на JavaDay-2012 и воочию увидев, что JavaFX в своем нынешнем состоянии вполне заслуживает того, чтобы к ней вернуться, я, тем не менее, был в очередной раз расстроен: поддержка Linux планировалась лишь на 3-й квартал 2012 г. С горя даже почитал материалы на тему разработки и запуска JavaFX-приложений под wine и уже полез на сайт Oracle скачивать соответствующий экзешник, как вдруг оказалось, что версия для Linux уже выложена там!
Скачал, установил, запустил демонстрационное приложение — работает нормально, причем если версия 1.3 под Linux не поддерживала аудио и видео (по лицензионным соображениям), то здесь — пожалуйста. Разве что 3D-графика пока не работает, но, возможно, на моем компьютере просто что-то не установлено.
Ну что-ж, простим создателей JaxaFX за несколько извилистый путь развития. Планирую вернуться к этой технологии, т.к. полно кроссплатформенных замыслов, для реализации которых она отлично подходит.
Да, забыл рассказать об установке. Если вы не планируете заниматься разработкой на JavaFX, а хотите лишь запустить приложения, созданные с помощью ее библиотек, просто скопируйте из скачанного архива содержимое rt/lib в JAVA_HOME/jre/lib. Запускаются JavaFX-приложения, запакованные в свои jar-файлы, обычным образом:
java -jar Ensamble.jar
Привожу крупно список новых возможностей и «фишек» JavaFX 2.0:
]]>
]]>
Мероприятие проходило в отеле Холидей Инн что у Московских ворот. Прежде чем дать краткий отчет об услышанном на конференции, хочу поблагодарить Учебный центр «Шифа», при поддержке которого я там побывал.
]]>
repo.remote.url=http://хост
В alfresco-global.properties.
Естественно, нужен перезапуск.]]>
2. Скачиваем новый и устанавливаем его, например в /opt/alfresco4.
3. Стартуем и останавливаем новый. Это нужно для распаковки необходимых файлов.
3. Русифицируем новый. Топик тут. Проблему с TinyMCE исправили — с файлами перевода в архиве необходимые файлы. Русификация здесь.
Почему-то не работает принудительное выставление локали способом:
Добавляем в /opt/alfresco/tomcat/bin/catalina.sh:
JAVA_OPTS="$JAVA_OPTS -Duser.language=ru -Duser.region=RU"
Как разберусь — напишу.
4. Обновляем информацию о временных зонах. Топик тут.]]>
]]>
Скачиваем Timezone Updater Tool
Переходим в директорию Alfresco:
cd /opt/alfresco
Распаковываем и запускаем с помощью Java входящей в комплект Alfresco.
Проверка зон:
./java/bin/java -jar ./tzupdater-1.3.42-2011k/tzupdater.jar -t
Видим вот что:
/data/tzdata2011k.test:4566: test failed: Europe/Moscow
Обновляем:
./java/bin/java -jar ./tzupdater-1.3.42-2011k/tzupdater.jar -u
Рестартуем Alfresco.]]>
Мне удалось избежать массовой плаксивости и стонов, охвативших средства массовой информации в минувшие выходные по случаю 10-й годовщины событий 9/11. Но я не мог не вспомнить о Филе Розенцвейге, который летел рейсом АА 11 (т.е. на лайнере, захваченном террористами — прим. перев.). Он был отличным парнем и ценным сотрудником. Поскольку Фил работал в офисе Sun на восточном побережье, мы виделись редко. Зато вели интенсивную переписку по электронной почте. Он был главной движущей силой проекта Java Reliable Multicast API (технология, позволяющая рассылать сообщения одновременно множеству пользователей — прим. перев.). Эту работу ожидал огромный успех, но в ее разгар самолет, на котором летел Фил, врезался в здание Всемирного торгового центра…
]]>
Мы, коллеги Фила, построили небольшой мемориал, посвяженный ему, в кампусе Менло-Парка, принадлежавшем Sun. Теперь это новый кампус Facebook. Парни из Facebook, заботитьтесь об этом монументе и вспоминайте про Фила, когда проходите мимо.
Несколько особняком стоит веб-приложение Jenkins, ранее известное как Hudson. Если в двух словах, то это специализированный шедулер, ориентированный на сборку программного обеспечения по расписанию. Он может быть полезен и системным администраторам, например, для резервного копирования или отслеживания состояния системы.
]]>
На днях открылся неплохой вариант — www.jvmhost.com/. Фирма новая, так что завлекает доступными ценами. Аренда сервера Tomcat, например, стоит $7,95 в месяц, что существенно меньше, чем у конкурентов (ориентировочно $11,55). Привлекает и то, что уже поддерживается JDK7.
Честно говоря, меня впечатлили расценки даже не на Java-хостинг, а на аренду виртуальных машин. Пообщался с консультантом — он подтвердил, что машины полноценные, с ssh-доступом и root-полномочиями.
Т.е. если кто-то планирует разместить тот же самый Tomcat, который пока не очень нагружен — может вместо аренды этого сервера за $7,95 приобрести виртуальную машину за $4,95 и установить Tomcat самостоятельно.
Есть там еще услуга Trial. Она, кстати, не совсем бесплатна. За $0,5 арендатор получает одну из услуг на 2 недели. Как бы попробовать. Иногда этого срока достаточно, чтобы провернуть какое-нибудь дельце. Например, продемонстрировать заказчику возможности клиент-серверного приложения и убедить его раскошелиться на нормальный хостинг .
Топик получился немножко рекламным, но это, по-моему, как раз тот случай, когда «для хорошего дела не жалко». К тому же за такую раскрутку можно получить скидку, если надумаю там что-то приобрести. Прошу отнестись с пониманием: почему бы немножко не монетизировать старину Mtaalamu? ;)]]>
О самом продукте организаторы конференции поведали очень сдержано. Видимо, подробности мы узнаем завтра из официальных релизов. Поэтому приводятся лишь несколько фоток и ссылок. Однако за эксклюзивную новость Engineer'у большое спасибо!
На фото в первом ряду один из Java-гуру — Яков Сироткин, вот связанные с его деятельностью страницы:
www.telamon.ru/
www.jug.ru/servlets/index
yakov-sirotkin.livejournal.com/
В Твиттере почитать о событии можно по этой ссылке.]]>
Оценив ситуацию свежим взглядом решил, что держать свой сервер вовсе необязательно: кругом полно бесплатных. Сначала «переселил» бота на GoogleTalk. Всё прекрасно, управлять можно и из браузера, и из любого IM-клиента с поддержкой Jabber. А вот с мобильного телефона нельзя. Ну нет у Google нормального клиента для сервиса GTalk. Ну что-ж, тогда Яндекс. У этих ребят мобильный клиент давно написан: им можно и почту посмотреть, и пообЧАТься. Кроме того, из браузера чат тоже можно вести.
Сам бот тоже поумнел. Теперь он не только выполняет простые bash-команды, но и интерпретирует синтаксические конструкции на языках Java/Groovy, а также… переключает телевизионные каналы (да, такая вот Jabber-«лентяйка» для телевизора ).
От злоумышленников бот защищен тем, что признает только команды, переданные с определенного аккаунта: чтобы управлять им, нужно сначала захватить мою учетную запись на Яндексе.
]]>