Те инженеры, которые по работе или в рамках хобби приходят в электронику из разработчиков прикладного программного обеспечения, однажды сталкиваются (непосредственно вживую или же через ту или иную документацию) с инженерами, изначально обучавшимися на радиоэлектронные специальности. Ввиду принципиального различия бэкграундов «программистам» бывает непросто осваивать новые для себя области знания. И дело не только в терминологии — в ряде случаев само восприятие тех или иных проблем может представляться, на первый взгляд, контринтуитивным. Опытные инженеры-электронщики зачастую склонны проявлять когнитивное искажение, называемое проклятием знания. Особо насущной данная проблема видится в дисциплинах, связанных с РЧ/СВЧ. Поэтому в рамках данного небольшого цикла мы попробуем разобраться в нескольких базовых понятиях этой области знаний. Сегодня мы поговорим про децибелы, волоконно‑оптические линии связи и S‑параметры.
User
Делать ли мобильную версию? 5 распространенных проблем, которые решает адаптивная верстка. Опыт Яндекса
C 2007 года очень быстро растёт количество используемых в мире смартфонов. В числе прочих причин резкого скачка популярности несколько лет назад покупателей привлекла способность этих устройств отображать сайты так, как они выглядели на экранах компьютеров. Но, купив смартфон и начав им пользоваться, люди отмечали, что для чтения отдельных блоков текста на относительно небольшом экране приходилось постоянно масштабировать страницу. Плюс к тому, многие элементы управления сайтов оказалось неудобно использовать. Это происходило потому, что страницы не были рассчитаны на управление с помощью прикосновений к экрану и зачастую требовали компьютерную мышь или другой манипулятор. Для решения этих проблем начали появляться отдельные версии сайтов, предназначенные исключительно для устройств с маленьким экраном. При этом пользователям оказалось не нужно знать адреса мобильных сайтов. Вместо этого сервер считывает информацию об устройстве из обращённого к нему запроса и определяет, какую версию предпочтительнее отдать посетителю.
Вскоре многим стало понятно, что разработка отдельной мобильной версии — это долго и дорого в поддержке. Кроме того, это противоречит идеологии веба, который подразумевает, что размеченный документ универсален и может быть прочитан практически на любом устройстве вывода. Для решения возникшего противоречия в CSS был добавлен стандарт Media Queries. Появились новые возможности по определению особенностей устройства, в частности появилась возможность применять различное оформление страницы для произвольных размеров окна.
Создаем безопасный IP мессенджер с помощью Virgil и Twilio за 30 минут
Привет!
Мы уже показывали вам код, с помощью которого можно легко и просто реализовать end-to-end шифрование. Давайте пойдем дальше и, используя сервисы Virgil Security, разработаем безопасный IP мессенджер. Реализация безопасного IP мессенджера со встроенной функцией шифрования – задача далеко не тривиальная. В этой статье мы хотим рассказать как, используя Virgil API и Тwilio IP Messaging API, сделать этот процесс намного проще.
Отправка Nginx-логов в Google Analytics
С наших Download-серверов каждый день скачивается несколько миллионов драйверов (статичных .exe и .zip файлов). Для анализа поведения пользователей перед нами встала задача посчитать следующие параметры: когда, сколько, как часто и даже кто именно скачивает драйверы.
Самым очевидным решением было бы использовать инструменты типа AWstat, GoAccess, ELK stack или Splunk, а в крайнем случае собирать логи Nginx.
Но у каждого варианта есть свои минусы: неудобный интерфейс, скудность данных, сложность настройки и, самое главное, отсутствие возможности строить сегменты в пользовательских отчётах.
И тогда мы решили заставить Nginx самостоятельно отправлять события в Google Analytics сразу же после скачивания файла. Мы также смогли передать в GA уникальный идентификатор пользователя ClientID.
В результате мы получили аналитику по статичным файлам, к которым раньше невозможно было привязать счетчик GA.
Под катом готовый конфиг и примеры работы нашей системы.
Мысли вслух о разработке javascript-приложений на примере небольшого Line Of Business фреймворка
Не так давно мы сами себе поставили задачу — построить SPA-приложение. Сложное, большое, быстрое, с поддержкой множества устройств, без утечек памяти. К тому же, постоянно развивающееся, чтобы его было легко поддерживать. В общем, как мы и любим — всё и сразу.
Тема SPA-приложений и javascript-приложений в целом не нова, но нам не удалось найти даже на платных ресурсах основательных руководств по разработке приложений. Они являются скорее рассказом о той или иной MV*-библиотеке, чем примером для подражания. При этом не рассматриваются примеры разбиения по слоям, построения иерархий наследования и тонкостей наследования в javascript и т.д.
Мы попробуем зайти с другой стороны и описать, скорее, ход мыслей при разработке (с кодом и ссылками), чем какой-то конкретный инструмент. Начать мы вынуждены с уровня hello world, чтобы задать одну стартовую точку для читателей и писателя. Но уже со второго раздела повествование резко ускорится.
Мы считаем, что данная статья будет полезна:
- Front-end разработчикам, у которых уже есть небольшой опыт, но хочется вырасти.
- Back-end разработчикам, которым в какой-то момент пришлось начать заниматься js-разработкой и которые чувствуют некую неуверенность при работе с javascript.
- Верстальщикам, которые начали заниматься js-разработкой и хотели бы прокачать свои навыки.
Чтиво получилось весьма объемистым, но надеемся, что настолько же полезным.
Пара маленьких лайфхаков поиска по товарам в интернет-магазине
Это для меня, наверное, лучший пример, как не надо делать поиск в интернет-магазине. Дело в том, что все эти советы спокойно может взять на себя железный мозг, и разгрузить тем самым мозг пользователя. Покупатель при этом даже не заметит, что что-то пошло не так, а, значит, его ничего не остановит перед покупкой. Надо отметить, что ряд ошибок этот конкретный поиск правит, но в моём случае с копипастой названия книги из оптового прайса не прокатило.
У нас самих не лучший в мире поиск, но он продаёт. Давайте покажу, что мы сделали.
Регистрация безналоговой компании в Эстонии
Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.
Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.
Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Адаптивный и мобильный дизайн с CSS3 Media Queries
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №133 (3 — 9 ноября 2014)
Кое-что получше A/B тестирования
По статистике, средняя конверсия сайтов в рунете не превышает 1 процента и это значит, что огромное количество интернет-предпринимателей каждый день теряет много денег. Этих предпринимателей можно мысленно разделить на два основных типа: первые — это те, кто просто сидит и смотрит на свой не оптимизированный ресурс и ничего не делает. К сожалению, они обречены быть раздавленными временем инновациями и конкурентами. Вторые — это те, кто пытается что-либо с этим делать. Как правило, для этого они рисуют лендинги, экспериментируют с каналами рекламы и проводят A/B тестирование. A/B тестирование — это крайне необходимый инструмент современного маркетинга, он позволяет определить, какой вариант продающей страницы является наиболее эффективным для большинства пользователей. Чтобы понять, насколько этот метод эффективен — достаточно вспомнить нашумевшую историю про Обаму и 60 млн $. Однако, у этого метода есть и обратная сторона, заключается она в том, что все люди разные, и если к примеру статистика покажет, что женщины по большей части любят котиков, совсем не обязательно что у твоей девушки нет на них аллергии. То есть, если у нас A/B тест показал, что некий вариант лендинга идеален для 60% пользователей и мы выбираем его для нашей рекламной компании, то мы автоматически теряем оставшиеся 40%, которых он ни чем не цепляет. Значит, A/B тестирование не идеально и нужно срочно что-то с этим делать. Причём прямо сейчас, потому что мы ко всем чертям теряем 40% лидов и это вообще не круто!
Дриббблификация дизайнеров
Лишь одно из этих погодных приложений пытается решить насущную проблему.
В сообществе дизайнеров наблюдаются расходящиеся тенденции. С одной стороны мы наблюдаем интересные блоги от Райана Сингера и Джулии Жуо, которые развивают наше ремесло. С другой стороны, всё большее количество народу постят свои работы и обсуждают их на Dribbble, что в целом двигает наше ремесло в обратную сторону. Этот пост – не про Dribbble, как таковой, он про то, что ценит это сообщество. Я буду использовать термин «дизайн продукта», но также буду иметь в виду дизайн пользовательских взаимодействий с продуктом.
Несколько интересностей и полезностей для веб-разработчика #31
Исходники Reddit
Gravit
Замечательный графический редактор с открытым исходным кодом. Есть приложения под Mac, Linux, Windows, а также браузерная версия. В Gravit на данный момент реализован базовый функционал: слои, шейпы, пентул и множество различных функций для манипуляций с объектами. Но данный проект по большему счету ориентирован именно на веб-дизайн. Правильнее всего сказать, что Gravit — это смесь графического редактора в типичном представлении с визуальным редактором для разработки сайтов. Именно эта идея и ее реализация в формате open source делает продукт уникальным.
Оценка конкурентности поисковых запросов по вариациям поисковой выдачи
Оценка степени конкуренции по ключевому запросу является одной из сакральных задач поисковой оптимизации. Надежда обнаружить незамеченный конкурентами запрос с хорошей конверсией сродни поиску филосовского камня. Попробуем и мы внести свою лепту в эту алхимическую тусовку.
Оказывается, что степень конкуренции можно практически мгновенно оценить только лишь сравнив поисковую выдачу по двум взаимосвязанным запросам – без анализа пузомерок, сайтов-конкурентов, статистики стоимости клика и перелопачивания гор информации.
Пара полезных команд, которые могут пригодиться при DDoS и не только
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).
Проблемы современных рассылок
Спам
Куча писем попадает в спам. Даже если они таковыми и не являются. 30% сервисов, в которых я регистрируюсь отправляют подтверждение регистрации мне на почту, но я ловлю его в спаме. Но это я. Да, я читаю папку «спам». Складывается впечатление, что многим просто плевать на потенциальных клиентов. Куда смешнее получать подобные письма в спам от компаний, предоставляющих, например, услуги рассылок. Каламбур.
На заметку стартаперу: изменения в законодательстве РФ о юридических лицах
Осознавая необходимость компетентного подхода к вопросу, наша платформа привлекла с целью консультирования стартапов постоянного партнера — юридическую фирму «Ветров и партнеры», специализирующуюся на работе с IT-стартапами, сопровождении бизнеса и правах на интеллектуальная собственность.
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));
});
Живой пример тут.
Обновление данных по популярности CMS-систем, систем аналитики и онлайн-консультантов в Рунете за 2 квартал
Свежий срез по популярности коробочных CMS
По сравнению с первым кварталом из интересных моментов можно выделить небольшое падение долей наиболее популярных opensource-решений — WordPress и Joomla, по-прежнему лидирующих в сводном списке — и рост доли Битрикса, лидера сегмента платных коробочных систем. Также в сегменте коммерческих CMS впервые в истории рейтингов Ruward/iTrack UMI.CMS немного обошло NetCat по количеству установок в борьбе за второе место.
Платформы iBeacon: готовые решения для создания приложений
В предыдущей статье я поделился опытом выбора и заказа iBeacon — небольшого автономного Bluetooth LE маяка, который может быть обнаружен смартфоном. Появляются новые возможности для создания мобильных приложений на базе определения точного (от пары сантиметров до нескольких десятков метров) местонахождения владельца смартфона.
Краеугольным камнем на данный момент является поиск ценных для пользователей решений. Наиболее вероятным эпогеем эксперты предполагают бесконтактную платежную систему.
Мне захотелось «поиграть» с технологией, и в то же время не ввязываться в разработку. Для этого я решил найти готовые решения, которые позволяют без программирования построить iBeacon-приложения.
Я получил доступ и потестировал несколько платформ, о которых и расскажу в этой статье.
27+ ресурсов для онлайн-обучения
В настоящее время активно развивается система дистанционного обучения, теперь уже не является проблемой получение полноценного образования практически по любому предмету дистанционно. Онлайн-обучение имеет ряд преимуществ – обучение в индивидуальном темпе, свобода и гибкость, доступность, социальное равноправие. В сети появляется все больше сервисов, помогающих получать новые знания.
Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity