Pull to refresh
-2
0
Send message

Использование journalctl для просмотра и анализа логов: подробный гайд

Reading time6 min
Views208K


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

Эта статья рассматривает основные возможности утилиты journalctl и различные варианты ее применения. С помощью journalctl можно просматривать логи системы, чтобы решить возникшие проблемы на рабочей станции или сервере использующие дистрибутив linux с демоном инициализации systemd, де-факто уже ставшим стандартом в современных Linux-системах, например: RHEL, CentOS, Fedora, Debian и многих других.

Существует мнение, что systemd не так уж и хорош — он нагружает систему и это все еще предмет для споров на сегодняшний день, но нельзя отрицать, что он предоставляет прекрасный набор инструментов для управления системой и поиска проблем. Представьте, что вам приходится иметь дело с проблемным сервером, который даже не загружается — в таком случае можно загрузиться с live-дистрибутива, смонтировать системный раздел и просмотреть логи systemd, чтобы понять, в чем проблема.
Читать дальше →
Total votes 43: ↑41 and ↓2+60
Comments25

Использование многоуровневых зависимых списков в MS Excel для маппинга организационных структур

Level of difficultyEasy
Reading time1 min
Views5.7K

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

В этой статье мы демонстрируем наш практический опыт маппинга позиций со структурой отделов при помощи инструмента «Проверка вводимых значений» MS Excel.

С уважением,
Владимир

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

Заблокируют ли нам VPN с помощью DPI?

Level of difficultyEasy
Reading time3 min
Views61K

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

Как у нас происходят блокировки сейчас?

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

Блокировка IP-адресов не эффективна по многим причинам. Например, необходимый ресурс может просто сменить IP-адрес. Мы такое наблюдали в 2018, когда РКН блокировал телеграм. Телеграм же просто менял адреса. А учитывая, то что телеграм хостился на AWS (Amazon Web Services), где кроме него хостилось огромное количество сайтов, в том числе и сам РКН. В итоге мы получили ситуацию, когда РКН заблокировал всё, что можно, в том числе и себя, а телеграм так и остался не заблокированным.

Но если ресурс, как твиттер не собирается менять IP-адрес, мы все равно можем попасть на него большим количеством способов: использовать другой DNS, прокси, VPN и др. А учитывая то, что в 2023 VPN используют почти все, то у РКН не остается шансов.

Читать далее
Total votes 47: ↑26 and ↓21+14
Comments131

Введение в Чистую архитектуру через 6 кругов рефакторинга

Level of difficultyMedium
Reading time15 min
Views45K

Разделяй и влавствуй, или как провести клининг легаси-кода GoLang.

Этот пост является частью большого цикла статей, в которых мы демонстрируем, как создавать приложения на Go, которые легко разрабатывать, поддерживать и с которыми приятно работать в долгосрочной перспективе. Мы делаем это, делясь проверенными методами, основанными на множестве экспериментов с командами, которыми мы руководили, и научных исследованиях («при съёмках фильма ни одно животное не пострадало»).

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

Что касается подхода к «чистой» архитектуре, описываемого далее, то это симбиоз двух идей: разделение Ports и Adapters, а также контроль за тем, как пакеты ссылаются друг на друга...

Оставь надежду, всяк сюда входящий
Total votes 16: ↑12 and ↓4+11
Comments4

Управление зависимостями в микросервисной архитектуре

Level of difficultyMedium
Reading time2 min
Views8.4K

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

Читать далее
Total votes 9: ↑2 and ↓7-5
Comments6

Управление Linux-сервером — самая ценная инвестиция

Level of difficultyEasy
Reading time6 min
Views73K

В эпоху облаков настройка Linux-сервера своими руками кажется неким вымирающим искусством. Для непосвящённого человека даже bash-скрипты выглядят как заклинания, а коллеги проникаются уважением к сисадмину, как древние индейцы к своему шаману…

Сейчас это «древнее искусство» вновь стало актуальным. История идёт по кругу — всё старое возвращается в новом виде. Запуск сервера на своём хостинге стал хорошей альтернативой облакам. Этому есть ряд причин, которые мы не будем подробно разбирать, только повторим вкратце: безопасность, свобода, контроль над своими данными, экономия финансов.
Читать дальше →
Total votes 78: ↑74 and ↓4+97
Comments117

Почему ты не станешь программистом

Level of difficultyEasy
Reading time7 min
Views112K

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

Читать далее
Total votes 79: ↑65 and ↓14+71
Comments316

Как начинать проект на Go в 2023 году

Reading time14 min
Views18K

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

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

Демографический бум или как программисты плодятся

Level of difficultyEasy
Reading time5 min
Views71K

Вы спросите, какое отношение демография, имеет к тематике ИТ. На первый взгляд? Никакого. Но это на первый взгляд. Давайте обо всем по порядку.

Сначала была история.

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

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

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

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

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

Мужи же видя, что люд тянется на курсы эти. Решили тоже не теряться, начать из далека. Посчитали, и сказали институтам разным, готовьте выпускников школ. Учите питону, сям, моделированию. Будет задел Россиюшке любимой.

Читать далее
Total votes 68: ↑46 and ↓22+42
Comments440

Общий буфер обмена для Windows/Linux систем, с активацией по требованию

Reading time3 min
Views12K
image

Виртуальные машины плотно вошли в мое рабочее окружение, VMware, VirtualBox, Hyper-V и RDP. Наличие поддержки у них общего буфера обмена — это удобная возможность обмена данными между системами. Но есть и ряд минусов:

  • Автоматическая синхронизация буфера обмена далеко не безопасна, можно случайно «засветить» чувствительные данные в другой системе.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments6

Что я понял на первой работе программистом / Мои советы Junior-разработчикам

Reading time8 min
Views70K

Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не становится прошлым.

Материал будет полезен тем, кто ищет первую работу или не так давно её нашёл. Примеры будут из области Python Backend, но наблюдения универсальны и спокойно перекладываются на другую область. Поехали!

Читать далее
Total votes 27: ↑16 and ↓11+8
Comments49

Перенос Docker на другой диск в Windows

Reading time2 min
Views14K

Всем привет! Недавно я столкнулся с проблемой нехватки памяти на основном диске под крупный проект, который разворачивается в Docker. Вопрос переноса ресурсов Docker на HDD в 1ТБ стоят принципиально, так как не было других вариантов развернуть проект. И вот, что из этого вышло...

Читать далее
Total votes 11: ↑8 and ↓3+8
Comments20

Протоколы семейства TCP/IP. Теория и практика

Level of difficultyMedium
Reading time23 min
Views151K
image

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

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

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

Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.

В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments5

Code review: почему мы до сих пор его используем и какие альтернативы?

Reading time5 min
Views7.6K

Прообраз code review появился в 60-х годах прошлого столетия, когда программы писали на перфокартах. Главной проблемой тогда было преобразование программного кода в машинный — компиляция. Это сложный процесс, чувствительный к ошибкам и структуре написанного кода. Если в процессе генерации всплывала одна незначительная ошибка, приходилось начинать процесс заново: набирать, проверять и занимать очередь доступа к системе, которая могла длиться месяцами из-за большого количества желающих воспользоваться компьютером. Из-за высокой цены ошибки программисты досконально проверяли перфокарты друг за другом.

Сегодня ошибки в информационных системах по-прежнему стоят недешево, хоть исправлять их попроще. Проверка кода одним программистом за другим получила широкое распространение и сегодня известна как практика code review.

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

Чтение на выходные: «Идеальный программист» Роберта Мартина

Level of difficultyEasy
Reading time3 min
Views8.4K

Роберт Мартин — инженер, программист, консультант в области разработки ПО. Известен как автор книг о чистом коде, архитектуре и Agile. Пока что мы прочитали одну из его книг — «Идеальный программист», и уже хотим продолжить чтение по теме. Поговорим о том, чем зацепила эта работа и даже немного поспорим с рандомными отзывами в интернете (в том числе на Хабре) о ней.

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments7

Как я пытался писать красивый код

Reading time9 min
Views18K

Недавно прошёл конкурс красоты кода от Сбера. Участие по направлению Android в этом конкурсе было интересным опытом, которым я поделюсь в статье.

Кроме моего решения вы найдёте: решение chatGPT, решение моего друга, решение победителя в номинации «Изящный код» и его комментарий о конкурсе.

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

Книги по Linux для начинающих и профессионалов: выбираем лучшее

Reading time4 min
Views47K

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

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

Пакет context в Go: взгляд профессионала

Level of difficultyMedium
Reading time13 min
Views28K

А вы часто читаете реализацию стандартной библиотеки своего любимого языка?..

Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies, хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет context с последними обновлениями. На наш взгляд, он идеально выражает философию языка Go! Образцовый интерфейс, постоянное развитие пакета и использование самых распространенных приемов Go — все это говорит о том, что наш материал будет полезен не только новичкам, но и знатокам.

Под кат
Total votes 34: ↑33 and ↓1+35
Comments8

В чем конечная цель программирования?

Level of difficultyEasy
Reading time6 min
Views11K

В чем конечная цель программирования? В том, чтобы иметь код, который легко изменять.

Давайте разберемся. Какую проблему мы пытаемся решить?

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

Читать далее
Total votes 25: ↑9 and ↓16-6
Comments67

Golang: как найти мёртвый код в проекте, а заодно оценить покрытие тестами живого кода

Reading time3 min
Views3.8K

В Go 1.20 сделали возможность сбилдить приложение с флагом cover


go build -cover

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


Это, конечно, было сделано для интеграционных тестов, когда приложение запускается целиком в каких-то сценариях (а не через go test), но, вероятно, это можно попробовать использовать и по-другому:


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


Так можно найти недовыпиленный легаси-код, старые эндпоинты API, которые давно никому не нужны, малозначимые проверки if err != nil и прочее. Как минимум, на это интересно посмотреть, можно найти что-нибудь удивительное.


Disclaimer: разумеется, сбор статистики создает какой-то оверхед, поэтому подойдёт точно не всем. Как вариант, можно пустить туда небольшую часть трафика.

Читать дальше →
Total votes 10: ↑9 and ↓1+10
Comments4

Information

Rating
Does not participate
Registered
Activity