• Голубая карта Германии

      image

      Коллеги, сегодня, первого августа, в Германии вступил в силу проект "Blue Card", позволяющий инженерам и в частности, IT специалистам получить возможность работать в Германии и Евросоюзе, при этом получить четырёхлетнюю визу с правом работы по упрощённой процедуре. Проект этот обсуждался довольно давно, но вот теперь получил официальное подтверждение. Он в общих чертах напоминает программу Green Card десятилетней давности, но есть несколько важных отличий.

      Читать дальше →
    • Переход на SSD: история одного фэйла

        Когда в очередной раз нахлынула волна «а чего бы не заапгрейдится?», я всерьез задумался о сборке RAID-массива под систему. В качестве альтернативы маячила возможность купить SSD, хотя у меня до сих пор нет уверенности в долгосрочной надежности этого типа накопителей.
        Читать дальше →
      • Электронная отчётность

          Пост созрел в связи с недавними изменениями в налоговом законодательстве Украины, и вводом ежемесячной сдачи отчёта НДФЛ (даже пустого) и я думаю многие видели очереди:

          и друзья попросили пролить свет на такое понятие как электронная отчётность и стоит ли ей заморачиваться. Однозначно — стоит. (я бы в такой очереди одурел стоять)
          Читать дальше →
        • Незаменимое пособие для авторов статей, текстов и постов

          • Tutorial
          "… Специально для вас, — ответил великий комбинатор. — Вы, я замечаю, все время терзаетесь муками творчества. Писать, конечно, очень трудно. Я, как старый передовик и ваш собрат по перу, могу это засвидетельствовать. Но я изобрел такую штуку, которая избавляет от необходимости ждать, покуда вас окатит потный вал вдохновения. Вот. Извольте посмотреть.

          И Остап протянул Ухудшанскому лист, на котором было написано:

          ТОРЖЕСТВЕННЫЙ КОМПЛЕКТ.
          НЕЗАМЕНИМОЕ ПОСОБИЕ ДЛЯ СОЧИНЕНИЯ ЮБИЛЕЙНЫХ СТАТЕЙ, ТАБЕЛЬНЫХ ФЕЛЬЕТОНОВ, А ТАКЖЕ ПАРАДНЫХ СТИХОТВОРЕНИЙ. ОД И ТРОПАРЕЙ"

          И. Ильф, Е. Петров, «Золотой теленок»


          Хабр — это все-таки больше СМИ, чем просто форум и тусовка «для своих». Это я к тому, что хочешь — не хочешь, а публикуя топик, ты, фактически, занимаешься журналистикой. На Хабре уже не раз упоминалась книга Александра Амзина по интернет-журналистике. Книга, на мой взгляд, удалась, и заслуживает почетного места в закладках у каждого. Тем не менее, одна ссылка хорошо, а много — лучше. Так как я не один год проработал бок о бок с журналистами, то и сам нахватался от них всякого. Под катом — джентльменский набор вкусных и полезных ссылок.
          Читать дальше →
        • OpenDKIM + Postfix = просто



            В конце 2011 года разработчики проекта dkim-milter прекратили его поддержку и разработку. К счастью, на замену проекта dkim-milter пришел OpenDKIM, с помощью которого добавить DKIM-подпись в письма так же просто.

            tl;dr: в наше время без DKIM-подписей ну никак нельзя
            DKIM-подпись — это цифровая подпись, которая добавляется к заголовкам письма сервером отправителя, по которой сервер получателя может удостовериться, что отправитель письма соответствует полю From в заголовках письма. Если сервер получателя проверяет эту подпись, то по результатам проверки сервер может принять решение о том, как поступать с письмом: принять, отправлять в папку «Спам», отправить на дополнительную проверку или вовсе отказаться от приёма. Подписи DKIM проверяют и используют сами все ведущие почтовые службы, включая Яндекс и Mail.ru. Последняя открыто требует чтобы письма были подписаны с помощью DKIM.


            Инструкция по настройке связки Postfix и OpenDKIM
          • HTML5 History API уже сегодня и без ограничений

              Библиотека для работы HTML5 History API


              Изначально этот проект был задуман добавить поддержку HTML5 History API в старые HTML4 браузеры. Первые версии библиотеки были нацелены именно на эти потребности, но с учетом прошедшего времени и пожеланий многоуважаемых разработчиков использующих эту библиотеку, она выросла до уровня того, что выполняет некие промежуточные действия по добавлению/исправлению того функционала что описаны в спецификациях по интерфейсу History.

              На сегодняшний день библиотеку я могу смело назвать, на мой взгляд, полноценно законченной. Конечно же, ошибкам в работе библиотеки думаю, место будет, тестировалась библиотека мною в разных условиях и браузерах, но как вы понимаете, все не уловишь, да что-то упустишь. И так давайте приступим к описанию возможностей и тонкостей библиотеки.
              Читать дальше →
            • Взломать Wi-Fi за 10 часов

                Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


                Читать дальше →
              • Проверка соблюдения стандартов кодирования РHP через git

                В разработке проекта зачастую принимают участие разработчики разного уровня. Это приводит к тому, что нет строгого формата написания кода. За качеством кода на проекте приходится постоянно следить старшим разработчикам и это отнимает у них кучу времени.

                Для того чтобы наказать говнокодеров облегчить страдания тех, кто делает ревью кода, можно использовать автоматические средства проверки кода, которые всем давно известны. Это PEAR и PHP Code Sniffer.
                Читать дальше →
              • Автомобильная спутниковая сигнализация на STM32F1

                  Теория создания самодельной автомобильной спутниковой сигнализации с web-интерфейсом и поддержкой eCall / ЭРА-ГЛОНАСС на базе микроконтроллеров STM32 как основа концепции «Умный автомобиль», и её использование в системах «Умный дом». Реализация аналога технологии Volvo On Call и автомобильной социальной сети Toyota Friends.
                  Читать дальше →
                • Вешаем сервер через PHP


                    Здравствуйте, уважаемые хабра-пользователи. Довольно давно я написал PHP скрипт — fork-бомбу и начал его тестировать на различных серверах/хостингах. На моё удивление, скрипт работал на 90% протестированных мною компаний. Я отписал об этой баге во многие компании, но прошло уже много времени, а она до сих пор актуальна.
                    Читать дальше →
                  • Как искать программистов в регионах? Мы нашли эффективный способ. Делимся…

                      Интересно, это только у нас такая ситуация, что нам постоянно нужны люди, или это общая тенденция всех региональных веб-студий?! Работы всегда больше, чем мы можем сделать! Нам постоянно нужны люди. Адекватные и недорого ) Объявления в газетах, на форумах, в институтах, обзвон знакомых и даже социальные сети… Все это в нашем регионе уже как несколько лет почти не приносит ожидаемого результата. Что делать?
                      Читать дальше →
                    • Уязвимость связки PHP+nginx с кривым конфигом

                        Summary


                        Announced: 2010-05-20
                        Credits: 80sec
                        Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




                        Background


                        Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

                        location ~ \.php$ {
                            fastcgi_pass 127.0.0.1:9000;
                            fastcgi_index index.php;
                            fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
                            include fastcgi_params;
                        }
                        

                        Читать дальше →
                      • Паттерны ООП в метафорах

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

                          gitolite — это средство для создания централизованных репозиториев для совместной разработки через git.

                          Зачем оно нужно?


                          Родные средства git для этой задачи на сегодня явно недостаточны: родной git-протокол не содержит каких-либо средств авторизации, а для работы через ssh потребуется завести полноценного юзера в ОС (с шеллом), что далеко не всегда уместно и желательно.
                          gitolite же позволит вам заводить пользователей независимо от наличия аккаунта в ОС и гибко раздавать права.
                          Читать дальше →
                        • Подборка html/javascript/css инструментов и библиотек от SmashingMagazine

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

                          Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
                          Читать дальше →
                        • Грамотная настройка сервера отправки почты для скриптов PHP, настройка функции mail()

                            В этом топике вы узнаете, как грамотно настроить, сервер исходящей почты и в частности функцию mail() в PHP. Сам являюсь жутким педантом. Люблю, что бы везде было все на своих местах, не терплю халтуры. Увидев один раз полную чушь в заголовках письма со своего сервера я разобрался с этим кардинально и безоговорочно. Под грамотной настройкой я подразумеваю такую, которая удовлетворяет потребности спам фильтров крупных почтовых систем, и просто выглядело красиво и осмысленно.

                            Как известно протокол SMTP не подразумевает никаких средств защиты от спама и аутентификации пользователя, поэтому крупными и не очень компаниями были придуманы «фиксы» безопасности протокола.
                            Если вы устанавливаете выделенный сервер с доменом размещенным на нем, очень рекомендуется выполнить данные настройки, что бы все было как надо.

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

                            Название заголовка выбрал именно такое, так как вначале своего пути я искал что-то вроде этого. Настраивать будем postfix, php, dns (ptr, spf), и другое.

                            Эта статья будет интересная людям, настраивающим выделеные сервера, но не менее интересна для обычных программистов.

                            Подробности под катом
                            Читать дальше →
                          • Лекториум записал почти тысячу лекций за год

                              Дорогой Хабр!



                              У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
                              Сняли и опубликовали почти тысячу лекций по IT и математике.

                              UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

                              Читать дальше →
                            • Что такое этот новый jQuery.Callbacks Object

                                В не столь давно вышедшей версии jQuery 1.7 появился новый объект Callbacks, о котором сегодня и пойдёт речь.
                                В официальной документации jQuery.Callbacks описан, как многоцелевой объект, представляющий собой список функций обратного вызова (callbacks — далее просто колбэков) и мощные инструменты по управлению этим списком.

                                Я просматривал возможности этого объекта, когда он был ещё только в разработке, и надо сказать, что возможностей у него изначально было немного больше, чем осталось в релизной версии. Например, сейчас отсутствует возможность создания очереди (queue) колбэков, которые вызываются по одному на каждый вызов fire(). Видимо, команда jQuery, решила немного подсократить код, убрав «ненужные/редкоиспользуемые» возможности, чтобы сэкономить в весе библиотеки. Это маленький экскурс в историю Callbacks, но далее я буду описывать только доступные сейчас функции и в конце напишу небольшое возможное улучшение этого объекта.
                                Кому интересно, прошу под кат
                              • Постраничная навигация с MySQL при большом количестве записей

                                  Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
                                  Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

                                  Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
                                  Читать дальше →