Pull to refresh
0
0
Даниил @sonytruelove

Инженер-программист Системный аналитик UX dev SMM

Send message

Метрики и зачем они нам

Level of difficultyMedium
Reading time12 min
Views2.2K

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

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

Читать далее
Total votes 16: ↑14 and ↓2+19
Comments8

Задачки «полуфинала» соревнования МТС (True Tech Arena 2024) — обзор, разбор

Level of difficultyMedium
Reading time8 min
Views1.1K

Немного неожиданно что этот уровень назвали "полуфинал" - участники попадали в него сразу после квалификации, проходившей в первой половине октября. И в квалификации задачки были "не бей лежачего" (коротко упомянем их тоже). В "полуфинале" же предложили 5 задач с тем чтобы решить их за 5 часов, но время можно было выбрать любое в течение нескольких дней. Я решил две, ещё две понимаю как решать и по одной кажется без идей. На решённые задачи затратил минут 20, на нерешенные часа полтора. Давайте посмотрим на них вместе - вдруг вам будет интересно обсудить, поправить или подсказать.

Оговорюсь: я не имею отношения к МТС и не занимаюсь "спортивным/олимпиадным" программированием. Обычный мидл-девелопер из обычной конторы. Отчасти поэтому мне как и большинству из вас подобные задачки в излишних количествах кажутся немного скучными :)

Здесь речь про "алгоритмический трек" - а насчет параллельного соревнования по "роботам" можно посмотреть мою предыдущую статью.

Итак, к задачкам!
Total votes 7: ↑6 and ↓1+7
Comments0

Десять уровней развития предпринимателя

Level of difficultyEasy
Reading time3 min
Views3.9K

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

Читать далее
Total votes 14: ↑10 and ↓4+9
Comments2

Атаки на веб-кэширование. Отравление кэша: теория и практика

Level of difficultyMedium
Reading time13 min
Views4.2K

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

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

Читать далее
Total votes 11: ↑11 and ↓0+15
Comments7

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Level of difficultyMedium
Reading time5 min
Views5.5K

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов.

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

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments13

Лидерство в команде разработки

Level of difficultyEasy
Reading time9 min
Views3.9K

Привет! Я Павел Каравашкин, руковожу разработкой платформы T-API в Т-Банке. В нашей команде девять человек, которые пишут на разных языках и живут в разных городах, у них разный возраст и профессиональный опыт.

Еще я лидер профессии «системный анализ» в Т-Бизнесе и помогаю развивать сообщество специалистов в нашей компании. На одном из предыдущих мест работы мне удалось открыть отдел системного анализа с нуля и за год нанять 12 человек.

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

Читать далее
Total votes 18: ↑14 and ↓4+13
Comments11

Hotspot для бизнеса своими руками

Reading time19 min
Views22K

Недавно мне посчастливилось заняться достаточно интересной практической задачей по организации общественного доступа в Интернет для международной компании «Coffee Сup», имеющей 5 собственных баров формата «кофе с собой» в разных городах, а так же дилеров по всей России и странах СНГ. Этими удаленными осенними вечерами родилось решение «сделай все своими руками», поэтому делюсь опытом и практическими наработками.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments19

Введение в OpenLayers

Level of difficultyEasy
Reading time21 min
Views2.6K

Всем привет! Мы рассмотрим библиотеку для построения карт OpenLayers (версии 8.2.х). Вы узнаете о том, какие возможности она предоставляет, как ей пользоваться и почему в команде НСПД мы выбрали именно её. В статье будет много примеров кода, которые также доступны на GitHub и StackBlitz.

Для чтения статьи необходимо иметь хотя бы базовые знания HTML, CSS и JavaScript; иметь представление о сборщиках кода (в примерах использую Vite).

Приятного чтения! 🙂

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments16

TypeScript клиент для Wildberries API

Reading time1 min
Views2.5K

В рамках работы над одним из проектов понадобилось использовать API Wildberries.
Т.к. пишу на TypeScript, лучшим способом создания типов была генерация из Swagger.

В итоге всё вылилось в библиотеку wildberries-api.

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments4

Как работает интернет

Level of difficultyEasy
Reading time30 min
Views94K

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее
Total votes 106: ↑99 and ↓7+112
Comments61

Мой опыт создания телеграм-бота на NodeJS/grammY

Level of difficultyHard
Reading time13 min
Views2.9K

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

Так как я предпочитаю использовать JavaScript и на фронте, и на бэке, то среда существования для бота была определена сразу же - nodejs. Осталось определиться с библиотекой - Telegraf или grammY? Так как у второй в примере использовался кошерный import, а у первой - старомодный require, я выбрал grammY.

Под катом - пример телеграм-бота в виде nodejs-приложения с использованием библиотеки grammY, который запускается как в режиме long pooling, так и в режиме webhook, созданный с применением моей любимой технологии - внедрения зависимостей через конструктор (TL;DR).

Читать далее
Total votes 6: ↑6 and ↓0+10
Comments7

Ручной деплой NestJS и Angular приложений на выделенном сервер через «Docker Compose» и «PM2»

Reading time33 min
Views1.1K

Покупаем выделенный сервер и настраиваем SSH доступ к нему с локального компьютера.
Добавляем https://github.com/SteveLTN/https-portal в "Docker compose" для автоматической генерации и продления сертификатов.

Читать далее
Total votes 1: ↑1 and ↓0+3
Comments2

Пишем nest.js с нуля на typescript

Reading time28 min
Views19K

Nest.js - популярный node.js фреймворк с отличной архитектурой, основанной на Angular.

Под капотом Nest использует надежные платформы HTTP-серверов, такие как Express (по умолчанию), и при желании также может быть настроен для использования Fastify! Nest обеспечивает уровень абстракции по сравнению с этими распространенными платформами Node.js (Express/Fastify), но также предоставляет свои API-интерфейсы непосредственно разработчику. Это дает разработчикам свободу использовать множество сторонних модулей, доступных для базовой платформы.

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments0

Райтап на таск «Крестики» с Codeby Games | CTF, реверс-инжиниринг

Level of difficultyMedium
Reading time6 min
Views1.1K

Хотели порешать эти ваши реверс-инжиниринги на CTF? Да ещё и на C++ с Windows Forms? К тому же чтобы он был не сложным и в райтапе были объяснения? Тогда вам сюда 😉

Ссылка на задание (файлы): нажми на меня :)

Читать далее
Total votes 3: ↑3 and ↓0+7
Comments0

Безопасность контейнерных сред: как отбить атаки киберпиратов

Level of difficultyHard
Reading time22 min
Views2.6K

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

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments2

Анализ безопасности приложений, использующих GraphQL API

Level of difficultyMedium
Reading time14 min
Views4.3K

Привет! Меня зовут Даниил Савин. Летом я участвовал в программе стажировки для безопасников от Бастион и в процессе глубоко исследовал тему безопасности приложений, использующих GraphQL. Так появилась статья, из которой вы узнаете:

• какие встроенные функции есть у GraphQL;

• как тестировать GraphQL API;

• какие инструменты использовать;

• и как обходить различные защитные механизмы.

Читать далее
Total votes 22: ↑21 and ↓1+22
Comments2

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
From 400,000 ₽
Web development
TypeScript
Node.js
Express
NestJS
React
NextJS
Webpack
Jest
GraphQL