Как стать автором
Обновить
0
Алексей Давиденко @los_kotyararead⁠-⁠only

Студент

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

Rust — это не «memory safe C»

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

TL;DR:
— в Rust намного больше достоинств, чем просто скорость и безопасность
— в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD
— Rust — не сложный язык, особенно если не гнаться за максимальной производительностью

В этой статье я бы хотел рассказать:
— почему взгляд на Rust как на "memory safe C" очень сильно сужает область его возможного применения
— почему я смотрю на Rust как на очень удобный в разработке язык высокого уровня, которому просто случайно повезло оказаться невероятно быстрым
— почему разработка на Rust быстрее, чем многие думают
— почему Rust — это один из лучших языков общего назначения

Читать далее
Всего голосов 175: ↑170 и ↓5+165
Комментарии553

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

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

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> но доступна с IP других стран, а также через веб-архив.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

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

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее
Всего голосов 113: ↑111 и ↓2+109
Комментарии284

Практика Go — Основы

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

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

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

Практика Go — Concurrency

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

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

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

Как использовать JMeter для нагрузочного тестирования и тестирования производительности

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

Apache JMeter — это инструмент для проведения нагрузочного тестирования, представляющий собой десктопное приложение с открытым исходным кодом на базе Java. JMeter позволяет определить, может ли тестируемое веб-приложение удовлетворять требованиям высокой нагрузки или нет. Он также помогает проанализировать работу всего сервера под высокой нагрузкой.

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

Нужна дополнительная надежность? Alpine Linux в помощь

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

Вы вдруг просыпаетесь от алерта — что-то случилось. Вы быстро стучите по клавиатуре и пытаетесь залогиниться по ssh куда-то, чтобы разобраться. Но вас не пускает! Хост пингуется, но зайти не получается. Вокруг вас начинают бегать, начинают вам писать или звонить, обращаются со словами "Шеф, все пропало!" или чем то в этом же духе. Вы начинаете предполагать самое ужасное, тучи сгущаются. В результате последовательности некоторых судорожных действий выясняется...

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

MacOS Monterey на Linux — быстро и просто?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров43K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →
Всего голосов 83: ↑79 и ↓4+75
Комментарии67

Создаем скелеты микросервисов быстро и без боли

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

При создании новых сервисов повсеместно используют шаблонизацию, в крайнем случае — в формате ручного копирования кода. Но ручное копирование не исключает ошибок, а еще это муторно и долго. Быстрее и приятнее ответить CLI-утилите на несколько вопросов о будущем проекте и получить на выходе готовый «скелет» сервиса. Остается только начать писать бизнес-логику.

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии8

Правда о кофеине: как кофе на самом деле влияет на наш организм

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


Каждый день в мире выпивается 2 млрд. чашек кофе. Но что на самом деле происходит после того, как вы проглотили первую порцию кофе? Вот всё, что вам нужно знать

Кофе. Живительная жидкость. Жидкое золото. И все его психоактивные свойства. Когда-то кофе использовали суфийские мистики как средство для концентрации во время религиозных ритуалов, а сейчас это один из самых распространённых напитков на планете: все вместе мы выпиваем около 2 млрд. чашек в день.

Это также один из самых ценимых напитков. Один из самых востребованных сортов, Black Ivory, который получают из ягод арабики, переваренных слонами, продаётся по цене более 200 000 ₽ за килограмм, а чемпионаты по приготовлению кофе собирают тысячи зрителей.

Но что на самом деле он делает с вами? Вы, возможно, смутно представляете, что кофеин пробуждает вас, может нарушить сон и способствовать спортивным достижениям, но знаете ли вы, сколько его можно пить без вреда для здоровья? Типичный американо содержит более 100 биологически активных ингредиентов, помимо кофеина. Так что вы знаете о «наркотике», который вы пьёте два или три раза в день? Что происходит в вашем организме, когда вы пьёте двойной эспрессо по утрам?
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии25

Yet Another Домашний Сервер. Железо (часть 1)

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

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

Читать далее
Всего голосов 21: ↑17 и ↓4+13
Комментарии98

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

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

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

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

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

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

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

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

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

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

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

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

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

Как структурировать проект на Golang: гайд от backend-разработчика

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

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

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

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

Как запускать SQL в Go с максимальным комфортом

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

Писать SQL руками или использовать ORM — тема очень спорная, и я опишу, как использовать первый подход максимально эффективно. А какой из подходов выбрать, думаю, каждый сам для себя уже решил.

Читать далее
Всего голосов 47: ↑45 и ↓2+43
Комментарии9

Приручаем многопоточность в Node.js (часть 1/5: базовые концепты)

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

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

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

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

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

Go To Memory

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

Как и многие языки, Go часто использует магию под названием хип (heap). Обычно, когда мы пишем наши джейсоно-гонятели, мы просто не задумываемся об этом, хоть и знаем, что это «где-то есть». Давайте попробуем заглянуть в кроличью нору поглубже и увидеть не только то, какими методами аллокатор Go старается облегчить программисту жизнь, но и то, из чего он состоит в целом.

Меня зовут Антон Киреев, я бэкенд-разработчик с опытом работы больше 11 лет. В настоящее время работаю техлидом в Авито. В жизни мне нравятся две вещи: приносить пользу своей работой и проводить свободное время с семьёй. Именно поэтому я люблю делать что-то быстро, но качественно, а потом отдыхать. Для этого я постоянно учусь и пытаюсь докапываться до сути вещей. Сегодня поговорим, как наша любимая Гошечка работает с памятью.

Читать далее
Всего голосов 51: ↑38 и ↓13+25
Комментарии13

Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

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

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

В МойОфис мы широко используем Go в качестве основного языка для разработки корпоративной почты нового поколения Mailion. При этом разрабатываем на нём не только микросервисы, но и собственное хранилище с поддержкой дедупликации (про устройство Mailion читайте здесь). В связи с этим мы постоянно следим за книжными новинками и актуальными темами современной бэкенд-разработки. Специальной литературы по теме Golang существует немало, однако с помощью наших разработчиков мы выбрали самые важные, профессионально полезные и увлекательно написанные издания.

Делимся рекомендациями книг под катом!

Открыть подборку книг
Всего голосов 28: ↑22 и ↓6+16
Комментарии7

Go: идиомы и паттерны проектирования. Блоки, затенение переменных и управляющие конструкции

Время на прочтение9 мин
Количество просмотров5.8K
image Привет, Хабр! Сдали в типографию новую книгу «Go: идиомы и паттерны проектирования».
Go быстро набирает популярность в качестве языка для создания веб-сервисов. Существует множество учебников по синтаксису Go, но знать его недостаточно.

Автор Джон Боднер описывает и объясняет паттерны проектирования, используемые опытными разработчиками. В книге собрана наиболее важная информация, необходимая для написания чистого и идиоматического Go-кода. Вы научитесь думать как Go-разработчик, вне зависимости от предыдущего опыта программирования.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Автоматическое масштабирование БД в Kubernetes для MongoDB, MySQL и PostgreSQL

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

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

Это перевод статьи Дмитрия Костика и Миколы Моржан из Percona. С их помощью посмотрим, в какой степени можно автоматизировать горизонтальное масштабирование баз данных MongoDB, MySQL и PostgreSQL в Kubernetes и как это сделать?

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

VPN на минималках ч.2, или трое в docker не считая туннеля

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

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Саратов, Саратовская обл., Россия
Дата рождения
Зарегистрирован
Активность