Pull to refresh
14
0
Алексей @AlexGorky

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

Send message

Функциональные опции в Go

Level of difficultyEasy
Reading time5 min
Views5.3K

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

Читать далее
Total votes 20: ↑19 and ↓1+19
Comments45

Object.freeze и Object.seal в JS

Level of difficultyEasy
Reading time3 min
Views1.7K

Сегодня рассмотрим такие инструменты в JS, как Object.freeze и Object.seal. С помощью них можно установить надежный контроль над объектами, защитив их от нежелательных изменений.

Читать далее
Total votes 15: ↑12 and ↓3+16
Comments2

Блеск и нищета WebAssembly

Level of difficultyHard
Reading time20 min
Views10K

Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D департаменте Positive Technologies.

Доменно специфичный язык eXtraction and Processing является важной частью движка поведенческого анализа, используемого в таких продуктах Positive Technologies, как MaxPatrol SIEM и PT ISIM. Сегодня хотелось представить вашему вниманию выжимку нашего R&D процесса в экспериментах с WebAssembly. Узнаем, что такое WebAssembly. Поймём, как его можно встроить в программный продукт. Коснёмся инструментов разработки и сред исполнения WebAssembly. А также в рамках одной статьи пройдём путь от постановки задачи до результатов по разработке среды исполнения для доменно специфичного языка программирования. Кроме того, мы разберем некоторые проблемы, которые могут появиться у вас при попытке собрать и отладить большой С++ проект под WebAssembly. Материал может быть особенно полезен тем, кто хочет использовать WebAssembly за пределами веб‑браузера.

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

На старт, внимание, поехали!
Total votes 33: ↑32 and ↓1+43
Comments14

Функциональные коллекции в Java с Vavr: обзор и применение

Level of difficultyEasy
Reading time7 min
Views1.5K

Приветствую всех, кто устал от бесконечных проверок на null, громоздких блоков try-catch и мутирующих коллекций. Если вы когда-нибудь мечтали о том, чтобы привнести в Java немного функциональности, то я рад рассказать вам о библиотеке Vavr.

Читать далее
Total votes 15: ↑12 and ↓3+13
Comments4

Тестирование лучших self-hosted аналогов Notion

Level of difficultyEasy
Reading time6 min
Views19K

image


Хабр, в связи с уходом Notion выросла потребность в аналогичном решении, которое бы было сопоставимо удобной Wiki, Task Manager — платформе. 


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

Читать дальше →
Total votes 45: ↑43 and ↓2+55
Comments34

Апериодический монотайл

Level of difficultyEasy
Reading time3 min
Views2K

Если вы хотите замостить на даче дорожку мозаикой из одного типа плиток, и вам надоели не только квадраты, но и любые периодические узоры, то вам подойдёт математическое открытие прошлого года: плитка, которая называется «spectre», в переводе — «призрак». Её форма позволяет замостить любую площадь, не создавая периодов, при этом достаточно только одного типа фигур, в отличии от мозаики Пенрозуа, где нужно минимум два. Конечно, если вы согласны класть плитки не только лицевой, но и изнаночной стороной, то вам подойдёт и мозаика из «шляп Эйнштейна», о ней я рассказывал в предыдущей статье. Но кто же кладёт плитки изнанкой? Тогда уж берите сразу два типа плиток, зеркально отражённые.

Вам нужно только одну форму? Тогда только призрак. Романтичный вариант названия – «привидение».

Читать далее
Total votes 23: ↑21 and ↓2+29
Comments10

Обратная сторона Spring

Reading time11 min
Views173K

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


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

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments24

Как данные о семье превратить в арт-проект

Level of difficultyEasy
Reading time3 min
Views2.3K

Процесс создания дата-арта на основе Мезенской северной росписи

Сфера дата-арта - достаточно новое направление в работе с данными. Для создания этого проекта взяты данные из моего семейного дерева. Для визуализации использовались узоры и символы из мезенской росписи.

О процессе создания проекта читайте в статье.

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

Вышел Vue 3.5

Level of difficultyEasy
Reading time5 min
Views16K

Сегодня мы рады сообщить о выходе Vue 3.5 "Tengen Toppa Gurren Lagann"!

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

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

Git Hooks не так страшны, как их малюют

Level of difficultyEasy
Reading time9 min
Views4.5K

Бывает, что в командах тестирования грезят об автоматизации процессов, но почему-то боятся внедрять даже такие простые вещи как хуки: «Они очень усложняют процесс, и писать их тысячу часов». С этим я категорически не согласен, ведь реализовать хуки очень просто.

Меня зовут Денис Федоров, я тестировщик в команде 2ГИС ПРО, сервисе геоаналитики для бизнеса. Рассказываю, что такое гит-хуки, чем они могут быть полезны и как их можно реализовать у себя. 

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

Оптимизация производительности Vue.js приложений: Практическое руководство

Level of difficultyEasy
Reading time4 min
Views1.4K

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

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

Как я начал писать unit тесты для Vue компонентов

Level of difficultyEasy
Reading time8 min
Views3.6K

В жизни каждого фронтенд-разработчика наступает момент, когда пора войти в нужную дверь когда приходит осознание того, что было бы неплохо как то подтвердить, что твой код работает.  У меня этот момент настал после болезненной миграции с Vue 2 на Vue 3 с тоннами дефектов, которая завершилась очередной прядью седых волос, и не только у меня. Хватит это терпеть (с).

Меня зовут Дмитрий, я Frontend разработчик в компании fuse8, и в этой статье мы рассмотрим как можно начать тестировать Vue компоненты.

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

Сказочная нотация BPMN и как её применять

Level of difficultyMedium
Reading time9 min
Views8.8K

В этой статье вы узнаете, что такое нотации, зачем они нужны, и какие виды моделирования бизнес-процессов существуют в природе. Сравним положительные и отрицательные стороны каждого из них. Более подробно погрузимся в, пожалуй, один из самых универсальных и удобных инструментов – BPMN 2.0. Разберем основные элементы и попрактикуемся на реальном примере. Я предоставлю вам базовые знания, которые позволят вам сразу после завершения знакомства с данной статьёй, спроектировать свою первую BPMN-диаграмму на любую актуальную для вас профессиональную тему.

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

Преимущества DAX на примерах

Level of difficultyEasy
Reading time3 min
Views3.5K

Популярным языком запросов от Microsoft является DAX. В отличие от диалектов SQL, DAX позволяет аналитикам сфокусироваться на решении задач бизнес-аналитики, вместо того, чтобы заниматься рутинными техническими задачами (например, вопросами производительности).

Безусловно, DAX не является панацеей для решения любых задач, но, если честно, ознакомление с этим функциональным языком может быть своего рода открытием, что создать единый язык для всех SQL диалектов - это вообще "doable", причем поддерживаются практически все имеющиеся базы данных многих видов (например, реляционные, колоночные), а также обеспечивается высокая производительность запросов.

В этой статье рассматриваются преимущества DAX на конкретных примерах, таким образом, если Вам интересен Business Intelligence на DAX - добро пожаловать :)

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

Альтернативные способы поиска и установки программ в Linux

Level of difficultyMedium
Reading time44 min
Views11K

Проведу небольшой ликбез, где и как искать необходимое прикладное ПО и как его устанавливать, причем большее внимание уделю именно альтернативным вариантам - рассмотрю случаи, когда требуется ПО, которого не оказалось в официальных репозиториях вашего дистрибутива Linux.

Об этом в новой статье в блоге ЛАНИТ

Читать далее
Total votes 42: ↑40 and ↓2+47
Comments23

Партицирование таблиц в PostgreSQL: чек-лист для старта

Reading time13 min
Views52K

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

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

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

«Бобер выдыхай»: Go, WinAPI и ассемблер

Level of difficultyHard
Reading time22 min
Views8.5K

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

Читать далее
Total votes 36: ↑35 and ↓1+40
Comments31

Профилирование Java-приложений: от HeapDump до Grafana

Level of difficultyMedium
Reading time7 min
Views5.7K

Добрый день дорогой читатель. Сегодня я дам тебе несколько советов для поиска и анализа проблем в твоем Java приложении. Мы разберем такие вещи как: HeapDump, ThreadDump, VisualVM, Grafana, HikariPool, Prometheus и Garbage Collector.

Читать далее
Total votes 13: ↑10 and ↓3+10
Comments9

Как писать кодогенераторы в Go

Reading time14 min
Views14K

Однообразный код писать неинтересно, нудно, но приходится. Испокон веков изворотливые программисты ищут Святой Грааль формализма, позволяющего переложить рутинные задачи на машину, писать только раз и переиспользовать код. Так появились структурное программирование, потом объектно-ориентированное, полиморфизм с параметризованными типами, кодогенерация на основе формальных грамматик, препроцессоры макроязыка и прочее…​ Под катом рассмотрим, как обстоят дела именно в Go.

Читать далее
Total votes 10: ↑7 and ↓3+7
Comments6

Продолжаем выжимать максимум из PostgreSQL

Reading time10 min
Views14K

В апреле этого года мы, команда производительности из Postgres Professional, совместно с коллегами из Selectel решили протестировать несколько дистрибутивов PostgreSQL и узнать, как они себя поведут на разных архитектурах. С результатами можно ознакомиться в этой статье, но, как сразу было верно отмечено читателями, там был один важный косяк –  мы не сравнили производительность ванильного PostgreSQL с применением всем известных настроек по улучшению производительности и Postgres Pro Enterprise из коробки as is. Терпеть такое не было решительно никакой возможности, поэтому сегодня будет продолжение истории и ответ на важный для многих вопрос: «А есть ли у нашего форка хоть какое-то преимущество перед бесплатной ваниллой?» Или мы просто накатили общеизвестный конфиг и занимаемся импортозаместительным переклеиванием наклеек?

Читать далее
Total votes 26: ↑26 and ↓0+32
Comments21
1
23 ...

Information

Rating
5,970-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity