Search
Write a publication
Pull to refresh
43
0
Артур @arty87

User

Send message

Java Bytecode Fundamentals

Reading time6 min
Views64K
Разработчики приложений на Java обычно не нуждаются в знании о байт-коде, выполняющемся в виртуальной машине, однако тем, кто занимается разработкой современных фреймворков, компиляторов или даже инструментов Java может понадобиться понимание байт-кода и, возможно, даже понимание того, как его использовать в своих целях. Несмотря на то, что специальные библиотеки типа ASM, cglib, Javassist помогают в использовании байт-кода, необходимо понимание основ для того, чтобы использовать эти библиотеки эффективно.
В статье описаны самые основы, от которых можно отталкиваться в дальнейшем раскапывании данной темы (прим. пер.).
Читать дальше →

Классный разработчик не должен писать код, за него пишут другие

Reading time3 min
Views16K
Я хочу продолжить тему классных разработчиков и их подхода к разработке, на которую опубликовал уже несколько статей. В этот раз поговорим о коде и отношении к его написанию. Кому интересно, прошу под кат.
Читать дальше →

Нетривиальные возможности Java

Reading time4 min
Views17K
Java — язык простой. И после года активного использования для Вас не остаётся секретов. Совершенно случайно я обнаружил, что на stackoverfow люди решили поделиться скрытыми возможностями (Hidden Features of Java). Вышло очень занимательно, получился своеобразный рейтинг нетривиальных возможностей, который я далее запротоколирую в вольном переводе на русский.

double brace


С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода — 
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.

далее еще 10 пунктов!

Garbage Collection наглядно

Reading time10 min
Views288K
В последнее время я работаю с клиентами над вопросами настроек JVM. Смахивает ситуация на то, что далеко не все из разработчиков и администраторов знают о том, как работает garbage collection и о том, как JVM использует память. Поэтому я решил дать вводную в эту тему с наглядным примером. Пост не претендует на то, чтобы покрыть весь объем знаний о garbage collection или настройке JVM (он огромен), ну и, в конце концов, об этом много чего хорошего написано уже в Сети.
Читать дальше →

JVM изнутри – организация памяти внутри процесса Java

Reading time2 min
Views122K
Наверное, все, работающие с Java, знают об управлении памяти на уровне, что для ее распределения используется сборщик мусора. Не все, к сожалению, знают, как именно этот сборщик (-и) работает, и как именно организована память внутри процесса Java.
Читать дальше →

Скоро лето

Reading time2 min
Views16K
Так уж получилось, что снег еще не растаял, а уже скоро лето. Предыдущее предложение выглядит несколько абсурдно, ведь до лета еще два месяца. Но надо отметить, что те, кто любит проводить лето в поездках с получением новых знаний и в общении с интересными людьми, уже начинают готовится. Один из способов, который я знаю, сочетающий два упомянутых способа времяпрепровождения, это посещение научных школ. И конец подачи заявок для многих из них скоро наступит.

Список школ, включающий время проведения, крайний срок подачи заявок, место проведения и наличие грантов, поддерживается в группе в VK и на странице Computer Science клуба.

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

Ресурсы, о которых должен знать каждый Android-разработчик

Reading time6 min
Views189K
Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.

Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
Читать дальше →

На заметку поступающим в американские колледжи

Reading time5 min
Views25K
Добрый день.

Мне 25, я закончила Факультет Прикладной Математики в Минске, сейчас живу в Америке (Калифорния). В 2010 моя двоюродная сестра при мне готовила документы на бакалавриат (она поступила в Stanford на Management, Science & Engineering), и в этом году я сама уже подавала документы на мастер программу (поступила в Carnegie Mellon на MS in Software Engineering). После длительной подготовки и километров потраченных нервов, загадочная система поступления стала мне чуть более понятна. Спешу поделиться некоторыми моментами, которые были для меня в новость.
Читать дальше →

Технопарк Mail.Ru. Начало

Reading time6 min
Views51K
Горячая дискуссия, которую вызвал этот пост на Хабре, навела на мысль, что пора взять себя в руки и написать про Технопарк. Что это за проект? Каковы его цели? Как они достигаются? Каковы первые результаты? И, в конце концов, почему зарплата >150 000 рублей после окончания университета представляется достижимой для примерно 30% студентов проекта? Итак…

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

Бесплатные звонки в США и Канаду с любого SIP устройства

Reading time6 min
Views66K
image

Как многие уже могли догадаться, речь пойдёт о возможности, которую предоставляет сервис Google Voice. В посте трёхгодичной давности уже описывался процесс регистрации аккаунта в GV. При этом можно было принимать звонки на SIP устройства, но для инициализации вызова всё равно приходилось заходить в аккаунт и звонить оттуда, что довольно неудобно. В этом посте я расскажу о том, как полностью подружить Google Voice и SIP.
Читать дальше →

IntelliJ IDEA 12.1 c поддержкой JavaFX 2

Reading time2 min
Views20K
Привет, Хабр!

Традиционно каждую весну мы празднуем выпуском свежего обновления для IntelliJ IDEA с исправлениями и улучшениями юзабилити. Этот год не стал исключением! Мы рады сообщить, что IntelliJ IDEA 12.1 наконец доступна для скачивания.



Как вы знаете, в конце прошлого года IntelliJ IDEA обзавелась поддержкой Java 8, Play Framework 2, дизайнером UI для Android, более чем в два раза ускоренным компилятором, новыми инструментами для работы с базами данных и, конечно же, темной цветовой темой Darcula. В IntelliJ IDEA 12.1 большая часть этих возможностей была улучшена с учетом тех замечаний, которые мы получили за это время, а также были исправлены многие найденные проблемы.
Читать дальше →

Microsoft набирает инженеров-разработчиков для участия в выпусках одной из крупнейших ERP систем

Reading time1 min
Views10K
В связи с расширением московского R&D центра, отвечающего за разработку российской и европейской версий Dynamics AX (Axapta), а также открытием новых проектов по разработке и локализации вертикальных решений компания Microsoft набирает инженеров-разработчиков для участия в выпусках одной из крупнейших ERP систем.

Вы сможете принять участие в выпуске версий одной из ведущих ERP систем, приобщиться к сложному и интересному миру систем управления предприятием, которое, наряду с общими навыками дизайна и разработки, требует также умения разобраться в функциональной стороне вопроса, продумать и реализовать бизнес-процессы в системе наиболее оптимальным образом.
Читать дальше →

Игра: Загрузка иностранного языка в мозг

Reading time9 min
Views139K
Бывает ли у вас такие ситуации, когда слово, идиома или грамматическая конструкция иностранного языка никак не могут удержаться в голове, несмотря на то, что вы встречали её уже много раз и даже специально учили? А сколько процентов иностранных слов вы помните спустя месяц после их изучения? А спустя полгода? Сложно ли вам мотивировать себя на занятия иностранным языком?



С ответами на эти вопросы, приходит осознание и того, что с проблемой забывания значительной части, ранее изученного, нужно что-то делать. Не только эффективно учить, но и эффективно поддерживать свои знания. Кроме того, существует проблема преодоления сопротивления к рутинной деятельности, которую может помочь решить введение игровых элементов в процесс монотонного повторения.

Под катом вас ждет рассказ о методе изучения иностранного языка при помощи карточек (flashcards), о технике эффективного использования метода и о принципиальных особенностях и алгоритмах одного варианта программной реализации.
Читать дальше →

Техника: Составление методов (рефакторинг М. Фаулера)

Reading time5 min
Views33K
Начало Код с душком (рефакторинг М. Фаулера) .
В продолжении, техника рефакторинга по книге Рефакторинг. Улучшение существующего кода Мартин Фаулер.

Синтаксис будет на C#, но главное понимать идею, а её можно использовать в любом другом языке программирования.
Читать дальше →

Сказ о том, как один нерадивый провинциал в MIT поступал

Reading time9 min
Views413K
Всем здравствуйте, меня зовут Олег, мне 17 лет, и сегодня я расскажу вам о процессе поступления в MIT.
Дабы сохранить цельность повествования, следует отметить, что статья написана 15 марта 2013 года, в день оглашения вердиктов о зачислении студентов.
image
Картинка для привлечения внимания

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

Почему стоит изучить Clojure?

Reading time17 min
Views150K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →

Случайные советы

Reading time3 min
Views12K
Здравствуйте, вот прошло почти пол года, как я опубликовал на хабрахабре свой небольшой сервис заметок/советов программисту. К моему большому удивлению, откликнулось очень много людей, которым понравилась идея.



Честно сказать, я до сих пор получаю e-mail от многих людей с вопросами о состоянии сервиса и просто пожеланий. К сожалению, я сейчас очень занят (на постоянной работе), но решил добить хотя бы базовый функционал и буду потихоньку его докручивать, если сообщество и в этот раз оценит мои старания.

Суть сервиса


Для начала, приведу цитату с сайта:
В базе хранится список советов с прикрепленными тэгами. Вы можете задать фильтр интересующих тем. Сервис не является online-учебником/сборником статей/каталогизированным FAQs. Основная идея: случайные советы, заметки, задания «с подвохом» на собеседованиях.

Мне очень нравится идея изучения иностранных слов и правил, используя карточки: вы их постоянно просматриваете, пока не выучите. Идея сервиса в том же: никакой разбивки по темам (кроме тегирования), вам нужно просто ограничить диапазон «карточек» и просматривать их.
Читать дальше →

Кулинарный путеводитель по архитектурам AI

Reading time21 min
Views54K
image

Мне постоянно приходится слышать от студентов и начинающих гейм-дизайнеров – да, честно говоря, и от бывалых программистов тоже – один и тот же вопрос, который звучит примерно так: “Какую архитектуру AI мне выбрать для своего проекта?”. Этим вопросом пестрят форумы, его можно услышать на конференции разработчиков игр GDC, и, конечно же, его не один раз вспоминают во время пре-продакшна создатели любой игры – от AAA-класса до инди. Я работаю консультантом по игровому AI, поэтому я постоянно слышу ее от своих клиентов.

Обычно, самый лучший ответ на этот вопрос – «Когда как». Вот только подобный ответ мало кого устраивает, поэтому после него мне приходится устраивать самый настоящий допрос.
Читать дальше →

Стивен Кинг «Как писать программный код»

Reading time6 min
Views51K
«Что? Стивен Кинг „Как писать программный код“ ?! Нет такой книги! Да он вообще не программист ни разу!».
Да, так и есть. Тем не менее — книга с таким содержанием у него есть. Хотя он и не думал, что пишет её об этом. Хотя в результате написал. Хотя, наверное, и не знает об этом. О чём же я тут рассуждаю? О недавно прочитанной мною прекрасной книге «Как писать книги» (англ. — «On Writing»).

Кинг писал её как опытный писатель для писателей начинающих. Однако в результате у него получилась книга, рассказывающая не только как писать именно фантастическую литературу, но и том как писать вообще что угодно — в том числе и программный код. Прочитав за последние пару лет два десятка основных книг-икон современной программной индустрии (ну знаете, все эти «рефакторинги», «паттерны», «чистые и совершенные коды» и т.д.) я могу утверждать, что этой книге Кинга вполне себе место среди них, причём не на последнем месте. Дальше будет пару примеров (и как результат — спойлеров), поэтому самым правильным будет не продолжать читать статью, а пойти и прочитать саму книгу. Потом можете вернуться и сравнить свои выводы с моими. Ну а если времени на книгу у вас нет — под катом выдержки и выводы.
Читать дальше →

Что же происходит на рынке IT-труда в США?

Reading time3 min
Views72K
В посте о новых правилах иммиграции в США затронули довольно интересную тему – нехватка квалифицированных IT-специалистов в Америке. Эта проблема существовала всегда, но почему именно сейчас это привлекло внимание гигантов промышленности?

У меня на этот счет есть собственное мнение, которым и хочу поделиться. Это не статистические данные, просто наблюдения и выводы. Действие происходит в районе Сиэтла, в 20-минутах от Microsoft, Google, Amazon, Expedia и т.д.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity