37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
👣 5 интересных проектов на Golang

Kubeshark. Golang идеален для таких систем диагностики, как Kubeshark, приложения для упрощения отслеживания трафика подов Kubernetes. У него красивый интерфейс, как в инструментах разработчика на Opera, имеются двоичные файлы Windows, Linux и MacOS.

Хорошо подходият для отслеживания трафика для диагностики проблем между фронтендом и бэкендом. Kubeshark  —  незаменимый инструмент.

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

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

Хотя проект полезен для масштабных целей безопасности, я защищаю им свои письма от онлайн-опасностей.

Finch  —  Это CLI для разработки контейнеров.

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
job.pdf
1 MB
🔥Если вы ищете удаленную работу, неполный рабочий день или фриланс, этот список для вас.

В нем собран огромный список работодателей по всему миру, которые работают удаленно и часто набирают сотрудников.

Не забудьте подтянуть английский.

@Golang_google
👣 Задачи на алгоритмы и их решения

The Algorithms — проект с открытым исходным кодом, созданный группой разработчиков для понимания структур данных и алгоритмов на разных языках. Любой желающий может внести свой вклад в проект или помочь решить задачу других:

1. Go
2. JavaScript
3. Python
4. Java

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Примеры, упражнения и тесты на Golang

Лучший способ изучить новый язык программирования — это практика. В этом репозитории собрано более 100 задач для Go. Изначально автор создал проект для своего курса, но позже добавил упражнения для всех желающих изучить этот язык:

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Сli

Инструмент GitLab CLI, написанный на Go, позволяющий работать с GitLab в командной строке.

Gitlab

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Задача телефонные линии

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

Программа должна считывать со стандартного потока ввода количество бытовок , количество дорог , соединяющих бытовки, и информацию об этих дорогах. При этом каждая дорога задаётся тремя целыми числами , и , где и — номера соединяемых дорогой бытовок (), а — длина дороги.

Программа должна выводить в стандартный поток вывода минимальную общую длину телефонных линий.

Например, для входных данных

7
10
0 1 200
1 2 150
0 3 100
1 4 170
1 5 180
2 5 100
3 4 240
3 6 380
4 6 210
5 6 260

программа должна выводить число 930.

Пишите свой ответ в комментариях👇

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go DiskUsage()

Довольно быстрый анализатор использования диска, написанный на Go.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Вопросы и ответы для собеседования Back-end/Golang разработчика и не только

Здесь собрана большая коллекция вопросов и ответов на них, необходимых не только для прохождения собеседований, но и для комплексного развития кругозора.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 WRP«Прокси-сервер» на Go, который позволяет использовать старые браузеры в современной сети

Он работает путем рендеринга веб-страницы в изображение GIF или PNG с интерактивной картой изображений.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 12 приёмов Go, которые помогут в работе

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

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

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

Читать

@Golang_google
🖥 Шпаргалка по командам Git на русском

echo "# название" >> README.md - создание файла README.md
git init - инициализация репозитория
git add README.md - добавления файла README.md в проект
git commit -m "first commit" - получает проиндексированный снимок состояния и выполняет его коммит в историю проекта
git remote add origin https://github.com/stanruss/название.git - команда, которой устанавливается подключение к удаленному серверу и git репозиторию, размещающемуся на нем.
git push -u origin master - кзменения отправляются на удаленный сервер

git log --oneline - посмотреть все коммиты.
git checkout . - восстановить все.
git checkout "код коммита" - вернуть до состояния этого коммита.
git checkout master - вернуться в ветку мастер.

Восстановить файлы на локальном компьютере:
```git fetch --all
git reset --hard origin/master или git reset --hard origin/<название_ветки>

```git add text.txt - Добавить файл в репозиторий
git rm text.txt - Удалить файл
git status - Текущее состояние репозитория (изменения, неразрешенные конфликты и тп)
git commit -a -m "Commit description" - Сделать коммит
git push origin - Замерджить все ветки локального репозитория на удаленный репозиторий
git push origin master - Аналогично предыдущему, но делается пуш только ветки master
git push origin HEAD - Запушить текущую ветку, не вводя целиком ее название
git pull origin - Замерджить все ветки с удаленного репозитория
git pull origin master - Аналогично предыдущему, но накатывается только ветка master
git pull origin HEAD - Накатить текущую ветку, не вводя ее длинное имя
git fetch origin - Скачать все ветки с origin, но не мерджить их в локальный репозиторий
git fetch origin master - Аналогично предыдущему, но только для одной заданной ветки
git checkout -b some_branch origin/some_branch - Начать работать с веткой some_branch (уже существующей)
git branch some_branch - Создать новый бранч (ответвится от текущего)
git checkout some_branch - Переключиться на другую ветку (из тех, с которыми уже работаем)
git branch # звездочкой отмечена текущая ветвь - Получаем список веток, с которыми работаем
git branch -a # | grep something - Просмотреть все существующие ветви
git merge some_branch - Замерджить some_branch в текущую ветку
git branch -d some_branch - Удалить бранч (после мерджа)
git branch -D some_branch - Просто удалить бранч (тупиковая ветвь)
git show d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4 - Изменения, сделанные в заданном коммите
git push origin :branch-name - Удалить бранч из репозитория на сервере
git reset --hard d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4 - Откатиться к конкретному коммиту и удалить последующие (хэш смотрим в «git log»)
git push -f - залить на сервер измененные коммиты
git clean -f - Удаление untracked files

#git #github #doc #cheatsheet

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🧾 Алгебра анонимных сетей

В настоящее время существует огромное количество всеразличного рода анонимных (скрытых) сетей, начиная с теоретически доказуемых (DC-сети, Queue-сети, Entropy-сети) и заканчивая практически используемыми (Tor, I2P, Mixminion).

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

Читать

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Testcontainers для Go

Библиотека Go, упрощающая создание и очистку зависимостей на основе контейнеров для автоматизированных интеграционных/smoke тестов.

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

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Bot Aquarium

Проект на Go для работы с Linux-контейнерами,кль управляемые искусственным интеллектом.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Bob — билдер SQL-запросов для Go с поддержкой PostgreSQL, MySQL и SQLite.

https://github.com/stephenafamo/bob

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 pgx - PostgreSQL Driver and Toolkit

Эта библиотека предоставляет возможность взаимодействия с базами данных PostgreSQL на языке Go с помощью быстрого и эффективного драйвера, позволяющего с легкостью выполнять SQL-запросы, транзакции и массовые операции.

🖥 Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 7 интересных библиотек Go, с помощью которых вы сможете улучшить свой следующий проект

Вы когда-нибудь обнаруживали, что застряли в середине проекта, пытаясь решить сложную проблему? Что ж, вы не одиноки. Многие разработчики сталкиваются с такими проблемами при создании программного обеспечения, и именно в данных ситуациях пригождаются библиотеки.

Они помогают вам легко создавать сложные и трудоёмкие программы, экономя ваше время и усилия. С таким количеством библиотек может быть трудно решить, какую из них использовать. Итак, я составил список из 7 библиотек Go, которые обязательно помогут вам на вашем пути разработчика.

Читать

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Тестовое задание дорожки в парке

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

Программа должна считывать со стандартного потока ввода количество аттракционов и их координаты. При этом координаты каждого аттракциона задаются парой целых чисел (в декартовой системе).

Программа должна выводить в стандартный поток вывода минимальную суммарную длину дорожек с точностью до двух знаков после запятой.

Например, для входных данных

12
2 4
2 5
3 4
3 5
6 5
6 6
7 5
7 6
5 1
5 2
6 1
6 2


программа должна выводить число 14.83.

👉 Пишите ваше решение в комментариях👇

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Решаем задачи. Реализуем алгоритм «Посмотри-и-скажи» (Count and Say).

«Посмотри-и-скажи» — это последовательность чисел, начинающаяся следующим образом:

1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211,… (последовательность A005150 в OEIS).

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

Решим задачу с leetcode: https://leetcode.com/problems/count-and-say

Пример1:
Input: n = 1
Output: '1'


Пример2:
Input: n = 4
Output: '1211'
Explanation:
countAndSay(1) = '1'
countAndSay(2) = say '1' = one 1 = '11'
countAndSay(3) = say '11' = two 1's = '21'
countAndSay(4) = say '21' = one 2 + one 1 = '12' + '11' = '1211'


Ограничения:

- 1 <= n <= 30

Решение:

func countAndSay(n int) string {
dp := make([]string, n + 1)
dp[1] = '1'
var current, next string
counter := 1

for i := 2; i <= n; i++ {
current = dp[i - 1]
next = ''

counter = 1

for j := 1; j < len(current); j++ {
if current[j - 1] == current[j] {
counter++
} else {
next += strconv.Itoa(counter) + string(current[j - 1])
counter = 1
}
}

next += strconv.Itoa(counter) + current[len(current) - 1:]

dp[i] = next
}

return dp[n]
}


👉 Пишите свое решение в комментариях👇

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Hertz

HTTP-фреймворк Go с высокой производительностью для создания микросервисов.

🖥 GIthub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM