Pull to refresh
2
0

User

Send message

Погружение в DevOps: запускаем GitLab и GitLab Runners локально

Level of difficultyMedium
Reading time3 min
Views3.6K

В этой статье мы рассмотрим, как развернуть собственный GitLab сервер и GitLab Runners с использованием Docker Compose. Это руководство поможет вам создать локальную среду для изучения и практики GitLab CI/CD. Мы пройдем через все этапы: от настройки контейнеров до регистрации раннеров и создания примера CI/CD пайплайна. Независимо от того, новичок вы в CI/CD или опытный разработчик, этот гайд предоставит вам ценные знания для улучшения вашего процесса разработки.

Читать далее
Total votes 7: ↑4 and ↓3+5
Comments2

Интересный пример кода на Go и зашоренность мышления

Reading time8 min
Views3K

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

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

Как стать нормальным системным администратором?

Level of difficultyEasy
Reading time49 min
Views15K

Для кого эта статья?

Для школьников и студентов ИТ‑направлений, а также просто для людей, занятых в ИТ‑отрасли. Всех остальных вежливо попрошу убраться, если вы не имеете никакого отношения к ИТ. Лучше дальше работайте по тому же направлению и не лезьте в эту прекрасную отрасль. Если вы несколько лет клали плитку, а потом вдруг вам показалось, что, прочитав пару книжек и статей, вы станете системным администратором Linux — вы очень сильно ошибаетесь. Поэтому очень многие специально не берут людей без профильного образования или с наличием существенного опыта работы не по профилю. Вайтишников никто не любит, и здесь 1 год опыта работы по профилю ценится гораздо выше, чем 5 лет не по профилю.

Сисадмин — это профессия, которая требует очень большого интеллектуального труда, усидчивости, высокого уровня понимания подхода и ответственности, потому что в вашем распоряжении будет ИТ‑обеспечение организации, информация и дорогое оборудование. Сисадмин может специально (потому что хочет показать, кто здесь герой) или случайно (потому что просто тупой) остановить деятельность компании полностью и нанести очень существенный ущерб, поэтому в сисадмины берут (в нормальные сисадмины я имею ввиду) очень сильно далеко не каждого, и желательно с двумя почками и мозгами. И да, здесь не будет бреда в стиле «сисадмин — это призвание», потому что никакое это не призвание и не талант, это результат систематического и плодотворного труда, как и во всех профессиях. Но с тем, что эта профессия не для тупых и ленивых, я полностью согласен.

Читать далее
Total votes 35: ↑15 and ↓200
Comments180

Утилиты на PowerShell для системных администраторов

Level of difficultyEasy
Reading time2 min
Views21K

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

ScanPC

Утилита сканирующая удалённый ПК и показывающяя версию ОС, информацию о дисках, железе, открытых портах из списка (22,445,80,8080,3389,5900,1112,2575,10050), установленных принтерах, пользователях вошедших в систему, список профилей пользователей в папке C:\Users, размер системных папок и фалов, папки с документами в профилях пользователей размером больше 100МБ.

Читать далее
Total votes 13: ↑11 and ↓2+12
Comments11

Пытливый взгляд АНБ: что такое война за Интернет-безопасность (Часть 2)

Reading time11 min
Views45K
image

Предположения о том, что разведывательные агентства опередили нас настолько, что защищаться от них шифрованием бессмысленно, неверны. Как показывает один документ из архива Сноудена, АНБ не преуспело в расшифровке ряда коммуникационных протоколов, как минимум в 2012 году. В презентации для конференции, проведенной в том году, значится список программ шифрования, которые американцам взломать не удалось. В процессе дешифровки криптологи АНБ разделили свои цели на пять уровней согласно уровню сложности атаки и получаемому результату, начиная с «тривиальных» и до «катастрофических».

[первая часть]

Мониторинг пути перемещения документа в Сети классифицируется, как «тривиальная» цель. Запись чата в Facebook – «несложная» задача, в то время как уровень сложности дешифровки писем, отправляемых через российский провайдер интернет-сервисов Mail.ru, рассматривается, как задача «умеренной сложности». Но все три эти уровня классификации не представляют серьезных проблем для АНБ.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments14

Создание Web components на Vue 3

Level of difficultyEasy
Reading time3 min
Views4.9K

Можно написать на Vue 3 какой-нибудь полезный компонент и захотеть дать возможность использовать его не только в Vue проектах, но и на любых других фронтендах. Сделать это несложно через регистрацию его как web component, или подключение "микро-фронтендом". Оба варианта будут рассмотрены ниже.

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

О важности гайдлайнов в дизайне иконок

Level of difficultyEasy
Reading time5 min
Views2.2K

Всем привет! Я Алёна Лагойкина, дизайнер в AGIMA. Хочу рассказать вам о роли иконок в улучшении пользовательского опыта. Они служат визуальными подсказками, которые быстро передают информацию и направляют пользователей к ключевым действиям. При добавлении новых элементов на сайт важно поддерживать единый визуальный стиль, который будет перекликаться с фирменным стилем всего сайта.

Читать далее
Total votes 24: ↑22 and ↓2+21
Comments4

Создаём виртуальную сеть, как это делает Docker

Level of difficultyEasy
Reading time8 min
Views22K

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

Читать далее
Total votes 23: ↑22 and ↓1+26
Comments6

Как провести фаззинг REST API с помощью RESTler

Reading time7 min
Views3.4K

Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаззинг-тестирование API c помощью инструмента RESTler, имея на руках только спецификацию API. Статья написана в соавторстве с нашим инженером по безопасности, Артемом Мурадяном @TOKYOBOY0701.

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

Как мы заработали 1700000 руб на Telegram-боте для создания фотокниг с помощью нейросети. Фейлы и выводы

Level of difficultyEasy
Reading time5 min
Views74K

Решил сэкономить вам 2 года, и разобрать фейлы, которые мы допустили на этапе запуска и продвижения продукта. Будет полезно, если думаете запустить свой IT продукт.

Читать далее
Total votes 127: ↑110 and ↓17+111
Comments132

Генератор случайных чисел, который можно запустить в голове

Level of difficultyHard
Reading time8 min
Views26K

Люди ужасно плохо справляются с придумыванием случайных чисел. Я хотел научиться быстро генерировать «достаточно случайные» числа. Мне не нужно было что-то совершенное, просто способ придумывания случайных цифр за полминуты. Поискав онлайн, я нашёл старый пост в Usenet, написанный Джорджем Марсалья:

Выберите двухразрядное число, допустим, 23. Оно будет вашим «порождающим значением» (seed).

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

Пример последовательности: 23 –> (2 + 6 * 3) = 20 –> (2 + 6 * 0) = 02 –> 12 –> 13 –> 19 –> 55 –> 35 –> …

Его период будет порядком множителя (6) в группе остатков, простых относительно модуля, 10 (в данном случае 59).

«Случайными цифрами» будет количество единиц двухразрядных чисел, то есть 3,0,2,2,3,9,5,… то есть члены последовательности mod 10.

Больше всего Марсалья известен своим набором тестов diehard-генераторов случайных чисел (RNG), так что он в этом понимает (здесь и далее под RNG я имею в виду генератор псевдослучайных чисел (PRNG)). Мне стало любопытно, почему это работает и как он выбрал 6.

Мы будем писать на Raku, языке для гремлинов. На случай, если вы тоже гремлин, под спойлерами я буду объяснять все странные особенности.
Читать дальше →
Total votes 49: ↑46 and ↓3+62
Comments18

Знакомство с WebTransport API

Level of difficultyMedium
Reading time20 min
Views10K


Hello world!


На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе.

Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments5

As const в Typescript

Level of difficultyEasy
Reading time3 min
Views15K

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

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

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

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

Level of difficultyMedium
Reading time7 min
Views13K

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

Читать далее
Total votes 34: ↑33 and ↓1+41
Comments38

Что же такое GitOps? Его свойства и недостатки

Reading time12 min
Views36K


Полтора года назад мы переводили пару статей о том, что такое GitOps. С тех пор этот термин (и сам подход) набрал ещё большую популярность в среде DevOps-инженеров, особенно эксплуатирующих Kubernetes. В то же время у меня появилось свое видение того, какие у него проблемы и каким он должен быть. Поделиться этими мыслями я решил в получасовом видео — смотрите его либо читайте основную выжимку, если предпочитаете текст:
Total votes 43: ↑43 and ↓0+43
Comments16

Как работает протокол X11 на самом нижнем уровне

Level of difficultyMedium
Reading time13 min
Views38K

X11 это тот механизм на чем работает весь графический интерфейс Unix подобных ОС.


Но мало кто знает как он работает на самом деле. Потому что с годами он оброс слоями и слоями библиотек, которые стремятся скрыть саму сущность протокола.


А протокол в своей сути прекрасен. Он лаконичен и почти совершенен.


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


А все книги и статьи по использованию X11 описывают это через библиотеки прокладки типа XLib и XCB, и даже, что хуже, GTK или Qt.


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


Как бы то ни было, если кому-то интересно как все работает на самом деле, пожалуйста под кат.

Читать дальше →
Total votes 160: ↑158 and ↓2+197
Comments182

Мой вам подарок к Новому году или как наконец запустил то, что надо было давно запустить…

Level of difficultyMedium
Reading time6 min
Views38K

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

Читать дальше →
Total votes 266: ↑266 and ↓0+266
Comments95

«Я его обучу, а он уйдёт». Формула, которая должна остаться шуткой

Level of difficultyMedium
Reading time7 min
Views45K

«Я его обучу, а он уйдёт». Формула, которая должна остаться шуткой

— Я их обучу, а они уйдут!
— Ты бойся, что ты их не обучишь, а они останутся.

/Старая менеджерская шутка/

Росстат говорит о падении уровня безработицы на 24% с марта 2021 года по январь 2023. Хорошо это или плохо – вопрос дискуссионный, но для HR – это сигнал бедствия. Стоимость найма и удержания сотрудника выросла не только среди рабочих специальностей, но и в IT, где рынок “соискателя” традиционно набирает обороты. Некоторые владельцы бизнеса не хотят вкладываться в развитие сотрудников. Зачем, если типичной стратегией квалифицированных специалистов становится смена работы каждые 2-3 года? Как говорил кот Матроскин: «Мы его, можно сказать, на помойке нашли, отмыли, очистили от очисток, а он нам фигвамы рисует…»

Тем не менее, развитие сотрудников – это действенный способ повышения лояльности и удержания специалистов. Мы поговорили с соучредителем HR-tech компании «Улей» Александром Григоряном, чтобы понять, как сделать сотрудников соратниками, ценными специалистами и не бояться при этом их потерять. 

Читать далее
Total votes 21: ↑15 and ↓6+20
Comments120

OpenAPI/Swagger для начинающих

Level of difficultyEasy
Reading time7 min
Views64K

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

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

Билдер Vue 3 веб приложений

Level of difficultyMedium
Reading time5 min
Views4.2K

Vue 3 вебсайт билдер (npm пакет vue-webapp) позволяет создать каркас будущего веб приложения, с возможностью выбора бизнес-шаблона (портфолио, блог, магазин и .т.д.), макета сайта, дизайна и элементов функционала (API модуль, i18n, PWA, splash screen, auth модуль, темы и т.д.), для дальнейшей кастомизации и наполнения контентом.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0
1
23 ...

Information

Rating
3,877-th
Registered
Activity