Как стать автором
Обновить
7
0
Serg Louter @Louter

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

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

Когда TCP быстрее UDP

Время на прочтение 6 мин
Количество просмотров 48K
Я знаю отличную шутку про UDP, но не факт, что она до вас дойдёт.

Все, кто хоть раз в жизни, по работе открывал файл /etc/services знают, что одни сетевые службы используют транспортный протокол TCP, другие же — UDP. Каждый из них имеет свою область применения. Если надёжность соединения имеет приоритет над скоростью передачи данных, то TCP предпочтительнее. Например, для SMTP, или IMAP больше подходит TCP. Обратное тоже верно там, где важна скорость передачи данных, а потеря дейтаграмм или их порядок не критичны — используют UDP. К их числу относятся SNMP, DNS, VoIP и другие службы.
Читать дальше →
Всего голосов 82: ↑81 и ↓1 +80
Комментарии 16

Я всегда с собой беру…

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

Некоторые сотовые провайдеры не разрешают раздавать их безлимитный интернет без дополнительной оплаты. Приобретать отдельное походное устройство по обеспечению широкополосного беспроводного доступа в глобальную сеть с абонентской оплатой более 1к рублей в месяц ради нескольких дней в году может совсем не хотеться. В связи с этими обстоятельствами в статье рассмотрено, как сотовые операторы узнают о раздаче доступа в интернет с мобильных устройств, а также какие возможности имеются на борту RouterOS по обеспечению приватности подобных действий.
Читать дальше →
Всего голосов 118: ↑115 и ↓3 +112
Комментарии 134

Вредные советы: Как обучить джуниора

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

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

Читать далее
Всего голосов 34: ↑31 и ↓3 +28
Комментарии 23

«Жизнь» на PostgreSQL

Время на прочтение 4 мин
Количество просмотров 20K
Недавно на Хабре была опубликована статья Морской бой в PostgreSQL. Должен признаться: я обожаю решать на SQL задачи, для SQL не предназначенные. Особенно одним SQL-оператором. И полностью согласен с авторами:

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

И еще. Будем честны: всегда использовать SQL по назначению — тоска зеленая. Вспомните, какие примеры приводятся во всех учебниках, начиная с той самой статьи Кодда? Поставщики да детали, сотрудники да отделы… А где же удовольствие, где же фан? Для меня один из источников вдохновения — сравнение процедурных решений с декларативными.

Я, позвольте, не буду объяснять, что такое Жизнь Джона Конвея. Скажу только, что — оказывается — используя клеточный автомат Жизни, можно построить универсальную машину Тьюринга. Мне кажется, это грандиозный факт.

Так вот, можно ли реализовать игру Жизнь одним оператором SQL?
Конечно можно
Всего голосов 77: ↑77 и ↓0 +77
Комментарии 30

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №150 (2 — 8 марта 2015)

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


Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 4

Справочник методов console в JS

Время на прочтение 6 мин
Количество просмотров 34K
Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разработчиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями? Github.
Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 12

Ресайз картинок в браузере. Все очень плохо

Время на прочтение 10 мин
Количество просмотров 104K
Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

function resize(img, w, h) {
  var canvas = document.createElement('canvas');
  canvas.width = w;
  canvas.height = h;
  canvas.getContext('2d').drawImage(img, 0, 0, w, h);
  return canvas;
}

Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

img
Читать дальше →
Всего голосов 156: ↑152 и ↓4 +148
Комментарии 90

Что именно происходит, когда пользователь набирает в адресной строке google.com? Часть 2

Время на прочтение 5 мин
Количество просмотров 45K
Часть 1

TLS handshake


Клиентский компьютер отправляет на сервер сообщение ClientHello, где указывает TLS-версию, список алгоритмов шифрования и доступные методы сжатия. Сервер отвечает сообщением ServerHello, содержащим такие же данные, плюс публичный сертификат сервера. Сертификат содержит публичный ключ, которым клиент зашифрует оставшуюся часть приветствия. Клиент проверяет, что сертификат подписан кем-либо из списка доверенных CA (Certificate Authority). Если проверка проходит, клиент создаёт последовательность псевдослучайных байтов и шифрует её с публичным ключом сервера. Эта последовательность используется для создания симметричного ключа.
Читать дальше →
Всего голосов 21: ↑16 и ↓5 +11
Комментарии 5

USB killer

Время на прочтение 2 мин
Количество просмотров 432K
Было обычное хмурое зимнее утро, мы с коллегами по обыкновению пили утренний кофе, делились новостями, ничто не предвещало беды. Но тут приятель рассказал… далее цитата из скайп чата:

Как-то читал статейку как парень в метро вытянул у чавака из сетчатого кармана сумки флеху, на которой 128 было написано. Пришел домой, вставил в ноут -> спалил пол компа… Написал на флехе 129 и теперь носит в наружном кармане своей сумки...

Картинка для привлечения внимания:



Так как я работаю на предприятии, которое занимается разработкой и производством электроники, то мы с коллегами принялись активно обсуждать варианты реализации такой флешки, — которая “спаливала бы полкомпа.” Было множество хардкорных, фантастических, а также вполне реальных вариантов. И всё бы так и закончилось этим весёлым обсуждением, если бы я не собирался заказывать изготовление печатных плат для других своих проектов.
Читать дальше →
Всего голосов 230: ↑217 и ↓13 +204
Комментарии 418

Кнут и… кнут информационной безопасности на предприятии

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

Что собой представляет ИБ на крупном предприятии или даже банке? Жгучий коктейль из нормативных актов, густо приправленных запретами всего и вся и с добавлением угроз расправы по вкусу. Ведь что делает обычный администратор системы для предотвращения несанкционированного доступа? Запрещает всё, что не разрешено. Что делает обычный безопасник? Запрещает вообще всё, что находится на границе (а часто и за границей) здравого смысла и хоть какой-то возможности функционирования предприятия. При этом составляется огромное количество нудных описаний угроз, нормативных актов (скука!) и прочих устрашающих действий, все которые сводятся к одной простой мысли «ЕСЛИ ЧТО, МЫ ЖЕ ПРЕДУПРЕЖДАЛИ!». Таким образом, складывается ситуация, когда ИБ риски обозначает, но ответственность не несет — её несут сотрудники. Однако и пренебрегать этой мутной темой информационной безопасности руководители не могут, и в результате на предприятии все процессы заворачиваются на ИБ, и ИБ становится тем узким бутылочным горлышком, от ширины которого часто напрямую зависит скорость функционирования бизнеса предприятия в целом.
Читать дальше →
Всего голосов 22: ↑12 и ↓10 +2
Комментарии 22

Сжатие изображений без потерь

Время на прочтение 7 мин
Количество просмотров 37K
Как я уже обещал постом ранее, представляю вашему вниманию вторую часть большого рассказа о сжатии изображений. На этот раз речь пойдёт о методах сжатия изображений без потерь.
Читать дальше →
Всего голосов 46: ↑44 и ↓2 +42
Комментарии 1

Приём радиофаксов и прочих цифровых передач с помощью обычного приёмника и компьютера

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

Один из неудачных радиофаксов

С чем у нас обычно ассоциируется слово «факс»? Большинство представят гибрид принтера и телефона, с помощью которого передают документы в отдаленные уголки планеты. Но знаете ли вы, что факсом пользуются моряки при отсутствии интернета? По факсу японское новостное агентство Kyodo передаёт новости на двух языках, а различные метеоцентры — погоду на несколько дней вперед. И мы тоже можем все это получить и раскодировать — нужен лишь компьютер и подходящий приемник.
И как все это выглядит?
Всего голосов 80: ↑79 и ↓1 +78
Комментарии 51

Konva.js — HTML5 2d canvas framework

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

Приветствую. Представляю сообществу проект Konva.js.

Konva.js — это фреймворк, который позволяет работать c canvas 2d в объектном стиле с поддержкой событий.

Кратко список особенностей выглядит так:
  1. Объектное API
  2. Вложенные объекты и «всплытие» событий
  3. Поддержка нескольких слоёв (нескольких canvas элементов)
  4. Кэширование объектов
  5. Поддержка анимаций
  6. Настраиваемый drag&drop
  7. Фильтры
  8. Готовые к использованию объекты, включая прямоугольник, круг, изображение, текст, линия, SVG путь, ..
  9. Простое создание собственных фигур
  10. Событийная архитектура, которая позволяет разработчикам подписываться на события изменений аттрибутов, отрисовки, и так далее
  11. Сериализация и десериализация
  12. Продвинутый поиск с помощью селекторов stage.get('#foo') и layer.get('.bar')
  13. Десктоп и мобильные события
  14. Встроенная подержка HDPI устройств
  15. и еще много разного


Далее подробней рассмотрим возможности фреймворка с примерами кода.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 37

Отказоустойчивый кластер Master-Slave на PostgreSQL

Время на прочтение 9 мин
Количество просмотров 119K
Приветствую, хаброжители!
В этой статье я хочу поделиться опытом развертывания кластера Master-slave на СУБД PostgreSQL. Отказоустойчивость достигается с помощью возможностей pgpool-II (failover, online recovery).
pgpool — это прекрасное средство для масштабирования и распределения нагрузки между серверами и, думаю, немногие знают о возможностях автоматического создания failover на ведомом сервере при отказе ведущего и как добавить новые мощности в уже работающий кластер без отключения всего кластера.
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Комментарии 18

Еще один способ сжатия CSS файлов

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


На изображении выше многие увидят известную картину. Так выглядит большинство CSS файлов на продакшене. Мы все стараемся, чтобы наши веб-страницы загружались быстро; для достижения этой цели используем различные инструменты и техники оптимизации загрузки и рендеринга страниц. Об одном, но редко используемом методе, я бы хотел поговорить и рассказать, как мне удалось сократить размер CSS файла почты mail.ru на 180Кб.
Читать дальше →
Всего голосов 80: ↑55 и ↓25 +30
Комментарии 79

Избавляемся от JavaScript в социальных кнопках (Facebook, VK, Twitter и др.)

Время на прочтение 5 мин
Количество просмотров 78K
Как мы избавились от JavaScript-библиотек социальных сетей, ускорили скорость загрузки страниц и использовали RESTful API для “шаринга” и “лайков”.


Читать дальше →
Всего голосов 78: ↑73 и ↓5 +68
Комментарии 44

Надёжный localStorage для букмарклетов

Время на прочтение 5 мин
Количество просмотров 12K
В отличие от расширений, букмарклеты хороши простотой и кроссбраузерностью. Конечно, они ограничены контекстом окна (содержимого страницы), но часто этого достаточно. А с возникновением механизма localStorage у них появился простой способ сохранять и запрашивать данные на стороне клиента.
Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Комментарии 2

Закон Фиттса или как его использовать

Время на прочтение 3 мин
Количество просмотров 30K
Здравствуйте, хабровчане!

На сегодняшний день в веб-проектировании такое понятие, как Usability, является главенствующим. Существует множество подходов увеличения эффективности взаимодействия пользователя с меню. В этой публикации я приведу пример работы с паркетным меню, но в более упрощенном стиле, не похожем на меню Windows 8.

Для начала приведем формулировку закона Фиттса:
— общий закон, касающийся сенсорно-моторных процессов, связывающий время движения с точностью движения и с расстоянием перемещения: чем дальше или точнее выполняется движение, тем больше коррекции необходимо для его выполнения, и соответственно, больше времени требуется для внесения этой коррекции.

Формула:
T = a + b * log ( D / W + 1 ),

где T — время работы пользователя с меню в (мс), a и b — коэффициенты навыков и умений работы пользователя с тем или иным устройством, D — расстояние от одного до другого пункта меню, W — ширина пункта меню при движении к нему от другого пункта меню.

Для большего понимания представим расчетную схему:


Рисунок — Расчетная схема закона Фиттса.

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

Рассчитаем среднее время для паркетного меню с параметрами: p1=120 px, p2=160 px, d=10 px, n=6, где n – количество пунктов меню.
Получим таблицу, в которой указаны параметры Wi, Di, Ti.
Читать дальше →
Всего голосов 28: ↑22 и ↓6 +16
Комментарии 14

Как работает усилитель звуковой частоты

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

Введение


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

Усилитель звуковой частоты или усилитель низкой частоты, что бы разобраться как он всё таки работает и зачем там так много всяких транзисторов, резисторов и конденсаторов, нужно понять как работает каждый элемент и попробовать узнать как эти элементы устроены. Для того что бы собрать примитивный усилитель нам понадобятся три вида электронных элементов: резисторы, конденсаторы и конечно транзисторы.
Читать дальше →
Всего голосов 100: ↑94 и ↓6 +88
Комментарии 41

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

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

Best of Awesomeness & Usefulness for Web Developers


Две недели назад я опубликовал «Лучшие интересности и полезности за год». Моим дайджестам тогда исполнился ровно один год и я хотел разместить пост точно в срок. Но не правильно рассчитал время и не упомянул много всего, что должно было быть в той подборке. И даже в опросах забыл указать в редакторах Vim, во фреймворках ExtJS и тд. За что мне очень стыдно. В целом подборка выросла как минимум в два раза и я создал репозиторий на GitHub. Моей целью не было сделать очередной awesome-* список, в которые попадает практически все подряд — лучшие и ненужные альтернативы. Я попытался выделить все самое лучшее.

DUO



Авторы проекта называют его сборщиком нового поколения для фронтенд разработчиков. DUO собрал в себе все самое лучшее от Component, Browserify и Go.

Читать дальше →
Всего голосов 52: ↑49 и ↓3 +46
Комментарии 7
1

Информация

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