🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
❤1
Пример
func main() {
c := make(chan bool)
m := make(map[string]string)
go func() {
m["1"] = "a" // Первый конфликтный доступ
c <- true
}()
m["2"] = "b" // Второй конфликтный доступ
<-c
for k, v := range m {
fmt.Println(k, v)
}
}
-race
$ go test -race mypkg
$ go run -race mysrc.go
$ go build -race mycmd
$ go install -race mypkg
GORACE
позволяет $ GORACE="log_path=/tmp/race/report Strip_path_prefix=/my/go/sources/" go test -race
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Пустой идентификатор
_
в Go используется как value, _ := someFunction()
range
: при переборе for k, _ := range myMap {
fmt.Println(k)
}
for _, v := range mySlice {
fmt.Println(v)
}
import _ "image/png"
_, y := getCoordinates()
result, _ := strconv.Atoi("123")
person := struct {
Name string
_ int
}{"Alice", 30}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
• Анонимные функции в Go
• В Go есть возможность доступа к
Пример с функцией
incrementer
, которая создает i
:func incrementer() func() int {
i := 0
return func() int {
i++
return i
}
}
При вызове
incrementer
i
, и incrementer
i
.func main() {
increment := incrementer()
fmt.Println(increment()) // 1
fmt.Println(increment()) // 2
fmt.Println(increment()) // 3
newIncrement := incrementer()
fmt.Println(newIncrement()) // 1
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Оператор
switch
в Go позволяет проверять тип switch
включает хотя быcase
, который работает default
, который выполняется, Пример, который проверяет,
i
типом int
или string
:func do(i interface{}) {
switch v := i.(type) {
case int:
fmt.Printf("Double %v is %v\n", v, v*2)
case string:
fmt.Printf("%q is %v bytes long\n", v, len(v))
default:
fmt.Printf("I don't know type %T!\n", v)
}
}
func main() {
do(21)
do("hello")
do(true)
}
Результат:
Double 21 is 42
"hello" is 5 bytes long
I don't know type bool!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥱1
Стек — тип данных, основанный на принципе
Элементы стека связаны
Элемент, помещённый в
Операции:
pop — удаление верхнего элемента,
peek — возврат верхнего элемента без удаления.
Реализация на Go через срез:
type Stack struct {
items []int
}
func (s *Stack) Push(item int) {
s.items = append(s.items, item)
}
func (s *Stack) Pop() int {
if len(s.items) == 0 {
panic("Stack is empty!")
}
item := s.items[len(s.items)-1]
s.items = s.items[:len(s.items)-1]
return item
}
func (s *Stack) Peek() int {
if len(s.items) == 0 {
panic("Stack is empty!")
}
return s.items[len(s.items)-1]
}
func (s *Stack) IsEmpty() bool {
return len(s.items) == 0
}
func (s *Stack) Size() int {
return len(s.items)
}
Мы использовали
Push
Pop
Peek
позволяет посмотреть Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
❤2
a := 5
b := 3
a = a + b // a становится 8
b = a - b // b становится 5
a = a - b // a становится 3
a
и b
меняются a := 5 // 0101 в двоичной системе
b := 3 // 0011 в двоичной системе
a = a ^ b // a становится 6 (0110)
b = a ^ b // b становится 5 (0101)
a = a ^ b // a становится 3 (0011)
func main() {
fmt.Println(swap())
}
func swap() []int {
a, b := 15, 10
b, a = a, b
return []int{a, b}
}
swap
a
и b
местами и возвращает Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
⚡️ Бесплатный вебинар — прогнозируем цены и не сходим с ума
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
«Введение в машинное обучение: как спрогнозировать стоимость недвижимости».
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
Тест для Golang-разработчиков, проверьте свои знания, готовы ли вы к обучению на курсе.
💻 Ответьте на 20 вопросов за 30 минут и проверьте, готовы ли вы к обучению на онлайн-курсе «Golang Developer. Professional» от OTUS. Сейчас Go становится все востребованнее, благодаря своей производительности, масштабируемости и экосистеме.
После 5 месяцев обучения вы сможете:
— Писать production-ready код, многопоточные и конкурентные программы.
— Понимать синтаксис и внутреннее устройство языка Go.
— Разворачивать микросервисы с помощью Docker.
— Проектировать и реализовывать микросервисную архитектуру на Go.
Также вас ждет прокачка навыков на реальных коммерческих кейсах и под руководством экспертов в этой области. Старт курса 30 июля, успейте на курс .Возможна рассрочка.
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
💻 Ответьте на 20 вопросов за 30 минут и проверьте, готовы ли вы к обучению на онлайн-курсе «Golang Developer. Professional» от OTUS. Сейчас Go становится все востребованнее, благодаря своей производительности, масштабируемости и экосистеме.
После 5 месяцев обучения вы сможете:
— Писать production-ready код, многопоточные и конкурентные программы.
— Понимать синтаксис и внутреннее устройство языка Go.
— Разворачивать микросервисы с помощью Docker.
— Проектировать и реализовывать микросервисную архитектуру на Go.
Также вас ждет прокачка навыков на реальных коммерческих кейсах и под руководством экспертов в этой области. Старт курса 30 июля, успейте на курс .Возможна рассрочка.
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Cgo создаёт
Cвойства cgo:
• Встраивание
import "C"
• Доступ к именам из заголовков и
C
• Преобразования типов выполняются явно при переходе
C.*
к • Память: объекты,
C.free
, длительное хранение указателей на Go-память в package randc
/*
#include <stdlib.h>
*/
import "C"
func Random() int {
return int(C.random()) // C.long -> Go int
}
func Seed(i uint) {
C.srandom(C.uint(i)) // Go uint -> C unsigned int
}
Разбор примера:
•
import "C"
— • В
rand
C.random
и C.srandom
, C.uint(i)
и сам •
Random
вызывает random
из libc. В C long
(C.long
в cgo), int
перед •
Seed
принимает Go int
, приводит к C.uint
и передаёт в srandom
.• Комментарий непосредственно перед
import "C"
— C.*
.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
11 сентября | 19:00
Офлайн в Москве | Онлайн
Кто выступит:
🔹Виталий Левченко, Engineering manager Wildberries проведет воркшоп на тему LLM для конкурентного Go кода;
🔹Владимир Марунин, Senior Developer Clatch, МТС Web Services расскажет про
эффективное использование sync.Map в Go;
🔹Роман Ерема, Developer MWS Cloud Platform поделится опытом разработки Cloud Controller Manager: интеграции Kubernetes с облаком MWS.
Для участия зарегистрируйся по ссылке.
До встречи на True Tech Go!
Офлайн в Москве | Онлайн
Кто выступит:
🔹Виталий Левченко, Engineering manager Wildberries проведет воркшоп на тему LLM для конкурентного Go кода;
🔹Владимир Марунин, Senior Developer Clatch, МТС Web Services расскажет про
эффективное использование sync.Map в Go;
🔹Роман Ерема, Developer MWS Cloud Platform поделится опытом разработки Cloud Controller Manager: интеграции Kubernetes с облаком MWS.
Для участия зарегистрируйся по ссылке.
До встречи на True Tech Go!
Go —
Разница между императивными и декларативными подходами заключается в том, как мы описываем поведение программы:
Характерные черты:
• Код состоит из
• Порядок
•
• Изменение состояния
Пример:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
☝️ Один мудрый тимлид дал двум своим разработчикам по «таланту» — мощной, но своенравной LLM.
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Мощь LLM раскрывается не в ней самой, а в системах, которые вы строите вокруг неё.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
🥱2❤1👾1