Search
Write a publication
Pull to refresh
1
0
Send message

Как оформить профиль в LinkedIn, чтобы к тебе приходили HR от международных компаний

Level of difficultyEasy
Reading time4 min
Views24K

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

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

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

Читать далее

Что нужно знать, чтобы писать быстрые SQL-запросы

Level of difficultyMedium
Reading time21 min
Views31K

Привет, я Марк Шевченко, ведущий разработчик, ИТ‑холдинг Т1. SQL — мощный декларативный язык, который скрывает от программиста большинство технических деталей. Проектировщики языка предполагали, что его простота поможет не‑программистам работать с данными самостоятельно. К сожалению, простота имеет свою цену, и эта цена — производительность. Некоторые несложные запросы работают слишком медленно, что становится неприятным сюрпризом как для программистов, так и для пользователей.

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

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

Читать далее

Оптимизация JOIN в PostgreSQL

Level of difficultyEasy
Reading time7 min
Views15K

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Книга: «Go: идиомы и паттерны проектирования, 2-е изд.»

Reading time4 min
Views5.9K
imageПривет, Хаброжители!

К выходу перевода книги «Go: идиомы и паттерны проектирования, 2-е изд.» мы долго думали, чем же удивить читателя Хабра. Так мы возьмём рецензию Томаса Свояновского — full-stack разработчика с восьмилетним опытом. Он в рецензии постарался учесть отличия второго издания книги от первого, подробно объяснил, о чём Джон Боднер писал и какие знания вкладывал на страницы.

Приятного чтения!
Читать дальше →

Ordered map на Go

Reading time2 min
Views2.5K

Omap — это пакет Golang для работы с потокобезопасными упорядоченными map. Упорядоченная map содержит map golang, list и mutex для выполнения функций упорядоченной map.

Упорядоченная map— это map, которая запоминает порядок элементов. Map можно итерировать для извлечения элементов в том порядке, в котором они были добавлены.

Читать далее

Видишь суслика? А он есть! Как главная страница Яндекса переезжала на Go

Level of difficultyEasy
Reading time13 min
Views25K

Переезд большого сервиса с Perl на Golang едва ли кому-то покажется простой задачей. А теперь представьте, что это главная страница Яндекса, на которую ежедневно заходят миллионы пользователей. И что продукт постоянно дорабатывается, а значит, нельзя взять и остановить разработку на пару лет переезда. Представили? Сложно? А вот, оказывается, всё возможно. 

Привет, Хабр! Меня зовут Вячеслав Круглов. Я руковожу одной из команд разработки бэкенда главной страницы Яндекса. Расскажу, как мы переписывали бэкенд с Perl на Go, поделюсь интересными подробностями переезда, а также сравню компоненты и продуктовые блоки.

Читать далее

А где память? Утечка goroutine и как ее пофиксить

Level of difficultyMedium
Reading time4 min
Views2.4K

Утечка горутин в Go происходит, когда горутина продолжает существовать и потреблять ресурсы, даже если она больше не выполняет полезной работы или не может завершиться. Это может произойти по разным причинам.
Мы рассмотрим 3 примера из которых: 2 будут на каналах, 1 с использованием mutex.

Читать далее

Параллелизм в Go тестах: все, что нужно знать о -p, -parallel и t.Parallel()

Level of difficultyEasy
Reading time2 min
Views1.6K

В Go есть три способа управления параллельностью тестов:

Короткий гайд о -p, -parallel и t.Parallel а также бонус для любителей параллельного программирования

Читать далее

Как не укусить себя за хвост во время написания функциональных тестов на Go

Level of difficultyMedium
Reading time8 min
Views2.2K

Залог успеха любого программного решения — хорошее покрытие его функциональными тестами. Каждая полностью покрытая функция — минус одна потенциальная ошибка в работе проекта или даже больше. Однако при написании тестов в проекте, насчитывающем тысячи строк кода и множество пакетов (packages), можно столкнуться с различными трудностями.

Я Роман Соловьев, ведущий ИТ‑инженер в отделе RnD и готовых решений управления развития продукта в СберТехе. Сегодня расскажу, с какими проблемами мы столкнулись при написании тестов к проекту на Go, активно использующему Docker‑контейнеры, и как нам удалось их решить.

Эта статья будет полезна тем, кто пишет модульные тесты на Go, особенно для проектов, использующих Docker‑контейнеры. Я постараюсь просто и понятно объяснить официальный code‑style для модульных тестов, а также подсветить подводные камни, с которыми можно столкнуться при их написании.

Читать далее

Лучшие китайские нейросети — бесплатно и без VPN

Reading time8 min
Views53K

В последние годы Китай продемонстрировал поразительный технологический скачок, создав ИИ-инструменты, которые не просто конкурируют с западными аналогами, но и предлагают уникальные решения, меняющие правила игры. От распределённых систем обработки данных до инновационных моделей естественного языка — китайские разработчики научились сочетать скорость, масштаб, точность и экономию, создавая продукты, которые уже обходят западные аналоги. Я собрал топ самых впечатляющих китайских ИИшек, которыми лично сам пользуюсь. Осторожно! Статья для тех, кто просто не хочет потерять ИНТЕРЕСНЫЕ ССЫЛКИ. Подробнее о каждой нейросети— далее в статье.

Читать далее

Микросервисы на пальцах: API‑Gateway, API‑Composition, KrakenD, FastAPI

Reading time14 min
Views30K

Количество современных приложений, построенных на микросервисной архитектуре, очень велико. А сами микросервисы стали уже больше обыденностью, чем какой-то редкостью. В этом материале рассмотрим API-Gateway, BFF и композицию API — три базовых шаблона, которые можно встретить почти в каждой системе с микросервисами. Наша задача — понять, для чего они нужны, какие проблемы решают и создают. Пройдемся по теории и развернем реальный пример на инфраструктуре.
Читать дальше →

Приручаем монстров в Go: боремся с разросшимся Makefile и монолитом — без распила на микросервисы

Reading time3 min
Views2.5K

Мы в ответе за тех, кого разрастили. Go-разработчики из YADRO, Ви.Tech и Weborama  рассказали, как работать с проектами, которые без должного внимания стали бы техдолгом. А еще — поделились опытом генерации стабов и организации нетривиального стриминга данных на Go.

Читать далее

Суть Go: Time

Level of difficultyMedium
Reading time9 min
Views3.8K

Как не утонуть в параллельных вызовах и держать время под контролем? В статье разберём throttle и backpressure, научимся использовать таймеры, тикеры и таймауты без лишних задержек и зависаний — всё на простых примерах.

Читать далее

Алгоритм Кнута-Морриса-Пратта для поиска подстрок на Go

Level of difficultyEasy
Reading time3 min
Views2.5K

Поиск подстроки в строке — важная задачка в текстовой обработке. В Go стандартная библиотека имеет strings.Index, но он использует простой перебор символов, который работает с O(n × m) в худшем случае, где n — длина текста, m — длина подстроки.

Алгоритм Кнута-Морриса-Пратта решает эту проблему, используя префикс-функцию, которая позволяет пропускать заведомо ненужные сравнения. В результате его сложность O(n + m), что делает его подходящим для больших текстов и множественных поисковых запросов.

Читать далее

Гармония железа и кода: ускоряем Go, проектируя приложение с учетом архитектуры процессора

Level of difficultyMedium
Reading time9 min
Views3.1K

Представьте, что ваш код работает на 30% быстрее, при этом вы почти его не меняли. Звучит как магия? На самом деле это может стать реальностью, если учитывать архитектуру процессора при проектировании приложения и данных. 

Привет! Я Александр Шакмаев — технический лидер в Cloud.ru. В статье предлагаю разобраться, как небольшие изменения, основанные на знании архитектуры процессора, могут привести к значительному ускорению Go. Готовы раскрыть потенциал вашего кода? Тогда переходите под кат.

Заглянуть под кат

FissionGo: как запускать Go-функции в Kubernetes

Level of difficultyEasy
Reading time4 min
Views1.5K

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

Сегодня будем разбираться с FissionGo — фреймворком, который обещает избавить нас от работы с деплоями, контейнерами и YAML-манифестами.

Читать далее

Механика горутин и каналов в Golang: разбор с примерами

Level of difficultyEasy
Reading time10 min
Views6.3K

Статья объясняет горутины и каналы в Go с наглядными визуализациями, показывая, как они работают и взаимодействуют для конкурентности.

Читать далее

Как работает HTTP/2 и как использовать его в Go

Level of difficultyEasy
Reading time12 min
Views6K

HTTP/2 – это значительное обновление по сравнению с HTTP/1.1, решающее его ключевые ограничения, такие как блокировка Head-of-Line (HoL) и неэффективность многократных соединений. В этой статье мы разберёмся, почему HTTP/2 стал стандартом, как он устроен и чем отличается от предыдущей версии протокола. Мы рассмотрим ключевые концепции HTTP/2: мультиплексирование, сжатие заголовков HPACK, бинарный формат фреймов и серверный push.

Во второй части статьи мы покажем, как включить HTTP/2 в Go-приложениях. Вы узнаете, как правильно настроить HTTP-сервер с поддержкой TLS и ALPN, какие пакеты использовать и какие нюансы учитывать при разработке. Также мы обсудим практические аспекты работы с HTTP/2, возможные проблемы и пути их решения.

Читать далее

Непостижимая эффективность Кубика-Рубика в педагогике преподавания простой английской фразы

Level of difficultyEasy
Reading time10 min
Views14K

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

Хочу завтра же увидеть оранжевые слова

Information

Rating
Does not participate
Registered
Activity