• Java сертификация — прохождение SCJP и SCBCD

      Не нашел на хабре статей, в которых бы авторы описывали сертификации по Java и делились своим опытом подготовки и ощущениями от сдачи.
      В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
      читать далее
    • Корпоративный портал Jahia – обзор архитектуры (часть 1)

      • Translation
      В статье представлен высокоуровневый обзор архитектуры корпоративного портала Jahia.

      Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
      контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
      от крупных компаний.

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

      Читать дальше →
    • Учим английский по-новому

        Kimir.org

        Суть метода состоит в прослушивании аудио фрагментов современных фильмов и сериалов.
        Подразумевается, что пользователь сайта не достаточно «силен», чтобы смотреть английские фильмы с английскими субтитрами или без субтитров вовсе. В тоже время, желательно знание основ языка.

        Читать дальше →
      • TV Episodes десять месяцев спустя

          Всем привет!

          Прошло 10 месяцев с момента запуска TV Episodes. В честь этого события мы запускаем новую версию проекта, которая содержит интересные нововведения.
          Суть проекта проста — вы выбираете сериалы и получаете уведомления о выходе новых переведённых серий.
          TV Episodes
          Читать дальше →
        • Google Collections LIbrary 1.0 final

            Наконец-то вышла финальная версия Google Collections Library.Это библиотека коллекций, по сути дополняющая стандартные коллекции.
            Что есть в Google Collections?
            • Дополнительные типы коллекций Multimap, Multiset, BiMap
            • Также есть неизменяемые типы коллекций, которые удобны в многопоточных программах
            • Классы утилит для Списков, Множеств и Карт
            • И многое другое…

            Советую использовать эту библиотеку, для того чтобы не создавать свои велосипеды.
            Видеоуроки по использованию библиотеки
            ссылка на проект
          • Java по-русски. Часть первая: Книги

              Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

              Книги


              За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
              Читать дальше →
            • Scala. Введение

                Привет хабралюди.

                Не так давно я заинтересовался одним из многочисленных ныне языков под JVM — Scala. Причин тому много, основная — всё нарастающее со временем чувство неудобства при работе с cpp-подобными языками. Взгляд мой попеременно падал на Ruby, Groovy, Python, но все они оставляли впечатление инструментов, не совсем подходящих для моего обычного круга рабочих задач (Python-таки хорош, но у нетипизированных языков есть свои ограничения). Scala же, напротив, показалась вполне годным языком. Так как поиск по хабру никаких статей о ней не выловил (было несколько, но мягко говоря не вводных), я решил написать маленький обзор и поделиться им с массами.
                По возможности коротко о кажется главном
              • 10 способов побороть проблемы в IE6

                • Translation

                1. Используйте DOCTYPE


                Лучше всегда прописывать доктайп в заголовке каждой html-страницы, причем, строгий режим рекомендуется:

                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

                для XHTML:

                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

                от себя добавлю, что недопускайте никаких сторонних символов перед доктайпом. Ни пробелов, ни переносов строки — иначе появятся странные поля у body и html
                Читать дальше →
              • Отладка Javascript

                  Debug Logo

                  Многие задают мне один и тот же вопрос:
                  «Как дебажить этот $%*!%$! JavaScript?».

                  Так вот, во-первых JavaScript — не $%*!%$! А как я его дебажу — сейчас расскажу.

                  (Примечание: наверное эта статья больше для новичков. Так что не судите строго)

                  Читать дальше →
                • Browsera — новый инструмент тестирования сайта

                    Browsera — сразу определимся что это не ещё один сервис бесплатных скриншотов. Этот сервис позволяет проводить атоматизированнное тестирование кросс-браузерности вашей вёрстки, то есть читается ваш html код, стили, скрипты — и моделируется их отрисовка в соответствии с особенностями того или иного браузера. Впрочем, сервис также генерирует скриншот для каждого браузера: будет что отослать верстальщику.

                    image
                    Читать дальше →
                  • Квантификаторы в регулярных выражениях

                    • Tutorial
                    imageРегулярные выражения — это арифметика для алгоритмов. Они доступны во многих языках программирования, редакторах и настройках приложений. Как и сложение с умножением они просты в использовании.
                    Но для правильного и эффективного использования regexp-ов нужно понимание того, как они работают. Я постараюсь описать принцип работы регулярных выражений, покажу в каких случаях бывают проблемы и как их решать.

                    В продолжение общих советов.
                    Читать дальше →
                  • Боярское программирование

                      Сегодня, во время тестирования русской версии Visual Studio 2008 (привет, gaidar!) было обнаружено, что VS понимает не только переменные на латинице, а и на русском. И пришла идея «боярского программирования»…
                      «Боярское программирование» от слова «бояре», а не «Боярский, если что… :)
                      Читать дальше →
                    • Code Game Challenge

                        Достаточно часто студенческие олимпиады состоят не только из соревнования в формате ACM ICPC, но и сопровождаются другими соревнованиями, которые ни как не влияют на общий результат, и служат для повышения интереса к соревнованиям.

                        Среди таких соревнований я хочу остановиться на соревнованиях Code Game Challenge.
                        Читать дальше →
                      • Используем паттерн Наблюдатель(Observer) для создания индикатора выполнения процесса на Javascript

                          Идея паттерна Observer заключается в создании зависимости типа один ко многим. При изменении состояния одного объекта(субъекта), зависящие от него объекты(наблюдатели) об этом оповещаются и обновляются. Это нужно для согласования состояния взаимосвязанных объектов без их жесткой связанности.

                          пример внутри
                        • Еще один повод начать пользоваться Chrome

                          • Translation
                          image Помните «Денди» (он же NES — Nintendo Entertainment System)? Это восмибитная игровая приставка, выпущенная в 1985. Помимо всего прочего именно она познакомила нас с легендарными играми типа Super Mario Bros, Tetris и The Legend of Zelda.

                          Какое отношение все это имеет к Google Chrome? Все просто. Бен Фиршман (Ben Firshman) портировал vNES (эмулятор NES), переписав его на JavaScript, и назвал его JSNES. Он прекрасно работает в Firefox 3.5 и Safari 4, но он работает в разы быстрее в Chrome.

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

                          Кроме того, что это поможет вам скоротать время, данный пример показывает, что все разговоры вокруг оптимизации работы JavaScript в Chrome не были пустой болтовней…
                        • Список полезных инструментов для CSS разработчика

                          • Translation
                          Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


                          Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
                          Читать дальше →
                          • +161
                          • 62.3k
                          • 65
                        • Нетривиальные возможности Java

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

                            double brace


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

                            далее еще 10 пунктов!
                          • Какие материалы о Java вас интересуют на русском языке?

                               

                              Only registered users can participate in poll. Log in, please.

                              Какие материалы о Java вас интересуют на русском языке?

                              • 31.2%Новости65
                              • 17.3%Интервью36
                              • 85.5%Статьи178
                              • 25%Презентации52
                              • 61%Документация127
                              • 37.9%Обзоры книг79
                            • Самая маленькая игра в мире (58 байт)

                                Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

                                Прочитав историю одного байта, вспомнил свою историю.

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

                                Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

                                Сюжет и управление


                                Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
                                Управление: стрелки влево-вправо — поворот; Esc — пауза.

                                Скриншоты и код