Pull to refresh
0
@QuAzIread⁠-⁠only

Лучше недостаток кармы, чем мозгов и совести

Send message

Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 2

Level of difficultyMedium
Reading time20 min
Views5.6K

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

Читать далее

Переадресация портов в Kubernetes: команда kubectl port-forward

Level of difficultyEasy
Reading time4 min
Views4.3K

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

Переадресация портов — это процесс перенаправления сетевого трафика с одного порта на другой, что позволяет получать доступ к внутренним сервисам кластера Kubernetes из внешней сети.

Команда kubectl port-forward позволяет перенаправлять трафик с локального компьютера на определенный порт внутри пода

Рассмотрим подробней.

Читать далее

Пожалуй, самый простой способ спасти ваше .NET-приложение, или Prometheus (и не только) спешит на помощь

Level of difficultyMedium
Reading time32 min
Views15K
Существует множество возможных проблем приложений, которые удается заметить лишь с опозданием. Особенно когда релиз уже состоялся… К счастью, существует пара ключевых инструментов, которые выручают почти в любой ситуации, — и вряд ли найдется что-то проще.



Меня зовут Александр Пугач, я — Senior .NET Developer в проекте Data Warehouse «Лаборатории Касперского» (да-да, вы могли не знать, но у нас в компании широко используются .NET и «шарпы»).

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

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

Читать дальше →

От носителей до регламентов: как построить безопасную архитектуру бэкапов

Level of difficultyMedium
Reading time14 min
Views14K

Серьезные инциденты случаются со всеми, даже с глобальными игроками. Чего стоил один только прошлогодний сбой у Toyota! Тогда переполнение дискового пространства и сбой в СУБД стали причиной остановки всех заводов компании в Японии. А недавно произошла хакерская атака на СДЭК. В таких ситуациях остается надеяться только на бэкапы.

Не удивительно, что мы часто получаем запросы от клиентов о том, как организовать корпоративное резервное копирование. Их интересует, что именно бэкапить, как часто это делать, где хранить резервные копии, какие регламенты нужны и как лучше организовать резервное копирование на предприятии. Особенно много таких запросов стало поступать в последнее время. Поэтому я решил написать серию статей о том, как устроено резервное копирование, как его организовать и защитить. Моя цель — рассказать о best practice и структурировать эти знания. Бэкапы — обширная тема, которая включает множество нюансов, так что я начну с архитектуры и буду постепенно углубляться в детали. 

Читать далее

Какая бывает мотивация, или «Кто ты из Простоквашино»

Level of difficultyMedium
Reading time10 min
Views7.7K

Привет! Меня зовут Аня, я руковожу проектными менеджерами. Более 8 лет работаю в сфере people management и понимаю, как сходу отличить замотивированного сотрудника от выгоревшего. На любой позиции моей главной задачей было развивать сотрудников, а потом удерживать любым доступным способом. 

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

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

Читать далее

Huawei Pura 70: нативные сервисы Google и все недостающие приложения на борту

Reading time6 min
Views54K

Привет, Хабр! Меня зовут Николай, и в этом посте я хочу поковырять общую болячку всех пользователей смартфонов в России — магазины приложений. Если приверженцы Android могут кое-как устанавливать недоступные программы через APK-файлы, то в стане Apple всё совсем грустно: теперь за любым банковским приложением нужно идти прямиком в офис этого банка.

Такое положение дел вынуждает обратить внимание на альтернативные сторы. Раньше я о них не задумывался, всё необходимое было в Google Play. Правда, лет 15–20 назад мне иногда приходилось ставить сервисы Google окольными путями — помните гайды по разблокировке загрузчиков и «гаппсам»? И даже в таких условиях о чём-то ином речи всё равно не шло.

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

Читать далее

Нормализуем собственное рабочее время или «очумелые ручки» в борьбе с прокрастинацией

Level of difficultyEasy
Reading time3 min
Views4.1K


После перехода на удаленку у меня в полный рост встала проблема с прокрастинацией задач. Все как по написаному:


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


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

Читать дальше →

Как веб-специалисту начать пентест API мобильного приложения и не сломать макбук

Level of difficultyMedium
Reading time11 min
Views3.2K

Я активный участник программ Bug Bounty и достаточно часто смотрю не только веб‑приложения, но и мобильные приложения, чтобы определить все конечные точки API сервиса и попробовать найти баг в функционале до которого не всегда просто добраться. А почему непросто? Потому что в мобильных приложениях часто встречается SSL Pinning, который не дает перехватывать трафик, а поэтому анализ API приложения становится более сложным. В этой статье я изложу:

1. Как отключить SSL Pinning и получить возможность внедряться в процессы iOS приложений.

2. Как отключить SSL Pinning и внедриться в Android приложение без наличия смартфона на одноименной ОС.

Читать далее

Правило 3-х часов: Сколько нужно работать в день

Reading time3 min
Views63K

Размытое зрение, стук по клавиатуре и одно глобальное правило продуктивности.

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

Делаю что-нибудь творческое в течение нескольких часов, и это утомительно.

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

Великие умы всех времен имеют нечто общее:

Читать далее

Фокусы с опторазвязкой

Level of difficultyMedium
Reading time9 min
Views31K

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

Читать далее

Сложно о простом. Канальный уровень (L2) модели OSI

Level of difficultyEasy
Reading time6 min
Views42K


Приветствую, коллеги! Меня зовут ProstoKirReal, и сегодня мы продолжим изучение модели OSI, обсудив канальный уровень (L2). Этот уровень играет ключевую роль в обеспечении надежной передачи данных в локальных сетях.
Читать дальше →

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2

Level of difficultyMedium
Reading time8 min
Views7.2K

Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи.


В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и идея Ильи об использовании его на практике, проблема использования одинаковых ссылок для одной новости, что не так с кнопкой «Наверх» и как вы спрятали список от скринридеров.


Давайте начнём!

Читать дальше →

Уязвимость XXE в .NET 6 SDK: с чем боролись…

Level of difficultyMedium
Reading time10 min
Views6.7K


Современный .NET даёт разработчикам защиту от XXE из коробки: парсишь себе XML и не забиваешь голову всякими DTD, сущностями и связанной с ними безопасностью. Разве не прекрасно? Однако жизнь — штука с иронией...


Под катом — разбор по кусочкам XXE из .NET 6 SDK: код, причины дефекта безопасности, фикс.

Читать дальше →

Git for Windows: вклад в проект с помощью патча

Reading time15 min
Views9.1K

Существуют разные способы совместной работы над исходным кодом проекта. Так получилось, что сначала я познакомился с тем, как работать с командой «git push», посылая свои изменения в удаленный репозиторий, и как создать на сайте «GitHub» форк для отправки из него запроса на принятие изменений («pull request», сокращенно «PR»). И только после этого я узнал о том, что существует способ обмена изменениями в код с помощью файлов-патчей.

В этой статье я экспериментирую с командой «git diff», создаю тестовый проект и файл-патч из него в программах-оболочках «PowerShell» версии 7 и «Git Bash». Клонирую проект и применяю полученный файл-патч с помощью команды «git apply».

В последней части статьи я показываю, как можно применить программу «Git» для создания файла-патча с изменением в исходный код известного веб-приложения «WordPress». В конце этого примера я создаю сообщение об ошибке (ticket) в системе управления проектом «WordPress» и прикладываю к нему свой файл-патч.

Читать далее

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность

Level of difficultyEasy
Reading time8 min
Views29K

Привет, уважаемые читатели!

GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.

Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который блокирует доступ к объекту Python interpreter в многопоточных средах, разрешая выполнять лишь одну инструкцию за раз. Этот механизм, хоть и заботится о безопасности и целостности данных, одновременно становится камнем преткновения для тех, кто стремится максимально задействовать многозадачность и использовать полностью потенциал многоядерных процессоров.

Когда мы говорим о многозадачности в Python, имеется в виду использование множества потоков или процессов для выполнения различных задач. Это особенно актуально в приложениях, которые требуют обработки данных в реальном времени или одновременного выполнения большого числа задач. Однако GIL вносит ограничения в этот процесс, так как только один поток имеет доступ к интерпретатору Python в определенный момент времени.

В начальных версиях Python, GIL не существовал. Однако, когда Python начал использоваться для многопоточных приложений, стало очевидным, что возникают проблемы с одновременным доступом к общим ресурсам. Поэтому Гвидо ван Россум и команда разработчиков внедрили GIL, чтобы обеспечить безопасность работы с памятью и объектами Python.

Читать далее

Эти кристаллы доживают последние деньки — почему мощные процессоры и видеокарты середины нулевых умирают?

Level of difficultyEasy
Reading time9 min
Views109K
image

Думаю, многие мои читатели встречались с таким неприятным явлением, как отвал чипа. Эта поломка свойственна многим топовым и околотоповым гаджетам из нулевых: ноутбуки с «отваливающимися» видеочипами и мостами, первые ревизии Xbox 360 (три красных огня) и PlayStation 3 (жёлтый огонёк и моментальное выключение), телефоны-«ударники» и другие девайсы с достаточно горячими чипами. Недавно я листал барахолки на предмет интересных девайсов «за копейки» и наткнулся на топовый игровой ноутбук 2007 года выпуска всего за 1.000 рублей (~10$) — Toshiba <модель>, с просто дичайшими характеристиками для тех лет: GeForce GTS 7900 Go, Core Duo Txxx, 1гб DDR2 ОЗУ и аудиоподготовкой от Harman-Kardon.

Сегодня мы с вами узнаем: почему отваливаются чипы и как продлить жизнь старому топовому железу, «дунем» на видеочип, «воскресим» его на некоторое время и посмотрим, что же крутого было в топовых ноутбуках тех лет. Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Варианты беспроводного подключения для приложений интернета вещей — сравнение технологий

Level of difficultyEasy
Reading time5 min
Views5K

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

Читать далее

Превращаем обычный электросчетчик в умный: продолжаем осваивать Samsung SmartThings

Level of difficultyHard
Reading time9 min
Views36K

Вам не кажется, что вручную переписывать цифры с ЖК-экрана на электросчетчике каждый месяц - это немного странное занятие? Все слышали про умные электросчетчики, но не все готовы заплатить несколько тысяч (а счетчик с дистанционным снятием показаний стоит как минимум 15000 рублей). И не факт, что этот электросчетчик нормально встроится в вашу экосистему умного дома, скорее всего там будет свое собственное закрытое приложение.

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

Расскажем, как мы подключили электросчетчик «Меркурий» к ESP32 двумя разными способами (через встроенные интерфейсы RS-485 и оптопорт), соединили по Wi-Fi с платформой Samsung Smart Things и получили возможность записывать статистику энергопотребления в реальном времени чтобы оптимизировать свои траты на электроэнергию.

Читать далее

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

Level of difficultyEasy
Reading time9 min
Views7.1K

Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик из Беларуси (10 лет опыта во фронтенде).

Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.

Все началось еще в 2020 году, когда началась пандемия коронавируса, и всем пришлось находиться в изоляции. Тогда и пришла идея о создании своего приложения. У меня богатый опыт разработки веб-приложений на React, и поэтому я решил попробовать себя в новом направлении. Я решил долго не думать над технологиями и использовать React Native в связке с Node.js и MongoDB, т. к. ранее я уже работал с Node.js и MongoDB для создания веб приложений и, поэтому, выбор был очевиден.

Читать далее

Упрощаем подключение линтеров в пайплайны Gitlab CI

Level of difficultyEasy
Reading time4 min
Views8.1K

Всем привет! Меня зовут Юра, я Python-разработчик в Точке. В статье я покажу, как написать шаблон с линтером для Gitlab CI, чтобы при старте нового проекта (или уже запущенного) было легко добавить линтер в пайплайны.

А ну-ка
1
23 ...

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Fullstack Developer, DevOps
Middle
C#
.NET
ASP.Net
Git
SQL
Linux
Docker
Python
Database
Bash