С рождением PHP 7 не прекращаются споры об абстрактных синтаксических деревьях, just-in-time компиляторах, статическом анализе и т. д. Но что означают все эти термины? Это какие-то волшебные свойства, делающие PHP гораздо производительнее? И если да, то как это всё работает? В этой статье мы рассмотрим основы работы языков программирования и разъясним для себя процесс, который должен выполняться до того, как компьютер запустит, например, ваш PHP-скрипт.
Alexander Tukai @atukai
PHP Developer
Что стоит за номером «кредитки»
1 min
8.1KПрежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.
А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):
А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):
+123
Эксклюзив: Как алгоритм Google управляет интернетом
14 min
5.6KTranslation
От переводчика: не думаю, что открываю Америку этим переводом, по большому счету искушенный хабрапользователь не найдет для себя много нового и необычного. Однако, на мой взгляд, это неплохая общеобразовательная статья, в которой удобно собраны и рассмотрены основные вехи и принципы работы поисковых машин. Оригинал статьи опубликован в журнале Wired за март 2010 года. Предупреждаю сразу — статья длинная.
Хотите ли вы узнать, как Google собирается изменить вашу жизнь? Остановитесь около комнаты совещаний Уагадугу во вторник утром. Это решается здесь, в Калифорнии, в Маунтин Вью, в головном офисе самой влиятельной интернет-компании в мире, в комнате, наполненной тремя десятками инженеров, менеджеров и руководителей, которые определяют, как сделать поисковую машину еще умнее. В этом году компания Google представила около 550 усовершенствований в свой легендарный алгоритм, и каждое определяет выдачу информации. Решения, принимаемые на еженедельном Совещании по Качеству Поиска, влияют на результаты выдачи поисковой системы для любых ваших запросов — «принтер Samsung SF-755p», «страничка Ed Hardy на MySpace» или даже «столица Буркина Фасо», которая, кстати, называется также, как и эта комната для совещаний. Руководит процессом Уди Мэнбер, глава Google по поиску с 2006 года. Предполагаемые изменения вместе с результатами месяцев тестирования в различных странах и на всевозможных языках представляются одно за другим. На экранах рядом друг с другом отображаются результаты запросов до и после изменения. Следом за выдачей результата поиска «гитарный центр вау-вау» — Мэнбер кричит: «Получилось!»
Хотите ли вы узнать, как Google собирается изменить вашу жизнь? Остановитесь около комнаты совещаний Уагадугу во вторник утром. Это решается здесь, в Калифорнии, в Маунтин Вью, в головном офисе самой влиятельной интернет-компании в мире, в комнате, наполненной тремя десятками инженеров, менеджеров и руководителей, которые определяют, как сделать поисковую машину еще умнее. В этом году компания Google представила около 550 усовершенствований в свой легендарный алгоритм, и каждое определяет выдачу информации. Решения, принимаемые на еженедельном Совещании по Качеству Поиска, влияют на результаты выдачи поисковой системы для любых ваших запросов — «принтер Samsung SF-755p», «страничка Ed Hardy на MySpace» или даже «столица Буркина Фасо», которая, кстати, называется также, как и эта комната для совещаний. Руководит процессом Уди Мэнбер, глава Google по поиску с 2006 года. Предполагаемые изменения вместе с результатами месяцев тестирования в различных странах и на всевозможных языках представляются одно за другим. На экранах рядом друг с другом отображаются результаты запросов до и после изменения. Следом за выдачей результата поиска «гитарный центр вау-вау» — Мэнбер кричит: «Получилось!»
+146
Алгоритмы поиска, обратный индекс — Часть 1
2 min
12KC этой статьи я начинаю цикл статей по SEO, в которых будет теория, практика и советы. Начнем естественно с азов. В материале вкратце описываются алгоритмы, по которым современные поисковые системы осуществляют поиск, как проходит индексация, какие математические модели используются при поиске документов.
Что вы узнаете?
Алгоритмы поиска. Что представляет из себя индексация, инвертированный индекс. Математические модели, используемые современными поисковыми системами.
+9
Превью и Resize картинок на лету
5 min
2.3KПеределывал сайт заказчику на Netcat и с удивлением обнаружил, что кто-то ещё использует загрузку отдельных картинок для оригиналов и для превьюшек и как следствие отдельные столбцы в таблице БД. Куда ещё не шло создавать превьюшки на стороне сервера после загрузки оригинала.
Идея простая и не новая. C таким подходом я в первые столкнулся в UMI-CMS, а использовал в RubyOnRails. Смысл в том, что превью создаются только когда они нужны и какого угодно размера, а В БД храниться только название оригинала.
Если Вам необходимо вывести превью картинки вы вызываете функцию типа:
Метод view_thumbs проверяет в папке (например "/images/cache") наличие файла originals_name_file_100xauto.jpg. Если находит то возвращает строку «originals_name_file_100xauto.jpg», если не находит, то создаёт файл нужных размеров на лету и возвращает то же самое.
Достоинства подхода очевидны:
Идея простая и не новая. C таким подходом я в первые столкнулся в UMI-CMS, а использовал в RubyOnRails. Смысл в том, что превью создаются только когда они нужны и какого угодно размера, а В БД храниться только название оригинала.
Если Вам необходимо вывести превью картинки вы вызываете функцию типа:
- @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», если не находит, то создаёт файл нужных размеров на лету и возвращает то же самое.
Достоинства подхода очевидны:
- Не создаётся мусора в виде большого количества превьюшек на диске. Все превью храняться в одной папке «cache» и могут периодически удаляться для освобождения места.
- Неограниченное количество превьюшек разных размеров. Достаточно только задать нужные параметры в методе.
+2
Декоратор для обработки форм Ajax`ом
5 min
953После прочтения статьи я решил написать декоратор который будет прикреплять jquery код для получения данных из формы и отправки их на сервер.
Своим опытом спешу поделится с хабрасообществом.
Своим опытом спешу поделится с хабрасообществом.
+7
Сервер дома — AMD, Debian x64, Bind9, Apache 2, PHP5, MySQL5, Trac, Subversion и море удовольствия
7 min
8.6KШило в известном месте всё никак не даёт мне покоя.
И решил я поэкспериментировать с установкой сервера дома.
Итак, дано:
1. Домашний интернет с внешним ip на роутере, канал туда/обратно — 8 мбит, провайдер — QWERTY *
2. Бюджет не больше 10 тысяч рублей — чем меньше, тем лучше. **
3. Жгучее желание экспериментов и чего-нибудь эдакого ***
* К сожалению, мой дом не подключает Корбина, у которой более широкие каналы. Приходится довольствоваться тем, что есть
** Получилось путём более-менее реального подсчёта стоимости комплектующих на среднестатический компьютер
*** Для тех, кто хмыкнет и скажет — «эка невидаль, я такое регулярно делаю» — я не так часто что-то настраиваю, больше пишу под уже настроенное, и для меня это чистой воды развлечение — что-то сделать своими руками=)
Ну, все процедуры тут, под катом.
Сразу хочу сказать, что у меня это работает — так, как есть. Дополнительно с бубном я не плясал — но тут вытяжки из моих гуглений и мануалокурений.
Вероятно, что-то можно настроить более гибко или качественно, и я крайне буду рад советам или решениям=)
И решил я поэкспериментировать с установкой сервера дома.
Итак, дано:
1. Домашний интернет с внешним ip на роутере, канал туда/обратно — 8 мбит, провайдер — QWERTY *
2. Бюджет не больше 10 тысяч рублей — чем меньше, тем лучше. **
3. Жгучее желание экспериментов и чего-нибудь эдакого ***
* К сожалению, мой дом не подключает Корбина, у которой более широкие каналы. Приходится довольствоваться тем, что есть
** Получилось путём более-менее реального подсчёта стоимости комплектующих на среднестатический компьютер
*** Для тех, кто хмыкнет и скажет — «эка невидаль, я такое регулярно делаю» — я не так часто что-то настраиваю, больше пишу под уже настроенное, и для меня это чистой воды развлечение — что-то сделать своими руками=)
Ну, все процедуры тут, под катом.
Сразу хочу сказать, что у меня это работает — так, как есть. Дополнительно с бубном я не плясал — но тут вытяжки из моих гуглений и мануалокурений.
Вероятно, что-то можно настроить более гибко или качественно, и я крайне буду рад советам или решениям=)
+32
Логика английских времен
6 min
71KИзучавшие или изучающие английский язык знают, каким страшным может казаться множество английских временных форм глаголов.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
+150
PHP класс для сборки инклюдов в один файл
2 min
1.1Kпо мотивам коммента mocksoul из темы PHP: Введение в Zend Framework
В кратце, речь шла о том, что одним из недостатков фреймворка является его концепция «один класс – один файл». И хотя, с моей точки зрения, это не является недостатком архитектуры ZF, это является недостатком PHP. Проблемы начинаются когда PHP начинает инклюдить десятки и сотни файлов, да еще проверять их на once.
Предложенное решение – сборка всех инклюдов в один файл.
Проблема
В кратце, речь шла о том, что одним из недостатков фреймворка является его концепция «один класс – один файл». И хотя, с моей точки зрения, это не является недостатком архитектуры ZF, это является недостатком PHP. Проблемы начинаются когда PHP начинает инклюдить десятки и сотни файлов, да еще проверять их на once.
Предложенное решение – сборка всех инклюдов в один файл.
+5
Подключаемся к камерам наблюдения
2 min
38KЗачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
+232
Консоль в Windows — никому не нужна?
4 min
79KОчень часто приходилось слышать такое от людей, которые много времени проводят за администрированием и другими IT-забавами.
Я, за не очень долгий опыт реального администрирования пришел к обратному выводу. В консоли (командной строке) В Windows можно выполнять очень много разных операций, которые стандартными возможностями не выполняются или выполняются некорректно/неудобно/долго (нужное подчеркнуть)
Совсем недавно где-то на Хабре промелькнуло высказывание из серии «Не думал, что консоль в Виндах что-то может. Хотелось бы узнать об этом побольше».
Вот так и возникло желание написать небольшую статью про основные возможности консоли.
Я, за не очень долгий опыт реального администрирования пришел к обратному выводу. В консоли (командной строке) В Windows можно выполнять очень много разных операций, которые стандартными возможностями не выполняются или выполняются некорректно/неудобно/долго (нужное подчеркнуть)
Совсем недавно где-то на Хабре промелькнуло высказывание из серии «Не думал, что консоль в Виндах что-то может. Хотелось бы узнать об этом побольше».
Вот так и возникло желание написать небольшую статью про основные возможности консоли.
+131
Настройка UAC в Windows 7
5 min
134KНачиная с Windows Vista, Microsoft включила в состав операционной системы механизм управления учетными записями пользователей (сокращенно UAC). Механизм работы UAC большинство пользователей восприняли негативно, так как бесконечные дополнительные валидации в виде затенения экрана и прощелкивания кнопочки Yes могли вывести из себя даже самого терпеливого. Зачастую UAC функционировал не вполне корректно, что приводило к не возможности работы с рядом программ, которые были написаны под ранние версии Windows. C выходом SP1 для Vista UAC был доработан, но пользователи уже успели отключить UAC и забыть что это такое.
В Windows 7 UAC приобрел дополнительные настройки. И я бы хотел рассказать, как именно сделать UAC действительно полезным инструментом для защиты ОС.
В Windows 7 UAC приобрел дополнительные настройки. И я бы хотел рассказать, как именно сделать UAC действительно полезным инструментом для защиты ОС.
+59
В поисках оптимизации загрузки Vista
3 min
4.7KВремя, требуемое для загрузки операционной системы, для многих пользователей является достаточно критичным фактором, особенно для владельцев ноутбуков. Нормальное время от прохождения BIOS до загрузки рабочего стола в Windows Vista составляет в среднем 25-90 секунд, в зависимости от конфигурации оборудования, драйверов и работы сервисов. Иногда пользователи сталкиваются с ситуацией, когда время загрузки системы растягивается до неприемлимых 5-10 минут, что сигнализирует о проблеме, которую необходимо решить во избежание возможных неприятностей со стабильностью и вероятной потерей данных.
В этой небольшой статье попробуем рассмотреть решение подобных неприятностей с помощью встроенных в Vista средств мониторинга. На русском языке почему-то этого никто ранее не делал.
В этой небольшой статье попробуем рассмотреть решение подобных неприятностей с помощью встроенных в Vista средств мониторинга. На русском языке почему-то этого никто ранее не делал.
+71
Работа для программиста в США: 5 простых шагов
5 min
291K Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.
Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.
Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.
Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
+138
Примеры Google Maps API №1: Создаем собственные элементы управления
6 min
6KИтак, я продолжаю делать кросс-посты из моего блога. На этот раз речь пойдет о создании собственных элементов управления для карт на основе Google Maps API.
+24
Коллекции иконок? Легко! Тысячи иконок в сетах.
2 min
39KВ продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
+112
Ресурсы по поиску качественных иконок.
1 min
6.2KВсе когда-нибудь сталкивались с проблемой поиска качественных иконок для различных нужд. Список лучших поисковиков:
+44
Google Gears — ускоряем ваш сайт
8 min
1.8KGoogle Gears — открытое программное обеспечение от Google (бета, лицензия BSD), позволяющее использование веб-приложений с помощью браузеров Mozilla Firefox и Internet Explorer под GNU/Linux, Mac OS и Microsoft Windows в режиме оффлайн.
Специальный плагин заставляет браузер работать с локальным кешем страниц (на основе SQLite), периодически синхронизируя кеш с онлайн источником.
Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)
Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.
Специальный плагин заставляет браузер работать с локальным кешем страниц (на основе SQLite), периодически синхронизируя кеш с онлайн источником.
Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)
Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.
+35
Инструментарий сеошника
3 min
962Хочу рассказать вам об инструментарии и сервисах, которыми сам пользуюсь.
Сначала анализируем запросы. В первую очередь нас интересует Рамблер и Яндекс для подбора синонимов.
Анализ запросов
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 — Гугл
Сначала анализируем запросы. В первую очередь нас интересует Рамблер и Яндекс для подбора синонимов.
Анализ запросов
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 — Гугл
+7
Упаковка булевых переменных для хранения и поиска в базе
3 min
2.5KСтолкнулся с необходимостью хранить в базе формы, большая часть из которых являлась «галочками», то есть, по сути булевыми переменными. Создавать под тридцать галочек тридцать полей INT 1 не хотелось стал искать другой метод.
И нашел — битовый массив.
И нашел — битовый массив.
0
Information
- Rating
- Does not participate
- Location
- Минск, Минская обл., Беларусь
- Date of birth
- Registered
- Activity