• IT-эмиграция в Страну Улыбок, в Тайланд

      На фоне серии топиков от экспатов, решил тоже поделится. Мне не жалко, а кому-то будет интересно.

      Меня зовут Влад, я родился в г. Витебске, Беларусь. В 23 года эмигрировал в Санкт-Петербург, Россия. В данный момент живу в Бангкоке. Владею PHP и навыками технического SEO. 2 дня в неделю работаю в Американской компании, остальное время занимаюсь своими проектами. В Тайланде уже год и пока никуда двигать не собираюсь.
      Читать дальше →
    • 8 причин, по которым пользователи отказываются регистрироваться

        Регистрация на сайте — это большая ответственность для большинства людей. Пользователи, которые регистрируются на вашем сайте, дают свою персональную информацию, доверяя ее вашему ресурсу. Большинство сегодняшних пользователей более обеспокоены тем, кому они передают свою личную информацию. Виртуальный мир кишит хакерами и спамерами, но кто может обвинить их? Если вы не видели много форм регистраций, то ваша форма — препятствие для пользователя. Ниже изложено 8 основных причин, по которым пользователи не заполняют формы регистрации.

        Читать дальше →
      • Несколько интересностей и полезностей для веб-разработчика

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

          Prepros



          Великолепное приложение препроцессор для CSS, JS. Компилирует файлы следующих типов: LESS, Sass, SCSS, Stylus, Jade, Slim, Coffeescript, LiveScript, Haml. Минифицирует JS на лету, при каждом изменении файла. Оптимизирует изображения. Доступен для Windows и Mac, а также как расширение для Chrome. Плюс ко всему создает HTTP сервер, для тестирования сайта на разный устройствах. Бесплатная замена CodeKit'у и Ghostlab'у вместе взятых, что в сумме позволит Вам сэкономить $75.

          Читать дальше →
        • Несколько интересностей и полезностей для веб-разработчика (выпуск 2)

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

            Webflow



            С помощью данного сервиса вы сможете сверстать кроссбраузерный отзывчивый макет за 55 минут. Очень красивый и удобный интерфейс. Идеальное решение для веб-дизайнеров, 26 000 из которых уже используют Webflow. Для создания двух проектов сервис бесплатный, а в дальнейшей перспективе вас ждут вполне демократичные цены. Инструмент реально «крутой».

            Если Вам GUI для верстки не комильфо сам по себе как для меня, все равно рекомендую зарегистрироваться и экспортировать парочку responsive макетов. А еще есть простой генератор отзывчивого лэйаута и Responsive Patterns.

            Parallax.js


            Функциональный и простой инструмент для создания параллакс эффекта.

            Читать дальше →
            • +104
            • 81.6k
            • 27
          • Несколько интересностей и полезностей для веб-разработчика (выпуск 3)

              Доброго времени суток, уважаемые хабравчане. С прошедшим вас днем программиста. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

              Cloudconvert




              Великолепный онлайн конвертер файлов, который поддерживает в общей сложности 140 форматов следующих типов: archive, audio, cad, document, ebook, image, presentation, spreadsheet, video. Синхронизируется с Dropbox и Google Drive, благодаря чему возможно использование на всех смартфонах. А самое приятное это то, что для данного сервиса существует функциональное и простое API.

              Читать дальше →
              • +123
              • 59.7k
              • 29
            • Насколько большие массивы (и значения) в PHP? (Подсказка: ОЧЕНЬ БОЛЬШИЕ)

              • Translation
              В этой статье я хочу исследовать расход памяти у массивов (и значений в целом) в PHP используя следующий скрипт в качестве примера, который создаёт 100 000 уникальных целочисленных элементов массива и в конце измеряет количество использованной памяти.
              Читать дальше →
            • Работа с памятью (и всё же она есть)

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

                Читать дальше →
              • Современная отладка JavaScript

                • Translation
                В связи с достаточно широким выбором неплохих отладчиков, JavaScript-программисты могут получить достаточно много пользы, изучая то как их можно использовать. Их пользовательские интерфейсы становятся все более совершенными, более стандартизированными между собой и более легкими в использовании, что делает их полезными как для экспертов так и новичков в отладке JS. В этой статье мы обсудим передовые методы отладки для диагностики и анализа ошибок, используя типичное веб-приложение.

                В настоящее время средства отладки доступны для всех основных браузеров.
                • Firefox имеет хорошо известное расширение Firebug
                • IE8 выпускается со встроенными Developer Tools
                • Опера 9.5+ поддердивает отладчик Dragonfly
                • У Safari есть JS-отладчик Drosera и DOM-вьювер WebInspector. В более свежих версиях отладчик интегрирован в WebInspector.

                На данный момент Firebug и Dragonfly наиболее стабильны. Утилиты IE8 иногда игнорируют контрольные точки, а во время написания этой статьи WebInspector имеет некоторые проблемы совмстимости с последними билдами Webkit.

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

                Читать дальше →
              • Symfony2\SecurityBundle

                • Translation
                Аутентификация и Авторизация Автор рассказывает об устройстве бандла Security (на мой взгляд, самого трудного в понимании для symfony-новичков) и разбирает пример его применения. Статья будет особенно полезна для тех, кто желает знать, как работает их инструмент: Symfony2 Security в общем и FOSUserBundle в частности — однако не подходит для первого знакомства с фреймворком, поскольку требует знания некоторых из его компонент.
                Статья была опубликована 21 марта 2011 года, когда ещё не вышла финальная версия symfony2.0, однако принципы работы бандла не изменились.

                Оригинальная статья — «Symfony2 Blog Application Tutorial Part V: Intro to Security» — часть цикла обучающих статей на примере создания блога.
                Есть прямое продолжение/дополнение статьи — «Symfony2 Blog Application Tutorial Part V-2: Testing Secure Pages», где даётся пример тестирования «закрытых» частей приложения.


                Читать дальше →
              • Сертификация PHP 5.3 от Zend

                  Ну про Zend сертификацию PHP 5.3 никто еще не писал, попробую написать я, надеюсь, будет интересно.

                  План будет таков: сначала я расскажу зачем, потом о подготовке и о сдаче экзамена.

                  Приступим!
                  Читать дальше →
                • Работа с буфером обмена в Linux: теория и практика

                    Совсем немного теории


                    Copy and PasteИсторически сложилось так, что в X Window System (X11, — оконная система для Linux, UNIX) существует два буфера обмена.

                    Один из них (clipboard) похож на буфер обмена в Windows — при нажатии на Ctrl+Insert или Ctrl+C выделенный фрагмент (текст, картинка, файл) копируется в буфер обмена, а при нажатии на Shift+Insert (или Ctrl+V) — вставляется из него. Следует заметить, что во многих программах эти сочетания зарезервированы для иных целей и приходится пользоваться другими — например, в терминале сочетание Ctrl+C используется для завершения процесса, а для работы с буфером обмена используются сочетания Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки.

                    Второй буфер (primary) является специфичным для оконной системы X11. Выделенный текст незамедлительно попадает в буфер primary, и для того, чтобы вставить скопированный текст, достаточно лишь нажать среднюю кнопку мышки (колёсико). У кого в наличии не имеется трёхкнопочной мышки, а так же владельцам ноутбуков с тачпадами следует одновременно нажать левую и правую кнопки мышки для вставки текста.

                    Перейти к практике...
                  • Организация работы с репозиториями

                      цели:
                      — организация непрерывного внедрение нового функционала проекта
                      — связанная система исправления багов в процессе поддержки проекта
                      — повышение качества проекта в целом
                      — атомарность разработки отдельных частей проекта (модули / функции)

                      Для достижения описанных выше целей необходимо организовать следующую структуру веток:
                      release
                      hotfixes (необязательна)
                      testing
                      fixes (необязательна)
                      default
                      developers branches (условное название)
                      Читать дальше →
                    • Continuous integration для php

                        Эту статью написал мой добрый приятель и бывший коллега fred, работающий в команде программистов над большим и сложным проектом, который должен работать 24х7. Если кто-то решит пригласить его на хабр — с удовольствием вышлю его email по хабрапочте. Пожелания и комментарии приветствуются, а я обязуюсь передавать ответы автора в меру своих возможностей.

                        Меня давно посещала мысль запустить CI-сервер для рабочего проекта. База модульных тестов уже достаточно внушительных размеров, а количество людей в проекте немного увеличилось. Можно было бы наблюдать за тем, как изменяется покрытие тестами кода и соблюдаются стандарты кодирования. И наказывать провинившихся. Шучу.
                        Некоторое время назад была прочитана книжка Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска и статья Quality Assurance Tools for PHP, которые и послужили отправной точкой.
                        Читать дальше →
                      • Конфигурационный менеджмент (часть 2, обзор инструментов)

                          Прошло много времени, прежде чем я созрел на написание второй части статьи, посвященной управлению конфигурациями. Тому, что это наконец таки свершилось способствует тот факт, что не так давно мне посчастливилось выступать на конференции PHPCONF 2009 8 октября (Web Architect Workshop Day) с мастер-классом «Метод организации репозитория исходного кода». Для выступления были заблаговременно подготовлены презентация, а также текст доклада. Несмотря на отличную организацию мероприятия, для публичного доступа так и не были выложены материалы докладов, входящих в программу конференции. В качестве компенсации я решил таки опубликовать материал, использованный в моем выступлении. Кроме данной статьи, (которая является логическим продолжением предыдущей), посвященной конфигурационному менеджменту, для публичного обозрения доступны слайды презентации.
                          В данной статье пойдет речь об инструментах, использующихся при управлении конфигурациями. Поэтому в первую очередь хотелось бы заострить внимание на том, как инструменты, использующиеся в разработке могут влиять на процесс создания ПО.
                          Читать дальше →
                        • Организация среды веб-разработки

                            Продуктивность коллектива веб-студии напрямую зависит от удобства среды разработки. У нас сложилась стройная система организации работы с проектами, включающая в себя набор таких неотъемлемых компонентов, как IDE, SCM, PM-система, багтрекер и development-сервер. Этим постом я бы хотел начать цикл статей, посвященных настройке и использованию этих компонентов в нашей студии.

                            В первой части я расскажу о самом основном — среде разработки (о том, как мы организовали совместный доступ к проектам).

                            Идеи

                            1. Среда разработки должна быть единой для всех сайтов.
                            2. Девелоперы не должны тратить время на настройку каждый своей серверной части.
                            3. Работает ли над проектом один человек или несколько — контроль версий необходим.
                            4. Если рабочий каталог (IDE workspace) находится на сервере, то можно поработать и дома, не тратя время на повторную настройку окружения на домашнем десктопе или ноуте.

                            Концепция и реализация
                          • Английский язык онлайн с LinguaLeo.ru: рожден в джунглях Таиланда!

                              В конце августа 2009 года мы приняли окончательное решение о месте разработки веб-сервиса: остров Ко Чанг, Таиланд. Команда была собрана за 1.5 месяца с разных уголков нашей необъятной Родины: Москва, Киров, Пермь. Была поставлена единственная цель поездки в эту замечательную страну: общими усилиями создать самый удобный и популярный онлайн сервис для изучения и практики иностранных языков.
                              В команду стартапа вошло пять человек: два PHP разработчика, дизайнер-юзабилист, молодой и талантливый специалист по маркетингу и основатель проекта. 17 октября 2009 уже вся команда уже приехала на остров с твердым намерением реализовать проект.

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

                              LinguaLeo Island -- остров Ко Чанг...

                              Читать дальше →
                            • Symfony2 Book в pdf формате

                                Добрый день.
                                Мне не удалось найти книгу по Symfony2 в pdf формате. И я решил восполнить этот пробел и в свободное время перевести Symfony2 Book в pdf формат. Хочу поделиться со всеми любителями Symfony этой книгой. Критика и предложения приветствуются т.к. подобной работой занялся в первый раз. Надеюсь, книга будет полезной.
                                Symfony2 The Book.pdf
                              • Кодить и учить. В Сомали

                                Друзья!

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

                                Я живу в Сомали (точнее, в непризнанном государстве Сомалиленд на его территории) и уже третий год занимаюсь тут развитием системы высшего образования (а ещё Пиратской партии России — хоть к делу это и не относится, совпадение занимательное).
                                Раздумывая над тем, к какому же ещё роду деятельности приучить местных (отучив от пиратства), я натолкнулся на новость о том, что до конца года нас подключат к одной из крупнейших подводных отповолоконных магистралей мира, пролегающей по дну Красного моря совсем рядом (и соединяющей Европу с Азией). А учитывая то, что пользоваться этим каналом тут будет лишь совсем минимальное количество людей, мы получим тут один из самых быстрых интернетов на планете.
                                В этом контексте мне стала совершенно очевидной возможность попытаться создать здесь программу обучения, а также аутсорс-ориентированную контору, нацеленную на, как говорят на западе, Software Engineering. Короче, кодить — и учить этому пиратов.
                                Я отдаю себе отчёт, как сумашедше это звучит, и ничуть не удивлюсь, если многие из вас мне не поверят. Но я говорю совершенно серьёзно.
                                Читать дальше →