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

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

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

Про РЧ/СВЧ для программистов: об S‑параметрах и пользе логарифмов

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров9.9K

Те инженеры, которые по работе или в рамках хобби приходят в электронику из разработчиков прикладного программного обеспечения, однажды сталкиваются (непосредственно вживую или же через ту или иную документацию) с инженерами, изначально обучавшимися на радиоэлектронные специальности. Ввиду принципиального различия бэкграундов «программистам» бывает непросто осваивать новые для себя области знания. И дело не только в терминологии — в ряде случаев само восприятие тех или иных проблем может представляться, на первый взгляд, контринтуитивным. Опытные инженеры-электронщики зачастую склонны проявлять когнитивное искажение, называемое проклятием знания. Особо насущной данная проблема видится в дисциплинах, связанных с РЧ/СВЧ. Поэтому в рамках данного небольшого цикла мы попробуем разобраться в нескольких базовых понятиях этой области знаний. Сегодня мы поговорим про децибелы, волоконно‑оптические линии связи и S‑параметры.

Сложить степени
Всего голосов 36: ↑35 и ↓1+46
Комментарии29

Делать ли мобильную версию? 5 распространенных проблем, которые решает адаптивная верстка. Опыт Яндекса

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

C 2007 года очень быстро растёт количество используемых в мире смартфонов. В числе прочих причин резкого скачка популярности несколько лет назад покупателей привлекла способность этих устройств отображать сайты так, как они выглядели на экранах компьютеров. Но, купив смартфон и начав им пользоваться, люди отмечали, что для чтения отдельных блоков текста на относительно небольшом экране приходилось постоянно масштабировать страницу. Плюс к тому, многие элементы управления сайтов оказалось неудобно использовать. Это происходило потому, что страницы не были рассчитаны на управление с помощью прикосновений к экрану и зачастую требовали компьютерную мышь или другой манипулятор. Для решения этих проблем начали появляться отдельные версии сайтов, предназначенные исключительно для устройств с маленьким экраном. При этом пользователям оказалось не нужно знать адреса мобильных сайтов. Вместо этого сервер считывает информацию об устройстве из обращённого к нему запроса и определяет, какую версию предпочтительнее отдать посетителю.


Сайт smashingmagazine.com на различных размерах экранов


Вскоре многим стало понятно, что разработка отдельной мобильной версии — это долго и дорого в поддержке. Кроме того, это противоречит идеологии веба, который подразумевает, что размеченный документ универсален и может быть прочитан практически на любом устройстве вывода. Для решения возникшего противоречия в CSS был добавлен стандарт Media Queries. Появились новые возможности по определению особенностей устройства, в частности появилась возможность применять различное оформление страницы для произвольных размеров окна.

Читать дальше →
Всего голосов 103: ↑99 и ↓4+95
Комментарии102

Создаем безопасный IP мессенджер с помощью Virgil и Twilio за 30 минут

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

Привет!
Мы уже показывали вам код, с помощью которого можно легко и просто реализовать end-to-end шифрование. Давайте пойдем дальше и, используя сервисы Virgil Security, разработаем безопасный IP мессенджер. Реализация безопасного IP мессенджера со встроенной функцией шифрования – задача далеко не тривиальная. В этой статье мы хотим рассказать как, используя Virgil API и Тwilio IP Messaging API, сделать этот процесс намного проще.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии10

Отправка Nginx-логов в Google Analytics

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

С наших Download-серверов каждый день скачивается несколько миллионов драйверов (статичных .exe и .zip файлов). Для анализа поведения пользователей перед нами встала задача посчитать следующие параметры: когда, сколько, как часто и даже кто именно скачивает драйверы.

Самым очевидным решением было бы использовать инструменты типа AWstat, GoAccess, ELK stack или Splunk, а в крайнем случае собирать логи Nginx.

Но у каждого варианта есть свои минусы: неудобный интерфейс, скудность данных, сложность настройки и, самое главное, отсутствие возможности строить сегменты в пользовательских отчётах.

И тогда мы решили заставить Nginx самостоятельно отправлять события в Google Analytics сразу же после скачивания файла. Мы также смогли передать в GA уникальный идентификатор пользователя ClientID.
В результате мы получили аналитику по статичным файлам, к которым раньше невозможно было привязать счетчик GA.

Под катом готовый конфиг и примеры работы нашей системы.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии14

Мысли вслух о разработке javascript-приложений на примере небольшого Line Of Business фреймворка

Время на прочтение21 мин
Количество просмотров19K
Привет, Хабр!

Не так давно мы сами себе поставили задачу — построить SPA-приложение. Сложное, большое, быстрое, с поддержкой множества устройств, без утечек памяти. К тому же, постоянно развивающееся, чтобы его было легко поддерживать. В общем, как мы и любим — всё и сразу.

Тема SPA-приложений и javascript-приложений в целом не нова, но нам не удалось найти даже на платных ресурсах основательных руководств по разработке приложений. Они являются скорее рассказом о той или иной MV*-библиотеке, чем примером для подражания. При этом не рассматриваются примеры разбиения по слоям, построения иерархий наследования и тонкостей наследования в javascript и т.д.

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

Мы считаем, что данная статья будет полезна:

  1. Front-end разработчикам, у которых уже есть небольшой опыт, но хочется вырасти.
  2. Back-end разработчикам, которым в какой-то момент пришлось начать заниматься js-разработкой и которые чувствуют некую неуверенность при работе с javascript.
  3. Верстальщикам, которые начали заниматься js-разработкой и хотели бы прокачать свои навыки.



Чтиво получилось весьма объемистым, но надеемся, что настолько же полезным.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии8

Пара маленьких лайфхаков поиска по товарам в интернет-магазине

Время на прочтение5 мин
Количество просмотров45K
Случайно увидел вот такую подсказку на Озоне:



Это для меня, наверное, лучший пример, как не надо делать поиск в интернет-магазине. Дело в том, что все эти советы спокойно может взять на себя железный мозг, и разгрузить тем самым мозг пользователя. Покупатель при этом даже не заметит, что что-то пошло не так, а, значит, его ничего не остановит перед покупкой. Надо отметить, что ряд ошибок этот конкретный поиск правит, но в моём случае с копипастой названия книги из оптового прайса не прокатило.

У нас самих не лучший в мире поиск, но он продаёт. Давайте покажу, что мы сделали.
Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии32

Регистрация безналоговой компании в Эстонии

Время на прочтение5 мин
Количество просмотров168K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии73

Адаптивный и мобильный дизайн с CSS3 Media Queries

Время на прочтение7 мин
Количество просмотров590K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии32

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №133 (3 — 9 ноября 2014)

Время на прочтение5 мин
Количество просмотров49K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 56: ↑48 и ↓8+40
Комментарии11

Кое-что получше A/B тестирования

Время на прочтение3 мин
Количество просмотров5.4K
Всем привет! Меня зовут Василий. Мое главное занятие — повышать конверсию сайтов, ключевую метрику в любом IT-бизнесе.

По статистике, средняя конверсия сайтов в рунете не превышает 1 процента и это значит, что огромное количество интернет-предпринимателей каждый день теряет много денег. Этих предпринимателей можно мысленно разделить на два основных типа: первые — это те, кто просто сидит и смотрит на свой не оптимизированный ресурс и ничего не делает. К сожалению, они обречены быть раздавленными временем инновациями и конкурентами. Вторые — это те, кто пытается что-либо с этим делать. Как правило, для этого они рисуют лендинги, экспериментируют с каналами рекламы и проводят A/B тестирование. A/B тестирование — это крайне необходимый инструмент современного маркетинга, он позволяет определить, какой вариант продающей страницы является наиболее эффективным для большинства пользователей. Чтобы понять, насколько этот метод эффективен — достаточно вспомнить нашумевшую историю про Обаму и 60 млн $. Однако, у этого метода есть и обратная сторона, заключается она в том, что все люди разные, и если к примеру статистика покажет, что женщины по большей части любят котиков, совсем не обязательно что у твоей девушки нет на них аллергии. То есть, если у нас A/B тест показал, что некий вариант лендинга идеален для 60% пользователей и мы выбираем его для нашей рекламной компании, то мы автоматически теряем оставшиеся 40%, которых он ни чем не цепляет. Значит, A/B тестирование не идеально и нужно срочно что-то с этим делать. Причём прямо сейчас, потому что мы ко всем чертям теряем 40% лидов и это вообще не круто!

image
Читать дальше →
Всего голосов 41: ↑24 и ↓17+7
Комментарии34

Дриббблификация дизайнеров

Время на прочтение6 мин
Количество просмотров80K
Примечание: Dribbble — сервис, где графические дизайнеры хвастаются друг перед другом своими работами.


Лишь одно из этих погодных приложений пытается решить насущную проблему.

В сообществе дизайнеров наблюдаются расходящиеся тенденции. С одной стороны мы наблюдаем интересные блоги от Райана Сингера и Джулии Жуо, которые развивают наше ремесло. С другой стороны, всё большее количество народу постят свои работы и обсуждают их на Dribbble, что в целом двигает наше ремесло в обратную сторону. Этот пост – не про Dribbble, как таковой, он про то, что ценит это сообщество. Я буду использовать термин «дизайн продукта», но также буду иметь в виду дизайн пользовательских взаимодействий с продуктом.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии32

Несколько интересностей и полезностей для веб-разработчика #31

Время на прочтение4 мин
Количество просмотров46K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Исходники Reddit


Gravit


image

Замечательный графический редактор с открытым исходным кодом. Есть приложения под Mac, Linux, Windows, а также браузерная версия. В Gravit на данный момент реализован базовый функционал: слои, шейпы, пентул и множество различных функций для манипуляций с объектами. Но данный проект по большему счету ориентирован именно на веб-дизайн. Правильнее всего сказать, что Gravit — это смесь графического редактора в типичном представлении с визуальным редактором для разработки сайтов. Именно эта идея и ее реализация в формате open source делает продукт уникальным.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии11

Оценка конкурентности поисковых запросов по вариациям поисковой выдачи

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


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

Оказывается, что степень конкуренции можно практически мгновенно оценить только лишь сравнив поисковую выдачу по двум взаимосвязанным запросам – без анализа пузомерок, сайтов-конкурентов, статистики стоимости клика и перелопачивания гор информации.
Вход для алхимиков
Всего голосов 28: ↑22 и ↓6+16
Комментарии13

Пара полезных команд, которые могут пригодиться при DDoS и не только

Время на прочтение3 мин
Количество просмотров81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Всего голосов 105: ↑101 и ↓4+97
Комментарии21

Проблемы современных рассылок

Время на прочтение5 мин
Количество просмотров30K
Я постоянно анализирую всевозможные рассылки и вообще html письма, которые падают мне в ящик, а это сотни писем каждый день и не перестаю удивляться тому, через какое место они сделаны. В этой статье я бы хотел привести ряд таких примеров и показать пути их решения.

Спам


Куча писем попадает в спам. Даже если они таковыми и не являются. 30% сервисов, в которых я регистрируюсь отправляют подтверждение регистрации мне на почту, но я ловлю его в спаме. Но это я. Да, я читаю папку «спам». Складывается впечатление, что многим просто плевать на потенциальных клиентов. Куда смешнее получать подобные письма в спам от компаний, предоставляющих, например, услуги рассылок. Каламбур.
Читать дальше →
Всего голосов 43: ↑35 и ↓8+27
Комментарии35

На заметку стартаперу: изменения в законодательстве РФ о юридических лицах

Время на прочтение4 мин
Количество просмотров20K
Стартапера, равно как начинающего, так и опытного, практически постоянно интересуют вопросы, связанные с юридической стороной бизнеса. Это показал опыт общения с авторами, размещающими свои проекты для получения финансирования на нашей бирже стартапов. Как нужно регистрировать юрлицо, правильно составить и оформить отношения с инвестором, что должно быть указано в договоре продажи доли проекта – консультации с пошаговыми инструкциями на все эти и многие другие темы порой просто необходимы.

image

Осознавая необходимость компетентного подхода к вопросу, наша платформа привлекла с целью консультирования стартапов постоянного партнера — юридическую фирму «Ветров и партнеры», специализирующуюся на работе с IT-стартапами, сопровождении бизнеса и правах на интеллектуальная собственность.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии26

JQuery Deferred — примеры использования

Время на прочтение5 мин
Количество просмотров66K
В этой статье я не буду говорить о том зачем в javascript нужны промисы и в частности JQuery.Deferred. Также не буду приводить справочную информацию, ее достаточно в интернете. Например тут или тут или вот тут.
Эта статья для тек кто уже немного знаком с объектом Deferred из библиотеки JQuery, но не имеет опыта написания сложных цепочек (очередей).

Подготовка

Все примеры кода, рассмотренные здесь, используют асинхронный метод $.ajax(), который возвращает так называемый jqXHR в котором реализованы промис-методы (done, fail, always, then). Нам нужны будут только они, поэтому будем считать что $.ajax возвращает промис (promise).
В некоторых примерах используются методы $.map() и $.each(), которые входят в состав библиотеки JQuery.

Последовательное выполнение

Простейшее использование промисов — это последовательное выполнение асинхронных операций. То есть следующая операция не начинается пока текущая не закончится.

$.ajax('http://echo.jsontest.com/id/1')
.then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/2')
}).then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/3')
}).then(function(result){
    console.log(JSON.stringify(result));
});

Живой пример тут.
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии15

Обновление данных по популярности CMS-систем, систем аналитики и онлайн-консультантов в Рунете за 2 квартал

Время на прочтение1 мин
Количество просмотров18K
Привет, хабр! Ruward:Track (наш совместный проект с ребятами из iTrack) обновил срезы по итогам второго квартала 2014 года. В основу исследования лег автоматический анализ краулером около 5 миллионов доменов зоны .RU (по типовым сигнатурам сервисов).

Свежий срез по популярности коробочных CMS


image

По сравнению с первым кварталом из интересных моментов можно выделить небольшое падение долей наиболее популярных opensource-решений — WordPress и Joomla, по-прежнему лидирующих в сводном списке — и рост доли Битрикса, лидера сегмента платных коробочных систем. Также в сегменте коммерческих CMS впервые в истории рейтингов Ruward/iTrack UMI.CMS немного обошло NetCat по количеству установок в борьбе за второе место.
Читать дальше →
Всего голосов 40: ↑30 и ↓10+20
Комментарии44

Платформы iBeacon: готовые решения для создания приложений

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


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

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

Мне захотелось «поиграть» с технологией, и в то же время не ввязываться в разработку. Для этого я решил найти готовые решения, которые позволяют без программирования построить iBeacon-приложения.

Я получил доступ и потестировал несколько платформ, о которых и расскажу в этой статье.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии9

27+ ресурсов для онлайн-обучения

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

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

Читать дальше →
Всего голосов 174: ↑163 и ↓11+152
Комментарии68
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность