Pull to refresh
4
0
Александр @BoShurik

Symfony-разрботчик

Send message

Отправка сообщений peer-to-peer при помощи PeerJS

Reading time5 min
Views7.6K
Приветствую вас, уважаемые читатели. В предыдущей статье я рассказал, как сделать простую звонилку в браузере при помощи PeerJS. А сегодня планирую рассмотреть, как обмениваться сообщениями между двумя пользователями напрямую без задержек.

Кому это интересно? Если Вы разрабатываете онлайн игру, в которой необходим быстрый обмен данными между игроками, тогда прямой обмен сообщениями это пожалуй то, что вам нужно.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments12

Видеозвонок в браузере на PeerJS. Быстрый старт

Reading time7 min
Views14K
Приветствую всех читателей Хабра. В этом году довелось писать модуль видеосвязи для одного учебного портала для созвона по видеосвязи прямо на сайте учителя с учеником. Раннее такую задачу решать не приходилось. После недолгих поисков обнаружил, что есть 2 пути: Flash и WebRTC. WebRTC в чистом виде оказался сложноват, и в общем-то это естественно, так как задача видеосвязи не является простой. Но потом я наткнулся на PeerJS, который является оберткой для WebRTC. В этой статье я расскажу, как быстро организовать свою браузерную звонилку.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments8

Rutracker включил eSNI. Конец эпохи DPI и конец блокировок

Reading time4 min
Views201K


Несмотря на желтый заголовок, дальше будет не желтая статья. Всех нас (я надеюсь именно здесь я наконец-таки смогу сказать от всего сообщества) уже достали действия Роскомнадзора. А также его постоянное появление в рекомендованном на хабре. Поэтому эта новость вам понравится. Хоть что-то важное. Новость кстати еще от декабря 2018.
Читать дальше →
Total votes 205: ↑196 and ↓9+187
Comments361

Манипуляция сознанием. Почему так просто?

Reading time20 min
Views128K


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

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

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

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

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

Это не статья по психологии и не статья по философии, хотя бы потому, что в этой статье не будет приведено ни одной ссылки.
Читать дальше →
Total votes 114: ↑96 and ↓18+78
Comments485

Похождения электронной подписи в России

Reading time16 min
Views59K
Государства вмешиваются в некогда гиковскую информационную область всё больше и устанавливают там правила. Один из институтов государственного регулирования в информационном пространстве — механизм «квалифицированной электронной подписи», условно неподделываемого доверенного идентификатора субъекта, которым он может заверять различного рода сделки в электронном виде от своего имени в инфопространстве. На самом деле, идея ЭП не нова и развивается давно, но в России в какой-то момент что-то пошло немного не так. Эта статья — субъективное пространное рассуждение на тему института электронной подписи в России без излишнего погружения в технологическую матчасть. Ну и немного хейта, как же без этого.


CC-BY-SA, Vadim Rybalko
Читать дальше →
Total votes 150: ↑145 and ↓5+140
Comments340

Как на Java c помощью КриптоПро подписать документ PDF

Reading time10 min
Views38K


Привет! Я сотрудник Альфа-Банка и занимаюсь разработкой программного обеспечения со встроенными средствами криптографической защиты информации.

В данной статье хочу рассказать о следующих вещах:

  • преимуществах формата PDF в качестве документа с электронной подписью;
  • платформе Java, библиотеке itextpdf и СКЗИ КриптоПро CSP, как инструментах подписи;
  • о том, с какими трудностями пришлось столкнуться, о доработке itextpdf;
  • привести пример кода, выполняющего несколько подписей;
  • поговорить о целесообразности использования формата PDF в качестве документа с подписью.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments28

Самые интересные металлы

Reading time14 min
Views94K

Кто не слушает металл — тому бог ума не дал!

— Народное творчество

Привет, %username%.

gjf снова на связи. Сегодня буду совсем краток, потому что через шесть часов вставать и ехать.

А рассказать я сегодня хочу о металле. Но не о том, который музыка, — о том мы можем поговорить как-нибудь за кружечкой пива, а не на Хабре. И даже не о металле — а о металлах! И рассказать я хочу о тех металлах, которые меня в жизни так или иначе поразили своими свойствами.

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

Поехали.
Читать дальше →
Total votes 230: ↑220 and ↓10+210
Comments270

О боевых инкапаситантах

Reading time24 min
Views45K


Привет, %username%.

gjf опять на связи.

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

И прошу прощения, если разрушил иллюзии некоторых читателей.

Но по итогам голосования мы поговорим о боевой наркоте. Но это не какие-то мифические препараты, которые сделают из хилого ботана Универсального Солдата.

Это вовсе не так.
Читать дальше →
Total votes 184: ↑175 and ↓9+166
Comments123

Самые интересные яды

Reading time23 min
Views118K

Привет, %username%!

Снова вечер, снова мне нечего делать, и я решил потратить немного времени, чтобы написать третью часть своего цикла о ядах. Надеюсь, ты читал первую и вторую часть, и тебе понравилось.

В третьей части мы немного отдохнём. Здесь не будет рассказа о тех ядах, которые встречаются тебе на каждом шагу — скорее всего даже наоборот. Здесь не будет холивара о вреде алкоголя и никотина.

В третьей части я соберу те яды, которые мне по каким-то причинам показались интересными (если такое слово применимо вообще к ядам — но, как я уже говорил: я — художник, я так вижу).

Итак, снова моя смертельная десятка! Поехали.
Читать дальше →
Total votes 233: ↑221 and ↓12+209
Comments197

Самые нестрашные яды

Reading time26 min
Views110K

И снова привет, %username%!

Спасибо всем, кто оценил мой опус «Самые страшные яды».

Было очень интересно почитать комментарии, какими бы они ни были, было очень интересно отвечать.

Я рад, что «хит-парад» понравился. Если он не понравился — ну что ж, я сделал всё, что мог.

На написание второй части меня вдохновили именно комментарии и активность.

Итак, представляю очередную смертельную десятку!
Читать дальше →
Total votes 197: ↑192 and ↓5+187
Comments375

Самые страшные яды

Reading time24 min
Views349K


Привет, %username%

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

Но я не хочу перечислять то же самое. Я не хочу меряться дозами LD50 и претендовать на оригинальность.

Я хочу написать про те яды, с которыми ты, %username%, имеешь большой риск столкнуться каждый день. И которые не так просты, как их ближайшие собратья.

Врага надо знать в лицо. И надеюсь — будет интересно. А если окажется интересно — то возможно, что и осилишь вторую часть.

Итак — моя смертельная десятка!
Читать дальше →
Total votes 308: ↑292 and ↓16+276
Comments609

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения

Reading time8 min
Views19K


Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo.

Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер.

Недавно мы рассказывали о том, какими инструментами пользуемся для профилирования. Напомню: одним из инструментов для анализа производительности, когда непонятно, какие части кода повлияли больше всего на увеличение времени формирования ответа, является XHProf. Это расширение для PHP, которое позволяет профилировать код на боевом сервере и впоследствии  улучшать его.

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

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

В этой статье я расскажу о деталях реализации и особенностях использования этого инструмента.
Читать дальше →
Total votes 84: ↑84 and ↓0+84
Comments7

Про одного парня

Reading time14 min
Views191K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →
Total votes 272: ↑239 and ↓33+206
Comments247

Трехмерный движок внутри запроса SQL

Reading time8 min
Views40K
Несколько лет назад на форуме SQL.ru решили провести сравнение реализаций трассировщиков лучей на разных языках программирования. К сожалению, моя заявка не может участвовать т.к. она не выводит надпись «PIXAR», поэтому публикую ее здесь.

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

WITH RECURSIVE numbers AS (SELECT 0 AS n UNION ALL SELECT n+1 FROM numbers WHERE n<89),
pixels AS (SELECT rows.n as row, cols.n as col FROM numbers as rows CROSS JOIN
numbers as cols WHERE rows.n > 4 AND rows.n < 38 AND cols.n > 9 AND cols.n < 89),
rawRays AS (SELECT row, col, -0.9049 + col * 0.0065 + row * 0.0057 as x,
-0.1487 + row * -0.0171 as y, 0.6713 + col * 0.0045 + row * -0.0081 as z FROM pixels),
norms AS (SELECT row, col, x, y, z, (1 + x * x + y * y + z * z) / 2 as n FROM rawRays),
rays AS (SELECT row, col, x / n AS x, y / n AS y, z / n AS z FROM norms),
iters AS (SELECT row, col, 0 as it, 0 as v FROM rays UNION ALL
SELECT rays.row, rays.col, it + 1 AS it, v + MAX(ABS(0.7+v*x) - 0.3,
ABS(0.7+v*y) - 0.3, ABS(-1.1+v*z) - 0.3, -((0.7+v*x) * (0.7+v*x) +
(0.7+v*y) * (0.7+v*y) + (-1.1+v*z) * (-1.1+v*z)) * 1.78 + 0.28) AS v
FROM iters JOIN rays ON rays.row = iters.row AND rays.col = iters.col WHERE it < 15),
lastIters AS (SELECT it0.row, it0.col, it0.v AS v0, it1.v AS v1, it2.v AS v2
FROM iters as it0 JOIN iters AS it1 ON it0.col = it1.col AND it0.row = it1.row
JOIN iters AS it2 ON it0.col = it2.col AND it0.row = it2.row
WHERE it0.it = 15 AND it1.it = 14 AND it2.it = 13),
res AS (SELECT col, (v0 - v1) / (v1 - v2) as v FROM lastIters)
SELECT group_concat(
substr('$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^. ',
round(1 + max(0, min(66, v * 67))), 1) || CASE WHEN col=88 THEN X'0A' ELSE '' END, '')
FROM res;



Здесь можно покрутить кубик

Под катом построчный разбор запроса. Как обычно, достаточно знания основ SQL и школьной математики.
Читать дальше →
Total votes 169: ↑168 and ↓1+167
Comments24

Немного о лексическом анализе

Reading time9 min
Views17K


Давным-давно, когда небо было голубым, трава зеленее и по Земле бродили динозавры… Нет, забудьте про динозавров. Ну, в общем, когда-то тогда пришла в голову мысль отвлечься от стандартного web-программирования и заняться чем-то более безумным. Можно было, конечно, чем угодно, но выбор пал на написание своего интерпретатора. Что я могу сказать… Никогда не пишите свои языки программирования. Но некоторый опыт из всего этого я извлёк, так что вот и решил поделиться. Начнём с самой основы — лексера.
Total votes 19: ↑18 and ↓1+17
Comments20

Кросскультурная разница в играх

Reading time10 min
Views37K

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

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

К играм они подходят как к своим вещам дома: у них очень маленькие и компактные квартиры, маленькие дворики и так далее. Они стараются уменьшить всё, что можно. И отобрать вещи так, чтобы их было не очень много, но каждая прямо радовала своим видом, была наполнена впечатлениями. Почти никогда у японца дома не будет нагромождения вещей — всё только самое ценное. Это значит одну парадоксальную вещь: почти нет корреляции между размером коробки и ценой игры.
Читать дальше →
Total votes 97: ↑97 and ↓0+97
Comments75

11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

Reading time7 min
Views42K
Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной.

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

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

image

Сегодня мы представляем вашему вниманию перевод материала, в котором рассмотрены опенсорсные JavaScript-библиотеки для визуализации данных.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments19

Два сюрприза с очками

Reading time9 min
Views136K

Вот что будет, если ударить по стеклянным очкам молотком, но про это позже

Чуть больше полугода назад меня вдруг пробило на хорошие очки. Я начал задавать одинаковые тупые вопросы и получать разные ответы. Кого о чём не спросишь — их технология лучшая в мире. Правда, после слов «обоснуйте, пожалуйста», начинаются проблемы с пруфами. В итоге дорога приключений привела меня довольно далеко.

Значит, два важных момента. Первый: оказывается, надо делать полную коррекцию, частичная — в большинстве случаев зло. Доказательство «в Европе уже давно так не делают» меня не устроило, поэтому пришлось копать исследования. Второй момент — долбанный светофильтр «для компьютера», отсекающий синий, всё же нужен. Но только, как мне кажется, не для компьютера. Тоже нашлись результаты, но на животных.
Читать дальше →
Total votes 128: ↑125 and ↓3+122
Comments330

Три интересные задачи на знание SQL — Решения

Reading time9 min
Views35K
В недавнем своем топике я приводил три на мой взгляд интересные задачи по MySQL с желанием посмотреть на возможные решения хабралюдьми. Как я и обещал, я привожу свои решения этих задач. Для того, чтоб текст был интересным и познавательным я решил детально разжевать что зачем и как. Итак…

Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments15

Неожиданно простая и действенная техника улучшает запоминание

Reading time6 min
Views59K

И она помогает всем, от студентов до пациентов с болезнью Альцгеймера


image

Когда вы пытаетесь запомнить новый материал, легко поддаться искушению считать, что чем больше усилий вы приложите, тем больше вы сможете потом вспомнить. Однако периодические перерывы, во время которых вы буквально не должны ничего делать, могут оказаться именно тем, что вам нужно для повышения эффективности. Приглушите свет, сядьте, наслаждайтесь 10-15 минутами тихих размышлений, и вы обнаружите, что вы запомнили только что выученные факты гораздо лучше, чем если бы пытались провести это время более «продуктивно».

Хотя уже хорошо известен тот факт, что при изучении нового нужно знать меру, новое исследование подтверждает, что во время подобных перерывов необходимо стремиться к «минимизации помех» – намеренно избегать активности, которая может помешать деликатному процессу формирования памяти. Никаких дел, проверки электронной почты, веб-серфинга. Вам нужно дать мозгу шанс перезарядиться без всяких отвлекающих действий.
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments45

Information

Rating
Does not participate
Location
Владимир, Владимирская обл., Россия
Date of birth
Registered
Activity