Pull to refresh
7
0
Gonchik Tsymzhitov @gonchik

Atlassian enthusiast

Send message

Memory consumption of .NET applications on Linux

Level of difficulty Medium
Reading time 12 min
Views 5.2K

In this article, I will cover the memory consumption of .NET applications on Linux. Firstly, we will try to understand the idea of virtual memory. Then, we will examine the memory statistics that Linux provides, such as RSS (Resident Set Size), VmData, RES (Resident Memory Size), and SWAP. Following that, we will delve into specifics related to the .NET.

Read more
Total votes 3: ↑3 and ↓0 +3
Comments 0

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

Reading time 23 min
Views 227K

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

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

Это было бы смешно, если бы от способности быстро в уме прикинуть результат не зависела способность быстрее создавать сложные алгоритмы. 

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Total votes 411: ↑395 and ↓16 +379
Comments 795

150+ хакерских поисковых систем и инструментов

Reading time 11 min
Views 74K

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

Пост состоит из 8 объемных разделов:

1. метапоисковики и поисковые комбайны;

2. инструменты для работы с дорками;

3. поиск по электронной почте и логинам;

4. поиск по номерам телефонов;

5. поиск в сети TOR;

6. поиск по интернету вещей, IP, доменам и поддоменам;

7. поиск данных об уязвимостях и индикаторов компрометации;

8. поиск по исходному коду.

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

Читать далее
Total votes 64: ↑61 and ↓3 +58
Comments 6

Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства

Reading time 14 min
Views 31K

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

Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных. 

Читать далее
Total votes 60: ↑57 and ↓3 +54
Comments 9

Amazon S3 — детективное расследование внутренней архитектуры

Reading time 9 min
Views 17K

Мне понравился опыт прошлого расследования по фейсбуку, и я решил организовать очередную серию, теперь про Amazon. Для нетерпеливых — в самом конце статьи описан итоговый вариант архитектуры Amazon S3 и проанализированы его свойства.



Не так давно Амазон объявил о переходе S3 с модели eventual consistency на strong consistency, то есть, предоставления гарантии read-after-write, чтения того, что было только что записано. Сообщество отреагировало, но как-то очень вяло: Amazon S3 Now Delivers Strong Read-After-Write Consistency


Первое, что лично мне подумалось в ответ на эти новости: а как же теорема CAP?

Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 16

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

Reading time 9 min
Views 13K

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее
Total votes 25: ↑22 and ↓3 +19
Comments 5

Почему Kafka такая быстрая

Reading time 14 min
Views 25K


За последние несколько лет в сфере архитектуры ПО произошли огромные изменения. Идея единственного монолитного приложения или даже нескольких крупных сервисов, разделяющих общий массив данных, практически стерта из умов и сердец инженеров-практиков во всем мире. Преобладающими инструментами в создании современных бизнес-ориентированных приложений стали автономные микросервисы, событийно-ориентированная архитектура и CQRS. Вдобавок быстрый рост количества подключаемых устройств (мобильных, IoT) многократно увеличивает объем событий, которые система должна оперативно обрабатывать.


В статье рассказываем, за счет чего Apache Kafka работает достаточно быстро для современных проектов.

Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 23

Определяем пол и возраст по фото

Reading time 2 min
Views 6.6K


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

К примеру, имеется следующая информация: пол, возраст и ссылка на фото. Для проверки соответствия воспользуемся библиотекой py-agender языка Python.

Работа библиотеки осуществляется в два этапа. На первом, opencv определяет расположение лица на фото. На втором, нейронная сеть архитектуры EfficientNetB3, которая обучена на наборе данных UTKFace DataSet, определяет пол и возраст обладателя лица на фото.

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 2

Вы неверно измеряете загрузку процессора

Reading time 6 min
Views 63K
Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:



А на самом деле это выглядит вот так:



«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.
Читать дальше →
Total votes 95: ↑88 and ↓7 +81
Comments 62

DevSecOps: организация фаззинга исходного кода

Reading time 23 min
Views 20K


Узнав результаты голосования, проведённого в одной из наших прошлых статей, мы решили более подробно обсудить вопрос организации фаззинга. Кроме того, в рамках онлайн-встречи по информационной безопасности "Digital Security ON AIR" мы представили доклад, основанный на нашем опыте в DevSecOps, где также рассказали об этой интересной теме.


Записи всех докладов можно посмотреть на нашем Youtube-канале. Если же вы предпочитаете текстовый формат, добро пожаловать под кат!

Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 2

Сколько стоит коммерческая тайна

Reading time 5 min
Views 5.6K
Здравствуйте! Я профессионально занимаюсь юридическими вопросами, связанными с коммерческой тайной. И считаю, что в информационной сфере мои знания могут помочь избежать различных неприятных ситуаций. В этой статье я хочу рассказать о защите коммерческой информации. На первый взгляд, эти вопросы кажутся простыми, но на самом деле, здесь кроется множество сложностей и важных нюансов, о которых люди даже не задумываются.

Так как Хабр – ресурс, связанный, прежде всего, с IT-сферой, то и примеры я буду приводить, связанные с информационными и компьютерными технологиями. Важно понимать, что информационные технологии и компьютерные информационные технологии – это два разных направления, которые имеют как сходства, так и отличия. Здесь, на Хабре, уже рассматривали различие между ними, и в этом я согласен с автором публикации.
Читать дальше →
Total votes 12: ↑6 and ↓6 0
Comments 9

Билдеры или конструкторы? Рассуждаем вслух

Reading time 2 min
Views 8.2K
Всем привет! Хочу порассуждать над целесообразностью использования билдеров для несложных объектов.

Для упрощения буду использовать аннотации lombok'a:

@Value
@Builder

Недолго погуглив, получаем, что builder Отделяет конструирование сложного объекта от его представления так, что в результате одного и того же процесса конструирования могут получаться разные представления. Только ли для сложных объектов?

Рассмотрим на простом примере:

@Value
public class Info {
    @Nullable String uuid;
    @Nullable String email;
    @Nullable String phone;
}

Довольно-таки простой класс. На деле получаем иммутабельный объект, который инициализируется через конструктор.

Но, как мы видим, все поля nullable, и создание такие объектов будет выглядеть не очень красиво:

        final Info info1 = new Info(null, "email@email.com", "79998888888");
        final Info info2 = new Info("3d107928-d225-11ea-87d0-0242ac130003", null, null);
        final Info info3 = new Info("3d107928-d225-11ea-87d0-0242ac130003 ", "email@email.com", null);
...

Безусловно, есть варианты:

  1. Объекты, где немного полей разных типов, можно завезти несколько конструкторов. Но это не решает проблему класса выше.
  2. Использовать setter'ы — субьективно, нагромождает код.

Читать дальше →
Total votes 15: ↑9 and ↓6 +3
Comments 54

Как стать экспертом для поисковых систем

Reading time 3 min
Views 4.4K
Не так давно я познакомился с описанием E-A-T алгоритма от Google, который расшифровывается как «Expertise, Authoritativeness, Trustworthiness» (экспертность, авторитетность, достоверность). И мне, как автору, который пишет для разных сайтов стало интересно — насколько я сам соответствую критериям этого алгоритма и могу ли повлиять на текущую ситуацию. Тем более, что некоторые заготовки в виде открытой гугл таблицы для учета и мониторинга собственных публикаций LynxReport уже были.


Google Таблицы → Node.js → Google Charts → Сайт-визитка → Топ-3 место в поиске ФИО + специализация

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

  1. Актуальную сводку публикаций, расположенную на временной шкале Google Charts.
  2. Автоматическую генерацию выходных данных и ссылок на статьи из гугл таблицы в html версию визитки.
  3. PDF версии статей со всех сайтов, из-за опасений закрытия некоторых старых сайтов в будущем.

Как получилось можно посмотреть здесь. Реализовано на платформе Node.js с использованием Bootstrap, Google Charts и Google Таблицы для хранения исходных данных.
Node.js, Google Таблицы, Bootstrap, Google Charts
Total votes 5: ↑5 and ↓0 +5
Comments 7

Что происходит, когда вы обновляете свой DNS

Reading time 7 min
Views 23K

Fenix by Takeda11

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

Команда Mail.ru Cloud Solutions перевела статью разработчика и автора статей Джулии Эванс, где она отвечает на эти вопросы и популярно рассказывает, что происходит во время обновления DNS с точки зрения фронтендера.
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 10

Юристы менеджерам в ИТ: советы при заключении сделок и оформлении контрактов (переписка, работа без договора, NDA)

Reading time 8 min
Views 4.2K


Железный юрист Redmadrobot Марина Бутурлина рассказала про ситуацию, когда клиент готов заказать работы, а с подписанием договора всё сложно и постоянно откладывается. Если вам хочется понять, как действовать, чтобы ничего не упустить, но вы не юрист, то эти советы для вас.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 3

Trello — начало работы и скрытые фишки

Reading time 5 min
Views 99K

Что такое Trello, и как оно работает?




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


P.S. если вы хоть раз открывали приложение trello листайте до основы работы.



Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 9

Как работать с джуниорами?

Reading time 14 min
Views 21K
Если попробовать ответить на вопрос в заголовке одним предложении, то получится — доверять, но проверять. Доверьте джуниорам какую-то работу, проверьте, помогите, повторите цикл. Но это грубое и упрощённое правило, потому что в работе с джунами возникает так много тонкостей, что об этом нужно рассказывать обстоятельно.



Рассказывать будет Серёжа Попов, CEO Лига А. и директор по талантам в HTML Academy. В Лига А. работа с джуниорами поставлена на поток: половина фронтендеров компании — это выпускники HTML Academy. Выпускники приходят в компанию на стажировку, где им помогают развиваться, а 95% тех, кто после стажировки ищет другую работу — трудоустраивается.

Серёжа уже больше 3 лет выполняет роль наставника для джуниор-фронтендеров и научился работать с ними так, чтобы новички быстро росли до крутых специалистов и приносили пользу компании. Нюансами, принципами, правилами и секретами работы, он поделился в докладе на TeamLead Conf 2020, а мы расшифровали.
Total votes 32: ↑29 and ↓3 +26
Comments 52

Ищем уязвимости в TikTok при помощи OSINT

Reading time 16 min
Views 17K


Вступление


TikTok — одно из самых популярных приложений для просмотра мобильного видео. В нём зарегистрировано 800 миллионов пользователей. Пользователи создают контент с помощью фильтров, музыки, эффектов. Видео создаются странные, но захватывающие внимание.

Для столь обширной и популярной платформы развлечения есть очень большой пласт минусов, которые постепенно становятся явными для СМИ. Незащищенный HTTP трафик и спуфинг СМС ссылок — это конкретные примеры уязвимости, которые были обнаружены в приложении за последние 3 месяца. Несмотря на это, люди продолжают публиковать видео. Показывают, в какие школы они ходят, видео внутри и за пределами своих домов и даже раздают телефонные номера и другую личную информацию. Именно с этой темы стоит и начать нашу статью.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 12

Нет Cookies, нет проблем — использование ETag для отслеживания пользователей

Reading time 6 min
Views 41K
Работая старшим консультантом по дижитал-аналитике в ведущем международном аналитическом агентстве, с огромным интересом наблюдаю за нынешним крестовым походом современных веб-браузеров против технологии cookie.

Оказывается, есть способ отслеживать отдельных не вошедших в систему пользователей без использования файлов cookie. Я тоже реализовал это. Сейчас покажу как.


Для наглядности я создал демо-сайт. Вот он.

Нажмите на каждую из трёх кнопок Page → На всех трёх один и тот же идентификатор.
Закройте окно браузера и снова откройте сайт → Идентификатор не поменялся.
Выключите компьютер и зайдите на эту веб-страницу завтра → Идентификатор всё тот же.
Проверьте ваши куки → Демо-сайт не записывает куки и не считывает их.
Проверьте URL → Сомнительные строки запроса отсутствуют.

Итак, как именно я могу хранить идентификатор и узнавать, что вы с определённого устройства возвращаетесь на сайт, при этом без входа в систему и без использования куки?
Читать дальше →
Total votes 75: ↑71 and ↓4 +67
Comments 65

Безопасность REST API от А до ПИ

Reading time 17 min
Views 117K

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

image
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 22

Information

Rating
Does not participate
Location
Россия
Registered
Activity