Как стать автором
Обновить
23
0
Виктор Исаев @weekens

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

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

Ускоряем понимание коммерческого или технического текста: как перестать бояться писать просто

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


Читать молча мы научились относительно недавно. Раньше не было иного логичного способа читать, кроме как строго вслух. Фактический процесс чтения напоминает слушание двух голосов: один проговаривает слова текста, второй переводит их для нас на понятный нам язык.

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

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

Поэтому сейчас я расскажу базовые вещи, которые можно делать прямо здесь и сейчас у вас на сайтах.
Читать дальше →
Всего голосов 117: ↑112 и ↓5+107
Комментарии51

Эстония позволит получить электронное гражданство за 50 евро

Время на прочтение2 мин
Количество просмотров30K
E-estonian это не пародия на эстонский акцент, а вполне реальная возможность пользоваться привилегиями электронного гражданства европейской страны для иностранцев: вчера в Эстонии был единогласно принят закон, вводящий статус «электронного резидента» (e-residence), позволяющий любому иностранцу открыть счёт в эстонском банке, зарегистрировать компанию и воспользоваться электронной подписью, чтобы подписывать документы из любой точки мира.


Эстонский президент Тоомас Хендрик Ильвес (фото РИА)
Читать дальше →
Всего голосов 84: ↑77 и ↓7+70
Комментарии97

Немножко про радиацию

Время на прочтение9 мин
Количество просмотров96K
Я уже привык к тому, что для большинства людей радиация — область мифологии, а не науки. Но тут наткнулся на эту запись, в которой уже типа профессионал объясняет безумную опасность советских датчиков дыма. После этого решил, что стоит таки заняться просветительством.
Читать дальше →
Всего голосов 81: ↑81 и ↓0+81
Комментарии323

Атом — минимальный кирпичик реактивного приложения

Время на прочтение15 мин
Количество просмотров46K
Здравствуйте, меня зовут Дмитрий Карловский и я… клиент-сайд разработчик. За плечами у меня 8 лет поддержки самых различных сайтов и веб-приложений: от никому не известных интернет-магазинов, до таких гигантов как Яндекс. И всё это время я не только фигачу в продакшн, но и точу топор, чтобы быть на самом острие технологий. А теперь, когда вы знаете, что я не просто хрен с горы, позвольте рассказать вам про один архитектурный приём, которым я пользуюсь последний год.

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

Осторожно: чтение может вызвать вывих мозга, приступ холивара, а также бессонные ночи рефакторинга.
Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии36

Термоядерная энергетика: надежда человечества?

Время на прочтение10 мин
Количество просмотров327K
В детстве я любил читать журнал «Наука и Жизнь», в деревне лежала подшивка начиная с 60-х годов. Там часто рассказывали про термоядерный синтез в радостном ключе — вот уже почти, и оно будет! Многие страны, чтобы успеть на раздачу бесплатной энергии строили у себя Токамаки (и настроили их суммарно 300 штук по всему миру).

Годы шли… Сейчас 2013-й год, а человечество до сих пор получает бОльшую часть энергии от сжигания угля, как в 19-м веке. Почему так получилось, что мешает создать термоядерный реактор, и чего нам ждать в будущем — под катом.
Читать дальше →
Всего голосов 277: ↑273 и ↓4+269
Комментарии317

Перестаньте называть себя программистом и другие карьерные советы

Время на прочтение19 мин
Количество просмотров258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Всего голосов 251: ↑212 и ↓39+173
Комментарии175

Уязвимость SSLv3 POODLE — как BEAST, только проще

Время на прочтение2 мин
Количество просмотров64K
собак
Как вы, возможно, знаете, в SSLv3 обнаружена возможность Padding Oracle атаки, которая позволяет злоумышленнику, имеющему какую-либо возможность отправлять свои данные на сервер по SSLv3 от имени жертвы, расшифровывать по 1 байту за 256 запросов. Происходит это из-за того, что в SSLv3 padding не учитывается в MAC.

Теоретически, реализовать атаку можно на любой сервис, где есть возможность влиять на отправляемые данные со стороны атакуемого. Проще всего это реализовать, например, если злоумышленнику необходимо получить Cookie на HTTPS-странице, добавляя свой код на HTTP-страницы, который делает подконтрольные запросы на HTTPS-страницы, и подменяя шифрованные блоки.

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


Уязвимость не зависит от конкретной реализации, она by design. Хоть уязвимость и затрагивает только CBC-режим, лучше отключить SSLv3 полностью. Время SSL прошло.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии51

Подключаем Arduino к счетчику электроэнергии

Время на прочтение5 мин
Количество просмотров178K
Нет, эта статья не об очередном способе обмануть этот злосчастный прибор. Здесь пойдет речь о том, как с помощью Arduino и среды LabView превратить свой счетчик электроэнергии в средство мониторинга потребляемой мощности или даже в амперметр!


Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии50

Всё, что вы хотели знать об уязвимости Shellshock (но боялись спросить)

Время на прочтение9 мин
Количество просмотров133K
Помните Heartbleed? Shellshock можно отнести к той же «весовой категории», с таким же стильным названием, хоть и без классного логотипа (кому-то из департамента маркетинга этой уязвимости надо бы этим заняться). Но у Shellshock есть потенциал стать не менее важной птицей, чем Heartbleed. И сейчас я хотел бы собрать воедино всю необходимую информацию, которая поможет всем желающим справиться с ситуацией и избежать возможных проблем из-за неочевидной, на первый взгляд, угрозы.

Для начала позвольте поделиться с вами некоторой информацией из блога Роберта Грэма, который провёл превосходный анализ уязвимости. Рассмотрим представленный ниже HTTP-запрос:

target = 0.0.0.0/0
port = 80
banners = true
http-user-agent = shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)
http-header = Cookie:() { :; }; ping -c 3 209.126.230.74
http-header = Host:() { :; }; ping -c 3 209.126.230.74
http-header = Referer:() { :; }; ping -c 3 209.126.230.74

Если его применить к диапазону уязвимых IP, то получим такой результат:



Проще говоря, Роберт заставил кучу удалённых машин пинговать его, просто отправив в сеть специально сформированный запрос. Беспокойство вызывает тот факт, что он заставил эти машины выполнить произвольную команду (в данном случае безобидный ping), что открывает широчайшие возможности.
Читать дальше →
Всего голосов 106: ↑96 и ↓10+86
Комментарии93

Революция дата-байндинга с Object.Observe()

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

Введение


Грядет революция. Появилось новое дополнение к JavaScript, которое изменит всё, что вы когда-либо знали о дата-байндинге. Помимо этого, изменится и подход ваших MVC библиотек к наблюдениям за редактированием и обновлением моделей. Вы готовы?

Хорошо, хорошо. Не будем тянуть. Я рад вам представить Object.observe(), который появился в бета версии Chrome 36. [ТОЛПА ЛИКУЕТ]

Object.observe() является частью следующего ECMAScript стандарта. Он позволяет асинхронно отслеживать изменения JavaScript объектов… без использования каких-либо сторонних библиотек, он позволяет наблюдателю отслеживать изменения состояния объекта во времени.
Читать дальше →
Всего голосов 65: ↑57 и ↓8+49
Комментарии48

Почему SNMP это не очень просто?

Время на прочтение17 мин
Количество просмотров160K
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии15

Как была взломана Gamma International

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

3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

Читать дальше →
Всего голосов 107: ↑106 и ↓1+105
Комментарии28

Переезд электронщика в Шэньчжэнь

Время на прочтение5 мин
Количество просмотров82K
Очередная история переезда на чужбину в нескольких частях.

Кратко об авторе


30 лет. Специальность — радиофизик. Специализация — Компьютерная электроника. Основное направление — разработка электроники и встраиваемого программного обеспечения. Опыт работы — 10 лет. Опыт фриланса — 4 года.


Читать дальше →
Всего голосов 132: ↑124 и ↓8+116
Комментарии82

Используем console на полную

Время на прочтение6 мин
Количество просмотров458K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Всего голосов 172: ↑168 и ↓4+164
Комментарии29

Рендеринг WEB-страницы: что об этом должен знать front-end разработчик

Время на прочтение6 мин
Количество просмотров232K
Приветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.

Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Читать дальше →
Всего голосов 121: ↑110 и ↓11+99
Комментарии42

Раздаем 500К на организацию кружков робототехники

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


UPD: Конкурс завершен

Почти два года назад мы начали активно продвигать робототехнику в Екатеринбурге. Вскоре после начала нашей деятельности пришло понимание, что самый верный способ привлечения людей в эту сферу — работать со школьниками. Чем мы, собственно, успешно и занялись. Довольно быстро возникло желание масштабировать наш опыт. Нам удалось разделить это желание с двумя екатеринбургскими ИТ-компаниями — Naumen и Экстрим, результат — см. заголовок поста.

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

Читать дальше →
Всего голосов 84: ↑79 и ↓5+74
Комментарии17

Нагружаем Node под завязку (2-я из 12 статей о Node.js от команды Mozilla Identity)

Время на прочтение7 мин
Количество просмотров19K
От переводчика: Это вторая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Эта статья написана по мотивам выступления Ллойда Хилайеля на конференции Node Philly 2012 в Филадельфии.





Процесс Node.js выполняется на единственном ядре процессора, так что построение масштабируемого сервера на Node требует особой заботы. Благодаря возможности писать нативные расширения и продуманному набору API для управления процессами, есть несколько разных способов заставить Node выполнять код параллельно. Мы рассмотрим их в этой статье.

Кроме того, мы представим модуль compute-cluster — маленькую библиотеку, которая облегчает управление коллекцией процессов для выполнения распределённых вычислений.

Постановка задачи


Для Persona нам было необходимо создать сервер, который справился бы с обработкой множества запросов со смешанными характеристиками. Мы выбрали для этой цели Node.js. Нам надо было обрабатывать два основных типа запросов: «интерактивные», которые не требовали сложных вычислений и должны были выполняться быстро, чтобы интерфейс приложения был отзывчивым, и «пакетные», которые отнимали примерно пол-секунды процессорного времени и могли быть ненадолго отложены без ущерба для удобства пользователя.

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

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


Вооружившись этими требованиями, мы можем осмысленно сравнивать разные подходы.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии5

Охотимся за утечками памяти в Node.js (1-я из 12 статей о Node.js от команды Mozilla Identity)

Время на прочтение7 мин
Количество просмотров27K
От переводчика: Это первая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Как клиентская, так и серверная часть Persona написаны на JavaScript. В ходе работы команда проекта создала несколько инструментов на все случаи жизни — от локализации до отладки, управления зависимостями и многого другого. В этой серии статей разработчики Mozilla делятся с сообществом своим опытом и этими инструментами, которые пригодятся любому, кто пишет высоконагруженный сервис на Node.js.

Первая статья цикла посвящена распространённой проблеме Node.js — утечкам памяти, особенностям утечек в высоконагруженных проектах и библиотеке node-memwatch, которая помогает найти и устранить такие утечки в Node.




Зачем заморачиваться?


Вы можете спросить, зачем вообще отслеживать утечки памяти? Неужели нет более важных дел? Почему бы просто не перезапускать процесс время от времени, или просто добавить памяти на сервер? Есть три причины, по которым устранять утечки всё-таки важно:

  1. Возможно, вы не сильно переживаете об утечках памяти, но этого нельзя сказать о V8 (движок JavaScript на котором работает Node). Чем больше памяти занято, тем активнее работает сборщик мусора, замедляя ваше приложение. Так что в Node утечки напрямую вредят производительности.
  2. Утечки могут привести к другим проблемам. Протекающий код может блокировать ограниченные ресурсы. У вас могут закончиться файловые дескрипторы или вы вдруг не сможете открыть ещё одно соединение с БД. Такие проблемы могут возникнуть задолго до того, как кончится память, но обрушат ваше приложение ничуть не хуже.
  3. Рано или поздно ваше приложение упадёт. И это наверняка случится во время наплыва посетителей. Вас все засмеют и будут писать про вас гадости на Hacker News.

Откуда доносится звук падающих капель?
Всего голосов 63: ↑61 и ↓2+59
Комментарии1

Миллион одновременных соединений на Node.js

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


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Всего голосов 193: ↑187 и ↓6+181
Комментарии125

Логика мышления. Часть 1. Нейрон

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


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

В настоящем цикле статей планируется рассказать о той концепции интеллекта над которой мы сейчас работаем и продемонстрировать некоторые решения, являющиеся принципиально новыми в сфере моделирования работы мозга. Но чтобы повествование было понятным и последовательным оно будет содержать не только описание новых идей, но и рассказ о работе мозга вообще. Какие-то вещи, особенно в начале, возможно покажутся простыми и общеизвестными, но я бы советовал не пропускать их, так как они во многом определяют общую доказательность повествования.
Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии23

Информация

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