• Тюнингуем eclipse — TOP 7 plugins

      Уже довольно много времени я работаю в популярной и на мой взгляд лучшей IDE Eclipse. Всегда любил затачивать инструменты под себя, чтобы достичь максимальной производительности, в связи с этим хочу поделится опытом, а именно списком плагинов к eclipse которые использую в повседневной работе.



      Под катом будем тюнинговать Eclipse for Java EE
    • Немного подробностей про Class Based View, ч.2

        Доброго времени суток, уважаемые читатели! Не так давно мной была опубликована первая часть статьи на данную тему. Я хочу еще раз поблагодарить всех пользователей, высказавших конструктивную критику, благодаря которой примеры в статье удалось привести к почти идеальному виду. В то же время я понял, что данный формат подачи материала является неэффективным: мы рассмотрели всего пару методов, реализованных в Class Based View (далее по тексту CBV). Во второй части я решил переработать подачу и далее постараюсь описать максимально возможное количество методов, представленных в API. Постараюсь, также, охватить те методы, которые были упущены в первой части. Очень надеюсь на конструктивную поддержку читателей и надеюсь, что и в дальнейшем у нас получится продуктивный диалог, в результате которого статья станет еще более информативной.
        Читать дальше →
      • Встречайте text-align-last

          Три месяца назад SiDChik столкнулся с необходимостью расположить текст с выключкою по ширине (justify), однако последнюю строку текста выровнять по центру (см. иллюстрацию справа).

          Решением этой задачи могло бы стать CSS-свойство text-align-last, однако в тот момент оно поддерживалося только во браузере Internet Explorer — поэтому SiDChik поневоле вынужден был сочинить собственный плагин для jQuery, достигающий той же цели, и выложил полезный плод своего труда на Хабрахабре.

          С удовлетворением сообщаю, что тот момент начал медленно и постепенно отходить в прошлое: догоняя Internet Explorer, также и второй из двух наиболее популярных браузеров — Mozilla Firefox — получил поддержку CSS-свойства text-align-last в середине января (баг 536557 закрыт тринадцатого числа). Суммарная доля пользователей IE и Файерфокса настолько значительна, что неминуемо окажет давление и на производителей остальных (менее популярных) браузеров, понуждая ко внедрению того же свойства. Всем нам, например, не так уж трудно заметить, что баг 76173 движка WebKit был открыт по горячим следам внедрения text-align-last в Файерфоксе (и даже чуть ли не прямо в тот же день).

          Читать дальше →
        • Уроки Python от компании Google

            Отличный способ освоить Python — учебный класс Python в Google Code University. Уроки для этого класса написал Ник Парланте из Стэнфорда, и прошедшие курс люди отмечают не просто высокое, а фантастически высокое качество уроков.

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

            Есть ещё скачиваемые задачки. Они довольно простые и созданы специально для начинающих. Курс идеально подходит для изучения Python программистами, имеющими опыт работы с другими языками программирования.
          • А в вашей фирме производится улучшение существующего кода?

               

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

              А в вашей фирме производится улучшение существующего кода?

              • 58.0%Нет, пишем говнокод, дебажим, снова пишем.2894
              • 7.8%Да, в проектах официально выделяется время под рефакторинг кода.389
              • 4.6%Да, регулярно проводятся code review.230
              • 15.2%Да, практикуется и code и review и рефакторинг.757
              • 11.8%Нет, просто сразу пишем идеальный код, который всегда работает.591
              • 2.6%Другой вариант ответа (пишем в комментариях).128
            • Class-based views — зачем и как использовать

                В Django версии 1.3 были представлены class-based views — способ описания view в виде классов. Документация, однако, касается только generic views, не описывая общую технику написания «вьюх» в виде классов. Начав использовать generic views и затем пытаясь изменить их поведение, я постепенно дошел до того момента, когда мне пришлось смотреть исходный код, чтобы понять, как что-то сделать. Поэтому я решил написать этот текст. Цель его — объяснить, как использовать class-based view и чем это может быть полезно.
                Читать дальше →
              • Паттерны ООП в метафорах

                  Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
                  Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
                  Читать дальше →
                • Simpliste: засучим рукава


                    После моего поста в прошлый четверг не осталось сомнений в том, что простой и бесплатный шаблон (кто-то даже называет фреймворк) с адаптивной версткой на HTML5 вызывает интерес у потенциальных пользователей. Пост даже собрал достаточно голосов, чтобы НЛО разрешило мне пригласить кого-нибудь на Хабрахабр.

                    Нужно напомнить, что Simpliste — именно такой шаблон. И теперь работа по его развитию пойдет полным ходом.

                    Одним из преимуществ Simpliste я считаю наличие готовых тем оформления. Сразу, в момент запуска существовало 3 темы. Постепенно я создал еще несколько.
                    Читать дальше →
                  • Nginx + uWSGI + virtualenv + Django на Debian Squeeze

                      Некоторое время назад озадачился поиском способа развертывания проектов Django, к которому предъявлялись два требования:
                      1. Удобное управление запуском/остановкой/перезапуском нескольких проектов на одном хосте
                      2. Поддержка разных виртуальных сред для разных проектов

                      По второму пункту мой выбор склонился в пользу Nginx + uWSGI. По первому же, из рассмотренных мною вариантов больше всего понравились обвязки для uWSGI в Debian.
                      Читать дальше →
                    • Django + Sphinx = django-sphinx (?)



                        Когда мы подготавливали для Хабра свою последнюю статью о Django-батарейках, выяснилось, что про django-sphinx мы таки имеем что рассказать и наш рассказ тянет на отдельный пост. Собственно, вот он, как и обещали.

                        На сегодняшний день, существует несколько хороших решений для организации поиска в Django. Несколько — это два: Haystack и django-sphinx. Haystack работает с бэкендами-движками solr, whoosh и хapian и, увы, не работает со Sphinx`ом по каким-то абстрактным лицензионным причинам. django-sphinx же, как можно догадаться, работает со Sphinx`ом и только. Haystack это качественный, хорошо документированный и активно развиваемый продукт и мы, вне всяких сомнений, использовали бы именно его, если бы он хоть в какой-нибудь форме поддерживал Sphinx. Но этого, увы, пока не произошло. А Sphinx — наше всё, благодаря его скорости, гибкости и, что очень важно в наших географических широтах, способности учитывать особенности русской морфологии, чего не скажешь о его ближайших конкурентах. «Большие, но по 5… или маленькие, но по 3?»

                        Читать дальше →
                      • Ещё 10 батареек для джанго


                          Продолжаем делиться своим опытом использования полезных батареек для Django.
                          Первая часть
                          Ещё рекомендуем «Сумбурные заметки про python и django» и «Django проект PR Hero: что внутри и полученный опыт».

                          Для Django написано огромное количество пакетов. Из них мы выбрали 10, которые использовали сами в своих последних проектах и которыми остались довольны. Все они есть на PyPI. Они продокументированы и покрыты тестами, где-то больше, где-то меньше. Исключение составляет django-sphinx, о котором отдельно.

                          Читать дальше →
                        • Предзаполнение базы данных Core Data

                          • Tutorial
                          image Часто для работы iPhone/iPad приложений необходим некоторый «дефолтовый» набор данных в базе. К сожалению, Apple стандартных средств предзаполнения базы приложения разработчикам не предоставляет.
                          Если необходимое количество данных невелико, то их можно подгрузить в базу во время старта приложения. Если же вам для работы приложения нужен большой объем исходной информации, то такое решение не подойдет, заставлять ждать пользователей пока закончатся все операции подгрузки — это моветон, да и заказчик, увидев как долго загружается ваше приложение, может пересмотреть планы по будущему сотрудничеству.

                          В этой статье я расскажу как можно быстро предзаполнить sqlite базу приложения, использующего Core Data.

                          Читать дальше →
                        • Как Google тестирует ПО

                            Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
                            Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
                            Читать дальше →
                          • Готовим Linux на Asus U31SD/P31SD и подобных


                            После приобретения обновки в виде Asus P31SD и последующей установки на него Linux было очень обидно увидеть всего 6 часов автономной работы вместо желаемых 10-12. На Windows обратно вернуться не удалось (тут даже cywgin не помог), поэтому было решено запастись кофе и занять ближайшие выходные решением этих проблем.

                            Рассматриваем решение на примере Ubuntu 11.10.

                            P.S. В теории гайд подходит для всех ноутбуков с Sandybridge и Nvidia Optimus.
                            Читать дальше →
                          • Обзор свежих материалов, сентябрь 2011

                              Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-август 2011.

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


                              Читать дальше →
                            • Исследование производительности сервера SockJS

                                Доброе время суток!

                                Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

                                Теперь хочу представить похожий проект — sockjs-tornado.

                                Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)
                                Читать дальше →
                              • Работа с Vkontakte.ru API в iOS приложении

                                В этой небольшой статье я хотел бы поделиться способами интеграции Вконтакте API в проект IOS.
                                По этой теме сейчас в интернете мало информации и возможно мои советы кому-то помогут. Я покажу как можно не только получить данные пользователя, но и разместить на стене фотографию, текст и ссылку, а так же случай с вводом капчи.
                                Читать дальше →
                              • OpenGL iBooks-like анимация перелистывания

                                Помню, когда я в первый раз взял в руки iPad, более всего меня поразило приложение iBooks c его натуралистичным перелистыванием страниц. Все остальные «фишки» как-то не особо впечатляли, но это… это показалось воплощением полной интерактивности. По сравнению с обычными графическими интерфейсами, использующими стандартные элементы GUI, интерфейсы с использованием анимации OpenGL это новый шаг в развитии пользовательских интерфейсов.
                                Читать дальше →
                              • Используем память разумно. Часть 2. fapws3

                                  В предыдущей части мы начали бороться за память на 256 мегабайтном слайсе «на скорую руку». Результат был, но не столь эффектный как тот которого я добился на этот раз.

                                  Я всегда догадывался, что причина всех моих неприятностей — apache. И чем больше я пытался его настраивать, тем больше в этом убеждался. Вывод? Попробовать заменить. Одно но — переход должен быть как можно более плавным, поскольку речь, ясно дело, о продакшене.

                                  Поскольку у меня был опыт общения с nginx, а если быть точным — опыт с проксированием, то был выбран именно этот веб-сервер. К тому же у него хорошие параметры производительности.
                                  Читать дальше →
                                • Идеальная маркерная доска

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

                                    Но можно ли сделать сам инструмент приятнее? Добавить изюминку?


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