JavaSE и OS X

Спойлерок

Привет! Это пишет b00blik уже из будущего. Прошло несколько лет, и потому этот пост может быть слегка неактуален.

Привет!

Хочу немного рассказать про взаимоотношения JavaSE и OS X. Это немного провал.

Сперва дам ссылку на официальный Java Development Guide for Mac. Его стоит сперва читать, если кому-то вдруг вздумается (как мне) писать какое-либо Java-приложение, которое планируется запускать на Mac’ах.

Так что просто перечислю яркие места, где можно зафейлить.

  • Надо использовать Swing, а не AWT, как могло бы показаться. То бишь, конечно, первая мысль «но AWT нативен, и OS X должна сразу годно им отрисовывать!». Нет. Фейл заключается в том, что там хитро устроены многие вещи, от event’ов с мышью и заканчивая иным минимальным размером окна.
  • Swing прекрасно работает с Aqua. Поэтому если хочется использовать true OS X GUI, то нужно использовать Swing. Посмотрите, даже табы и те выглядят прекрасно 
  • Еще важное замечание. Если вы не упаковываете свою программу в .app контейнер, то в верхней строке на экране, где ещё меню можно заметить, что title у вашей программы будет названием класса, а не тем какой вы например, установите в конструкторе.

Немного Java, погоды и xml

Спойлерок

Привет! Это пишет b00blik уже из будущего. На дворе 2к19, от XML я теперь шарахаюсь как от огня, а глядя на свой старый код я иногда ору как сучька. Пожалуйста, не пинайте меня за косяки в этом посте – ныне я утонул в энтерпрайзе и мне и так непросто живется.

Привет!

Давайте я сегодня вам покажу как легко и просто можно достать данные о погоде для своего приложения на Java.

Я остановился на worldweatheronline.com API. Он отдает данные в XML, причем эти данные даже в бесплатной версии довольно подробны.

При регистрации аккаунта разработчика нам предоставляется строка с ключом, который позволяет нас идентифицировать. Дальше всё довольно просто:

Для парсинга будем использовать SAXParser
Для хранения данных сделаем класс, куда собственно парсер будет это закидывать

Крайне банальная реализация клиент-серверного взаимодействия на C

Давайте представим следующую задачу. Есть протокол  TCP, и пусть наш клиент будет запрашивать у сервера содержимое каталогов.

Для нового соединения будем создавать новый поток, и для них (новых соединений) будем использовать заранее запущенные потоки из пула. Размер пула пускай будет фиксированный.

Читать далее «Крайне банальная реализация клиент-серверного взаимодействия на C»