Search
Write a publication
Pull to refresh
4
Евгений @Mellornread⁠-⁠only

В настоящее время занимаюсь web-разработкой

Send message

Обработка ошибок в web apps не должна быть такой сложной

Level of difficultyMedium
Reading time14 min
Views4.8K

В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок?

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

Собственно, статья, приятного прочтения.

Читать далее

Принципы SOLID, только понятно

Level of difficultyEasy
Reading time6 min
Views110K

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

Изучить принципы

И снова о useCallback

Level of difficultyEasy
Reading time5 min
Views8K

Привет, Хабр! Так вышло, что на текущем я попал под сокращение, а значит путь к собеседованиям открыт. Как раз вчера случилось одно (видимо, из многих), на котором зашла речь про useCallback.

Читать далее

Наше расследование: мониторы LightCom, блогеры и все все все…

Level of difficultyMedium
Reading time14 min
Views31K

Нашу прошлую публикацию про мониторы многие считают началом череды событий, которые взбудоражили российскую радиоэлектронную отрасль в конце 2023 года. Если кто не в курсе, то прочитав нашу статью блогер Максим Горшенин якобы нашёл подлог при получении статуса отечественной продукции для мониторов у компании Лайтком. И хотя это совсем не так, так как история началась намного раньше даже нашей статьи. И самое главное сейчас находится в кульминации, ну а уж развязка этого сериала будет фееричной. Ну а мы решили немного поспойлерить сюжет следующих серий.
Но для начала расскажем кто мы, и для чего мы. Мы – это очень небольшой аналитический отдел в одной очень большой внедренческой компании. Основная наша задача оценивать риски и выверять параметры будущих контрактов. Так что мы больше юристы, чем технари. Но при этом Вольты от Ваттов отличаем, ну а для особо сложных вопросов знаем у кого можно спросить. И так, в начале 2023 года наша компания планировала поучаствовать в одном крупном тендере на поставку техники в одно учреждение. Под планируемый тендер были подобраны товарные позиции от различных поставщиков, которые должны были быть заранее закуплены для того, чтобы в случае выигрыша тендера мы успеть его исполнить в обозначенные сроки. Среди множества позиций были и пресловутые мониторы. Так как тендер был достаточно крупным, то упреждающая закупка была достаточно рискованной и руководством была поставлена задача не облажаться при выборе. Потому мы попросили/купили/нашли большинство из планируемых к закупке позиций от нескольких поставщиков для анализа/разбора в целях минимизации рисков и отсева откровенного палева. И по результатам анализа мы рекомендовали вариант поставщиков и товарные позиции, которые и были утверждены и закуплены. Обычно по нашим рекомендациям мы не получаем вербальной обратной связи от руководства, поэтому иногда публикуем нашу информацию в профильных конференциях. Это позволяет выложить в открытый доступ найденные нами косяки поставщиков, а также получить отклик непредвзятых людей.

Но после публикации первого ролика Горшенина про мониторы в сентябре 2023 года мы-таки получили 100 децибельный фидбек от начальника. И хотя даже наши топы были уверены в том, что в этой истории торчат уши одного отвергнутого поставщика, ситуация усугублялась тем, что тендер проведён, контракт заключен, продукция заказчику поставлена, а вот закрывающие документы ещё не подписаны. И наш заказчик реально хочет весь фарш провернуть назад. А в этом случае мы попадаем не только на деньги за заранее закупленную продукцию, но и на штрафы по контракту. Потому руководством нам была поставлена новая задача во всём разобраться, по возможности успокоить заказчика и указать на виновных. Чем мы, собственно, и начали заниматься...

Читать далее

Избавляемся от паролей

Level of difficultyEasy
Reading time10 min
Views19K

Меня зовут Александр Чикайло, я разрабатываю межсетевой экран уровня веб-приложений PT Application Firewall в Positive Technologies и специализируюсь на защите веба. Сегодня речь пойдет о беспарольной аутентификации и ее безопасном применении в приложениях. В этом материале я освещу систему passwordless-аутентификации, уже работающую «из коробки», например, в Windows 11 и Chrome.

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

Читать далее

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views48K

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

Читать далее

Настраиваем Windows WSL для локальной разработки Laravel

Level of difficultyEasy
Reading time4 min
Views10K

В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows. Заранее прошу не гневаться на меня поклонников Docker, здесь я рассказываю именно про WSL.

Итак, без лишних промедлений, приступим. И начнем с того, что, как мы предполагаем, у нас есть Windows и всё. Если WSL уже установлен, львиную часть статьи можно пропустить.

Убедитесь в том, что ваша версия Windows совместима с WSL.

Читать далее

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O

Level of difficultyEasy
Reading time6 min
Views18K

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

При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.

В этой статье мы как раз и рассмотрим кратко о том, как управлять ресурсами в PostgreSQL.

Читать далее

Docker для новичков — #1 Что такое контейнер, image, DockerHub?

Level of difficultyEasy
Reading time7 min
Views32K

В этой статье я расскажу о том, что такое Docker, Docker Desktop и как этим пользоваться! Два способа создания image, значения вкладок Docker Desktop

Читать далее

Форматы изображений в вебе (2024)

Level of difficultyEasy
Reading time16 min
Views10K

Сегодня трудно найти веб сайт, на котором нету хотя бы одного изображения, может быть у вас есть такой пример? На странице в интернете можно сразу увидеть много разных изображений: фото пользователя в личном кабинете, фото товара на маркетплейсе, иконка на вкладке браузера, иконка корзины на кнопке «добавить в корзину», анимированное изображение‑открытка от бабушки в мессенджере, [и еще тысяча примеров].

Если вы как‑то связаны с вебом то вам будет полезно иметь общее представление об этих images, как минимум, и уметь с ними работать как максимум. Давайте попробуем разобраться с этим вопросом?

Читать далее

Почему реактивность без VDOM (с реальным DOM) лучше, чем реактивность с VDOM?

Level of difficultyMedium
Reading time4 min
Views6.8K

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

Читать далее

Лонгрид о JavaScript

Reading time6 min
Views11K

JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для простого проекта занимают сотни мегабайт, а в том, что в JavaScript столько стилей и подходов, что семь человек одну и ту же несложную задачу могут написать на нём семью различными способами. Каждый из них с трудом будет понимать, что написал другой, и тихо материться. Причем, так напишут и новички, и опытные программисты, которые просто привыкли писать по‑своему или захотели выпендриться.

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

Читать далее

Принцип работы утилиты ping в Linux

Level of difficultyMedium
Reading time8 min
Views20K

Что такое ICMP протокол и с чем его едят? Что такое сетевая модель OSI? Как послать ICMP пакет на сайт и получить ответ? Как работает утилита ping на linux? Все это вы узнаете здесь.

Читать далее

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Reading time7 min
Views44K

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

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

Читать далее

Российская микроэлектроника — два года спустя

Level of difficultyHard
Reading time9 min
Views114K

За эту статью попрошу благодарить патриотично размороженных граждан в целом, и @WebPeople (регистрация 2012, разморожен с первым комментарием 8 июл 2023 в 20:47) в частности. Глобальное потепление, ничего не поделать.

В мае 2022 в комментариях @hippohood отметился не имеющим аналогов текстом:
Примерно опишу мыслительный процесс позитивно (патриотично) настроенных граждан.

Оборудование можно сделать и самим, но пока можно и просто привезти серым импортом. Оборудование выглядит примерно как большой ящик с дырками, включённый в розетку; в одну дырку складываешь кремний, в другую заливаешь фоторезистор. Под третью дырку надо подставить ведро - в него будут ссыпаться чипы. Вёдра мы делать умеем (хотя и импортируем сейчас, но чертежи-то остались), фоторезистор научатся намешивать в Зелинограде; с кремнием разберемся, не всё сразу. Надо ещё заранее заказать в Китае переходник с европейской розетки на нормальную - лучше сразу 3 или 4, они постоянно горят. Вроде все ясно.

Читать далее

4 вида распространённых ошибок в Event-Driven системах

Reading time8 min
Views6.1K

В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:

Читать далее

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity