• Введение в компиляторы, интерпретаторы и JIT’ы

    • Перевод
    С рождением PHP 7 не прекращаются споры об абстрактных синтаксических деревьях, just-in-time компиляторах, статическом анализе и т. д. Но что означают все эти термины? Это какие-то волшебные свойства, делающие PHP гораздо производительнее? И если да, то как это всё работает? В этой статье мы рассмотрим основы работы языков программирования и разъясним для себя процесс, который должен выполняться до того, как компьютер запустит, например, ваш PHP-скрипт.
    Читать дальше →
  • Что стоит за номером «кредитки»

      Прежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.

      А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):

      Читать дальше →
    • Эксклюзив: Как алгоритм Google управляет интернетом

      • Перевод
      От переводчика: не думаю, что открываю Америку этим переводом, по большому счету искушенный хабрапользователь не найдет для себя много нового и необычного. Однако, на мой взгляд, это неплохая общеобразовательная статья, в которой удобно собраны и рассмотрены основные вехи и принципы работы поисковых машин. Оригинал статьи опубликован в журнале Wired за март 2010 года. Предупреждаю сразу — статья длинная.

      imageХотите ли вы узнать, как Google собирается изменить вашу жизнь? Остановитесь около комнаты совещаний Уагадугу во вторник утром. Это решается здесь, в Калифорнии, в Маунтин Вью, в головном офисе самой влиятельной интернет-компании в мире, в комнате, наполненной тремя десятками инженеров, менеджеров и руководителей, которые определяют, как сделать поисковую машину еще умнее. В этом году компания Google представила около 550 усовершенствований в свой легендарный алгоритм, и каждое определяет выдачу информации. Решения, принимаемые на еженедельном Совещании по Качеству Поиска, влияют на результаты выдачи поисковой системы для любых ваших запросов — «принтер Samsung SF-755p», «страничка Ed Hardy на MySpace» или даже «столица Буркина Фасо», которая, кстати, называется также, как и эта комната для совещаний. Руководит процессом Уди Мэнбер, глава Google по поиску с 2006 года. Предполагаемые изменения вместе с результатами месяцев тестирования в различных странах и на всевозможных языках представляются одно за другим. На экранах рядом друг с другом отображаются результаты запросов до и после изменения. Следом за выдачей результата поиска «гитарный центр вау-вау» — Мэнбер кричит: «Получилось!»
      Читать дальше →
    • Алгоритмы поиска, обратный индекс — Часть 1

        image
        C этой статьи я начинаю цикл статей по SEO, в которых будет теория, практика и советы. Начнем естественно с азов. В материале вкратце описываются алгоритмы, по которым современные поисковые системы осуществляют поиск, как проходит индексация, какие математические модели используются при поиске документов.


        Что вы узнаете?


        Алгоритмы поиска. Что представляет из себя индексация, инвертированный индекс. Математические модели, используемые современными поисковыми системами.
        Узнать больше
      • Превью и Resize картинок на лету

          Переделывал сайт заказчику на Netcat и с удивлением обнаружил, что кто-то ещё использует загрузку отдельных картинок для оригиналов и для превьюшек и как следствие отдельные столбцы в таблице БД. Куда ещё не шло создавать превьюшки на стороне сервера после загрузки оригинала.

          Идея простая и не новая. C таким подходом я в первые столкнулся в UMI-CMS, а использовал в RubyOnRails. Смысл в том, что превью создаются только когда они нужны и какого угодно размера, а В БД храниться только название оригинала.

          Если Вам необходимо вывести превью картинки вы вызываете функцию типа:
          1. @thumbs = Photo.view_thumbs('originals_name_file.jpg', '100', 'auto')
          где второй и третий параметр это нужный размер в пикселах (auto значит автоматическая подгонка под массштаб).

          Метод view_thumbs проверяет в папке (например "/images/cache") наличие файла originals_name_file_100xauto.jpg. Если находит то возвращает строку «originals_name_file_100xauto.jpg», если не находит, то создаёт файл нужных размеров на лету и возвращает то же самое.

          Достоинства подхода очевидны:
          1. Не создаётся мусора в виде большого количества превьюшек на диске. Все превью храняться в одной папке «cache» и могут периодически удаляться для освобождения места.
          2. Неограниченное количество превьюшек разных размеров. Достаточно только задать нужные параметры в методе.
          Для cakePHP есть хелпер images.php который можно выдернуть из Bakesale (автоматической подгонки нет). Ниже представлен метод на RubyOnRails реализующий данный подход.
          Читать дальше →
        • Декоратор для обработки форм Ajax`ом

            После прочтения статьи я решил написать декоратор который будет прикреплять jquery код для получения данных из формы и отправки их на сервер.
            Своим опытом спешу поделится с хабрасообществом.
            Читать дальше →
          • Сервер дома — AMD, Debian x64, Bind9, Apache 2, PHP5, MySQL5, Trac, Subversion и море удовольствия

              Шило в известном месте всё никак не даёт мне покоя.
              И решил я поэкспериментировать с установкой сервера дома.

              Итак, дано:

              1. Домашний интернет с внешним ip на роутере, канал туда/обратно — 8 мбит, провайдер — QWERTY *
              2. Бюджет не больше 10 тысяч рублей — чем меньше, тем лучше. **
              3. Жгучее желание экспериментов и чего-нибудь эдакого ***

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

              Ну, все процедуры тут, под катом.

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

              Вероятно, что-то можно настроить более гибко или качественно, и я крайне буду рад советам или решениям=)


              Читать дальше →
            • Логика английских времен

                Изучавшие или изучающие английский язык знают, каким страшным может казаться множество английских временных форм глаголов.
                Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
                Читать дальше →
              • PHP класс для сборки инклюдов в один файл

                  по мотивам коммента mocksoul из темы PHP: Введение в Zend Framework

                  Проблема


                  В кратце, речь шла о том, что одним из недостатков фреймворка является его концепция «один класс – один файл». И хотя, с моей точки зрения, это не является недостатком архитектуры ZF, это является недостатком PHP. Проблемы начинаются когда PHP начинает инклюдить десятки и сотни файлов, да еще проверять их на once.

                  Предложенное решение – сборка всех инклюдов в один файл.
                  Читать дальше →
                • Подключаемся к камерам наблюдения

                    image

                    Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
                    Читать дальше →
                  • Консоль в Windows — никому не нужна?

                      Очень часто приходилось слышать такое от людей, которые много времени проводят за администрированием и другими IT-забавами.

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

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

                      Вот так и возникло желание написать небольшую статью про основные возможности консоли.
                      Читать дальше →
                    • Настройка UAC в Windows 7

                        Начиная с Windows Vista, Microsoft включила в состав операционной системы механизм управления учетными записями пользователей (сокращенно UAC). Механизм работы UAC большинство пользователей восприняли негативно, так как бесконечные дополнительные валидации в виде затенения экрана и прощелкивания кнопочки Yes могли вывести из себя даже самого терпеливого. Зачастую UAC функционировал не вполне корректно, что приводило к не возможности работы с рядом программ, которые были написаны под ранние версии Windows. C выходом SP1 для Vista UAC был доработан, но пользователи уже успели отключить UAC и забыть что это такое.

                        В Windows 7 UAC приобрел дополнительные настройки. И я бы хотел рассказать, как именно сделать UAC действительно полезным инструментом для защиты ОС.

                        Читать дальше...
                      • В поисках оптимизации загрузки Vista

                          Время, требуемое для загрузки операционной системы, для многих пользователей является достаточно критичным фактором, особенно для владельцев ноутбуков. Нормальное время от прохождения BIOS до загрузки рабочего стола в Windows Vista составляет в среднем 25-90 секунд, в зависимости от конфигурации оборудования, драйверов и работы сервисов. Иногда пользователи сталкиваются с ситуацией, когда время загрузки системы растягивается до неприемлимых 5-10 минут, что сигнализирует о проблеме, которую необходимо решить во избежание возможных неприятностей со стабильностью и вероятной потерей данных.

                          Пока я загружаюсь, вы можете выгулять свою собачку

                          В этой небольшой статье попробуем рассмотреть решение подобных неприятностей с помощью встроенных в Vista средств мониторинга. На русском языке почему-то этого никто ранее не делал.
                          Читать дальше →
                        • Пишем HelloWorld под Android.

                            Скачав сдк с гугловского сайта и вдоволь наигравшись с эмулятором, мне захотелось сделать следующий шаг — написать hello world.

                            И так, я постараюсь написать подробный (ну или почти) тутор, как это сделать, потому что некоторые шаги могут показаться нелогичными.
                            Читать дальше →
                          • Работа для программиста в США: 5 простых шагов

                              image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

                              Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

                              Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
                              Читать дальше →
                            • Коллекции иконок? Легко! Тысячи иконок в сетах.

                                В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
                                Читать дальше →
                              • Google Gears — ускоряем ваш сайт

                                  Google Gearsоткрытое программное обеспечение от Google (бета, лицензия BSD), позволяющее использование веб-приложений с помощью браузеров Mozilla Firefox и Internet Explorer под GNU/Linux, Mac OS и Microsoft Windows в режиме оффлайн.

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

                                  Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)

                                  Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.

                                  Читать дальше →
                                • Инструментарий сеошника

                                    Хочу рассказать вам об инструментарии и сервисах, которыми сам пользуюсь.

                                    Сначала анализируем запросы. В первую очередь нас интересует Рамблер и Яндекс для подбора синонимов.

                                    Анализ запросов
                                    https://ad.rambler.ru/swrds/wrds.pl — анализ запросов в Рамблере
                                    http://wordstat.yandex.ru — анализ запросов в Яндексе
                                    stat.go.mail.ru — анализ запросов в Мейле
                                    http://www.google.com/trends — тренды Гугля
                                    http://inventory.overture.com/d/searchinventory/suggestion/ — подбор запросов
                                    https://adwords.google.com — ассоциативный для Гугля
                                    https://adwords.google.com/select/KeywordToolExternal — Гугл

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