• Видео с конференции ScalaSPB

      1 октября состоялась первая конференция Scala-разработчиков в Санкт-Петербурге.

      Гости из разных уголков России (и не только), посетившие в тот вечер уютный бизнес-инкубатор «Ингрия», имели возможность послушать интересные доклады и пообщаться с коллегами по цеху.

      image

      Под катом вас ждут видео докладов с конференции:
      • «Использование Scala для backend задач» Эдуард Клементьев
      • «Scala in Goozy» Алексей Злобин
      • «Scala plugin for IntelliJ IDEA» Павел Фатин и Александр Подхалюзин
      • «Squeryl — ORM с человеческим лицом» Юрий Буянов
      Видео с конференции
    • 20 вещей, которые я должен был знать в 20 лет

      • Перевод
      1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
      Читать дальше →
    • Когда я говорил…

        Когда я* говорил, что нужно вкладывать в сообщество и User Groups, вы вкладывали в теннисные столы. Теперь у нас много средненьких теннисистов и нет коммюнити.

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

        Когда я говорил вкладывать деньги в обучение специалистов, вы продолжали раздавать деньги за рекомендации. Теперь у нас никто не работает, а все рекомендуют.
        Читать дальше →
      • Знакомство с АОП

          Парадигмы программирования


          В современном мире IT-разработки существует довольно большое множество различных подходов к написанию программ. Так, например, кому-то нравиться представлять программу в виде последовательности действий, а кто-то считает, что программа должна представлять собой множество объектов, общающихся друг с другом. Совокупности этих идей и понятий образуют своего рода стиль написания программы, который принято назвать – парадигма программирования.

          У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
          • инструкция (императивное программирование, FORTRAN/C/PHP),
          • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
          • прототип (прототипное программирование, JavaScript),
          • объект (объектно-ориентированное программирование, С++/Java),
          • факт (логическое программирование, PROLOG).

          Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.

          В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.

          Читать дальше →
        • Размеры массивов в Java

            Размеры объектов в Java уже обсуждались на Хабре, например, здесь или здесь. Мне бы хотелось подробнее остановиться на размерах многомерных массивов — простая вещь, которая для меня стала неожиданной.

            Оптимизируя вычислительный алгоритм по памяти, я наткнулся на то, что при определённых (вполне разумных) входных параметрах создаётся массив float[500][14761][2]. Сколько он может занимать в памяти (на HotSpot 1.6.0_26 32bit, если кому интересно)? Я примерно прикинул, что 500*14 761*2*sizeof(float) = 500*14 761*2*4 = 59 044 000 байт плюс какой-то оверхед. Решив проверить, как на самом деле, я воспользовался Eclipse Memory Analyzer (невероятно волшебная вещь, рекомендую!) и обнаружил, что «Retained Heap» для этого массива составляет 206 662 016 байт! Неплохой оверхед — 350%. Посмотрим, почему так получилось.
            Читать дальше →
          • Определяем все классы, которые использует приложение на Java

            Без сомнения каждый, кто в своем резюме указывает опыт разработки на Java, хоть раз в жизни писал строки
            public static void main(String[] args)
            компилировал их и запускал на выполнение командой наподобие java HelloWorld.
            Но многие ли знают, что происходит внутри JVM от момента выполнения этой команды до того как управление передается методу main, как Java находит и загружает необходимые пользователю классы? Возникшая однажды производственная задача заставила автора разобраться в этом вопросе. Результаты изысканий под катом. Сразу стоит оговориться, что статья не претендует на полноту охвата всех существующих JVM, тестирование проводилось только на Sun HotSpot JVM.
            Читать дальше →
          • Онлайн-курсы Stanford University, Berkley и MIT в доступном виде



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

              Пример такого поста: habrahabr.ru/post/139542

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

              Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.

              Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
              Читать дальше →