Шлюхи без блекджека, блекджек без шлюх. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

написал мегаполезный класс — 440 строк. написал тесты к нему — 312 строк. доволен

#T8KB6R (17+1) / @hirthwork / 3329 дней назад

ебанулся и написал собственный аналог https://github.com/square/tape с тем чтобы размер файла не был ограничен двумя гигами

#88MRS5 (3) / @hirthwork / 3329 дней назад

днище ебаное

Error Message: In a JIT-compiled Java method, a finally block is
not executed when:

1. A multi-type catch block is used to catch more than one type
of exceptions.

2. An exception is thrown from the try block that matches
anything but the first type in the multi-type catch.

3. An exception is thrown from the catch block. It can be a new
exception, or the caught (re-thrown) exception.

© http://www-01.ibm.com/support/docview.wss?uid=swg1IV68110

Оригинальный разбор полётов здесь:
https://www.ibm.com/developerworks/community/forums/html/topic?id=b660d423-abee-4d81-9a82-450824a26298&ps=25

#E3KYQA (12+1) / @hirthwork / 3329 дней назад

вот держишь ты данные в файлике и всё заебись — rename на файликах работает атомарно, заменяя один другим. но вот стоит тебе начать держать данные в папках, как сразу начинается ад и погибель, потому что нельзя сделать mv -T a b

#2TO8B6 (12) / @hirthwork / 3330 дней назад

уж если собрался профилировать скорость, то будь добр -Xdebug из параметров запуска убрать
inb4: хули я тут удаляю

#ZRNA89 (3) / @hirthwork / 3340 дней назад

В джаве нельзя просто так взять и написать дженерик с такой вот сигнатурой:

<T> void f(List<T> list, Callback<? super List<? super T>> cb) {

Жава будет вопить про то что второй аргумент хуйня и шли б все нахуй http://ideone.com/1xQ7dC

Поебавшись некоторое время нашёл вот такой лайфхак:

<T, U extends T> void f(List<U> list, Callback<? super List<T>> cb) {

Который заебись компилится: http://ideone.com/WN1qui

В общем, не знаю кому из вас это может понадобится, но пользуйтесь на здоровье

#QSJV8V (2) / @hirthwork / 3344 дня назад

tfw findbugs указывает тебе на ошибки в твоих же программах

#WHXLQP (0) / @hirthwork / 3354 дня назад

так долго программил под VC++98, что настороженно относишься к установке пакета libICE

#XNN1QK (0) / @hirthwork / 3355 дней назад

tfw rfc7159 разрешил любой value в качестве корневого элемента json. теперь придётся поправить json-parser написанный по rfc4627

#TQ1DNF (0) / @hirthwork / 3364 дня назад

опять import'ы перестали в 80 символов влезать

#E910Y9 (0) / @hirthwork / 3388 дней назад

Всё таки в плюсцах есть одна удобная штука по сравнению с жавой. Куда удобнее и короче писать

enterprise_object_factory factory(arg1, arg2, arg3);

чем

EnterpriseObjectFactory factory = new EnterpriseObjectFactory(arg1, arg2, arg3);

#IXISBE (4+1) / @hirthwork / 3391 день назад

величайшей трагедией интерфейса Comparable является то, что в коллекции объектов реализующих этот интерфейс вовсе не гарантируется одинаковость реализации .compareTo(...) у всех объёктов коллекции. в этом плане использование внешнего компаратора куда меньше режет глаз истинным перфекционистам

#06S50X (4) / @hirthwork / 3412 дней назад

вдогонку к #CN7EZY
восемь килобайт — предельный размер блока записи в FileOutputStream, который не требует аллокаций памяти. использоваться будет массив на стеке. если больше восьми килобайт, то перед вызовом GetByteArrayElements, сначала malloc'ом будет выделен блок памяти равный размеру массива

#NA7KSN (5) / @hirthwork / 3424 дня назад

раньше я думал, что запись в Socket блоков данных больше 8KB приводит к большому оверхеду за счёт выделения временных DirectByteBuffer. Оказывается это не так, никаких магических 8KB нет в коде jvm. Независимо от размера блока будет вызываться Util.getTemporaryDirectBuffer(size) которые выдаст DirectByteBuffer нужного размера и при необходимости удалит первый попавшийся из своего ThreadLocal кэша, чтобы новый буфер в этот кэш положить.

#MRJHR0 (1) / @hirthwork / 3425 дней назад

идемпотентность функций правильно делать не через if (!completed.getAndSet(true)), а через if (completed.compareAndSet(false, true)), ибо первый вариант вызывает второй в цикле

#Z3DLPI (0) / @hirthwork / 3430 дней назад

чтобы избежать warning'а при import'е deprecated класса, нужно удалить импорт, а к классу всюду обращаться через fully qualified name, например java.lang.String

#P3FQ7D (2) / @hirthwork / 3431 день назад

осознал что у Map функция get(...) принимает Object. Это значит, что поиске объекта вовсе не обязательно конструировать ключ, достаточно создать объект любого типа с правильными hashCode() и equals(Object). Практическое применение — лукапы в Map<String, ?>, при которых можно избежать конструирования String'а из char[]

#SZBBB9 (6) / @hirthwork / 3438 дней назад

а ещё у меня дикая ломка от того что IBM всё никак не выпустит свой билд jvm для восьмой джавы, так уже хочется в лямбдочки попердолиться, да default-функции заюзать

#QPV3JL (1) / @hirthwork / 3438 дней назад

обожаю работу в яндексе. серьёзно. проблемы о которых в других конторах даже не задумываются, в яндексе случаются каждый, сука, день. вот и сейчас выясняется, что не смотря на всякие SO_REUSEADDR, SO_LINGER и прочую еболу, которые админы накрутили в sysctl, перед закрытием сокета нужно таки делать shutdown(2). потому что. и да, к переполнению интовых счётчиков для количества документов на одном сервере мы давно привыкли и починили

#FMUEOV (14) / @hirthwork / 3453 дня назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.