• Возможности PostgreSQL, которых нет в MySQL, и наоборот



    Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
    Читать дальше →
  • Supervisord и forever больше не нужны. Systemd

      В статье речь будет идти о systemd, который вошел в Debian 8 jessie. Я пишу о Debian, потому что пользуюсь именно им. Пишу о systemd не потому что его фанат, но некоторые вещи меня действительно радуют.

      Так почему же больше не нужны supervisord и forever?
      Читать дальше →
    • jspm — менеджер пакетов для браузера

      • Перевод
      • Tutorial
      image

      • jspm — это менеджер пакетов для SystemJS, сделаный на основе ES6 module loader
      • Позволяет загружать все форматы модулей (ES6, AMD, CommonJS и Globals) непосредственно из npm или Github с управлением зависимостями. Также позволяет использовать любые не стандартные источники модулей, реализованные через Registry API
      • В разработке: Загружает модули ES6 как отдельные файлы, и компилирует их в прямо в браузере
      • В продакшене: Собирает модули в один или несколько бандлов, с единой командой для запуска всего приложения


      Начнем


      Устанавливаем jspm cli


        npm install jspm -g
      

      Читать дальше →
    • Systemd за пять минут

        Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).

        В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.

        image

        Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…

        Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
        Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
        Знакомство с systemd
      • Реализация многоязычности на Laravel 5 силами фреймворка

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

        Одной из особенностей сайта было переключение языка интерфейса, реализованный путем yaml файла словаря и простого парсера. Перенести его на логику фреймворка было делом скорее механическим, чем творческим, а вот заставить его запоминать выбранный язык оказалось чуть сложнее. Ниже я представляю свой вариант реализации этой задачи.
        Читать дальше →
        • +9
        • 20,5k
        • 5
      • Вся правда о битых пикселях

          Битые пиксели — один из самых острых вопросов, нередко становящийся поводом для бурного выяснения отношений с поставщиками ЖК-мониторов, планшетов и смартфонов. От этой проблемы зачастую спешат откреститься менеджеры фешенебельных магазинов, ссылаясь на регламент официальных производителей. На том, что такое «битые» пиксели, и как с ними бороться «один на один», мы остановимся в этой статье.


          Читать дальше →
        • Какой язык программирования будет наилучшим для изучения в 2015 году?

          • Перевод
          Вот уже несколько лет я слежу за статистикой в языках программирования. Существует большое количество источников данных, включая репозитории кода, обсуждения вопросов и ответов, предложения работы, упоминания в социальных медиа, посещения страниц с учебными материалами, просмотры обучающих видео, опросы разработчиков и др. Данные публиковались в разные периоды времени, никакие из них не могут считаться абсолютно точными, везде содержатся недочёты, но они могут быть полезны для выявления трендов в индустрии.
          Читать дальше →
        • Безумный PHP. Фьюри код


            Сборник PHP ненормальностей или что надо знать чтобы не сойти с ума и не прострелить себе что-нибудь


            Прочитал статью mnv: "Приведение типов в PHP == табурет о двух ножках?" и захотелось в комментариях добавить немного дополнений, но… Но потом увидел комментарий и понял, что лучше дополню статью тем, про что мало кто пишет и мало где это имеется в централизованном виде. Вроде бы всем известная тема, а все же кому-то в новинку. Это не совсем про приведение типов, но они тоже есть. Это про особенности, зная которые можно делать меньше ошибок. Если интересно, го под кат, я создал!
            Читать дальше →
          • IBM PC своими руками — это очень просто

              image

              После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

              Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
              В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
              Читать дальше →
            • PHP и различные виды NoSQL



              В последнее время набирают популярность различные NoSQL базы данных. Эта статья начиналась как изучение особенностей графитовой графовой базы данных Neo4j. Но, в процессе подбора информации, мне захотелось систематизировать информацию о NoSQL решениях и о графовых базах данных, в частности.
              В ходе этого небольшого исследования, были выбраны для подробного рассмотрения СУБД, успешно применяющиеся в области Web. И, поскольку в тегах присутствует «PHP», я выбирал СУБД, которые уже можно использовать с этим языком.

              Читать дальше →
            • Coroutines в PHP и работа с неблокирующими функциями

              • Перевод
              • Tutorial
              Одним из самых больших нововведений в PHP 5.5 будет поддержка генераторов и корутин (сопрограмм). Генераторы уже достаточно были освещены в документации и в нескольких других постах (например в этом или в этом). Сопрограммы же получили очень мало внимания. Это гораздо более мощный, но и более сложный для понимания и объяснения, инструмент.

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

              Генераторы


              Суть генератора в том, что это функция, которая возвращает не просто одно значение, а последовательность значений, где каждое значение выброшено одно за другим. Или, другими словами, генераторы позволяют вам реализовать итератор, без лишнего кода.
              Читать дальше →
            • Deploy приложения на RoR 4 с помощью Capistrano 3


              Представьте: Вы — веб-разработчик, который только недавно освоил Ruby on Rails. И тут Ваш первый проект подходит к стадии, когда его нужно выложить в интернет.
              Вы, конечно, можете залить его на Heroku, но тамошние цены немного кусаются. Остается только купить VPS, настроить его и выложить проект туда.
              «Что может быть проще? Найду какой-нибудь гайд, да следаю всё по нему» — подумаете Вы. Вот только гайдов, которые не просто выкладывают команды, но и объясняющие, что эти команды делают, — единицы, да и те используют уже устаревшую вторую версию Capistrano.

              Поэтому я решил написать свой гайд, в котором постараюсь подробно рассмотреть:
              • Первичную настройку сервера
              • Установку и настройку nginx (с модулем PageSpeed), postgresql, redis
              • Установку rvm, rails
              • Настройку гема foreman для управления процессами Вашего приложения
              • Настройку сервера Unicorn
              • Настройку гема Capistrano (v3.1) для автоматизации деплоя


              Я надеюсь, что этот гайд будет полезен не только новичкам, но и разработчикам со стажем.

              Читать дальше →
            • IELTS или TOEFL: что выбрать?

                image

                Сегодня мы публикуем последнюю статью из цикла о тесте IELTS. Мы затронули все основные вопросы, касающиеся этого экзамена, — рассказали об общих особенностях IELTS, о его структуре и системе оценивания, о том, как проходит регистрация и сдача теста, поговорили и о подготовке к IELTS. Все 4 публикации доступны в нашем блоге.

                Сегодня же нам хотелось бы рассмотреть сходства и отличия тестов IELTS и TOEFL — ведь многие кандидаты до последнего не могут определиться, какой экзамен лучше сдавать им. Мы попытаемся ответить на этот вопрос — не выдвигая какие-то оценочные суждения, а объективно анализируя особенности каждого теста и их сходства, которых, безусловно, немало.


                Читать дальше →
              • Как я нашел работу в Сан Франциско

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

                  Кроме того, важно иметь в виду, что описаный в статье опыт актуален на момент написания (сентябрь 2014 года). Экономическая ситуация меняется, иммиграционное законодательство тоже (по крайней мере, в теории), это все тоже нужно учитывать.
                  Читать дальше →
                • Как устроиться на работу в Google

                  Работать где-то мечтают не все. Работать в компании Google мечтают многие, кто решил связать свою жизнь с IT.

                  Google — компания-гигант, одна из крупнейших IT-корпораций. Сотрудники такой компании нужны постоянно (новые области, текучка кадров).

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

                  Шаг 1 — резюме.

                  В компании Google к резюме особое отношение. Получая миллионы заявок в год, компания выбирает несколько сотен сотрудников. Именно поэтому отличное резюме — первый шаг к работе мечты.
                  Что писать в резюме нужно обязательно:

                  • e-mail, телефон для связи
                  • все места учёбы (ВУЗы), дополнительное образование
                  • Опыт работы*
                  • Личные качества (придумайте что-то оригинальнее отзывчивости, стрессоустойчивости, коммуникабельности)
                  • Хобби
                  • Reference — люди, которые могут дать вам рекомендации
                  • Знание языков

                  *Опыт работы в резюме для Google (и вообще для западных компаний) — это не только должность, компания, но и те успехи и достижения, которых вы добились на позиции. Если вы продажник — покажите цифры. Если программист — то как именно ваша работа улучшила работу компании. Работу рекомендуется указывать всю, а не только по профилю (если работали в МакДоналдсе, то даже такое стоит указать).

                  Что не нужно писать в своём резюме:
                  • Дату рождения, личные данные
                  • Есть ли водительские права
                  • Семейное положение
                  • Прочую «шелуху», которая только отвлечёт рекрутера

                  Читать дальше →
                • Профессиональная иммиграция в Австралию, IT и жизнь на другом континенте

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

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



                  Читать дальше →
                • Оформление резюме для зарубежных компаний

                  Disclaimer


                  Текст не претендует на истину в последней инстанции, описанное ниже основано на собственном опыте и рекомендациях людей с больше чем двадцати годами опыта в IT в США и Канаде.

                  Анализ резюме рекрутером


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

                  У вас есть 3-5 минут чтобы заинтересовать своим резюме. Это то, сколько будет уделено времени на него в начале, в лучшем случае. Часто резюме могут отсеяться спустя 10 секунд. Вас никто не знает, вы это лист бумаги с текстом, и это единственное, что вас может отличить от других. Представьте, что вы хотите купить новый телевизор, вас вряд ли будут интересовать длинные мануалы или 5 страничные описания. Выбирая из десятков и сотен аналогов, нужно за 5-10 секунд сделать предварительный отсев по определенным параметрам. Оставшимся 5-10 устройствам вы выделите чуть больше времени, а потом еще помешкаете выбираю между двух. Как то так и происходит отбор кандидатов.
                  Читать дальше →
                • IT-эмиграция: Сингапур

                    После обеда, развалившись в кресле, я почитывал интернеты, как неожиданно на моем телефоне высветился странный, незнакомый номер. «Хмм, странно» — подумал, я — «Кому еще я так внезапно понадобился?». Конечно, я решил поднять трубку, мало ли что… «Саша, привет! Это Кирилл, помнишь? А ты не хотел бы поработать в Сингапуре?» — в трубке раздался голос моего старого друга, которого я уже не видел года три. «А почему бы и нет?» — ответил я.

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

                    image
                    Читать дальше →
                  • Программисты, говорите правильно!

                    Здравствуйте, господа!

                    Здесь, на хабрушке, уже было несколько постов-душеизлияний с мольбами правильно писать, да и под каждым четвертым постом кто-нибудь не сдерживается и пишет в комменты гневные замечания на тему очередного «мне нравитЬся» или «вообщем».

                    А я поведу речь о произношении в мире IT. Потому что сил больше нет. Кровь из ушей льется на работе каждый день. Здесь представлена моя десятка наиболее ужасных вариантов произношения терминов из нашей сферы.

                    1. Key ~ [kiː] = «кей» «киии»
                      Да, друзья, сейчас я многих удивлю, но это слово читается именно так. По-моему, это даже не исключение. Monkey, donkey, turkey, whiskey — можно ориентироваться по этим словам. Я работаю в области криптографии, так что весь день сношу бесконечные «приватные кеи», «кей контэйнеры», «кей протоколы» и тому подобное. К слову, keygen тоже должен бы читаться по-другому: как «кииджен», а не "кейген". Но это слово нынче во многом живет своей жизнью, возможно, здесь бороться уже и не стоит.
                    Весь топ-10
                  • RabbitMQ tutorial 1 — Hello World



                    RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.

                    Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
                    Читать дальше →