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

Пользователь

Отправить сообщение

Сбор и сортировка вложений писем с помощью Fetchmail + Procmail + uudeview

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров749

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

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

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

System Design 101

Уровень сложностиСредний
Время на прочтение42 мин
Количество просмотров75K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


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


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


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии17

Основы полнотекстового поиска в ElasticSearch. Часть первая

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров16K

Привет! Меня зовут Глеб, я разработчик команды продукта «Сервис персонализации» в SM Lab. В цикле из трех постов я расскажу про основы полнотекстового поиска в Elasticsearch.

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

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

Итак, начнём с самых базовых понятий.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии1

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложностиСложный
Время на прочтение48 мин
Количество просмотров135K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.


Более удобный формат статьи.

Читать дальше →
Всего голосов 152: ↑152 и ↓0+152
Комментарии36

Сказ о том, как мы учились делать свой Disaster Recovery. Часть I

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

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

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

11 полезных плагинов для kubectl

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.4K

Kubectl (Kubernetes Control) — это по сути основной интерфейс для взаимодействия с Kubernetes-кластером. Сторонние разработчики сделали для него много полезных плагинов, которые в той или иной ситуации могут облегчить работу инженера и сэкономить время. В этой статье рассмотрим 11 удобных плагинов для расширения функционала kubectl.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Obsidian + Tasks — Периодические задачи, запросы, кастомные статусы и прочие удобности

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров20K

Очень мощный плагин для работы с задачами в Обсидиане.
Возможности плагина:

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии10

Certified Kubernetes Security Specialist — мой опыт сдачи экзамена

Время на прочтение5 мин
Количество просмотров4.8K

TL;DR

- отнеситесь серьезно к качеству интернет-соединения. Из РФ ВПН не нужен

- популярные курсы не охватывают экзамен полностью (есть смысл поискать старые дампы на github)

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

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

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

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии6

Рисуем коммитами на Гитхабе

Время на прочтение5 мин
Количество просмотров35K

[Пятничное]


Всегда хотел сделать свой график активности пользовательского профиля на Гитхабе. Например, выкладывать коммиты каждый день так, чтобы через год этот график превратился в какую-нибудь картинку, пусть и с ограничением по размерам в 52×7 квадратиков-пикселей (52 недели в году × 7 дней в неделе).


Проблема была в том, что даже при полной автоматизации процесса всё равно ждать целый год. А тут я почитал документацию Гитхаба и понял, что задача решается проще и более того — за один раз. А значит, надо делать не откладывая. Обычно названия проектам придумывать сложно, но тут оно пришло само. Кай рисовал льдинками, а Герда рисует коммитами!


График коммитов на Гитхабе в виде картинки

Как нарисовать свою картинку коммитами на GitHub
Всего голосов 91: ↑83 и ↓8+75
Комментарии36

Всё про USB-C: паяльник Pinecil

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров26K

Как многие правильно заметили, в случае с USB-C важен не просто сам стандарт, а то, как он реализован. В конце концов, мы имеем дело с реализациями, и именно на этой почве обычно возникает большинство проблем. Отчасти, конечно, вина лежит и на стандарте, например, в плане отсутствия маркировки кабелей. Хотя, на мой взгляд, он продуман намного лучше, чем некоторым кажется.

Я хочу познакомить вас с несколькими реализациями USB-C в некоторых интересных опенсорсных продуктах. Все они в том или ином смысле не идеальны – иначе и быть не может, поскольку им приходится иметь дело с беспорядочным реальным миром, где совершенство является редкостью.

Сегодня мы поговорим о Pinecil – недорогом и качественном паяльнике от Pine64, выпущенном пару лет назад. Для питания в нём предусмотрен и круглый разъём, и порт USB-C. Это стало долгожданным отступлением от стратегии компании Miniware, которая не применяла такое решение ни в оснащённой исключительно круглым разъёмом модели TS100, ни в маломощных паяльниках TS80. Кроме того, поскольку Pinecil разработан под использование жал T12 от модели TS100, он заслуженно завоевал популярность в мире электронщиков-любителей.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии18

Тестирование gRPC. Часть 2

Время на прочтение4 мин
Количество просмотров3.7K

В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Яндекс Карты и React Native. Часть 1. Установка и примитивы

Время на прочтение6 мин
Количество просмотров9K

Yandex Maps SDK: использование в React Native-приложении

В этой статье расскажу о том, как я лично столкнулся с Yandex Maps SDK для React Native и опишу базовый инструментарий, который предоставляет эта библиотека с небольшими примерами.

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

Мои лучшие гаджеты за 2022 год

Время на прочтение6 мин
Количество просмотров21K
Я люблю разные гаджеты. И особенно люблю, когда они оказываются полезными в хозяйстве, а не просто одноразовыми игрушками.

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


Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии30

Часть 3. Управление знаниями в Obsidian. Продвинутые техники. Excalibrain. Spaced repetition. Breadcrumbs. Longform

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров34K

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

• Ведение визуальной базы знаний (Excalidraw + Excalibrain)

• Создание системы для интервального повторения (Spaced repetition)

• Создание гибкой иерархии (Breadcrumbs + Excalibrain)

• Использование алгоритмов для поиска новых связей между заметками (Graph Analysis)

• Написание длинных текстов (Longform)

Я справлюсь
Всего голосов 19: ↑17 и ↓2+15
Комментарии15

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Время на прочтение2 мин
Количество просмотров63K

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


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.


leetcode

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии18

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Уровень сложностиСложный
Время на прочтение44 мин
Количество просмотров127K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Всего голосов 25: ↑22 и ↓3+19
Комментарии65

Исследование производительности свободных хранилищ LINSTOR, Ceph, Mayastor и Vitastor в Kubernetes

Время на прочтение10 мин
Количество просмотров16K

Кажется это уже стало традицией: каждый раз, когда я выхожу на новое рабочее место, моя деятельность начинается с бенчмарков различных SDS-решений. Мой приход во «Флант» не стал исключением. Я попал в команду разработки Kubernetes-платформы Deckhouse, где решили развивать возможность запуска виртуальных машин в Kubernetes. Но для этого сначала потребовалось найти простое и надежное хранилище блочного типа, которое можно предложить клиентам платформы.

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

Но рынок программно-определяемых хранилищ не стоит на месте и постоянно растёт. Появляются новые амбициозные проекты, включая недавно релизнутый Mayastor и pet-проект моего товарища-соратника Vitastor. Результаты оказались очень интересными.

Читать далее
Всего голосов 45: ↑44 и ↓1+43
Комментарии22

«За границей»: кратко о бюджетных вариантах

Время на прочтение12 мин
Количество просмотров95K

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

Читать далее
Всего голосов 158: ↑139 и ↓19+120
Комментарии237

Книга «Python и DevOps: Ключ к автоматизации Linux»

Время на прочтение11 мин
Количество просмотров17K
image Привет, Хаброжители! За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования. Это практическое руководство научит вас использовать Python для повседневных задач администрирования Linux с помощью наиболее удобных утилит DevOps, включая Docker, Kubernetes и Terraform.

Умение взаимодействовать с Linux играет важнейшую роль для миллионов специалистов. Python сильно упрощает эту задачу. Прочитав книгу, вы научитесь разрабатывать программное обеспечение и использовать контейнеры, а также выполнять мониторинг, телеметрию, нагрузочное тестирование ПО и вводить его в эксплуатацию. Ищете эффективный способ достичь поставленных целей на Python? Это руководство — для вас.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций

Время на прочтение12 мин
Количество просмотров21K

Продолжение публикации: "Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel".

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

Пост длинный, но много картинок
Всего голосов 24: ↑24 и ↓0+24
Комментарии33

Информация

В рейтинге
4 174-й
Откуда
Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность