Обновить
18
Михаил@yetanothercoder

java/kotlin кодер

3
Подписчики
Отправить сообщение

Пул констант

Время на прочтение3 мин
Охват и читатели33K
Многие знают, что в каждом .class-файле есть замечательная структура данных, которая называется пулом констант. Но далеко не каждый Java-разработчик, глядя на исходник, сможет даже примерно оценить, сколько констант будет создано в пуле.

Возьмём, к примеру, такой код:

System.out.println("Hello World!");

Он транслируется в три инструкции байткода: getstatic (для загрузки статического поля System.out), ldc (для загрузки константной строки «Hello World!») и invokevirtual (для выполнения виртуальной функции println). Попробуйте прикинуть, сколько констант нужно для того, чтобы этот код работал.
Читать дальше →

Вступают в силу новые правила ввоза товаров из-за рубежа (посредники предупреждают пользователей)

Время на прочтение5 мин
Охват и читатели288K
То, о чем так долго ходили слухи и что так много обсуждалось уже осуществляется близко к завершению.
Вступают в силуСкоро вступят в силу новые правила ввоза товаров. Сегодня пришла рассылка от Shipito, в которой сообщается, что есть около 40 дней на приобретение и доставку товаров по старым расценкам (1000 Евро в месяц на человека).

Russian Customs News
New custom limit is 150 Euro and 10kg for one parcel.
There is about 30-40 days for this law to take effect.

Голосования в интернете не помогли.
Печальная история. Теперь уже не купишь так легко редкие в России товары (например заказанный мной сразу после анонса Nexus 5 32Gb white и Nexus 7 32Gb white).
Так же неизвестно по какой цене для нас будут доступны так ожидаемые многими Moto360.
И хотя официального объявления не было, и проект еще не подписан, рассылка от одного из крупнейших посредников говорит о многом.
Читать дальше →

1967 года рождения и моложе

Время на прочтение6 мин
Охват и читатели220K
Прочитав этот и этот топики на печальную пенсионную тему я решил поделиться внутренними наработками нашей кадровой службы для наших сотрудников. Дальше много несмешного текста без картинок.
Читать дальше →

Федеральный закон № 243, или Тихая пенсионная реформа

Время на прочтение4 мин
Охват и читатели428K
счастливая старость

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

Однако факт остается фактом: «… с 1 января 2014 г. будет осуществлен т. н. страховой маневр — сокращены с 6 до 2% отчисления на формирование накопительной части пенсии. Высвободившиеся 4% пойдут на финансирование страховой части.»

UPDATE! Весьма вероятно, что скоро сокращение будет не до двух процентов, а до нуля — смотрите обновление №3 в конце поста.

Ну, кто там спрашивал, от чего отвлекают наше внимание?! Здесь был горький смайлик с кривой ухмылкой.

Кому интересно / небезразлично, добро пожаловать под кат!
Читать дальше →

Офис компании Boomburum

Время на прочтение19 мин
Охват и читатели415K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →

Как найти работу в Германии

Время на прочтение4 мин
Охват и читатели146K

Для всех, кто просил описать как искать работу программистом в Германии, а так же для тех, кто в комментариях бездоказательно писал, что Германия далеко не лучшее место для работы, ну и для всех интересующихся написан этот пост.
Читать дальше →

Поговорим за Hadoop

Время на прочтение10 мин
Охват и читатели70K
image

Введение

Как человеку с не очень устойчивой психикой, мне достаточно одного взгляда на картинку, подобную этой, для начала панической атаки. Но я решил, что страдать буду только сам. Цель статьи — сделать так, чтобы Hadoop выглядел не таким страшным.

Что будет в этой статье:

  • Разберем, из чего состоит фреймворк и зачем он нужен;
  • разберем вопрос безболезненного развертывания кластера;
  • посмотрим на конкретный пример;
  • немного коснемся новых фич Hadoop 2 (Namenode Federation, Map/Reduce v2).


Чего не будет в этой статье:

  • вообще статья обзорная, поэтому без сложностей;
  • не будем лезть в тонкости экосистемы;
  • не будем зарываться глубоко в дебри API;
  • не будем рассматривать все околоdevops-задачи.

Читать дальше →

Знай сложности алгоритмов

Время на прочтение2 мин
Охват и читатели1.1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →

Как я покупал квартиру

Время на прочтение11 мин
Охват и читатели63K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →

Релиз облачного хостинга Infobox Jelastic 2. Анонс для разработчиков

Время на прочтение7 мин
Охват и читатели6.4K
Мы рады сообщить вам о доступности новой мажорной версии облачного хостинга Infobox Jelastic 2, созданного разработчиками для разработчиков! Также мы анонсируем долгожданную поддержку Python и объявляем о работе над Node.JS и .NET (Mono framework) для Jelastic.

jelastic 2

Теперь вы можете разрабатывать на Java, PHP, Ruby и Python и запускать свои приложения, сервисы и сайты в Jelastic без необходимости настройки серверов, установки и поддержки программных стеков. У разработчика появляется больше времени для работы над ключевыми задачами.

На Infobox Jelastic доступны SQL и NoSQL базы данных (да, MongoDB тоже есть), балансировщик нагрузки, кеш, VDS и встроенный билд-сервер. В новой версии особо хочется отметить поддержку Redis и Cassandra. Добавление технологии в окружение происходит за 1 клик и сразу можно приступать к работе.

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

Используя платформу как сервис Jelastic вы не теряете контроль над своим приложением. В каждый контейнер, исполняющий тот или иной компонент программного стека, можно подключаться по ssh для более тонкой настройки при необходимости. Jelastic автоматизирует работу стандартных платформ для разработки, поэтому при использовании сервиса вы не попадаете в Vendor–lock и всегда сможете запускать разработанные приложения для Jelastic на своих серверах при необходимости.

Мы в Infobox не просто развернули Jelastic 2 на собственном кластере, но и существенно доработали его, уделяя внимание каждой мелочи, для обеспечения лучшего опыта использования. Также мы добавили новые приложения и CMS в Jelastic Marketplace и оптимизировали производительность инсталляции, обеспечив возможность использовать сервис для серьезных задач.

Под катом вы узнаете о новых возможностях и улучшениях Infobox Jelastic 2 для разработчиков и сможете получить 300 рублей на свой аккаунт.
Читать дальше →

Наши танки. История нагрузочного тестирования в Яндексе

Время на прочтение7 мин
Охват и читатели62K
Я хочу сегодня вспомнить о том, как нагрузочное тестирование в Яндексе появилось, развивалось и устроено сейчас.

image

Кстати, если вам понравится этот рассказ, приходите на Тестовую среду в нашем питерском офисе 30 ноября (зарегистрироваться), – там я расскажу больше об игровых механиках в тестировании и с удовольствием вживую с вами поговорю. Итак.

В 2005-2006 годах часть не поисковой инфраструктуры Яндекса стала испытывать нагрузки растущего как на дрожжах Рунета. Появилась необходимость тестировать производительность смежных с поиском сервисов, в первую очередь — баннерную крутилку. Тимур Хайруллин, на тот момент руководивший нагрузочным тестированием, озадачился поиском подходящего инструмента.
Читать дальше →

RosSpam.org или как пожаловаться на SMS-спам в пару кликов

Время на прочтение2 мин
Охват и читатели30K

С каждым днем мы получаем все больше и больше рекламных SMS. Такой вид рекламы очень хорош для рекламодателя — получателю сообщения всегда проще его удалить, чем пожаловаться. Ну, кто пойдет на сайт какого-нибудь сервиса, введет кучу данных об полученной SMS, чтоб, может быть, отписаться от данного отправителя, а на следующий день получить SMS-спам от нового?
Есть идея!

Как я боролся с sms-спамом или горе от ума

Время на прочтение3 мин
Охват и читатели114K
Логическое продолжение постов «Как избавиться от SMS-спама» и «RosSpam.org или как пожаловаться на SMS-спам в пару кликов»
UPD Добавлено решение краевого УФАС против рекламораспространителя. Краткая выжимка — погрозили пальчиком не заказчику рекламы(макулатурщику), а конторе, которая непосредственно рассылала смс.

Мне, как наверно и любому хабраюзеру, регулярно приходят sms-сообщения рекламного характера, в которых продвигают некие услуги. Стоит отметить, что сейчас речь пойдет о «настоящих» рекламных рассылках, а не о информационных сообщениях от оператора сотовой связи или от вашего банка/провайдера.
22 октября 2013 мне пришла очередная рекламная sms, звонок в эту фирму с просьбой пояснить, как я оказался в списке рассылки, результата не дал, и я решил обратиться в ФАС (Федеральную антимонопольную службу).
Читать дальше →

Дорог ли native метод? «Секретное» расширение JNI

Время на прочтение5 мин
Охват и читатели33K

Для чего Java-программисты прибегают к native методам? Иногда, чтобы воспользоваться сторонней DLL библиотекой. В других случаях, чтобы ускорить критичный алгоритм за счет оптимизированного кода на C или ассемблере. Например, для обработки потокового медиа, для сжатия, шифрования и т.п.

Но вызов native метода не бесплатен. Порой, накладные расходы на JNI оказываются даже больше, чем выигрыш в производительности. А всё потому, что они включают в себя:
  1. создание stack frame;
  2. перекладывание аргументов в соответствии с ABI;
  3. оборачивание ссылок в JNI хендлы (jobject);
  4. передачу дополнительных аргументов JNIEnv* и jclass;
  5. захват и освобождение монитора, если метод synchronized;
  6. «ленивую» линковку нативной функции;
  7. трассировку входа и выхода из метода;
  8. перевод потока из состояния in_Java в in_native и обратно;
  9. проверку необходимости safepoint;
  10. обработку возможных исключений.

Но зачастую native методы просты: они не бросают исключений, не создают новые объекты в хипе, не обходят стек, не работают с хендлами и не синхронизованы. Можно ли для них не делать лишних действий?

Да, и сегодня я расскажу о недокументированных возможностях HotSpot JVM для ускоренного вызова простых JNI методов. Хотя эта оптимизация появилась еще с первых версий Java 7, что удивительно, о ней еще никто нигде не писал.
Читать дальше →

Что нужно знать про арифметику с плавающей запятой

Время на прочтение14 мин
Охват и читатели1.1M


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →

Волшебное решето Эратосфена

Время на прочтение4 мин
Охват и читатели77K
image
Наверняка все, кто читает этот пост не раз использовали, или хотя бы слышали о решете Эратосфена — методе отыскания простых чисел. Сама проблема получения простых чисел занимает ключевое место в математике, на ней основаны некоторые криптографические алгоритмы, например RSA. Есть довольно много подходов к данной задаче, но в этой статье я остановлюсь на некоторых модификациях самого простого из них — решета Эратосфена.
Читать дальше →

До свидания офис. Азия и фриланс, мой кисло-сладкий соус

Время на прочтение5 мин
Охват и читатели219K
Привет!
В этой статье я хочу рассказать вам про мой путь из офиса во фриланс: мотивация, зарождение идеи, поставленные цели, вехи пути и полученный опыт.

Начать надо с главного. Я гедонист. Нет, правда! В хорошем смысле слова: сценарий «обколоться анашой» и тупеть для меня не очень интересен. Просто я думаю, что все в жизни должно быть классно и интересно. А если нет — сделай так чтобы было.
Этот текст я начал писать в ночном тайском автобусе, следующем с острова Пхукет в Бангкок. Одно из ребер графа Москва-Бангкок-Хошимин-Муине-Паттая-Пхукет-Панган-Самуи-Бангкок-Бали-Москва, растянутого во времени на 5 месяцев.



Одно важное замечание: я не сбегал, не валил, не заводил трактор.
Просто однажды осознал, что радость жизни теперь можно черпать большей ложкой, и эпоха офиса может быть сменена на хайлевел фриланс.
Что такое хайлевел фриланс? Это когда работаешь за нормальные 20-30 баксов в час; не общаешься с заказчиками-гопниками; не кидаешь, не ждешь кидалова; работаешь с полной отдачей меньше 40 часов в неделю (кто работает в офисе реальные 8 часов и не сгорает через полгода?); контрибьютишь в open-source проекты по мере надобности и заводишь свои… потому что хочется это делать!

Читать дальше →

Алгоритмы и структуры данных — шпаргалка

Время на прочтение1 мин
Охват и читатели202K
Пару недель назад, необходимо было освежить информацию в голове информацию по структурам данных и алгоритмам для собеседования. Первым делом полез на www.coursera.org, где хотел пробежаться по некоторым лекциям курса Алгоритмы, там же были две сводные таблички, которые в процессе изучения курса взял на заметку — отлично помогали запомнить сложность операций. Но, к моему удивлению, материалы пройденного курса стали недоступны. Быстрое гугление, в надежде, что кто-нибудь выложил лекции на торрентах, к сожалению, не дало результатов. В итоге, я нашел полную коллекцию слайдов по данному курсу. Спешу поделиться. Самое главное, что взял из этих слайдов, — это вышеупомянутые сводные таблички. Думаю многим пригодится.
Читать дальше →
12 ...
8

Информация

В рейтинге
Не участвует
Откуда
Дедовск, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Специалист
Java
Python