Category : golang

golang
Об одном использовании gRPC: HTTP-прокси pog-server

HTTP-прокси - это программа для для выполнения HTTP-запросов клиента с другого IP-адреса.gRPC - система передачи данных на HTTP/2-транспорте и в качестве языка интерфейсов использующая Protocol Buffers.Я разработал HTTP-прокси pog-server, выложил в Open Source и хочу поделиться историей разработки. Собственно байты переносятся посредством gRPC:пользователь <=> pog-client <=gRPC=> pog-server <=> конечный HTTP-сервер ЗачемВ наше время программисту приходится использовать прокси-…

  • вторник, 18 июня 2024 г. в 00:00:06
golang
Учимся работать с Kubernetes через запуск приложения

Всем привет! Меня зовут Павел Агалецкий, я ведущий разработчик юнита Platform as a Service в Авито. В этой статье мы научимся запускать и отлаживать приложения в Kubernetes и познакомимся с двумя инструментами: утилитой kubectl и консольным дашбордом k9s.Задача: запустить два приложения в KubernetesМы попытаемся запустить в Kubernetes два приложения, которые будут взаимодействовать друг с другом через вызовы API. Первое приложение — app1 — отвечает фразой Hello World  и текущим значением времен…

  • вторник, 18 июня 2024 г. в 00:00:05
golang
Краткий навигатор по собеседованию Senior PHP/GO Backend

Ищете работу backend разработчика и хотите быть на высоте на собеседовании? Подготовка к вопросам для backend разработчика на PHP и Go может оказаться непростой задачей. В этой статье мы разберем некоторые вопросы для Senior Backend разработчика, которые помогут вам пройти собеседование и произвести впечатление на потенциального работодателя.Почему Важно Готовиться к Вопросам для Backend Разработчика?Собеседование для backend разработчика включает в себя проверку технических знаний, навыков реш…

  • суббота, 15 июня 2024 г. в 00:00:09
golang
Потрясающе быстрые теневые стеки для Go

Разберемся, как теневые стеки(shadow stacks) могут ускорить раскрутку указателя фрейма (frame pointer unwinding) и другие подходы к захвату стека вызовов в 8 раз.Программные теневые стеки могут обеспечить до 8 раз более быструю трассировку стека в Go рантайме по сравнению с раскруткой указателя фрейма, которое было реализовано в go1.21. Это не означает, что данная идея должна сразу же вырваться из лаборатории, но она предлагает интересный взгляд на потенциальное будущее трассировки стека с аппа…

  • пятница, 14 июня 2024 г. в 00:00:08
golang
Вызов функций Go из Python с помощью ctypes

Привет, Хабр!В этой статье поговорим о том, как можно запускать программу, написанную на Go из Python. Зачем? При работе на Python иногда имеет смысл реализовать отдельные функции на статичном, высокопроизводительном языке. Go может стать отличным выбором для этого, потому что он быстрый, простой и кроссплатформенный. Недавно в моем Python канале, мы обсуждали, как это сделать, в результате родилась эта статья.Для реализации всех шагов нам потребуется: Python, компилятор Go и GCC (MinGW для Win…

  • четверг, 13 июня 2024 г. в 00:00:05
golang
Кот меняющий строки

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

  • среда, 12 июня 2024 г. в 00:00:08
golang
Получение информации с LeetCode о пользователе на Golang

LeetCode - популярная платформа для подготовки к собеседованиям по программированию, предоставляющая задачи на алгоритмы и структуры данных. Чтобы улучшить свои навыки и изучить свои успехи, пользователи могут хотеть получить информацию о своем профиле на LeetCode, такую как решенные задачи, статистика по времени и другие данные.В данной статье будет рассмотрено, как можно написать программу на Golang для получения информации о пользователе с помощью API LeetCode. Для разработки будет использо…

  • понедельник, 10 июня 2024 г. в 00:00:07
golang
AOP в Golang: как рефлексировать, и почему вам не стоит этого делать

Привет, Хабр! Nikolaich << inЯ java-программист по профессии и алкоголик go-developer по зову души. И вот в один прекрасный день я подумал о том, что раз уж в Go есть пакет reflect, то должны быть и способы АОП, прямо как в java. Если вкратце, хочется генерировать обертки для функций в рантайме, позволяя красиво оборачивать логи, мониторинги, трейсинги, и прочие довольно однотипные штуки, по аналогии с тем, как я проделывал это в java. Вот понятный джава-программистам пример кода такой об…

  • пятница, 7 июня 2024 г. в 00:00:04
golang
Оптимизация Go: как повысить скорость и эффективность кода

Привет, Хабр! Меня зовут Макс, я Go-разработчик в компании SimbirSoft. Язык Go (Golang) стремительно набирает популярность, он всё чаще внедряется в существующие программные решения, а также встречается в стеке новых проектов. Высокая производительность и скорость работы – его главные преимущества, поэтому для реализации бизнес-задач он подходит как нельзя кстати. Go легко поддерживается и отлично годится для создания MVP, из-за чего востребованность в нём растёт.Но чтобы этот язык программиров…

  • четверг, 6 июня 2024 г. в 00:00:08