-
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Go (ΠΈΠ»ΠΈ Golang) https://t.me/Golang_google - Golang ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° https://t.me/golangl - golang ΡΠ°Ρ @golang_jobsgo - go ΡΠ°Π±ΠΎΡΠ° ΠΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ @It_manager_ru
Golang Π·Π°Π΄Π°ΡΠΈ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
Π§ΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ…
π£ Π Π΅ΡΠ°Π΅ΠΌ Π·Π°Π΄Π°ΡΠΈ. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ Β«ΠΠΎΡΠΌΠΎΡΡΠΈ-ΠΈ-ΡΠΊΠ°ΠΆΠΈΒ» (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
https://habr.com/ru/companies/karuna/articles/725552/
Π§ΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ…
Hands-On System Programming with Go
ΠΠ²ΡΠΎΡ: Alex Guerrieri
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2019
#go #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Golang Π·Π°Π΄Π°ΡΠΈ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
Π§ΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ…
π£ 7 ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Go, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π»ΠΈ, ΡΡΠΎ Π·Π°ΡΡΡΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΡΡΠ°ΡΡΡ ΡΠ΅ΡΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? Π§ΡΠΎ ΠΆ, Π²Ρ Π½Π΅ ΠΎΠ΄ΠΈΠ½ΠΎΠΊΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π΄Π°Π½Π½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
ΠΏΡΠΈΠ³ΠΎΠΆΠ΄Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΊΠΎΠ½ΠΎΠΌΡ Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠΈΠ»ΠΈΡ. Π‘ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΡΡ ΠΈΠ· Π½ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠ°ΠΊ, Ρ ΡΠΎΡΡΠ°Π²ΠΈΠ» ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· 7 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Go, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΏΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
βͺ Π§ΠΈΡΠ°ΡΡ
@Golang_google
ΠΡΠ΅ΠΌ, ΠΏΡΠΈΠ²Π΅Ρπ
ΠΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΡΠ±Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ²Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ: Ρ
ΠΎΡΠΈΠΌ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠΎΠ³ΠΎ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ ΠΌΠΈΡΠΎΠ²ΡΠΌ Π»ΠΈΠ΄Π΅ΡΠΎΠΌ ΡΡΠ΅Π΄ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ β Π° ΠΌΡ ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ.
ΠΡΠΎΠΉΡΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ (Π²ΡΠ΅Π³ΠΎ 2 Π²ΠΎΠΏΡΠΎΡΠ°, Π·Π°ΠΉΠΌΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠΈΠ½ΡΡΡ) ΠΎΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡ ΡΡΡ
ΠΡΠΊΡΡΡΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌ DevOps by Rebrain: ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ MySQL, Percona Server ΠΈ MariaDB Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker
Π£ΡΠΏΠ΅Π²Π°ΠΉΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ! ΠΠ°ΠΏΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ° βDevOps by Rebrainβ Π² ΠΏΠΎΠ΄Π°ΡΠΎΠΊ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ!
πΠ Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ
ΠΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ:
11 ΠΠΏΡΠ΅Π»Ρ (ΠΡΠΎΡΠ½ΠΈΠΊ) Π² 19:00 ΠΏΠΎ ΠΠ‘Π
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ°:
πΉΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° MySQL Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ
ΠΎΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker
πΉΠΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ
πΉΠ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π² Docker
ΠΡΠΎ Π²Π΅Π΄Π΅Ρ?
ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠ°Π²ΠΈΠ½ΡΠΊΠΈΠΉ - Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ Π² ΠΠΠ βΠΠ΅ΡΠΎΠ΄ ΠΠ°Π±β. ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΎΠ»Π΅Π΅ 15 Π»Π΅Ρ. ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
. Π‘ΠΏΠΈΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ HighLoad++, Π ΠΠ’++. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌΡ ΠΏΠΎ DevOps, Linux, Networks ΠΈ Golang ΠΎΡ REBRAIN ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ΡΡ!
ΠΠ°ΠΊ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ twitter-like ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ π 14 Π°ΠΏΡΠ΅Π»Ρ Π² 20:00 Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΠ½Π΄ΡΠ΅Π΅ΠΌ ΠΠΎΠ»ΡΠΊΠΎΠ²ΡΠΌ, ΡΡΠ°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π² Unlimint.
ΠΠ° ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ:
- ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠΈΠΏΠΎΠ²ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ twitter-like ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ,
- ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°,
- ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π° system design interview.
π Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΡΠΎΠΊ, ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π²ΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β https://otus.pw/MPQp6/
ΠΠ°Π½ΡΡΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ° Β«Highload ArchitectΒ». ΠΠΏΠ»Π°ΡΠ° ΠΊΡΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π² ΡΠ°ΡΡΡΠΎΡΠΊΡ.
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»Π΅ Π½Π° ΡΠ°ΠΉΡΠ΅ www.otus.ru.
π£ Π’Π΅ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΡΠΎΠΆΠΊΠΈ Π² ΠΏΠ°ΡΠΊΠ΅
Π‘ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΡΡΡΠΊΠ°Π»Π° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π΄ΠΎΡΠΎΠΆΠ΅ΠΊ Π² ΠΏΠ°ΡΠΊΠ΅ Π°ΡΡΡΠ°ΠΊΡΠΈΠΎΠ½ΠΎΠ². ΠΠΎΡΠΎΠΆΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΠ±ΡΠΌΠΈ Π΄Π²ΡΠΌΡ Π°ΡΡΡΠ°ΠΊΡΠΈΠΎΠ½Π°ΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» ΠΌΠ°ΡΡΡΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΡΡΠ°ΠΊΡΠΈΠΎΠ½ΠΎΠ² ΠΈ ΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΡΡΠ°ΠΊΡΠΈΠΎΠ½Π° Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠ°ΡΠΎΠΉ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» (Π² Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅).
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ Π΄ΠΎΡΠΎΠΆΠ΅ΠΊ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ Π΄Π²ΡΡ
Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
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
ΠΠ°Π±ΠΎΡ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠΉ Go-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² Ozon
Go β ΡΠ΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠΈΠ½ΡΡΠ°Ρ Π² Ozon Tech. ΠΠ° Go Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ >1000 ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ
ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ°, ΡΠΊΠ»Π°Π΄Π°, ΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ.
ΠΠ° ΠΊΡΡΡΠ΅ Route 256 Π²Π΅Π΄ΡΡΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Ozon ΠΏΠΎΠ΄Π΅Π»ΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Π§ΡΠΎ Π΅ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠ·ΡΡΠ°ΡΡ:
πΉObservability ΠΈ SRE
πΉΠ¨Π°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
πΉΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ²ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΡΡΡΠ°.
ΠΠ°ΠΊ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° ΠΊΡΡΡ?
ΠΡΡΠ°Π²Ρ Π·Π°ΡΠ²ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅ β‘οΈ 30 Π°ΠΏΡΠ΅Π»Ρ ΠΏΡΠΎΠΉΠ΄ΠΈ ΠΎΡΠ±ΠΎΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Go β‘οΈ ΠΏΠΎΠΏΠ°Π΄ΠΈ Π² ΡΠ΅ΠΉΡΠΈΠ½Π³ Π»ΡΡΡΠΈΡ
β‘οΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΉΡΡ ΠΏΠΎΠ΄ ΠΌΠ΅Π½ΡΠΎΡΡΡΠ²ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² Ozon.
ΠΡΡΠ°Π²ΠΈΡΡ Π·Π°ΡΠ²ΠΊΡ
Everyday Golang
ΠΠ²ΡΠΎΡ: Alex Ellis
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2021
#go #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Level up Π΄Π»Ρ back-end ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠΈΠΌΠ»ΠΈΠ΄ΠΎΠ² ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² β ΡΡΠΎ ΡΠΌΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅, fault-tolerant ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ! Π₯ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ Π² ΡΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅? Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π½Π° ΠΎΡΠΊΡΡΡΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ° Β«Microservice architectureΒ» OTUS Ρ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ-ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΠΌΠΈ.
π 3 Π°ΠΏΡΠ΅Π»Ρ Π² 20:00 β Β«ΠΡΠΎΠΊΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ: RabbitMQ ΠΈ KafkaΒ»
Π§ΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π½ΡΠΆΠ΅Π½ Π±ΡΠΎΠΊΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β Kafka ΠΈΠ»ΠΈ RabbitMQ. ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΠ²Π³Π΅Π½ΠΈΠ΅ΠΌ ΠΠ΅ΠΏΠΎΠΌΠ½ΡΡΠΈΠΌ, ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΌΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ
Π±ΡΠΎΠΊΠ΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² live demo.
π ΠΠ»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π²ΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ β https://otus.pw/4Fmq/
π 17 Π°ΠΏΡΠ΅Π»Ρ Π² 20:00 β Β«ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ ΠΈ DDDΒ»
ΠΠ° ΡΡΠΎΠΌ ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠ². ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°ΠΌ DDD. Π£ΡΠΎΠΊ ΠΏΡΠΎΠ²Π΅Π΄Π΅Ρ Π‘ΡΠ°Π½ΠΈΡΠ»Π°Π² Π©Π΅ΡΠΈΠ½Π½ΠΈΠΊΠΎΠ², Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΏΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
π ΠΠ»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π²ΡΡ...