Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

7 Советов по созданию чистого кода в React Typescript, которые Вам необходимо знать

ReactJS *TypeScript *
Из песочницы
Перевод

Термин “Чистый код” означает не просто код, который работает. Он также означает собой грамотно организованный код, который легко читать, просто понимать и элементарно поддерживать.

Давайте посмотрим на некоторые из лучших практик по чистому коду в React, которые могут отправить удобство по поддержанию Вашего кода в космос!🚀🌕

Читать далее
Рейтинг 0
Просмотры 239
Комментарии 0

Новости

Устранение утечек памяти с помощью профилирования

Блог компании RUVDS.com Клиентская оптимизация *Серверная оптимизация *Серверное администрирование *Отладка *
Перевод

Если система работает длительное время, объём свободной памяти может уменьшаться, что может приводить к отказу некоторых сервисов. Это типичная проблема утечки памяти, которую обычно сложно спрогнозировать и выявить. Удобными инструментами для решения подобных проблем являются профайлеры кучи. Они отслеживают распределение памяти и помогают разобраться, что находится в куче программы, а также найти утечки памяти.

В этой статье мы расскажем об использовании профайлеров кучи, а также объясним, как спроектированы и реализованы популярные профайлеры кучи, например, профайлер кучи Go, gperftools, jemalloc и Bytehound.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 552
Комментарии 0

Как стажёр оптимизировал запросы и нашел баг в Django

Блог компании KTS Python *Django *

Недавно я нашел баг в Django, создал тикет с исправлением и его приняли.

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 1.8K
Комментарии 2

Построение архитектуры при интеграции алгоритмов шифрования в приложении для финансового учета

Информационная безопасность *JavaScript *
Из песочницы

Привет! Меня зовут Алексей, я — разработчик. Здесь я расскажу о недавнем кейсе, в рамках которого мы реализовали нетипичное решение для обеспечения безопасной обработки данных. А также, сколько времени ушло на выбор оптимального архитектурного решения, и почему мы остановились на сложном в реализации методе шифрования.

Утечка данных 150 тыс. клиентов Совкомбанка, слив исходного кода Госуслуг, потеря данных более 8 млн. пользователей сервисов доставки еды — мне продолжать? Кажется, всё это — достаточно веские причины, чтобы задуматься о безопасности. Говоря о приложениях для финансового учета, вопрос сохранности данных стоит ребром.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 283
Комментарии 0

Happy Developer: как мы создали полноценный BYOD в банке

Блог компании Росбанк Информационная безопасность *Сетевые технологии *Управление разработкой *Удалённая работа

Спрос на IT-специалистов неуклонно растет последние пять лет, и чтобы привлечь новых сотрудников, компании стараются удовлетворить все требования кандидатов. Комфортный офис — ок. Привычный технологический стек — ок. Удобная удаленка… вот здесь есть оговорки. Мы как банк постоянно работаем с большими объемами конфиденциальных и личных данных, с тем, что составляет банковскую тайну. Повышенные требования к ИБ, защита от утечек данных, фрода налагают много ограничений на возможности удаленки, которые может предложить финтех. Из-за этого снижается привлекательность компаний для соискателей. В этом посте мы расскажем о проекте Росбанка Happy Developer, благодаря которому наши сотрудники могут получать полный доступ к защищенным сервисам в формате BYOD, то есть с любого устройства, имеющего выход в интернет.

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 611
Комментарии 4

Криптография и будущее децентрализованных вычислений

Криптография *Анализ и проектирование систем *IT-инфраструктура *Solidity *Распределённые системы *
Перевод

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

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 420
Комментарии 3

(не) Безопасный дайджест: иск за сливы, коварный фишинг и рекордная утечка персданных

Блог компании SearchInform Информационная безопасность *

Пришло время обсудить, был ли июль жарким на инциденты. Традиционно в дайджесте собрали самые впечатляющие истории, о которых писали СМИ. Тут и ненадежные поставщики, и многострадальные Marriott и СДЭК с очередными сливами и не очень ответственный оператор персданных, которому, кажется, все равно на клиентов.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 386
Комментарии 0

Хватит ссылаться на TIOBE

Программирование *
Перевод

Что такое TIOBE?


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

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

Источник: tiobe.com.

Индекс языков программирования, помогающий выбрать язык, который нужно использовать. Похоже, полезная штука!
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 2.2K
Комментарии 2

BSIMM: вдумчиво о плюсах и минусах

Блог компании Swordfish Security Информационная безопасность *Управление разработкой *

Привет, Хабр!

Меня зовут Света Газизова, я ведущий аудитор компании Swordfish Security. Поговорим сегодня о безопасной разработке, вернее, об инструментах, которые могут сделать ее проще (или нет).

Никому не хочется быть на прицеле у хакеров. Все боятся, что данные клиентов утекут в сеть. И уж тем более никто не желает видеть по ночам кошмары про DDoS-атаки. Инструменты безопасности (лекарства от всех этих страхов) вроде бы и есть, но ими сложно управлять. А кроме этого, нужно постоянно следить за разработкой. Неплохим выходом из этой мрачной реальности может стать фреймворк безопасной разработки. Главное — уметь его готовить. На сегодняшний день таких фреймворков существует несколько, самые яркие — Microsoft SDL, OWASPSAMM, OpenSAMM, BSIMM. О последнем как раз пойдёт речь в этой статье.

Содержание:

Посмотреть самое интересное
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 740
Комментарии 3

Как мошенники зарабатывают миллионы на афере «разделка свиней»

Блог компании SearchInform Информационная безопасность *Криптовалюты
Перевод

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

В блоге krebsonsecurity в подробностях рассказана «анатомия» мошеннической аферы, называемой “pig butchering”. Приводим перевод поста с небольшими сокращениями.

Читать далее
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 8.8K
Комментарии 20

Расчет значения синуса простой математикой

Математика *
Из песочницы

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

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 2.2K
Комментарии 10

Угнать SIGABA за 24 часа. Часть 2

Блог компании FirstVDS Криптография *

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

1. Создание ранжированного списка наиболее вероятных настроек ротора шифрования и пошаговых последовательностей.

2. Обработка возможных настроек роторов шифрования и пошаговых последовательностей, созданных (и ранжированных) на первом этапе.

Продолжим.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 210
Комментарии 0

Как запускать поды как сервисы systemd в Podman

Блог компании VK Системное администрирование *DevOps *Kubernetes *
Перевод


Расширять традиционные практики администрирования Linux с помощью контейнеров — естественный путь развития. Podman без проблем интегрируется в Linux, но поддержка systemd — краеугольный камень этой интеграции. Команда VK Cloud Solutions перевела статью о том, как она работает.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 568
Комментарии 1

Зафар Астанов: «Бороться с киберпреступностью помогает супероружие — наши технологии»

Блог компании Group-IB Информационная безопасность *Карьера в IT-индустрии

Возможно, вы уже догадались, что весь стэк инженерных технологий Group-IB, читай каждый наш продукт, служит одной очень важной цели — обнаружить киберпреступника и остановить его, защитив от его действий компании и их клиентов. О наших бойцах из сферы киберкриминалистики и реагирований на инциденты, а также из киберразведки (Threat Intelligence) вы уже знаете. Сегодня мы перенесемся в мир антифрода — борьбы с финансовым мошенничеством. Именно этим занимается новый герой нашего проекта “Киберпрофессии будущего” — Зафар Астанов. Он расскажет о том, какие схемы придумывают мошенники и как работают технологии, защищающие 200 млн клиентов банков по всему миру.  В конце статьи, как всегда, ссылка на актуальные вакансии Group-IB.

Читать далее
Рейтинг 0
Просмотры 819
Комментарии 0

Feature Engineering или стероиды для ML моделей

Блог компании RUVDS.com Python *Big Data *Data Engineering *

Привет, чемпион!

Часто при построении ML моделей мало просто взять сильную модель. Оказывается, иногда грамотная предобработка данных существенно важнее. Сегодня речь пойдёт про feature engineering.

Рассмотрим несколько кейсов на эту тему более подробно. Данные будут упрощённые, но обещаю, от этого примеры не станут менее интересными 😉.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 690
Комментарии 0

Flutter jank shaders — история проблемы и пути решения

Блог компании Россельхозбанк Разработка под iOS *Разработка под Android *Dart *Flutter *

Меня зовут Андрей, я Flutter-разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня поговорим о «jank shaders» — дёргающейся анимации при первых запусках приложений на Flutter — и о том, как можно постараться её исправить.

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

На скриншоте ниже приведен пример задержки анимации перехода между экранами при первом запуске.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 555
Комментарии 2

Пять советов по исправлению перекошенных соединений в Apache Spark

Блог компании FirstVDS SQL *Серверная оптимизация *Apache *
Перевод

Соединения (Joins) являются одними из наиболее фундаментальных преобразований в типичной процедуре обработки данных. Оператор Join позволяет коррелировать, обогащать и фильтровать два входных набора (пакета / блока) данных (Datasets).
Обычно два входных набора данных классифицируются как левый и правый на основе их расположения по отношению к пункту/оператору Join.
По сути, соединение работает на основе условного оператора, который включает логическое выражение, основанное на сравнении между левым ключом, полученным из записи левого блока данных, и правым ключом, полученным из записи правого комплекса данных. Левый и правый ключи обычно называются соединительными ключами (Join Keys). Логическое выражение оценивается для каждой пары записей из двух входных наборов данных. На основе логического вывода, полученного в результате оценки выражения, условный оператор включает условие выбора — для отбора либо одной из записей (из пары), либо комбинированной записи (из записей, образующих пару).
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 181
Комментарии 0

Исследуем граф «мир тесен» при помощи Neo4j

Блог компании Издательский дом «Питер» Программирование *Java *Алгоритмы *Социальные сети и сообщества
Перевод

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

Если каждый в сети знает k других людей, то можно упрощенно предположить, что, начав от этого человека и совершив n переходов от узла к узлу, мы найдем kⁿ человек. Учитывая экспоненциальный рост, потребуется совсем немного времени, чтобы построить путь от любого конкретного человека до любого другого в графе.

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

В главе 20 книги Networks Crowds and Markets ее авторы Дэвид Изли и Джон Клейнберг дают теоретический аппарат, описывающий, как в реальном мире могут возникать феномены, укладывающиеся в граф «мир тесен». В этой теории сочетается идея гомофилии, согласно которой схожие люди кучкуются вместе, и идея слабых связей, где отношения ветвятся в масштабах всей сети. Объяснение основано на работе Дункана Уоттса и Стива Строгаца. Давайте проследим эти примеры при помощи кода, написанного при помощи Neo4j.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 548
Комментарии 0

Что такое Linux? Статья-шпаргалка для новичков

Блог компании Timeweb Cloud Системное администрирование **nix *Серверное администрирование *Разработка под Linux *
Tutorial

Что такое Linux?


Салют! Это статья — попытка систематизировать некие базовые знания об Linux’ах, которая может быть полезна для продвинутых пользователей, разработчиков и админов Windows, которые еще не имели (или имели крайне небольшой и отрывочный) опыт работы с Linux системами и не знают, с чего начать, однако хотят попробовать — сами, или по причине производственной необходимости. Каждый пункт содержит не исчёрпывающие сведения, а лишь отправные пункты для дальнейшего изучения (гуглежа) материала.

Содержание:

  1. Linux Kernel aka Ядро
  2. GNU Core Utilities (coreutils)
  3. Bash — интерпретатор командной строки
  4. Системы управления пакетами и пакетные менеджеры
  5. Init systems — системы инициализации
  6. systemd
  7. Ваш первый вход на сервер
  8. Управляем пользователями
  9. Сети
  10. FHS — Filesystem Hierarchy Standard — навигация в файловых системах Linux
  11. Window system / display server — сервер экранов
  12. Полезные ссылки и список литературы для изучения


Если интересно — прыгайте под кат
one root to rule them all
Всего голосов 26: ↑21 и ↓5 +16
Просмотры 6.1K
Комментарии 12

Эскалация привилегий в Kubernetes

Информационная безопасность *DevOps *Микросервисы *Kubernetes *
Перевод

Когда кто-то говорит о безопасности, в первую очередь имеет ввиду авторизацию и аутентификацию, но в контексте Kubernetes эти две составляющие являются лишь маленькими кусочками большого пазла.

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 706
Комментарии 0