Pull to refresh
11
0
Alexander Tukai @atukai

PHP Developer

Send message

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

Reading time13 min
Views46K
С рождением PHP 7 не прекращаются споры об абстрактных синтаксических деревьях, just-in-time компиляторах, статическом анализе и т. д. Но что означают все эти термины? Это какие-то волшебные свойства, делающие PHP гораздо производительнее? И если да, то как это всё работает? В этой статье мы рассмотрим основы работы языков программирования и разъясним для себя процесс, который должен выполняться до того, как компьютер запустит, например, ваш PHP-скрипт.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments15

Что стоит за номером «кредитки»

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

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

Читать дальше →
Total votes 147: ↑135 and ↓12+123
Comments84

Эксклюзив: Как алгоритм Google управляет интернетом

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

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

Алгоритмы поиска, обратный индекс — Часть 1

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


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


Алгоритмы поиска. Что представляет из себя индексация, инвертированный индекс. Математические модели, используемые современными поисковыми системами.
Узнать больше
Total votes 81: ↑45 and ↓36+9
Comments48

Превью и Resize картинок на лету

Reading time5 min
Views2.3K
Переделывал сайт заказчику на 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 реализующий данный подход.
Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments14

Декоратор для обработки форм Ajax`ом

Reading time5 min
Views953
После прочтения статьи я решил написать декоратор который будет прикреплять jquery код для получения данных из формы и отправки их на сервер.
Своим опытом спешу поделится с хабрасообществом.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments2

Сервер дома — AMD, Debian x64, Bind9, Apache 2, PHP5, MySQL5, Trac, Subversion и море удовольствия

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

Итак, дано:

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

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

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

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

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


Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments66

Логика английских времен

Reading time6 min
Views71K
Изучавшие или изучающие английский язык знают, каким страшным может казаться множество английских временных форм глаголов.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
Читать дальше →
Total votes 196: ↑173 and ↓23+150
Comments202

PHP класс для сборки инклюдов в один файл

Reading time2 min
Views1.1K
по мотивам коммента mocksoul из темы PHP: Введение в Zend Framework

Проблема


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

Предложенное решение – сборка всех инклюдов в один файл.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments16

Подключаемся к камерам наблюдения

Reading time2 min
Views38K
image

Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
Читать дальше →
Total votes 258: ↑245 and ↓13+232
Comments133

Консоль в Windows — никому не нужна?

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

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

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

Вот так и возникло желание написать небольшую статью про основные возможности консоли.
Читать дальше →
Total votes 183: ↑157 and ↓26+131
Comments241

Настройка UAC в Windows 7

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

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

Читать дальше...
Total votes 91: ↑75 and ↓16+59
Comments75

В поисках оптимизации загрузки Vista

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

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

В этой небольшой статье попробуем рассмотреть решение подобных неприятностей с помощью встроенных в Vista средств мониторинга. На русском языке почему-то этого никто ранее не делал.
Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments87

Работа для программиста в США: 5 простых шагов

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

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

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138

Примеры Google Maps API №1: Создаем собственные элементы управления

Reading time6 min
Views6K
Итак, я продолжаю делать кросс-посты из моего блога. На этот раз речь пойдет о создании собственных элементов управления для карт на основе Google Maps API.
Читать дальше →
Total votes 47: ↑35.5 and ↓11.5+24
Comments17

Коллекции иконок? Легко! Тысячи иконок в сетах.

Reading time2 min
Views39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Total votes 159: ↑135.5 and ↓23.5+112
Comments36

Google Gears — ускоряем ваш сайт

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

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

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

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

Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments25

Инструментарий сеошника

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

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

Анализ запросов
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 — Гугл

Читать дальше →
Total votes 31: ↑19 and ↓12+7
Comments10

Упаковка булевых переменных для хранения и поиска в базе

Reading time3 min
Views2.5K
Столкнулся с необходимостью хранить в базе формы, большая часть из которых являлась «галочками», то есть, по сути булевыми переменными. Создавать под тридцать галочек тридцать полей INT 1 не хотелось стал искать другой метод.

И нашел — битовый массив.
Читать дальше →
Total votes 12: ↑6 and ↓60
Comments25
1
23 ...

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity