Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

У нас проблемы с промисами

Время на прочтение16 мин
Количество просмотров239K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи
Всего голосов 139: ↑136 и ↓3+133
Комментарии121

Умный дом для Курочки Рябы

Время на прочтение5 мин
Количество просмотров17K
Гаджет от Мастер Кит может повысить плодовитость кур в зимний стойловый период.



В Мастер Кит пришел вопрос, нет ли какого устройства, для плавного включения и выключения освещения в курятнике в зимний период? Оказывается, если просто выключить свет, то куры останутся ночевать (и гадить) там где стояли, потому что в темноте они очень плохо и не находят своего привычного места. Стал изучать тему и наткнулся на такую статью о дачной жизни. Оказывается, кроме искусственного заката им в зимний период еще нужен продленный световой день, а меняя цветовую гамму можно управлять настроением, самочувствием, ростом молодняка. Постоянно держать свет включенным (благо лампочки энергосберегающие) тоже нельзя. Если автор не «кошмарит», то задача с освещением вполне серьезная. Взялись…
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии8

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

Время на прочтение5 мин
Количество просмотров577K

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии54

ОСЕННЯЯ ПРОСТУДА: почему «работают» лишь «мамины рецепты»

Время на прочтение14 мин
Количество просмотров22K
Осень, холодная погода, простуда … Что с этим можно поделать? Как защититься? Да и можно ли? Слышали, что простуда вызывается риновирусами? Неужели все еще нет антивируса? Компьютерные-то уже давно продают…
Читать дальше →
Всего голосов 32: ↑19 и ↓13+6
Комментарии31

Возможности PostgreSQL, которых нет в MySQL, и наоборот

Время на прочтение7 мин
Количество просмотров102K


Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
Читать дальше →
Всего голосов 141: ↑132 и ↓9+123
Комментарии313

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Время на прочтение3 мин
Количество просмотров118K
Дорого дня, уважаемые хабражители!

Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



Осторожно! Много картинок!
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии33

Верстка писем: Что такое «кинетический email»

Время на прочтение7 мин
Количество просмотров17K
Примечание переводчика: В нашем блоге мы уже неоднократно рассказывали о создании интерактивных email-рассылок с помощью CSS и HTML. Но рассылки могут быть не только интерактивными, но и кинетическими — о том, что это такое, читайте в адаптированном переводе заметки email-дизайнера Джастина Ку.



Хотя HTML-письма существуют почти так же долго, как и интернет, к электронной почте часто относятся как к нелюбимому дитю Сети. Кажется, что противоречивая и устаревшая поддержка элементов HTML в почтовых клиентах отражает следующий настрой – «вполне достаточно того, что отправители могут разместить в письме текст и несколько изображений». Разве нужно что-то еще? По-видимому, электронная почта – уже не среда для инноваций.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

По-настоящему адаптивные письма. Часть вторая. Фреймворк

Время на прочтение3 мин
Количество просмотров29K

Картинка для привлечения внимания честно сперта у invisionapp (кстати, у них божественная рассылка)

С момента публикации последнего поста прошло ни много ни мало, полтора месяца, но на то были причины. Уйма работы и бредовые мысли задрота-верстальщика. Сначала я собирался просто перенять приемы Николь Мерлин для верстки писем себе, но потом хипстерская голова подумала: А почему бы не зафигачить целый фреймворк? Громкое слово для моей поделки, но мне приятно его так называть. Начнем с простого.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии8

Ethernet Library или почему в природе не существует серверов на Arduino

Время на прочтение8 мин
Количество просмотров67K
image

В этой статье я опишу ситуацию с которой столкнулся во время разработки проекта Arduino Mega Server. Суть дела заключается в том, что существует такая библиотека Arduino Ethernet Library, написанная для поддержки сетевой платы Ethernet Shield на чипе W5100. Это стандартная плата и стандартная библиотека, которая многие годы поставляется в комплекте со средой разработки Arduino.

И эта библиотека является основой для всех проектов, использующих обмен информацией по проводной сети. Так вот, оказалось, что эта библиотека попросту профнепригодна. На ней в принципе невозможно построить нормальное сетевое взаимодействие. Можно только «баловаться» одиночными запросами и ответами. Ни о каком построении серверов на базе этой библиотеки речь не может идти. Почему?
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии74

Аттракцион невиданной щедрости: 52 000 рублей от государства каждому на покупку акций

Время на прочтение5 мин
Количество просмотров27K
Как накопить на свою квартиру, если у тебя на зарплатной карте с каждым днем таят деньги не только потому, что ты их тратишь, но и потому, что процент по вкладу ниже даже официальной инфляции?! В такой ситуации приходится искать новые способы защиты капитала, а так же дополнительные источники заработка.

В продолжение темы управления личными финансами сегодня я расскажу о том, как убить двух зайцев – начать торговать на Московской Бирже и легально возместить себе часть удержанных из заработной платы налогов.

image
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии36

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Время на прочтение5 мин
Количество просмотров115K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Всего голосов 111: ↑96 и ↓15+81
Комментарии102

Делаем Callback с сайта с помощью Askozia PBX

Время на прочтение6 мин
Количество просмотров11K
Популярность сервисов callbackhunter и zingaya посеяла в мою голову идею, реализовать возможность обратного звонка с нашего сайта, используя уже работающую много лет в компании IP ATC Askozia. Ранее я писал про нее в отдельном посте.

Ситуация также усложнялась тем, что сайт расположен в публичной сети, а Askozia внутри локальной, и публиковать ее в открытый доступ было страшновато.
Алгоритмов реализации механизма обратного звонка с сайта для Asterisk написано достаточно много. Самый распространенный — это генерация AMI команды Originate после того, как клиент введет свой номер телефона на сайте. И так приступим.
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии7

По-настоящему адаптивные письма. Часть первая

Время на прочтение6 мин
Количество просмотров22K
Написание данного поста навеяно недавней поистине шикарной работой, Niсole Merlin. Во многом ее методика верстки схожа с моей и мне радостно от того, что это направление развивается теперь и на западе. Чем же этот способ так хорош? Все очень просто. Не нужно объяснять как важно адаптировать под мобильные платформы сверстанные письма для того, чтобы они были прочтены. Читать простыни на телефоне мало кто будет. Что же все это время делал западный разработчик? Он верстал табличной версткой с элементами блочности, затем причесывал этот код медиазапросами для поддержки мобильников. Чем этот подход ущербен? А тем, что ни на андроиде, ни на яблоке медиазапросы не поддерживаются следующими почтовыми клиентами: Gmail, Yandex, Mail.ru. По большому счету западные коллеги могли бы и наплевать на яндекс с мейлом, но вот Gmail как ни крути первый среди почтовиков.



Для Nicole Merlin это стало очевидно и она разработала свою методику, которая основывается на резиновой верстке с минимальным использованием медиазапросов(progressive enhancement) и это работает! Но немного не так как хотелось бы нам в России. Вся резиновость автора держится на inline-block элементах и оперированием max-width. Но вот беда-то, наши ребята из яндекса и мейла max-width не поддерживают. Сначала я расскажу об отличиях моего подхода от приемов Nicole, а затем плавно перейду к своим мыслям и примерам кода, которые стоит использовать при подготовке писем.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии8

Анализ SSL/TLS трафика в Wireshark

Время на прочтение7 мин
Количество просмотров220K


Как скрыть от посторонних конфиденциальную информацию?
Самое простое – зашифровать.
В Интернет и Интранет-сетях шифрацией данных управляет протокол SSL/TLS.
Солдат спит, служба идет.
Однако иногда возникает необходимость выполнить обратное – расшифровать перехваченный трафик.
Это может потребоваться как для отладки работы приложений, так и для проверки подозрительной сетевой активности.
Или в целях изучения работы SSL/TLS (очевидные, вредоносные цели не обсуждаются).

Как и при каких условиях можно расшифровать дамп SSL/TLS трафика в Wireshark?
Попробуем разобраться.

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии16

Что нужно знать о работе с текстом превью email-писем

Время на прочтение6 мин
Количество просмотров19K


Вы потратили много времени на оптимизацию своих email-писем, и уверены что сообщения почтовой рассылки хорошо написаны, приятно выглядят и, что еще важнее, нормально отображаются в большинстве почтовых клиентов. Проблема в том, что даже самые идеальные письма с большой долей вероятности никогда не будут даже открыты получателем. Они просто попадут в папку «Входящие», где уже и так похоронено огромное количество текста.

Папка входящи сообщений — это первое, что видит пользователь почтовой программы, но это также часто и последний фактор, рассматриваемый при принятии решения о том, открывать ли письмо. Все почтовые клиенты в обязательном порядке показывают, от кого пришло письмо (поле “from”) и тему сообщения. Некоторые программы также показывают небольшой текст превью.

Оптимизация этого текста может приносить отличные результаты и значительно увеличивать процент открытых писем (иногда, до 45%).
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии1

Создаём отзывчивые письма для будущего без медиа-запросов

Время на прочтение26 мин
Количество просмотров34K
Создавая HTML код для email, приходится иметь дело с изрядным количеством больных вопросов. И вряд ли для кого то будет приемлемо, если нам к тому же ещё и придётся следить за новыми email-клиентами и размерами устройств, которые появляются каждую неделю. Поддержка media query как и сам CSS разнятся среди приложений, в следствии этого, каждый раз когда вы слышите что появилось новое восхитительное почтовое приложение, для которого тоже нужно провести тесты, вас неизбежно одолевает страх.

Но что если бы вы могли создать шаблон, который был бы отзывчивым даже в окружениях с наименьшей поддержкой современного CSS? Что если каждый раз, услышав о каком-то очередном почтовом приложении, которое все испытывают, вместо того чтобы предаваться страху, можно было бы чувствовать себя спокойно и уверенно, зная что ваши email наверняка будут выглядеть хорошо?

Приведенный ниже метод, сторонником которого я являюсь, всецело ориентирован на создание положительного опыта взаимодействия при работе с email-клиентами, у которых вообще отсутствует поддержка media query.

Он называется fluid-hybrid method, иногда упоминается как spongy метод для email разработок. Часть fluid предполагает что мы используем изрядной количество процентных вычислений. Часть hybrid означает что мы также используем max-width дабы ограничить некоторые из наших элементов на экранах большего размера.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии7

Как использовать прогрессивное улучшение для вёрстки писем

Время на прочтение4 мин
Количество просмотров13K


При верстке email-рассылок важно сделать разметку пригодной для парсинга и добиться того, чтобы «рюшечки» не мешали чтению контента. А главным контентом в письме почти всегда является текст.

Сегодня мы поговорим о том, как использовать технику прогрессивного улучшения при разработке HTML-шаблонов писем.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии8

vCloud Director для самых маленьких (часть 1): настройка сети

Время на прочтение6 мин
Количество просмотров71K
UPDATE: Мы автоматизировали создание сети и правил NAT. Теперь при оформление подписки все это создается само :). Все что вам остается — это развернуть виртуальную машину из шаблона или с нуля. При этом у вас по-прежнему остается возможность менять настройки сети при необходимости.
Только не забываем про Firewall, который по умолчанию не пропускает никакой трафик и требует настройки правил.

Сегодня расскажем о том, с чего начать работу в панели управления vCloud Director 5.5, которая используется в облачном сервисе Cloudlite.ru, и заодно поучимся настраивать сеть.

vCloud Director — это платформа для управления виртуальной инфраструктурой по модели IaaS. Для тех, кто раньше не сталкивался с «промышленными» вариантами панелей, может показаться сложной. Но первое впечатление обманчиво: как только «испуг» от богатого функционала пройдет, вы оцените ее возможности и ту, свободу в настройках, которую дает vCloud Director. А именно панель позволяет:

• создавать виртуальные машины и управлять ими;
• осуществлять их миграцию из другого облака;
• устанавливать любые виртуальные машины с ОС из имеющихся шаблонов и загружать ovf шаблоны самостоятельно;
• гибко управлять правами доступа к пулу виртуальных ресурсов;
• создавать внутренние и маршрутизируемые (с выходом в Интернет) и изолированные сети;
• настраивать гибкие правила Firewall и создавать VPN-соединения;
• настраивать балансировку нагрузки между виртуальными машинами и многое другое.

Начнем с самых азов, поэтому администраторы 80 lvl могут понаблюдать в стороне, как орлята учатся летать :)

image
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Native Script. Один код для всех платформ

Время на прочтение4 мин
Количество просмотров60K
image

Native script (NS) – это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, JavaScript. Native script решает ту же задачу, что и уже всем известный phonegap (создание кросс-платформенных приложений), но подходы у них разные. Phonegap использует движок браузера, чтобы отобразить ваш UI (фактически вы получаете веб-страницу), Native script использует нативный рендеринг, использует элементы нативного UI. Следующее важное отличие: чтобы получить доступ к камере, gps и так далее в phonegap необходимо устанавливать плагины, в то время как NS дает доступ из коробки.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии23

Передача проекта от дизайнеров iOS разработчикам

Время на прочтение6 мин
Количество просмотров79K


В настоящее время департамент мобильной разработки Rambler&Co активно расширяется, в том числе и в плане iOS-разработчиков и UX дизайнеров. Большое количество людей и проектов, ведущихся ими, усложняет и без того непростой процесс передачи дизайна разработчикам. Всем, так или иначе связанным с мобильной разработкой, знакомы проблемы и разногласия, возникающие на стыке интересов программиста и дизайнера — начиная тем, в каких единицах измерять расстояния, и заканчивая тем, кто должен нарезать элементы экранов в различных разрешениях. Чтобы окончательно решить проблему в рамках нашей компании, мы решили подготовить подробные гайдлайны по этому взаимодействию.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии25

Информация

В рейтинге
Не участвует
Откуда
Лимассол, Government controlled area, Кипр
Зарегистрирован
Активность