Как симулировать соединение с низкой полосой пропускания для тестирования сайтов и приложений

Это перевод оригинальной статьи Скотта Ханзельмана.
Facebook недавно проанонсировал внутреннюю инициативу под названием «2G вторники», и я думаю, что это превосходно. Это чёткий и конкретный способ напомнить народу с быстрым интернетом (тем, кто, вероятно, всегда имел быстрый интернет), что не у каждого есть неограниченная полоса пропускания или быстрый и надёжный канал. Вы знали, что у Facebook есть даже небольшое приложение, называющееся «Facebook Lite«, которое «весит» всего 1 МБ и имеет хорошую поддержку медленных сетей?Продолжить чтение →

Антипаттерн PostgreSQL: когда json/hstore будут лишними

Это перевод статьи на сайте 2ndquadrant автора 

В PostgreSQL есть поддержка json, но вам не стоит этим пользоваться в большинстве случаев. То же самое относится к hstore и к новому типу jsonb. Эти типы полезны там, где они нужны, но им не нужно отдавать предпочтения при моделировании данных в PostgreSQL, потому что это усложнит манипуляции с ними и написание запросов.Продолжить чтение →

Для чего нужен finally в try…catch

В PHP, начиная с версии 5.5, а в JavaScript с редакции 1.4 есть поддержка обработки с исключений с помощью конструкций try…catch…finally.

Для многих остается загадкой, в чем же функция этого «finally«. В документации написано, что код в блоке finally будет выполнен независимо от того, было ли вызвано исключение в блоке try. Напомню, что код в блоке try выполняется до конца блока или до тех пор, пока не будет вызвано исключение, а в этом случае выполняется код в блоке catch. То есть, на первый взгляд блок finally избыточен, ведь если мы хотим, чтобы код выполнился в любом случае после try и catch, достаточно просто разместить этот код после них. Во многих случаях это действительно так, но есть несколько случаев, когда finally может быть полезен.Продолжить чтение →

Документирование ассоциативных массивов в PHPDoc

Если вы используете стандарт PHPDoc для документирования своего кода на PHP (а вам не мешало бы это делать), то наверняка рано или поздно задавались вопросом, а как же, собственно, документировать структуру массива, обязательные и необязательные ключи, типы значений, входящих в массив и т.п. Ну то есть с совсем простыми массивами понятно, что делать:Продолжить чтение →

Борьба с прокрастинацией и планирование

Я хочу поделиться личным опытом использования различных популярных в наши дни методик борьбы с прокрастинацией и планирования личного времени. Я работаю программистом, и в нашей компании уже используется трекинг-система Redmine, в которой можно видеть свои актуальные задачи, их статус и т.п.Продолжить чтение →

Как называют время в разных немецкоговорящих регионах

Из курса грамматики более-менее понятно, как сказать по-немецки, например, «22:16» или «полвторого», однако, если вы спросите, который час, в разных регионах Германии, Австрии или Швейцарии, то ответ может вас удивить.

Например, часы показывают 7.20 или 7.40. В ответ на «Не подскажете, сколько времени?» вы можете получить такие ответы:Продолжить чтение →

Республика Кипр

Музей частных коллекций Пьеридес
Музей частных коллекций Пьеридес

После некоторого перерыва в путешествиях на этот раз наш путь лежал на средиземноморский остров Кипр. На этот раз нас в поездке было трое, и нужно было принимать во внимание интересы нашей годовалой дочки. Потому выбор и пал на Кипр (как выяснилось, не зря), на котором мы ограничились единственным городом — Ларнакой (третий по величине в стране). Достопримечательностей в городе, в принципе, не много. Все ограничивается парой небольших кварталов с более-менее старыми турецкими домами, небольшим старым фортом, несколькими греческими церквями (прежде всего — церковь св. Лазаря), мечетями (включая важную в исламе Хала Султан), британскими колониальными складами, парой почти не сохранившихся руин древнего города Китиона, парой-другой местечковых маленьких музеев да солевыми озерами, на которые зимой прилетают фламинго. В общем-то люди приезжают на Кипр не столько за достопримечательностями, сколько за спокойным отдыхом на море (плюс тусовочная Айя-Напа). Климат мягкий, купальный сезон официально длится с 1 мая по 31 октября, но часто купаются и в ноябре, а в футболках ходят чуть не до января. Кипр входит в Евросоюз, имеет валютой евро, при этом не входит в шенгенскую зону = нет сложностей с визой, является очень безопасным местом с хорошей инфраструктурой, чистым, теплым и спокойным морем, большим количеством добротных отелей, гостеприимным местным населением. Все это привлекает на отдых множество семей с маленькими детьми. Особенно много русских семей. Помимо прочего, в Ларнаке для малышей еще и очень подходящие пляжи — с почти полным отсутствием волн и очень плавным рельефом дна — так, что взрослому приходится пройти очень приличное расстояние, чтобы вода была хотя бы по пояс, и никаких резких перепадов глубины нет.Продолжить чтение →

Разница между array_merge и + (оператор плюс) в PHP

Возможно, не только я забываю, чем именно отличается функция array_merge() от оператора объединения +, примененного к массивам.

Допустим, у нас два массива, $a и $b, тогда array_merge($a, $b); и $a+$b оба произведут объединение элементов этих массивов, но с нюансами, которые я вывел в таблицу. Итак, при выполнении обеих операций берутся в расссмотрение индексы  или ключи массивов и сравниваются между собой. Ключи могут быть числовыми (индексы) и строковыми (ассоциативный массив).Продолжить чтение →

Auf den Weg или auf dem Weg

В зависимости от предлога Auf de(m или n) Weg имеет совершенно разное значение.

Auf dem Weg = в пути. Например: Der Brief ist schon auf dem Weg zu Ihnen.

Auf den Weg = по пути. Например: Der Weihnachtsmann macht sich auf den Weg zu den Kindern.