Pull to refresh
0
0
Send message

Не заставляйте (не)равенства в JavaScript выглядеть хуже, чем они есть

Reading time3 min
Views27K
Время от времени я встречаю публикации, где рассказывается о том, какие из значений оператора == эквивалентны (как, например, здесь). Часто при этом оговаривается, что приведённые в таблице данные не очень хорошо организованы.

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



Кошмар, товарищи!.. Как по мне, так здесь бóльший беспорядок в очерёдности строк/столбцов.
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments67

Сети для самых маленьких. Часть девятая. Мультикаст

Reading time51 min
Views669K

Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

В этой статье сосредоточимся на следующем:




Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments27

Адаптивные изображения без шаманства

Reading time5 min
Views40K
Все, кто сталкивался с задачей сделать адаптивную графику, знает, что решений уже масса, но никакого единогласно принятого не существует. Зачастую выбор и применение решения для адаптивных изображений становятся головной болью фронтенд-разработчиков. Им приходится заменять src картинок, подгружать однопиксельные изображения и лепить прочие костыли. Нас это не устроило и мы решили сделать свой мотороллер.

На типичных сайтах изображения могут появляться тремя способами.
  1. Быть элементами дизайна сайта (бекграунды, кнопки и т.д.).
  2. Загружаться через специальные модули (например, изображения в фотоальбом).
  3. Вставляться через WYSIWYG-редактор CMS (например, в текст статьи).


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

Сначала на помощь приходит реализация Adaptive Images
Но что происходит потом?
Total votes 35: ↑30 and ↓5+25
Comments19

Применение преобразования Пуассона для бесшовного наложения изображений

Reading time2 min
Views37K
В задачах машинного зрения и автоматизированной обработки изображений зачастую встречается задача бесшовного наложения изображений. Для наглядности, сразу приведу пример.


Читать дальше →
Total votes 84: ↑75 and ↓9+66
Comments33

Как заработать на майнинге с обычным домашним компьютером

Reading time2 min
Views185K
Если у вас нет огромной фермы из десятков видеокарт, да и пара-тройка ASIC Miner’ов тоже отсутствует, не печальтесь – способы заработать на криптовалютах еще остаются. Один из более-менее рабочих вариантов – перед вами.



Читать дальше →
Total votes 120: ↑71 and ↓49+22
Comments42

Как настроить Google Analytics для отслеживания поведения пользователей c разбивкой по User ID

Reading time5 min
Views27K
В работе компании EastBanc Technologies часто встает задача не просто анализа статистики посещаемости и поведения по географическим, платформенным и демографическим признакам, а по принципу, что делает конкретный пользователь на портале, в мельчайших подробностях. Для нас, как для разработчиков корпоративных систем, эта информация бывает критически важной с точки зрения развития системы.

Например, сейчас у нас в работе есть SharePoint-портал, который используется для дистанционного расчетно-финансового обслуживания контрагентов компании-заказчика. У каждого контрагента имеется несколько пользователей — от 1 до 10. Мы хотели понять, как они обращаются с тем или иным функционалом. Чтобы обрисовать для себя их поведение, мы задействовали средства Google Analytics.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

10 малоизвестных возможностей Objective-C

Reading time7 min
Views46K
Приветствую уважаемых хабражителей!

Objective-C — язык с богатым рантаймом, но в данной статье речь пойдёт не о содержимом хедера <objc/runtime.h>, а о некоторых возможностях самого языка, о которых многие разработчики и не догадываются. Да, на них натыкаешься, читая документацию, отмечаешь про себя «хм, интересно, надо как-нибудь копнуть», но они обычно быстро вылетают из головы. А начинающие разработчики часто вообще читают документацию наискосок.

В этой статье я собрал 10 удивительных на мой взгляд свойств языка Objective-C. Некоторые свойства самоочевидны, некоторые далеко не таковы. За использование некоторых в боевом коде надо бить по рукам, другие же способны помочь в оптимизации критических мест кода и в отладке. В конце статьи имеется ссылка на исходник, показывающий на примере все эти фичи.

Итак, начну с самого «вкусного» на мой взгляд: безымянные методы.

1. Безымянные методы


Читать дальше →
Total votes 71: ↑64 and ↓7+57
Comments68

Доступ к контенту iFrame с другого домена

Reading time9 min
Views115K
Сегодня я хочу рассказать о том, как мы в своем проекте indexisto.com сделали аналог инструмента Google Webmaster Marker. Напомню, что Marker это инструмент в кабинете Google Webmaster, который позволяет аннотировать ваши страницы Open Graph тегами. Для этого вы просто выделяете мышкой кусок текста на странице и указываете что это title, а это рейтинг. Ваша страница при этом грузится в Iframe в кабинете вебмастера.



Теперь Google, встретив подобную страницу на вашем сайте, уже знает, что за контент на ней опубликован, и как его красиво распарсить в сущность (статью, товар, видео..)

Нам был нужен подобный функционал. Задача казалась несложной и исключительно клиентсайд. Однако на практике решение лежит на стыке клиентсайда и серверсайда («чистые» JS программисты могу ничего не знать про различные прокси серверы и очень долго подходить к снаряду). При этом я не нашел в интернетах статью которая описывала бы всю технологию от начала до конца. Также хочется сказать спасибо пользователю BeLove и нашим безопасникам за помощь.

Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments35

Что писать в теме письма: подбирайте слова с умом

Reading time7 min
Views22K
Большинство из нас решает, какие письма стоят прочтения, по результатам беглого просмотра тем писем в почтовом ящике. Мы подумали, что при такой значительной роли темы письма в привлечении потенциального читателя было бы интересно проверить, насколько открываемость сообщений в рассылке может зависеть от одного-единственного слова в теме письма.

Чтобы выяснить это, мы изучили около 24 миллиардов доставленных почтовых сообщений, темы которых были составлены из приблизительно 22 тысяч различных слов. Если для вас это прозвучало как «очень много данных», поверьте, так все и было.

Перевод статьи ребят из MailChimp выполнен компанией-локализатором Alconost.


Читать дальше →
Total votes 19: ↑11 and ↓8+3
Comments0

Виртуализация сети в Hyper-V. Концепция

Reading time9 min
Views42K
В Windows Server 2012 появилась технология виртуализации сети (Network Virtualization, NV), обеспечивающая возможность виртуализации на принципиально новом уровне – уровне сетевого сегмента. В отличие от привычной серверной виртуализации NV позволит вам виртуализовать IP-подсети и полностью скрыть от виртуальных машин (ВМ) и приложений внутри ВМ реальную IP-адресацию, используемую в вашей инфраструктуре. При этом ВМ по-прежнему могут взаимодействовать между собой, с другими физическими хостами, с хостами в других подсетях.
Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments4

Виртуализация сети в Hyper-V. Настройка

Reading time9 min
Views67K
В прошлый раз я описал концепцию и общую архитектуру Hyper-V Network Virtualization (NV) – технологии Windows Server 2012, обеспечивающей виртуализацию на уровне сетевого сегмента. Сегодня речь пойдет о настройке этой технологии с помощью PowerShell и System Center 2012 SP1 Virtual Machine Manager (VMM).
Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments5

Секреты виртуализации Hyper-V Windows Server 2012 от Экс Архитектора Microsoft Алексея Кибкало

Reading time1 min
Views57K
А так же советы «Бывалого» в записи вебинара.


На этот раз на глубоком техническом уровне дан обзор по следующим темам:
  • Что такое Hyper-V
  • Версии Windows Server 2012 Hyper-V
  • Аппаратные требования к Windows Server 2012 Hyper-V
  • Динамическое выделение памяти
  • Новый формат VHDX файлов, поддержка Native 4K Drives и дисков до 64Tb
  • Возможности SMBv3
  • Установка Hyper-V
  • Миграция на Hyper-V и её сценарии
  • Сервисы интеграции
  • Модель безопасности Hyper-V
  • Сетевые возможности Windows Server 2012 Hyper-V
  • Виртуальные Fibre Channel
  • Что такое Live Migration
  • Высокодоступные кластеры Windows Server 2012 Hyper-V
  • Live merge of snapshots
  • Аварийное восстановление и Hyper-V Replica
  • Азы управления при помощи System Center
  • Hyper-V на клиентских ОС и их ограничения
  • И многое другое...

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments23

8 HTML элементов, которые вы не используете (а следовало бы)

Reading time4 min
Views96K
image
Веб сегодня все больше и больше семантический. Но что означает «семантический»? Почему это важно?

Семантический HTML выражает значение документа. Он больше о том, чем является текст, чем о том, как он выглядит. Хорошая семантическая разметка помогает и человеку и компьютеру лучше понять содержимое документа и его контекст.

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

Ок, итак семантическая разметка — это хорошо, но как ее использовать. Лучше всего начать с замены обычных тегов на более выразительные. Давайте посмотрим восемь элементов, которые позволят вам войти в эту игру.
Читать дальше →
Total votes 214: ↑175 and ↓39+136
Comments101

Отчёт о запуске программ на компьютерах пользователей

Reading time28 min
Views68K
Всем привет!
Отчёт о том, что запускает пользователь на своём компьютере, крайне важен. С многих точек зрения. Особенно с точки зрения информационной безопасности.
Информация о запуске программ на компьютерах пользователей храниться в журнале безопасности. Конечно, рассматривается среда Windows. В Инете готового решения не нашёл, поэтому сделал свою реализацию.
Скрипт запускается на сервере. На выходе имеем набор файлов с отчётами о запуске программ.
Картинка для привлечения внимания:

Реализация
Total votes 56: ↑37 and ↓19+18
Comments51

Почему 98% текстов на ваших сайтах не работают. Вообще. И как это починить

Reading time7 min
Views284K

Вот так люди видят вашу страницу

Привет!
Проблема вот в чём. Если зайти на практически любой сайт интернет-магазина или компании с услугами, вы встретите контент. Точнее — отвратительные тексты, которые писали, кажется, маркетологи, воспитанные сеошниками.

Разумеется, можно не делать, как они. Если работать по-умному, то вы поможете и читателям по жизни, и себе в продажах.

По моим примерным подсчётам (усреднение с ряда позиций), конверсии для нас выглядят так:
  • Только название и картинка — около 1,5%.
  • С описанием от производителя — чуть более 2%.
  • С описанием человека, который держал это в руках и знает правила — около 6%.

Ниже — рассказ про то, как мы доводили время на сайте от 3 минут сначала до 6:40, а потом до 20:48. Да-да, двадцати минут сорока восьми секунд для среднего посетителя. Честного среднего, с учётом отказов и по полной выборке.
Читать дальше →
Total votes 294: ↑282 and ↓12+270
Comments121

Динамический контроль доступа: что собой представляют ресурсы

Reading time15 min
Views11K
Ты должен увидеть это сам. Не поздно отказаться. Потом пути назад не будет.
Примешь синюю таблетку — и сказке конец.
Ты проснешься в своей постели и поверишь, что это был сон.
Примешь красную таблетку — войдешь в страну чудес.
Я покажу тебе, насколько глубока кроличья нора.
К/ф. «Матрица»
В двух предыдущих статьях настоящего цикла мы с вами начали разбирать богатейшие функциональные возможности технологии динамического контроля доступа, позволяющие перевести на существенно новый уровень всю вашу модель управления ресурсами, расположенными непосредственно на файловых серверах. По большому счету, за две статьи рассмотреть мы с вами успели довольно-таки немного, а именно: я привел базовые сценарии использования этой технологии, а также вы узнали о том, что собой представляют утверждения и как можно управлять уникальными типами утверждений. Но ведь очевидно, что полученных из этих статей знаний недостаточно для того, чтобы иметь четкое представление о данной технологии и начать у себя в организациях разрабатывать свои уникальные сценарии.
В этой статье мы с вами копнем еще глубже и посмотрим на то, что же собой в концепции DAC-а представляют собой ресурсы и списки свойств ресурсов, что также является неотъемлемой частью технологии динамического контроля доступа. То есть, вероятнее всего, это статья будет предпоследней перед тем как мы начнем создавать централизованные политики доступа и переходить к сценариям, о которых я так много говорил в первой статье этого цикла. Ну что же, далее я предлагаю нам проверить, «насколько глубока эта кроличья нора»…
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments0

Как передавать данные из рекламных систем Яндекс.Директ и Google AdWords в Google Analytics

Reading time3 min
Views27K
Мы уже неоднократно писали и говорили о колоссальных возможностях Google Analytics. Настроив необходимые отчеты, можно отслеживать и анализировать онлайн и оффлайн кампании, а так же многое узнать о посетителях сайта и качественно улучшить взаимодействие с ними. В комментариях к прошлому материалу, посвященному GA, нас попросили подробно рассказать, как связать аккаунт Google Analytics с рекламными системами Яндекс.Директ и Google AdWords.

Передаем данные из AdWords


Как известно, Google Analytics и AdWords – продукты одной компании, поэтому они легко встраиваются и отлично дополняют друг друга. Связывание аккаунтов двух систем позволяет анализировать действия посетителей на сайте, в том числе, как они взаимодействуют с ресурсом после перехода с рекламного объявления: какой показатель отказов, сколько времени они провели на сайте, количество просмотренных страниц, какое количество посетителей впервые пришли на сайт и т.д. В итоге вы будете понимать, какая часть трафика и объема продаж получена благодаря AdWords. Сможете оценить эффективность ваших рекламных объявлений и более рационально управлять кампанией.

После связывания аккаунтов Google Analytics и AdWords они смогут обмениваться данными, а у вас появится возможность:
  • импортировать цели и транзакции Google Analytics в AdWords;
  • просматривать данные Google Analytics о привлечении трафика на сайт в AdWords;
  • создавать в Google Analytics списки ремаркетинга и использовать их в AdWords для таргетинга определенной аудитории;
  • автоматически просматривать данные AdWords о кликах и расходах рядом с данными Google Analytics о привлечении трафика на сайт.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments8

Умный дом, как я до такого докатился. Часть 3-я

Reading time6 min
Views218K

В первой части разобрались с тем, зачем все это нужно и как я до этого докатился, во второй поговорили о софте. Настала пора остановиться на самом любимом хабравчанами разделе DIY — на железе. Итак, берем текстолит, хлорное железо, паяльник… Хотя нет, стоп, открываем редактор плат. Про паяльник, куда его засовывать, а куда лучше не надо другие лучше меня расскажут. А я расскажу какие платы и датчики трудятся на благо моего умного дома.

Поехали!
Total votes 84: ↑79 and ↓5+74
Comments42

Хотите распределить элементы, привязавшись к их количеству, на одних стилях? Да запросто

Reading time3 min
Views24K
Альтернативное название статьи – «почти :child-count(n)». Потому что именно так оно все и работает. На голом CSS и без каких-либо дата-атрибутов или чего-либо еще в верстке.

Представьте, что у вас есть, например, какая-нибудь лента новостей. Неважно, какая. Главное, что вы не знаете, сколько в ней будет элементов, и как их расставить так, чтобы было симметрично. И хочется сделать что-то бесполезное, но красивое: например, расставить все в две колонки, а некоторые блоки вставить во всю ширину. Каждый третий, или каждый пятый.

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



Как же это сделать?
Total votes 51: ↑43 and ↓8+35
Comments19

Решение проблемы border-radius + overflow:hidden с помощью canvas

Reading time2 min
Views14K
Передо мной стояла следующая задача:

image

Есть блок с фоном (необязательно однородным), в нем какое-то количество круглых элементов с белым фоном, внутри которых размещены закругленные картинки любого размера. Если размер картинки меньше размера блока — она центрируется (как по вертикали, так и по горизонтали), если же размер картинки больше размера блока — больший параметр картинки занимает 100% параметра блока, а второй параметр сохраняет пропорциональное отношение, как и в оригинальной картинке.
Читать дальше →
Total votes 8: ↑5 and ↓3+2
Comments8

Information

Rating
Does not participate
Registered
Activity