Pull to refresh
182
0
Станислав Суров @Perlovich

Scala Developer

Send message

[ВОЗМОЖНО] СОРМ расшифровывает HTTPS трафик к Mail.ru и ICQ

Reading time3 min
Views97K


На конференции Chaos Constructions 2019 Леонид darkk Евдокимов показал любопытный доклад про случайно обнаруженные в открытом доступе панели управления СОРМ. Доклад можно посмотреть здесь: darkk.net.ru/2019/cc В двух словах: панели со статистикой работы программно-аппаратных комплексов СОРМ от МФИ Софт торчали наружу в интернет и всем было пофиг.

В какой-то момент времени наружу торчали сырые дампы перехваченного трафика, которые успел проиндексировать поисковик shodan.io. Вот один из таких дампов: archive.li/RG9Lj
Там есть MAC-адреса, IMEI телефонов и разная другая личная информация. Но самое интересное в этих дампах, что туда каким-то образом попал трафик к некоторым хостам на 443 порт (HTTPS) в открытом виде! То есть видны полностью GET запросы, а это может значить, что СОРМ умеет расшифровывать HTTPS. Попробуем подумать как такое возможно.
Читать дальше →

Инновации по-русски

Reading time9 min
Views173K
Я — профессиональный участник инновационной индустрии. Вместе с коллегами последние 10 лет мы участвуем в создании новых технологий.

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

Подборка полезных слайдов от Джулии Эванс

Reading time1 min
Views53K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →

Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

Reading time22 min
Views117K
image

Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Читать дальше →

Успех социального эксперимента с поддельным эксплойтом для nginx

Reading time5 min
Views22K
Прим. перев.: Автор оригинальной заметки, опубликованной 1 июня, решил провести эксперимент в среде интересующихся информационной безопасностью. Для этого он подготовил поддельный эксплойт к нераскрытой уязвимости в веб-сервере и разместил его в своём твиттере. Его предположения — быть мгновенно разоблачённым специалистами, которые увидят очевидный обман в коде, — не просто не оправдались… Они превзошли все ожидания, причём в обратную сторону: твит получил огромную поддержку от многочисленных людей, которые не стали проверять его содержимое.



TL;DR: ни в коем случае не используйте конвейеризацию файлов в sh или bash. Это отличный способ утратить контроль над компьютером.
Читать дальше →

Талант против удачи: роль случайности в успехе и провале

Reading time45 min
Views42K


Недавно я натолкнулся на интересную работу итальянских учёных о сильно недооценённой роли удачи и случайности в нашей жизни. К сожалению, не нашёл полной версии на русском языке (может, плохо искал?), но очень уж хотелось поделиться прочитанным со своими не владеющими английским товарищами. Поэтому, засучив рукава, принялся за свой кустарный перевод. Авторы, Алессандро, Алессио и Андреа, любезно разрешили опубликовать его в общем доступе, поэтому, если заинтересовались, добро пожаловать под кат.
Читать дальше →

Как устроен формат JPEG

Reading time13 min
Views108K

Изображения формата JPEG встречаются повсюду в нашей цифровой жизни, но за этим покровом осведомлённости скрываются алгоритмы, устраняющие детали, не воспринимаемые человеческим глазом. В итоге получается высочайшее визуальное качество при наименьшем размере файла – но как конкретно всё это работает? Давайте посмотрим, чего именно не видят наши глаза!




Легко принять, как само собой разумеющееся, возможность отправить фотку другу, и не волноваться по поводу того, какое устройство, браузер или операционную систему он использует – однако так было не всегда. К началу 1980-х компьютеры умели хранить и показывать цифровые изображения, однако по поводу наилучшего способа для этого существовало множество конкурирующих идей. Нельзя было просто отправить изображение с одного компьютера на другой и надеяться, что всё заработает.
Читать дальше →

Тест: подходит ли тебе удаленка (не фриланс!)?

Reading time15 min
Views43K
Эта статья для тех, кто задумывается, стоит ли пробовать удаленную работу, и взвешивает риски: стиль жизни существенно поменяется, мало ли, что пойдет не так, а вернуться обратно будет непросто. Я не буду преподносить удаленку как райское наслаждение на пляжике под пальмочкой. Таких статей уже написано достаточно, и они не помогают определиться. Постараюсь помочь с ответом ровно на один вопрос: “Как с минимальными рисками выяснить, подходит ли вам удаленка?”.

В этой формулировке уже заложена половина ответа. Есть лишь один способ выяснить, подходит ли что-то лично вам, – эксперимент. Мне удалось поэкспериментировать в контролируемых условиях – без смены места работы. По итогу работать из дома мне понравилось, и в офис я не хочу. А вот моему другу из дома не работается никак – тут все индивидуально. Но подход к экспериментированию это не меняет.

Итак, радости и гадости удаленки и переходного периода. Ретроспектива личного опыта, а под конец – небольшой тест, он же план эксперимента.

image

(осторожно, много картинок)
Читать дальше →

Нужно ли чистить строки в JavaScript?

Reading time6 min
Views79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →

Яндекс опубликовал обзор рынка ИТ-вакансий

Reading time4 min
Views87K
В феврале 2019 года Яндекс запустил Практикум — сервис для онлайн-обучения будущих разработчиков, аналитиков и других ИТ-специалистов. Чтобы решить, какие курсы делать в первую очередь, наши коллеги изучили рынок вместе с аналитической службой HeadHunter. Мы взяли данные, которые они использовали, — описания более 300 тысяч ИТ-вакансий в городах-миллионерах за 2016–2018 годы — и подготовили обзор рынка в целом.

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



Читать дальше →

Как Мегафон спалился на мобильных подписках

Reading time5 min
Views255K
Обсуждение операторов сотовой связи в Телеграм t.me/opsosru

Уже давно как не смешные анекдоты ходят истории о платных мобильных подписках на IoT устройствах.


С Пикабу

Всем понятно, что без действий сотовых операторов эти подписки не обходятся.
Читать дальше →

Всегда ли нужны Docker, микросервисы и реактивное программирование?

Reading time15 min
Views51K


Автор: Денис Цыплаков, Solution Architect, DataArt

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

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

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

Docker — это игрушка или нет? Или всё-таки да?

Reading time7 min
Views52K

Всем привет!


Ооочень хочется прям сразу приступить к теме, но правильнее будет немного рассказать про мою историю:


Вступление


Я программист с опытом разработки frontend одностраничных приложений, scala/java и nodejs на сервере.


Довольно долго (уже точно пару — тройку лет), я придерживался мнения, что docker это манна небесная и вообще очень крутой инструмент и абсолютно каждый разработчик должен уметь пользоваться им. А отсюда вытекает, что и у каждого разработчика должен стоять docker на локальной машине. Да что там про моё мнение, вы полистайте вакансии, которые размещаются на том же hh. В каждой второй есть упоминание про docker и если вы им владеете — это будет вашим конкурентным преимуществом ;)


На своем пути я встечался с многими людьми, с их разным отношением к docker и к его экосистеме. Одни говорили, что это удобная вещь, гарантирующая кроссплатформенность. Вторые не понимали зачем им запускаться в контейнерах и какой профит от этого, третьим было вообще пофиг и они не парились (просто писали код и уходили домой — завидую, кстати, им :) )

Читать дальше →

Откуда растут ноги у Java Memory Model

Reading time19 min
Views78K
Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке.

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

Но все уже осознали, ведь жить с этим как-то надо. А Java программисты даже неплохо живут. Потому что в Java есть модель памяти — Java Memory Model (JMM), которая предоставляет достаточно простые правила для написания корректного многопоточного кода.

И правил этих достаточно для большинства программ. Если вы их не знаете, но пишите или хотите писать многопоточные программы на Java, то лучше как можно скорее ознакомиться с ними. А если знаете, но вам не хватает контекста или интересно узнать откуда растут ноги у JMM, тогда статья может вам помочь.
Читать дальше →

Как маркетологи Максидома теряют миллионы заигрываясь в гроуз-маркетинг: независимый юзабилити-аудит

Reading time12 min
Views12K
Личный взгляд UX-дизайнера на уловки «гроуз-хакеров» интернет-магазина Максидом на фоне треша и проблем в интерфейсе, заставляющих пользователей страдать.


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

Reading time20 min
Views17K
Насколько UX — зона ответственности тестировщиков? Ранее Антонина Хисаметдинова на конференции по тестированию Heisenbug рассказывала о правильном отображении ошибок, и расшифровка того доклада собрала на Хабре множество просмотров. А в декабре на Heisenbug 2018 Moscow она говорила о том, зачем тестировщику подглядывать за пользователями — и этот доклад тоже был отлично принят зрителями. Так что теперь мы и для него подготовили текстовую версию.


Профессиональное выгорание в ИТ (результаты исследования «Моего круга»)

Reading time13 min
Views65K


В октябре прошлого года «Мой круг» пригласили на РИФ Воронеж сделать доклад про профессиональное выгорание среди ИТ-специалистов. Как всегда, мы подошли основательно, провели по этой теме соцопрос среди пользователей «Моего круга» и «Хабра» и сегодня рады поделиться своим исследованием. Посмотрим, насколько ИТ-специалисты подвержены выгоранию, какие его признаки выделяют, на какие причины указывают, как выходят из него.

Большинство вопросов анкеты строилось на материалах мастер-класса Наталии Дзеружинской, доктора медицинских наук, профессора, врача-психиатра высшей квалификационной категории, проведённого ею в рамках «Школы менеджеров «Стратоплан»» (видеозаписи 5 мастер-классов школы).

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

Как мы узнали, более 50% ИТ-специалистов имеют опыт профессионального выгорания, причём половина из них прошли через этот опыт 2 и более раза. Для работодателя подобное выгорание сотрудников имеет довольно серьёзные последствия: до 20% сотрудников находятся регулярно в подобном состоянии, только 25% выгорающих остаётся на прежнем месте работы. А значит, довольно большая часть сотрудников работает крайне неэффективно и мешает другим, плюс постоянно нужно вкладывать средства в рекрутинг и адаптацию новых сотрудников взамен выгоревших. Если работодатель научится управлять процессом выгорания, то сможет экономить много материальных и моральных сил для своей компании.
Читать дальше →

Бо́льшая часть текстов в интернете написана безумцами

Reading time4 min
Views44K
Я обнаружил пост, написанный несколько лет назад, где перечислено, какой процент пользователей Reddit оставляет записи на этом сайте:

  • В Askreddit около 15 млн уникальных посетителей и 500 тыс. комментаторов.
  • В /r/pics и /r/funny 10 млн посетителей и 200 тыс. комментаторов.
  • В /r/TIL и /r/videos нет публичной статистики, но порядка 150 тыс. комментаторов. Также статистики нет у /r/pcmasterrace, /r/wtf, /r/gaming, у каждого из которых по 120 тыс. комментаторов.
  • У каждого из следующих подреддитов порядка 100 тыс. комментаторов :/r/leagueoflegends (8 млн посетителей), /r/worldnews (6 млн), /r/news (6 млн), /r/movies (5 млн), /r/adviceanimals (3 млн), /r/gifs – неизвестно.

Вывод:
В крупнейших подреддитах количество уникальных комментаторов составляет от 1% до 3% от читателей.
Получается, что на Reddit сидит порядка 97-99% пользователей, редко участвующих в обсуждении, и просто пассивно потребляющих контент, который генерят оставшиеся 1-3%. И эта тенденция устойчиво сохраняется в интернет-сообществах, и известна как правило одного процента.
Читать дальше →

Как стать разработчиком игр, если ты риелтор

Reading time2 min
Views43K
Добрый день, Хабр.

Два года и несколько месяцев назад, я написал здесь свой первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно назвать, хе-хе.

image

Вы тепло приняли этот пост и это дало мне хороший толчок в нужном направлении. За эти два года я попробовал и научился многому: работал с 3D моделями, знакомился с C++, рисовал текстуры, записывал звуки, писал тексты и диз-доки, но самое главное – я нашел для себя подходящую среду разработки, а именно — божественный Unreal Engine 4.

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

Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса

Reading time10 min
Views25K
Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентную доступность сервиса на запись во время выполнения подобных операций. Кроме того, вы узнаете о библиотеке для Django, которая призвана автоматизировать часть описанных процессов.


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

Information

Rating
Does not participate
Date of birth
Registered
Activity