Forwarded from BZD • Книги для программистов
William Kennedy - Ultimate Go Notebook (2021).epub
13.9 MB
📔 Title: Ultimate Go Notebook First Edition
#book #golang #EN
🌐 Lang.: English
🧔 Author: Written by William Kennedy, Hoanh An
🕘 Year: 2021
📑 Pages: 352
#️⃣ ISBN: 978-1-7373844-1-0
📝 Description: Эта практическая книга по Go научит вас программировать на этом быстро развивающемся языке. Многочисленные примеры кода и авторские комментарии к ним помогут вам быстро войти в рабочую среду и начать понимать основы программирования.
@bzd_channel
#book #golang #EN
🌐 Lang.: English
🧔 Author: Written by William Kennedy, Hoanh An
🕘 Year: 2021
📑 Pages: 352
#️⃣ ISBN: 978-1-7373844-1-0
📝 Description: Эта практическая книга по Go научит вас программировать на этом быстро развивающемся языке. Многочисленные примеры кода и авторские комментарии к ним помогут вам быстро войти в рабочую среду и начать понимать основы программирования.
@bzd_channel
👨🏻💻 Легкую задачку вам в ленту
Напишите функцию, которая принимает строку, а возвращает ее перевернутый вариант (слова в обратном порядке).
Пример входных параметров
Ответ в следующем посте👇
Напишите функцию, которая принимает строку, а возвращает ее перевернутый вариант (слова в обратном порядке).
Пример входных параметров
a = "hello world"Ожидается на выходе
"world hello"Golang задачи с собеседований
Ответ в следующем посте👇
👆Ответ к легкой задачке
package main
import (
"bufio"
"os"
)
func Reverse(a string) string {
// великолепный код тут
}
func main() {
inputFile, err := os.Open(os.Getenv("INPUT_FILE"))
checkError(err)
defer inputFile.Close()
inputFileScanner := bufio.NewScanner(inputFile)
inputFileScanner.Split(bufio.ScanLines)
inputFileScanner.Scan()
b:= inputFileScanner.Text()
err1 := inputFileScanner.Err()
checkError(err1)
result := Reverse(b)
outputFile, err := os.OpenFile(os.Getenv("OUTPUT_FILE"), os.O_WRONLY, os.ModePerm)
checkError(err)
defer outputFile.Close()
_, err = outputFile.WriteString(result)
checkError(err)
}
func checkError(err error) {
if err != nil {
panic(err)
}
}
Golang задачи с собеседованийВ Go можно задавать «дедлайны». С помощью таких лимитов по времени можно ограничивать время работы основного потока или горутины.
Как думаете, где допущена опечатка?
Как думаете, где допущена опечатка?
Anonymous Quiz
9%
вместо "context.WithDeadline" должно быть "context.Deadline".
77%
вместо "ctx.Dead()" должно быть "ctx.Done()".
14%
вместо "context.WithDeadline" должно быть "context.WithCancel".
Какой json мы получим из этих слайсов?
Anonymous Quiz
57%
... aa: "null"; bb: "[]"
15%
... aa: ""; bb: ""
28%
... aa: "[]"; bb: "[]"
Почти во всех языках есть конструкция «return», которая призвана вернуть контекст выполнения из функции/процедуры — то, что мы привыкли считать «возвращаемым значением». В Golang для возврата значения тоже можно воспользоваться «return», но в отличие от других языков значение или имя переменной указывать не обязательно. Можно деклалировать имя или имена переменных при объявлении, а после необходимых операций в функции просто написать return и значения данных будут возвращены из функции.
А ещё в Go есть способ обмануть этот механизм возврата значений. Как?
Golang задачи с собеседований
А ещё в Go есть способ обмануть этот механизм возврата значений. Как?
Golang задачи с собеседований
Какой вариант подойдет, чтоб обмануть этот механизм возврата значений?
Anonymous Quiz
15%
Вариант 1
62%
Вариант 2
23%
Вариант 3
В Go есть привычные массивы, но есть и другое понятие — слайс байт. Слайсы аналогичны массивами в других языках программирования, но со своими особенностями. Строка в Go — это тоже слайс байт. А вот для работы с одним символом используется тип…
Anonymous Quiz
10%
...char.
85%
...rune.
4%
...string.
Forwarded from BZD • Книги для программистов
Разработка_и_анализ_компьютерных_алгоритмов.pdf
33.8 MB
📔 Title: Разработка и анализ компьютерных алгоритмов
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
Forwarded from BZD • Книги для программистов
Jeff_Gothelf,_Josh_Seiden_Lean_UX_Creating_Great_Products_with_Agile.pdf
7.1 MB
📔 Title: Lean UX
#book #UX #design #EN
🌐 Lang.: English
🧔 Author: Jeff Gothelf, Josh Seiden
🕘 Year: 2021
📑 Pages: 286
#️⃣ ISBN: 9781449311650
📝 Description: Lean UX - синоним современного дизайна и разработки продуктов. Сочетая качественный дизайн, гибкие методы работы и сильное деловое чутье, дизайнеры, менеджеры по продуктам и разработчики по всему миру делают Lean UX ведущим подходом для цифровых продуктов сегодня.
@bzd_channel
#book #UX #design #EN
🌐 Lang.: English
🧔 Author: Jeff Gothelf, Josh Seiden
🕘 Year: 2021
📑 Pages: 286
#️⃣ ISBN: 9781449311650
📝 Description: Lean UX - синоним современного дизайна и разработки продуктов. Сочетая качественный дизайн, гибкие методы работы и сильное деловое чутье, дизайнеры, менеджеры по продуктам и разработчики по всему миру делают Lean UX ведущим подходом для цифровых продуктов сегодня.
@bzd_channel
Forwarded from BZD • Книги для программистов
Creating_Augmented_and_Virtual_Realities_Theory_and_Practice_for.pdf
64.5 MB
📔 Title: Creating Augmented and Virtual Realities: Theory and Practice for Next-Generation Spatial Computing
#book #AR #VR #EN
🌐 Lang.: English
🧔 Author: Erin Pangilinan, Steve Lukas, Vasanth Mohan
🕘 Year: 2019
📑 Pages: 372
#️⃣ ISBN: 978-1-492-04419-2
📝 Description: Разработчикам, которые хотят войти в область разработки приложений с виртуальной и дополненной реальностью, на сегодня предоставляется уйма возможностей начать изучать работу в этой сфере. В данной книге авторы показывают процесс разработки AR и VR приложений и предоставляют практические упражнения, которые помогут отточить ваши навыки.
@bzd_channel
#book #AR #VR #EN
🌐 Lang.: English
🧔 Author: Erin Pangilinan, Steve Lukas, Vasanth Mohan
🕘 Year: 2019
📑 Pages: 372
#️⃣ ISBN: 978-1-492-04419-2
📝 Description: Разработчикам, которые хотят войти в область разработки приложений с виртуальной и дополненной реальностью, на сегодня предоставляется уйма возможностей начать изучать работу в этой сфере. В данной книге авторы показывают процесс разработки AR и VR приложений и предоставляют практические упражнения, которые помогут отточить ваши навыки.
@bzd_channel
В Go есть бенчмарки для тестирования производительности программы или функции. Бывает недостаточно иметь код программы на языке Go, и нужно узнать, что происходит на уровне ассемблерного кода. Получить ассемблерный код из исходного кода программы на Go...
Anonymous Quiz
62%
...можно с помощью команды go tool compile -S main.go.
11%
....нельзя.
27%
...можно, но только из уже скомпилированного бинарного файла.
В Go для некоторых базовых вещей отсутствует элегантное решение. Например, для работы со слайсами не добавлены «базовые» операции над ним.
sl := []int{1, 3, 4} n := 1 Поэтому, чтобы удалить второй элемент в этом слайсе, нужно использоваться код…
sl := []int{1, 3, 4} n := 1 Поэтому, чтобы удалить второй элемент в этом слайсе, нужно использоваться код…
Anonymous Quiz
86%
res := append(sl[:n], sl[n+1:]...)
9%
sl.delete(n)
5%
sl[n] = nil
При компиляции программы, может понадобиться зафиксировать некоторую информацию в итоговом бинарном файле. Например указать хеш коммита и ветку Git, или версию собранной программы. Для этого в Go можно устанавливать переменные пакета на этапе компиляции:
Anonymous Quiz
62%
go build -ldflags -X package-import-path.val=foo'
11%
это невозможно.
27%
go build package-import-path.val=foo GOOS=linux GOARCH=arm
Компилятор Go может производить escape analysis, чтобы определить, будут ли данные размещены на heap. Для этого используется флаг -m: go tool compile -m main.go.
В каком из вариантов x определена на heap?
В каком из вариантов x определена на heap?
Anonymous Quiz
33%
func foo() int { x := new(int) return *x}
67%
func bar() *int { x := new(int) return x}