Tags: работа

фото

Оптимизация selective receive в Erlang (OTP-8623)

Это врядли кому-то из моих читателей интересно, но напишу здесь, чтобы самому не забыть.
Результаты маленького исследования условий срабатывания оптимизатора selective receive в эрланге.

Итак оно работает, если:
1. Ref создается в той же области видимости, что и блок receive
2. Все ветки блока receive в шаблонах содержат Ref в явном виде
3. Уровень вложенности и местоположение Ref в шаблоне receive (вроде) не важно - хоть {Ref, ...}, хоть {..., Ref, ...}, хоть {..., {Ref, ...}, ...}, но если сделать X = {Ref, ...} и в receive написать {X, ...}, то оптимизация не сработает‏.

Дизассемблер наше всё )

upd: использование нескольких Ref в одном блоке receive тоже ломает оптимизацию.
фото

книги про Кассандру

фото

Запомнившиеся доклады на Java One


  • Про файберы (от Mail.ru). Основанная на манипуляции с байткодом реализация pauseable-потоков. Обещают выложить в открытый доступ.

  • Мутационное тестирование (от Яндекса). Про то, что Code Coverage ничего не говорит о качестве тестов, и как с этим можно бороться с помощью PIT.

  • Поисковая система Одноклассников. Было кое-что интересное про используемые технологии и архитектуру.

  • Art of Java Perfomance Benchmarking II (Oracle). Про то, почему perfomance benchmarking - это сложно и как с этим борется JMH

  • Quantum Perfomance Effects (Oracle). Совершенно бесполезный (как и предупреждал автор!), но очень интересный доклад о влиянии железа на работу микробенчмарков.

  • Распределенные и высокодоступные серверные приложения на Java и Scala (от Talkbits). Довольно подробно рассказали про архитектуру проекта, очень интересно и достаточно близко к моим текущим задачам. Finagle, который они используют, очень хорошая библиотека, имел небольшой опыт ковыряния с ней.

JavaOne - впечатления

В целом интересных докладов было не так уж и много. Рассказали в кратце о планируемых нововведениях в JDK7 (ничего революционного) и JDK8 (будет круто, если ничего не сломают). Много малополезных рассказов о JEE6. Немного о перспективах JEE7 (из серии "сами еще толком не знаем, что там будет", но общее направление развития понятно). Несколько докладов по оптимизации, скатывающихся преимущественно в описание работы GC (весьма полезно, надо бы найти слайды, но хотелось бы большего). Интересный доклад про проектирование совместимого API (мало! но примеры хорошие). Вот кажется и все.

Из полезно-интересного - раздача больших скидок от JetBrains (а еще симпатичные магнитики на холодильник). Теперь придется, как порядочному человеку, личную "Идею" купить.

Организация мероприятия подкачала. Многочисленные узкие места, в которых скапливались толпы народу. Совершенно бестолковый контроль на входе/выходе из зала (образовывались длиннющие очереди). На многих докладах в малых залах не только не хватало мест, но и вообще не протолкнуться было. И это я еще не говорю про кормежку - позорище просто. Ладно бутеры на кофебрейк, но кормить на обед оголодавших программистов небольшой порцией салата и сникерсом - это полное издевательство. Могли бы хоть гамбургеров из "Макдональдса" принести - ито бы лучше было. Автоматы по продаже всякой закуски - воды сломали еще в середине первого дня... А еще вайфай работал только в некоторых местах и не очень стабильно.

ps. Про Jav-у. Она похоже будет постепенно мигрировать в сторону Scal-ы, правда с сохранением существующего громоздкого синтаксиса. Замыкания, адаптация под них интерфейсов коллекций, дефолтовые реализации методов в интерфейсах (чем не trait-ы? интересно как конфликты будут разрешаться?). Если еще и поддержку actor-ов в jdk добавят, то совсем красота будет.

В догонку

 
Poll #1599323 Собсеседование программистов

Следует ли давать задачи на смекалку?

Это самое важное
0(0.0%)
Можно, в качестве дополнения
3(75.0%)
Не нужно
0(0.0%)
Это просто глупо
1(25.0%)

Следует ли давать задачи из различных областей математики?

Необходимо
0(0.0%)
Только в качестве дополнительных
3(75.0%)
Не обязательно
0(0.0%)
Гупости все это
1(25.0%)

Какие вопросы наиболее приоритетны (с точки зрения работодателя)

На смекалку
0(0.0%)
Математические
0(0.0%)
Небольшие тестовые задачи
2(33.3%)
Технологические вопросы (API, языки etc)
0(0.0%)
Предыдущий опыт работы
4(66.7%)
 

Ужос!

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

Хм

Может ли ява-программист стать настоящим ява-программистом, не побывав на острове Ява?.. И как посещение этого острова может отразиться на работе?..