Pull to refresh
34
0
Кирилл @Kupyc

User

Send message

Security code review.  Подходы и инструменты AppSec инженера

Level of difficulty Medium
Reading time 3 min
Views 1.6K

Для поиска уязвимостей в приложениях существует множество инструментов. SAST, DAST, IAST, SCA помогают в этом процессе, но часто не покрывают целые категории уязвимостей.

Часть уязвимостей эффективнее искать в коде во время ручного ревью и пентеста. 
В этой статье остановимся на ревью кода.

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

О кастомных HTML-тегах по-человечески и как их использовать

Level of difficulty Medium
Reading time 7 min
Views 12K

Расскажу вам о том, как использовать чудо-юдо под названием «Кастомные HTML‑теги» понятно, но подробно.

Читать далее
Total votes 44: ↑43 and ↓1 +42
Comments 38

Рабочее место мечты

Reading time 7 min
Views 24K

Всем привет!

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

Итак, давайте разбираться!

Читать далее
Total votes 40: ↑30 and ↓10 +20
Comments 56

Увлекательный мир фронтенда

Level of difficulty Easy
Reading time 16 min
Views 13K

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интересные вызовы подкинет он на этот раз. 

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

Читать далее
Total votes 13: ↑12 and ↓1 +11
Comments 17

Система водяных «тёплых полов» в квартире и частном доме. Что нужно знать, чтобы не пожалеть о содеянном?

Reading time 16 min
Views 61K

«Тёплые полы» в квартирах- это модная тема в ремонте ещё с 1990-х.

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

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

Кто тут прав?

Читать далее
Total votes 112: ↑108 and ↓4 +104
Comments 334

Анатомия shadcn/ui

Level of difficulty Medium
Reading time 14 min
Views 4.9K


Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui. Вместо того, чтобы распространяться в виде пакета npm, компоненты shadcn/ui добавляются с помощью интерфейса командной строки (command line interface, CLI), который помещает исходный код компонентов непосредственно в ваш проект. Разработчик библиотеки указывает причину такого решения на официальном сайте shadcn/ui.


"Почему код для копирования/вставки, а не библиотека?

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

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

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

На самом деле, shadcn/ui — это не просто очередная библиотека компонентов, а технология, позволяющая представить дизайн-систему в виде кода.


Цель этой статьи — изучить архитектуру и реализацию shadcn/ui.


Если вы еще не использовали shadcn/ui, я советую просмотреть ее документацию и немного поэкспериментировать с ней, чтобы извлечь из статьи максимальную пользу.

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

Вам не нужен для этого JavaScript

Level of difficulty Medium
Reading time 11 min
Views 27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

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

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Total votes 97: ↑95 and ↓2 +93
Comments 38

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Level of difficulty Easy
Reading time 4 min
Views 22K

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

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

Настройка ZSH в Fedora linux, в Linux Mint и других ubuntu подобных дистрибутивах

Level of difficulty Easy
Reading time 3 min
Views 11K

Свое рабочее место все хотят сделать чуть лучше и удобнее чем оно идет из "Коробки". в данной инструкции можно быстро и без боли настроить Шелл-терминал ZSH, для лучшего отображения информации и при необходимости расширять его функционал плагинами. Попутно установим один из терминалов Kitty который позволяет использовать вкладки и "окна" в работе. Используя его можно структурировать рабочее место легко и быстро. Плюсом данной инструкции будет то что вы получите свежие и стабильные версии NeoVim и некоторых пакетов, т.к. установку и сборку будем производить непосредственно из репозиториев.

Читать далее
Total votes 9: ↑3 and ↓6 -3
Comments 18

Webpack vs esbuild — уже можно использовать в production?

Level of difficulty Medium
Reading time 12 min
Views 11K

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

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 26

Как я поговорил с HR и увеличил конверсию в собеседования

Level of difficulty Easy
Reading time 4 min
Views 21K

Меня зовут Артур. Уже более 4 лет я занимаюсь менеджментом различных IT проектов (от создания лендинга до big data проектов). 

Хочу поделиться своим кейсом, как я убедил HR читать большую презентацию из 15+ слайдов о моих достижениях. 

Эта статья больше поможет менеджерам, маркетологам и дизайнерам. 
А в конце я дам небольшие советы новичкам в IT и программистам.  

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

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

Что я сделал дальше...
Total votes 22: ↑14 and ↓8 +6
Comments 33

Конец тирании Outlook: HTML в почте без таблиц

Reading time 9 min
Views 5.1K

Первый пункт руководства по разработке электронной почты MailChimp гласит: «Кодируйте всю структуру при помощи элемента table». В рекомендациях Cerberus (вероятно, самого популярного шаблона HTML-писем) говорится: «В случае сомнений встройте ещё одну таблицу». Прогресс не дошёл даже до структур на основе float. Кодинг электронной почты — это коллекция обходных путей, хаков и устаревших неподдерживаемых HTML-элементов.

Он долго был Диким Западом несогласованности, для решения задач на котором требовались тайные знания. Изучив таблицу поддержки на сайте look Can I Email (это аналог Can I Use для электронной почты), ты понимаешь, что клиенты электронной почты очень сильно различаются. Создание электронного письма для Apple Mail, Hey, Fastmail, Outlook for Mac, Proton Mail или Mail.ru не сильно отличается от кодинга современной веб-страницы. Однако, например, Yahoo Mail даже не поддерживает фоновые градиенты. Но гораздо сильнее, чем какой-либо иной клиент, электронной почте не давал вырваться из прошлого Outlook для Windows.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 5

Мощь декораторов TypeScript на живых примерах. Декорирование методов класса

Reading time 12 min
Views 22K

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

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

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

Git для ленивых: обзор консольной утилиты Lazygit

Reading time 7 min
Views 25K

При работе с Git-репозиториями часто нужно выполнять множество одинаковых действий: фиксировать изменения, переключать ветки, синхронизировать репозитории. Всё это требует ввода соответствующих команд в терминале. Когда частота ввода повышается до утомительной, на помощь могут прийти различные GUI-инструменты. В статье расскажу об одном из них — Lazygit, легковесном консольном клиенте для Git, который облегчает и упрощает работу с репозиториями.

Читать далее
Total votes 50: ↑48 and ↓2 +46
Comments 35

Настройка badges в репозиториях gitlab, с помощью Gitlab API, в CI/CD

Reading time 3 min
Views 6.1K

Простая визуализация версий установленных релизов, строчек кода, версии интерпретатора и много другое с помощью Gitlab Badges. Создание Gitlab Badges с помощью Gitlab API requests.

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

Visual Studio Code: переносим Find Widget вниз

Reading time 2 min
Views 3.7K

В далеком 2017 году некто Peng Lyu (rebornix) задался вопросом о наилучшем пользовательском интерфейсе для Find Widget в Visual Studio Code. В ходе дискуссии было выбрано всем нам знакомое поведение поисковой строки в VSCode. И там же было отвергнуто предложение о возможности закрепления поисковой строки в нижней части редактора.

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 5

Как ускорить работу PostgreSQL с помощью конфигурации базы и оптимизации запросов

Reading time 12 min
Views 34K

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

Администратор баз данных в Southbridge и ведущий инженер компании Data Driven Lab Иван Чувашов занимается базами данных 15 лет и сегодня хочет поговорить про оптимизацию запросов. Разбирать все будет на примере PostgreSQL, так как именно с этой базой он сейчас работает плотнее всего.

Эта статья — конспект бесплатного вебинара об оптимизации PostgreSQL от «Слёрма». Если вам удобнее смотреть, а не читать, переходите на YouTube.

Читать далее
Total votes 19: ↑17 and ↓2 +15
Comments 13

Что нужно знать системному аналитику уровня Middle и Senior: план развития Hard Skills

Reading time 11 min
Views 94K

Решил составить для себя план развития (я в IT с 2007, как аналитик - с 2017). Что получилось: некий чек-лист с перечислением 13 блоков (от работы с требованиям до безопасности) с описанием, что обязательно и желательно знать/уметь.

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

Читать далее
Total votes 25: ↑24 and ↓1 +23
Comments 28

Прокси-Аналитика для Notion

Reading time 2 min
Views 2.7K

Notion - это такой потрясный блокнот с таблицами и картинками. Черновик статьи я пишу именно в нем :) Не является рекламой или индивидуальной инвестиционной рекомендацией. В нем есть функция публичного просмотра страницы (например ВпнНаоборот или Док-ия Spline - это страницы Notion), но нет встроенного инструмента для отслеживания просмотров этой страницы.

Задача: как узнать кол-во просмотров страницы в Notion?

Узнать
Total votes 5: ↑3 and ↓2 +1
Comments 0

Безопасность в Linux

Reading time 8 min
Views 31K

В новой статье говорим про безопасность в Linux: как настроить и что важно учитывать в процессе. Дополнительно разбираем PAM и модули аутентификации, рассматриваем iptables. 

За основу взят один из уроков нашего практического курса «Администрирование Linux Мега».

Читать далее
Total votes 24: ↑14 and ↓10 +4
Comments 19

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity