*java

hirthwork 25.11.2012 19:23

Часть первая: полезная.
Всем желающим писать хттп-сервер на жабке и кому не подходит HttpCore вовсе не
обязательно костылить свой велосипед. Оказывается начиная с JDK 1.6 уже есть
простой и понятный сервер:
http://docs.oracle.com/javase/7/docs/api...
Не умеет только давать возможность вешать ... more →

hirthwork 16.11.2012 04:06

легко и непринуждённо подключаем автогенерацию Java-сорцов из рагелевских файлов: http://dumpz.org/324080/

hirthwork 11.11.2012 15:54

// на последний тег не смотрите, на нём только мой примёр.
// область применения ограничивается лишь рагелем.
итак, настало время охуительных историй.
как известно, нормальные пацаны (типа Сысоева) вешают на обработки кучи сокетов
всего один поток и делают select. Пришли данные в сокет — просыпается ... more →

hirthwork 08.11.2012 13:14

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

hirthwork 03.11.2012 15:40

Как известно, у Object.wait(long timeout) может случиться преждевременная эя^W^W spurious wakeup. т.е. interrupt() не делали, таймаут не истёк, notify() не посылали, а он, подлец такой, всё равно взял да и разблокировал поток до завершения операции, которую ожидал. возникает вопрос что делать с таймаутом в данном ... more →

hirthwork 21.10.2012 14:47

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

hirthwork 19.10.2012 08:25

Agnostic Drived Development: не знаешь что написать — пиши throw new UnsupportedOperationException();

hirthwork 16.10.2012 10:33

получить контент всего ресурса в одну строку: byte[] data = Files.readAllBytes(new File(getClass.getResource("resource.name").toURI()).toPath());

hirthwork 15.10.2012 06:50

когда-нибудь, когда я порабощу мир, я найду и зверски казню многих разработчиков опенсурсных библиотек. ПОТОМУ ЧТО НЕХУЙ КИДАТЬ UNCHECKED EXCEPTIONS, СУКИ!

hirthwork 14.10.2012 12:13

На будущее: никогда не делать CountingOutputStream через FilterOutputStream. На будущее №2: в пизду FilterOutputStream.

hirthwork 12.10.2012 12:47

Посмотрел как сделан OutputStreamWriter в icedtea.
Объясните, почему этот адпизды нельзя было написать просто как:
void write(char[] cbuf, int off, int len) {
ByteBuffer buffer = charset.encode(CharBuffer.wrap(cbuf, off, len));
stream.write(buffer.array(), 0, buffer.limit());
}

hirthwork 08.10.2012 15:44

посоны, а поделитесь ссылкой на реализацию FileSystemProvider, который прокидывает доступ к http-серверу? ну, то бишь я делаю, например, FileSystems.newFileSystem(URI.create(" http://tools.ietf.org/rfc/rfc896.txt"), env); а оно мне даёт возможность random-access доступа к этому файлу, как если бы это был файл на ... more →

hirthwork 29.09.2012 12:59

мне приснилось что всё из джавы, даже небо, даже ОС. действительно, почему ни одна корпорация не догадалась пилить JVM, которая работает напрямую с железом, ставится на голый винт, сама пишет в порты и сама управляет всей памятью в системе? запуск программы выполняется java.lang.ClassLoader'ом, и вызовом run() в ... more →

hirthwork 29.09.2012 07:11

In JIT we trust.

hirthwork 26.09.2012 20:10

пизда... обёрнутый SocketChannel, который был нужен для того, чтобы повесить хук на закрытие канала, нихуя не взлетает, в виду того что sun.nio.ch.SelectorImpl.register() кидает IllegalSelectorException, когда обнаоруживает, что перед ним не чистый SocketChannel.

hirthwork 26.09.2012 13:23

написание FilterSocketChannel требует 125 строк кода. пиздануться, а не удобная библиотека nio.

hirthwork 18.09.2012 12:01

Как оказалось, в Java никак извне нельзя прервать поток, который читает с
диска. Т.е. InputStream.read() — непрерываемый (если внутри, конечно, не сокет).
Как с этим предлагает бороться Эккель: просто сделать InputStream.close() на
том ресурсе, на котором может заблокироваться поток.
Охуенный подход: «Как же нам ... more →

hirthwork 10.09.2012 18:36

потыкал PMD. её видение прекрасного слишком отличается от моего. допиливать до совместимости с собой влом.

hirthwork 24.08.2012 09:19

Внезапно прилетел e-mail от Люксофт с предложением пройти собеседование на Java программиста в Питере. Пришло время отомстить за то что они не ответили на моё резюме пару лет назад.

hirthwork 23.08.2012 12:06

почитал «Short introduction» для log4j. охуел и решил, что проще писать своих наследников java.util.logging.Handler

hirthwork 21.08.2012 19:31

как форсировать log rotate для стандартных механизмов в джаве по наступлению _внешнего_ события?

hirthwork 21.08.2012 02:54

есть наколенное поделие о трёх страничках написанное «для себя».
крутится на tomcat.
сегодня утром проснулся с желанием переписать на рукописный серверак на базе
httpcore-nio с «ручным» управлением сессиями.
объективных предпосылок нет, но желание повелосипедить есть.
всё, я кончил.

hirthwork 14.08.2012 12:50

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

hirthwork 14.08.2012 10:54

алсо, осознал, что жабка теперь торт. с этими try-with-resources я наконец-то могу писать в точности так, как если бы в жабке были деструкторы на выходе из скоупа

hirthwork 13.08.2012 20:58

первотег ругается на мой код и говорит что сувать динамически составляемую строку запроса в Statement.executeQuery() — плохо. мол медленно и SQL injections attacks. СУКА, ТЫ МЕНЯ ЕЩЁ БУДЕШЬ УЧИТЬ ПРОГРАММИРОВАТЬ?!?!

Do you really want to delete ?

*java is used by:

Hirthwork McGillah

hirthwork

eurekafag

eurekafag

K900

K900

Nico-izo

Nico-izo

kb

kb

16+

238328

gelraen

gelraen

Артс

arts

Rayslava

0xd34df00d

0xd34df00d

Michael Pogoda

MPogoda

nobiiru

nobiiru

0x2207

0x2207

Crazy_Owl

Crazy_Owl

SirAnthony

SirAnthony

cirno

cirno

jabber

jabber

werehuman

werehuman

няша

generatorglukoff

Ky6uk

Ky6uk

Darth Bricktop

Like-all

Jarkko

Jarkko

anonymous_owl

anonymous_owl

der_FeniX

der_FeniX

silvery

silvery

asmer

asmer

rman

svtk

svtk

Rejjin

Rejjin

Monah Tuk

hatred

mva

mva

lexszero

lexszero

StormChild

StormChild

Ствол

Dulo_T-34

Rondo

nya

nya

nixer

nixer

dorfe

dorfe

Johan

johan

amd63

amd63

anoos

anoos

miviru

miviru

Oleg Tsarev

zamotivator

muhas

muhas

zw0rk

zw0rk

gesh

Forth EMU

emu

Darion

Darion

13oz

13oz

Maxim Barzunov

zweipluse

4DA

4da

anonkz

anonkz

uzername

uzername

SetazeR

setazer

silentos

silentos

XonX

XonX

DarkElve

DarkElve