Pull to refresh
78
0
Кирилл Василисков (Kirilo Vasiļiskovs) @Vasiliskov

Веб-разработчик

Send message

Немного о юнит-тестировании и внешних API в PHP

Reading time6 min
Views15K
Юнит-тестирование — одна из неотъемлемых частей процесса разработки, и оно становится сложнее и противоречивее, если основная задача Вашего кода — отправлять запросы ко внешним API и обрабатывать ответы. Немало копий сломано о тему, каким должно быть тестирование кода, завязанного на внешних источниках, и где проходит грань между тестированием собственного кода и чужих API.

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


Упростить себе жизнь

Доменной зоне .com исполнилось 30 лет

Reading time6 min
Views19K
Эра доменов началась в далёком 1985 году. Первым зарегистрированным доменом стал symbolics.com, запись для которого была создана 15 марта 1985 года и с тех пор не удалялась. Именно эту дату и считают днём рождения домена .com. В ознаменование этого события предлагаем Вам лёгкий пятничный пост о различных интересностях и странностях, связанных с доменными именами.
Вход в доменную Нарнию

Межпланетный интернет

Reading time8 min
Views20K
Космическая экспансия продолжается. До 2030 года более полдесятка стран планируют осуществить пилотируемые миссии к Луне. Ведётся подготовка к высадке человека на Марс. Уже к концу этого века наверняка на Луне будет построена постоянно действующая научная станция, а может, и жилая колония. В следующем веке человечество вполне может масштабно расселиться на Луну и Марс. Но как быть с тем, что так крепко связывает нас всех — с интернетом? Возможно ли объединить несколько планет в единую глобальную сеть? Под катом — симбиоз реальных достижений и авторской фантазии с элементами космонавтики, астрофизики и сетевых технологий.

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

Былина о том, как я Drupal и Яндекс.ПДД связывал

Reading time10 min
Views10K
Некоторое время назад у меня была идея сделать городской сайт (естественно, очередной) для одного небольшого городка на базе Drupal. Как раз незадолго до этого Яндекс расширил функционал своей Почты для доменов и добавил возможность управлять ящиками через API. И в голове зародилась мысль: а почему бы и нет? Почему бы не предоставить пользователям возможность одновременно с регистрацией на городском портале получать почтовый ящик в городском домене? Сама по себе идея, конечно, не удивительна, однако готовых решений не было. Сайт я так и не запустил, а коду без дела лежать грех.

Как известно, Drupal позиционируется как CMS, ориентированная разработчиков и позволяющая благодаря обширной API разработать хоть систему для управления лунной базой. Я не буду вдаваться в своём посте в её восхваление и самые начальные основы разработки модулей под Drupal, однако начинающие Drupal-разработчики наверняка сочтут материал полезным, а опытным буду благодарен за советы и рекомендации.

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

Ветер перемен: экспансия серверных ARM продолжается

Reading time7 min
Views20K
Серверные ARM близко. Архитектура, так хорошо прижившаяся в большинстве современных смартфонов и планшетов, постепенно проникает в серверный сегмент. Всего 4 месяце назад я писал о том, что два производителя серверных ARM процессоров подготовили тестовые платформы для разработчиков. Недавно решил почитать, что новенького в этом мире, и был удивлён произошедшими сдвигами. HP уже выпустил в продажу две серверных платформы, Microsoft тестирует серверную версию Windows на архитектуре ARM, появилось коммерческое облако на базе ARM…

Экосистема ARM-серверов ещё молода. Почти каждая статья о ней обязательно содержит хотя бы один абзац, описывающий преимущества архитектуры перед x86. Обязательно говорится о более низком энергопотреблении, нередко также упоминают удобство построения специализированных решений, адаптированных под высокую производительность на определённых задачах. Подробно о преимуществах и недостатках архитектуры ARM мы писали ранее в нашем блоге. А в этом посте речь пойдёт о реальных примерах её практического внедрения как производителями оборудования, так и провайдерами услуг.

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

Наш любимый CodeIgniter обрёл новый дом

Reading time3 min
Views15K


Когда мы объявили, что ищем новый дом для CodeIgniter, нас практически смыло волной электронных писем от потенциальных кандидатов (кстати, письма до сих пор продолжают поступать). Перед нами возник на первый взгляд простой вопрос: кому мы можем доверить поддержку фреймворка? Но найти верный ответ оказалось сложнее — нам нельзя было ошибиться.

Мы быстро отбросили тех, у кого не было опыта, отклонили заявки тех, у кого не было достаточных средств или времени на поддержку столь крупного проекта. Мы также отказали тем, с кем не сошлись в видении будущего фреймворка. И всё равно осталось много хороших кандидатов с достаточными силами, возможностями и с хорошими идеями. Но один кандидат всё же выделялся на фоне остальных.
Читать дальше →

Несколько слов о планировании стратегии восстановления

Reading time6 min
Views9K
Отвлекитесь на минутку от чтения и ответьте для себя на вопрос: насколько в действительности для Вас критичен простой Вашего сервиса продолжительностью в 1 минуту? Ответили? Думаю, если не все, то большинство из читателей подумали: «Переживём». А теперь ответьте, насколько критичен простой в 5 минут? А в 30, час, сутки? На каком-то из шагов в голове прозвучит: «Нет, ну это уже многовато». Только что Вы заложили один из важных параметров, необходимых для составления плана обеспечения непрерывности работы ИТ сервиса. О том, что это такое, и какой к нему лучше подходит соус, читайте под катом.

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

Можно ли «сломать» интернет?

Reading time7 min
Views81K
Технологический прогресс за последний век привёл к интересному парадоксу: люди не могут представить своей жизни без того, существование чего не могли себе даже вообразить 30-40 лет назад. В сфере информации когда-то это было радио, следом за ним пришло телевидение, а там и интернет подоспел. Да настолько плотно подоспел, что маленьких детей перестали ставить в угол, им просто отключают интернет. А моя 60-летняя мама регулярно смотрит на планшете прогнозы погоды, новости и видеоролики по уходу за собаками на YouTube.

Мы все воспринимаем интернет как данность, и когда он ненадолго пропадает, мы возмущаемся, как водитель, которого на скорости подрезала дщерь беловласая на розовом джипе. А может ли что-то привести к глобальному нарушению работы всей этой паутины, при виде которой любой паук наверняка тронулся бы умом?



По некоторым данным именно так выглядит карта современного интернета. Изначально сеть задумывалась децентрализованной и гибко маршрутизируемой. В случае разрыва одного соединения данные пойдут в обход, по другим. Глядя на карту, сложно представить, по каким точкам нанести удар, чтобы всё перестало работать. Но давайте всё же немного пофантазируем о том, какие действия, процессы и события, искусственные и природного характера, могли бы серьёзно нарушить работу этого сложного организма (не забывая о том, что не всё из этого такие уж фантазии).
Читать дальше →

DDoS великий и ужасный

Reading time10 min
Views68K
Знаете ли Вы, что по данным исследований, проведённых Arbor Networks, Verisign Inc. и некоторыми другими компаниями:

  • ежедневно наблюдается порядка 2000 DDoS атак;
  • атака, способная «положить» небольшую компанию на неделю, стоит всего $150;
  • около 2/3 участников исследований (63%) страдали хотя бы раз от DDoS в течение года;
  • помимо прямых убытков и потери лояльности пользователей, атаки также влияют на продуктивность работы персонала;
  • 11% респондентов были под атакой шесть и более раз за год;
  • среди тех, кто за последние 12 месяцев был под атакой, 46% лежали более 5 часов, а 23% — более 12 часов;
  • примерно треть всех случаев даунтайма у респондентов вызваны DDoS атаками.

Каким бывает DDoS, можно ли с ним бороться и как можно предостеречься? Об этом я вкратце поведаю в данной статье.

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

Смогут ли серверы на ARM заставить Intel понервничать?

Reading time7 min
Views37K
Моё знакомство с вариантом ARM, приближенным к серверному, началось с установки на CubieTruck серверной версии Ubuntu и развёртывания тестового сайта на Drupal. Мне было интересно, сильно ли будет отличаться работа движка на Cubie от работы того же движка на сервере на базе Intel Dual-Core G850, который я использую для своих проектов. О результатах эксперимента, а также о разных отличиях платформ ARM и x86 в качестве серверного железа, я расскажу в своём посте.

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

Называем узлы сети: где черпать вдохновение?

Reading time3 min
Views23K
Моё знакомство с нефункциональным именованием сетевых устройств началось с занятной байки. В вычислительном центре университета, где я стажировался в студенческие годы, серверы и свитчи называли кличками домашних животных. Одному из серверов не повезло, ему досталась кличка «Бобик». Сдыхать он начал достаточно быстро, и сдыхал с завидной периодичность даже после того, как его переименовали.



Народная мудрость гласит: «Как вы лодку сервер назовёте, так она и поплывёт будет работать». О том, как стоит называть сетевые устройства, чтобы проще было понять их назначение, модель, расположение в сети, написано немало. Я же поведаю немного о том, где люди черпали и черпают вдохновение, выдумывая собственные имена для своего оборудования.
Читать дальше →

Как рождаются SSD диски? Экскурс в технологический процесс

Reading time4 min
Views46K
Многие из нас либо уже пользуются, либо подумывают о том, чтобы поставить себе SSD диски. Но мало кто знает, какой путь они проходят от разрозненного набора деталей до красивой заводской упаковки.



Чем отличается производство SSD дисков от производства модулей памяти или, скажем, флешек? Настройками конвейерной линии и средами тестирования. Платы производятся на одних и тех же конвейерах. Почему я решил рассказать именно про SSD? Просто они мне нравятся.
Заглянуть на завод

Colocation, обычный и не очень

Reading time3 min
Views50K
Недавно возникло у меня желание любопытства ради разместить свой CubieTruck в дата-центре для проверки, как он себя поведёт под боевой нагрузкой. И… ничего у меня не вышло, т.к. дата-центр, в который я обратился, пока не готов размещать настолько нестандартное оборудование. Тут-то меня и осенило сделать очень краткий очерк о том, что люди могут пожелать разместить на колокейшн.



Да, на фотографии Mac Mini, размещённые в серверной стойке. Но об этом несколько позже.
Читать дальше →

Как умирает техника? Элементы теории надёжности

Reading time5 min
Views57K
Некоторые люди, которые интересуются нашими услугами, задают вопрос: «Серверы, которые вы предоставляете, новые или б/у?» Именно этот вопрос побудил нас немного углубиться в теорию надёжности и рассказать, чем не совсем новый сервер лучше совсем нового, а также какой смысл надписи «Срок службы» в документации к Вашему холодильнику, почему и из каких соображений нужно заранее думать о замене рабочего ноута и некоторые другие интересные вещи.


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

Форс-мажоры, или как люди теряли свои данные

Reading time5 min
Views39K
Бородатая присказка гласит: админы делятся на тех, кто не делает бэкапы, и тех, кто уже делает. У большинства осознание необходимости делать резервные копии приходит после крупной личной потери данных. И, несмотря на обилие душещипательных историй о том, как люди теряли всё, до сих пор многие продолжают надеяться на то, что бэкапы кто-то сделает за них. В качестве напоминания о неверности такого подхода, я хочу привести несколько примеров того, как люди совершенно неожиданным образом лишались своих данных или были на грани этого.

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

Попытка слива клиентских баз пользователей BillManager

Reading time1 min
Views11K
Сегодня утром обнаружили у себя на почте такое вот занятное письмо:



Судя по всему, кто-то пытается набрать доступы к установленным у хостеров разного масштаба BillManager и получить доступы к коммерческой информации (возможно, посливать базы). А может, просто напакостить в расчёте на то, что не все делают бэкапы.
Читать дальше →

Оптимизация сервера под Drupal с замером результатов

Reading time5 min
Views13K
Сама по себе инструкция о том, где что подкрутить на сервере, чтобы Drupal стал работать быстрее, встречаются на просторах интернета в разной степени детализации. Однако все встречавшиеся мне статьи обладали небольшим изъяном: я не встречал каких-либо реальных замеров, сопутствовавших настройке. Как численно меняется скорость генерации страницы? Как меняется использование памяти? Что происходит при увеличении количества параллельных запросов? Давайте проведём эксперимент. Некоторые рекомендации, изложенные в статье, носят общий характер и могут быть полезны для других CMS.
Читать дальше →

Результаты декабрьского конкурса и с Новым годом

Reading time2 min
Views3.3K
Голосование по нашему конкурсу окончено, заканчивается и 2013 год. Пришло время подводить итоги, дарить подарки и говорить приятные слова. Потому желаю всем, у кого на сердце камень, сбросить его, и пусть пока полежит где-нибудь в почках. Света и тепла Вам и Вашему дому.
Читать дальше →

Декабрьская раздача серверов: голосование

Reading time1 min
Views4.8K
Вот и пришло время, когда хабрасообщество выберет 3 самых достойных проекта, которые получат по серверу. В этот раз заявок было меньше, всего 11. Из них для голосования мы отобрали 10, а одному предложим хостинг.
Читать дальше →

Продление срока приёма заявок на конкурс

Reading time1 min
Views2.6K
Недавно мы объявили о проведении повторного конкурса с раздачей серверов. Однако мы не ожидали, что в этот раз заявок будет так мало. На данный момент количество заявок даже в два раза не превышает количество призовых мест. Потому мы решили немного откорректировать правила и продлить срок приёма заявок.
Читать дальше →

Information

Rating
Does not participate
Location
Вентспилс, Латвия, Латвия
Works in
Date of birth
Registered
Activity