<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Изучение языка программирования Go (Golang)</title>
        <link>https://diode.zone/c/gopher/videos</link>
        <description>Обучающие ролики для тех, кто хочет изучать язык программирования Go.</description>
        <lastBuildDate>Tue, 20 Oct 2026 12:01:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://diode.zone</generator>
        <image>
            <title>Изучение языка программирования Go (Golang)</title>
            <url>https://diode.zone/lazy-static/avatars/0c6a69ce-35ce-497b-b5cf-bb0133434b11.png</url>
            <link>https://diode.zone/c/gopher/videos</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://diode.zone/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://diode.zone/feeds/videos.xml?videoChannelId=8011" rel="self" type="application/rss+xml"/>
        <podcast:txt purpose="p20url">https://diode.zone/feeds/podcast/videos.xml?videoChannelId=8011</podcast:txt>
        <item>
            <title><![CDATA[Как пользоваться bcrypt в Golang]]></title>
            <link>https://diode.zone/w/aZx65m5dN6nS4SX9bBtvYj</link>
            <guid>https://diode.zone/w/aZx65m5dN6nS4SX9bBtvYj</guid>
            <pubDate>Mon, 11 Apr 2022 15:51:15 GMT</pubDate>
            <description><![CDATA[Как сгенерировать хеш-сумму bcrypt и потом проверить, подходит ли к ней пароль, который ввёл пользователь. Используем адаптивную криптографическую хеш-функцию формирования ключа используемую для защищенного хранения паролей. В этом видео я не бу...]]></description>
            <content:encoded><![CDATA[<p>Как сгенерировать хеш-сумму bcrypt и потом проверить, подходит ли к ней пароль, который ввёл пользователь.<br />
Используем адаптивную криптографическую хеш-функцию формирования ключа используемую для защищенного хранения паролей.<br />
В этом видео я не буду подробно рассказывать о том, почему использовать обычный алгоритм хеширования (MD5, SHA512 и т. д.) не самый лучший вариант, а покажу, как генерировать и проверять хеш-сумму, которая добавляет безопасность для хранения паролей пользователей.</p>
<p>Ссылки:<br />
<a href="https://pkg.go.dev/golang.org/x/crypto/bcrypt#GenerateFromPassword" target="_blank" rel="noopener noreferrer">https://pkg.go.dev/golang.org/x/crypto/bcrypt#GenerateFromPassword</a><br />
<a href="https://auth0.com/blog/hashing-in-action-understanding-bcrypt/" target="_blank" rel="noopener noreferrer">https://auth0.com/blog/hashing-in-action-understanding-bcrypt/</a><br />
<a href="https://ru.wikipedia.org/wiki/Bcrypt" target="_blank" rel="noopener noreferrer">https://ru.wikipedia.org/wiki/Bcrypt</a><br />
Код из видео:<br />
<a href="https://bafybeif6yj75rcwse4x4s55zwkbtr6svkgp47ztg3yf624k43tn2e6lkum.ipfs.dweb.link/?filename=main.go" target="_blank" rel="noopener noreferrer">https://bafybeif6yj75rcwse4x4s55zwkbtr6svkgp47ztg3yf624k43tn2e6lkum.ipfs.dweb.link/?filename=main.go</a></p>
<p>Для защиты от атак с помощью радужных таблиц bcrypt использует соль (salt); кроме того, функция является адаптивной, время её работы легко настраивается и её можно замедлить, чтобы усложнить атаку перебором.</p>
<p>Теги:<br />
методы борьбы с брутфорсом что такое брут форс как избежать брут форса как настроить авторизацию пользователей как сгенерировать хеш сумму в языке программирования го язык golang как создать контрольную сумму для пароля пользователя что такое хэш сумма хэш hash sum generate радужные таблицы слив паролей как взломать md5 сумму как взломать пароль как защитить пароль безопасность в яп го go как избежать утечек паролей как защитить сервер от хакеров что делать для защиты базы данных от утечек паролей как подтвердить авторизацию на сервере bcrypt — адаптивна криптографічна функція формування ключа, що використовується для безпечного зберігання паролів. Розробники: Нільс Провос і David Mazières. Функція заснована на шифрі Blowfish, вперше представлена на USENIX у 1999 році[1]. Для захисту від атак за допомогою райдужних таблиць bcrypt використовує сіль (salt); крім того, функція є адаптивною, час її роботи легко налаштовується і її можна сповільнити, щоб ускладнити атаки перебором. Шифр Blowfish відрізняється від багатьох алгоритмів обчислювально складною фазою підготовки ключів шифрування. Провос і Mazières скористалися цією особливістю, але змінили алгоритм підготовки ключів, отримавши шифр «Eksblowfish» (expensive key schedule Blowfish). Кількість раундів у підготовці ключів має бути ступенем двійки; конкретна ступінь може задаватися при використанні bcrypt. Спочатку реалізовано функції crypt в OpenBSD. Існують реалізації для Java, Python, Nim, C#, Ruby, Perl, PHP 5.3, Node.js та деяких інших. создание сайта на языке го golang go how to use bcrypt in golang programming language encrypt hash password with go lang what is bcrypt scrypt hashing algorithms in go secure user passwords in database hash bcrypt is a password-hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher and presented at USENIX in 1999. Besides incorporating a salt to protect against rainbow table attacks, bcrypt is an adaptive function: over time, the iteration count can be increased to make it slower, so it remains resistant to brute-force search attacks even with increasing computation power. The bcrypt function is the default password hash algorithm for OpenBSD and was the default for some Linux distributions such as SUSE Linux.</p>
]]></content:encoded>
            <dc:creator>Изучение языка программирования Go (Golang)</dc:creator>
            <category>Education</category>
            <enclosure length="49500085" type="video/mp4" url="https://diode.zone/download/videos/generate/50eacd1a-3f6b-4345-9674-f93888cfc0fe?videoFileIds=324984"/>
            <media:community>
                <media:statistics views="27"/>
            </media:community>
            <media:embed url="https://diode.zone/videos/embed/aZx65m5dN6nS4SX9bBtvYj"/>
            <media:player url="https://diode.zone/w/aZx65m5dN6nS4SX9bBtvYj"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/f0a7a462-ec59-4fc9-8fd2-265697093ad2-1080-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/5ef8081e-f160-4039-8fe7-3cd8420152ff-720-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/a9f0780a-e816-455e-8f8e-182f2dd9847b-360-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/6afcc4f1-ab96-42a5-bc0b-e21c7a425e6a-0-hls.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="49500085" url="https://diode.zone/static/streaming-playlists/hls/50eacd1a-3f6b-4345-9674-f93888cfc0fe/788557ab-5682-48a3-8a77-aabb87135c03-1080-fragmented.mp4" framerate="30" duration="558" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="35321797" url="https://diode.zone/static/streaming-playlists/hls/50eacd1a-3f6b-4345-9674-f93888cfc0fe/e962a0d1-6514-4f0b-90e2-66f5d4daa356-720-fragmented.mp4" framerate="30" duration="558" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="22784162" url="https://diode.zone/static/streaming-playlists/hls/50eacd1a-3f6b-4345-9674-f93888cfc0fe/b9f34600-e498-4e1e-b077-3ce728033a83-360-fragmented.mp4" framerate="30" duration="558" isDefault="false"/>
                <media:content type="audio/mp4" medium="video" height="0" fileSize="13623658" url="https://diode.zone/static/streaming-playlists/hls/50eacd1a-3f6b-4345-9674-f93888cfc0fe/fbfb59f0-25a7-407c-8a4a-b883bc5f26a3-0-fragmented.mp4" framerate="0" duration="558" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/cee5daa6-beae-4bf4-a918-bc60625f8433.jpg" height="480" width="850"/>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/2217dccf-7c88-4440-8273-0fdad215178a.jpg" height="157" width="280"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Как пользоваться bcrypt в Golang</media:title>
            <media:description type="plain">Как сгенерировать хеш-сумму bcrypt и потом проверить, подходит ли к ней пароль, который ввёл пользователь. Используем адаптивную криптографическую хеш-функцию формирования ключа используемую для защищенного хранения паролей. В этом видео я не бу...</media:description>
        </item>
        <item>
            <title><![CDATA[Используем базу данных SQLite в Go]]></title>
            <link>https://diode.zone/w/9ti4Rqcd6pefYNXfcEVje9</link>
            <guid>https://diode.zone/w/9ti4Rqcd6pefYNXfcEVje9</guid>
            <pubDate>Sun, 13 Feb 2022 15:12:43 GMT</pubDate>
            <description><![CDATA[В этом видео я расскажу как использовать базу данных SQLite в вашей программе, написанной на языке программирования Go. Бесплатный курс по SQL: https://w3schoolsrus.github.io/sql/index.html Видео на английском языке (я записывал своё видео на ...]]></description>
            <content:encoded><![CDATA[<p>В этом видео я расскажу как использовать базу данных SQLite в вашей программе, написанной на языке программирования Go.</p>
<p>Бесплатный курс по SQL: <a href="https://w3schoolsrus.github.io/sql/index.html" target="_blank" rel="noopener noreferrer">https://w3schoolsrus.github.io/sql/index.html</a><br />
Видео на английском языке (я записывал своё видео на его основании): <a href="https://youtu.be/YpDVQC8hfik" target="_blank" rel="noopener noreferrer">https://youtu.be/YpDVQC8hfik</a></p>
<p>Теги:<br />
база данных, как использовать базу данных на го сикуел лайт скьюел скл лайт sql lite lite sequel lite го golang how to use database sqlite in golang как подключиться к базе данных как создать базу данных как создать таблицу в базе данных как использовать выражения селект в sql mysql sqlite язык программирования го язык программирование видео для программистов ыйдшеу база данных как использовать внутри кода внутри приложения на яп голанг голенг голэнг</p>
<p>Весь код:</p>
package main

import (
	"database/sql"
	"fmt"

	_ "github.com/mattn/go-sqlite3"
)

func main() {
	database, _ := sql.Open("sqlite3", "./gopher.db")

	statement, _ := database.Prepare("CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY, firstname TEXT, lastname TEXT)")
	statement.Exec()

	statement, _ = database.Prepare("INSERT INTO people (firstname, lastname) VALUES (?, ?)")
	statement.Exec("Second", "Ipsum")

	rows, _ := database.Query("SELECT id, firstname FROM people")
	var id int
	var firstname string

	for rows.Next() {
		rows.Scan(&amp;id, &amp;firstname)
		fmt.Printf("%d: %s\n", id, firstname)
	}
}

]]></content:encoded>
            <dc:creator>Изучение языка программирования Go (Golang)</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="56298556" type="video/mp4" url="https://diode.zone/download/videos/generate/4498b568-34c9-45bc-adab-b1153d7d1f0a?videoFileIds=312714"/>
            <media:community>
                <media:statistics views="24"/>
            </media:community>
            <media:embed url="https://diode.zone/videos/embed/9ti4Rqcd6pefYNXfcEVje9"/>
            <media:player url="https://diode.zone/w/9ti4Rqcd6pefYNXfcEVje9"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/3b106bdb-89db-4e29-9fba-7abdf3de5807-1080-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/c7af25b5-6746-4128-aca6-4cb0e188bde4-720-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/f268ff2d-ab26-4a45-94c4-0df75609b7b4-360-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/f5ef4cf1-998d-405a-ad9f-ed4e6c884a90-0-hls.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="56298556" url="https://diode.zone/static/streaming-playlists/hls/4498b568-34c9-45bc-adab-b1153d7d1f0a/34423729-5844-40b4-925d-00e736a058a2-1080-fragmented.mp4" framerate="30" duration="660" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="40576372" url="https://diode.zone/static/streaming-playlists/hls/4498b568-34c9-45bc-adab-b1153d7d1f0a/4d938a03-e6b7-4193-beb8-ab470c4d9c36-720-fragmented.mp4" framerate="30" duration="660" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="26820914" url="https://diode.zone/static/streaming-playlists/hls/4498b568-34c9-45bc-adab-b1153d7d1f0a/20385821-bfd2-4446-861d-c09fd75ced53-360-fragmented.mp4" framerate="30" duration="660" isDefault="false"/>
                <media:content type="audio/mp4" medium="video" height="0" fileSize="16074886" url="https://diode.zone/static/streaming-playlists/hls/4498b568-34c9-45bc-adab-b1153d7d1f0a/51a16864-0e5a-40ed-b771-1242a55a82e8-0-fragmented.mp4" framerate="0" duration="660" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/0d0c6f6c-f71c-4684-ad69-82f91058bf90.jpg" height="157" width="280"/>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/0711f128-5c46-45f5-a7d8-5f8320ba621d.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Используем базу данных SQLite в Go</media:title>
            <media:description type="plain">В этом видео я расскажу как использовать базу данных SQLite в вашей программе, написанной на языке программирования Go. Бесплатный курс по SQL: https://w3schoolsrus.github.io/sql/index.html Видео на английском языке (я записывал своё видео на ...</media:description>
        </item>
        <item>
            <title><![CDATA[Как читать файл YAML в Go]]></title>
            <link>https://diode.zone/w/khd6a8hxQVcuTfVhHjgxJZ</link>
            <guid>https://diode.zone/w/khd6a8hxQVcuTfVhHjgxJZ</guid>
            <pubDate>Sat, 12 Feb 2022 21:06:20 GMT</pubDate>
            <description><![CDATA[Это видео о том, как читать конфигурации из файла с расширением .yaml. Работа с viper (вторая часть видео) начинается на 9:23 Ссылки: https://zhwt.github.io/yaml-to-go/, https://github.com/go-yaml/yaml, https://github.com/spf13/viper ...]]></description>
            <content:encoded><![CDATA[<p>Это видео о том, как читать конфигурации из файла с расширением .yaml. Работа с viper (вторая часть видео) начинается на 9:23</p>
<p>Ссылки:</p>
<ol>
<li><a href="https://zhwt.github.io/yaml-to-go/" target="_blank" rel="noopener noreferrer">https://zhwt.github.io/yaml-to-go/</a></li>
<li><a href="https://github.com/go-yaml/yaml" target="_blank" rel="noopener noreferrer">https://github.com/go-yaml/yaml</a></li>
<li><a href="https://github.com/spf13/viper" target="_blank" rel="noopener noreferrer">https://github.com/spf13/viper</a></li>
</ol>
<p>Теги:<br />
Настройка конфигурационных файлов как читать конфиги как хранить переменные вне бинарного файла го голанг голенг голэнг голенд го язык программирования уроки го с нуля ямл яемл емл файл конфигурационный как сделать конфиг как пользоваться вайпер в языке го как использовать випер в го viper in golang go how to read configs in go programming language как читать файл с настройками бинарник го</p>
<p>Original IPFS: <a href="https://www.dreamlink.cloud/explorer?cid=QmSmse7N7EHCWivUNma3XnoLCz5KkftTiNeNEmmPrgLZCM&amp;filename=%D0%9A%D0%B0%D0%BA%20%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20YAML%20%D0%B2%20Go%20%28%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B5%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%29.mp4" target="_blank" rel="noopener noreferrer">QmSmse7N7EHCWivUNma3XnoLCz5KkftTiNeNEmmPrgLZCM</a></p>
]]></content:encoded>
            <dc:creator>Изучение языка программирования Go (Golang)</dc:creator>
            <category>Education</category>
            <enclosure length="67504534" type="video/mp4" url="https://diode.zone/download/videos/generate/9c20fc23-cbf7-4e88-af7b-72e8e27c8fb1?videoFileIds=312628"/>
            <media:community>
                <media:statistics views="84"/>
            </media:community>
            <media:embed url="https://diode.zone/videos/embed/khd6a8hxQVcuTfVhHjgxJZ"/>
            <media:player url="https://diode.zone/w/khd6a8hxQVcuTfVhHjgxJZ"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/a82ec5a8-333f-4575-a463-8eeba46c59c8-1080-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/da8bb59c-b71b-48e5-ac7d-49e89d505998-720-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/8d14467a-ba32-43e7-aaea-ccd6ad90940a-360-hls.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://diode.zone/lazy-static/torrents/f6a1f87d-b3dd-4dea-849a-291e1b88e280-0-hls.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="67504534" url="https://diode.zone/static/streaming-playlists/hls/9c20fc23-cbf7-4e88-af7b-72e8e27c8fb1/73b5137c-98e5-4aed-82de-834431edbe6c-1080-fragmented.mp4" framerate="30" duration="807" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="48697214" url="https://diode.zone/static/streaming-playlists/hls/9c20fc23-cbf7-4e88-af7b-72e8e27c8fb1/6e8dbdfb-f4ca-4e66-93f6-a5048c3a41d7-720-fragmented.mp4" framerate="30" duration="807" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="33036971" url="https://diode.zone/static/streaming-playlists/hls/9c20fc23-cbf7-4e88-af7b-72e8e27c8fb1/f8272403-75ee-436a-9933-757c3199f784-360-fragmented.mp4" framerate="30" duration="807" isDefault="false"/>
                <media:content type="audio/mp4" medium="video" height="0" fileSize="19644228" url="https://diode.zone/static/streaming-playlists/hls/9c20fc23-cbf7-4e88-af7b-72e8e27c8fb1/6b78e403-7825-4d61-86a1-7e09e08795e4-0-fragmented.mp4" framerate="0" duration="807" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/cba5bf3d-c0ce-476a-abb2-be1937ac89e6.jpg" height="157" width="280"/>
            <media:thumbnail url="https://diode.zone/lazy-static/thumbnails/4054a92d-8281-4d83-8a2b-bae259414f3d.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Как читать файл YAML в Go</media:title>
            <media:description type="plain">Это видео о том, как читать конфигурации из файла с расширением .yaml. Работа с viper (вторая часть видео) начинается на 9:23 Ссылки: https://zhwt.github.io/yaml-to-go/, https://github.com/go-yaml/yaml, https://github.com/spf13/viper ...</media:description>
        </item>
    </channel>
</rss>