
Sergey
02.12.2016
19:27:38
всем привет!

Мерлин
02.12.2016
19:28:35
Добрый день

Bald
03.12.2016
07:29:10
А можно из aes закодированного файла считать только нужный кусок?
Я думал можно считывать порциями если offset кратен размеру блока aes, но видимо я ошибаюсь
var iv [aes.BlockSize]byte
stream := cipher.NewOFB(block, iv[:])
потом считываю в буфер
encodedFile.ReadAt(buffer, offset)
и дешифрую
stream.XORKeyStream(buffer, buffer)

Google

Bald
03.12.2016
07:37:00
если считывать с начала файла, то все ок, стоит оффсет поменять то всё плохо
все понял, подходящий cipher mode надо выбрать

Kirill
03.12.2016
19:05:17
коллеги, немного оффтопа, но очень нужно узнать
как правильно форкать (без планов на мёрдж) bsd 3-clause с переименовыванием?

Egor
03.12.2016
19:23:18
Просто оставляя копирайты предыдущего автора

Kirill
03.12.2016
19:26:48
т.е. просто в лицензии дописать второй строкой что-то вроде Copyright (c) 2016 The {name} Authors. All rights reserved.?

Egor
03.12.2016
19:41:26
Да
А лучше первой

Kirill
03.12.2016
19:45:37
хорошо, спасибо

Лол
04.12.2016
09:06:04
#faq

Мерлин
04.12.2016
09:31:17

Лол
04.12.2016
09:32:04
как-то уныло сборщик мусора работает

Slach
04.12.2016
09:38:19
=) ну станцуй для него =) вдруг развеселится?

Google

Мерлин
04.12.2016
09:41:35

Slach
04.12.2016
09:44:14
по моему это бот какой то

Лол
04.12.2016
09:44:47
бот? ахаххахахаха ты же с точки зрения банальной эрудиции не сможешь доказать, что я бот)))
да не бот я
просто нуб

Мерлин
04.12.2016
09:45:38
go get golang.org/x/tools/cmd/godoc

Лол
04.12.2016
09:46:10
пробовал

Мерлин
04.12.2016
09:46:39

Лол
04.12.2016
09:46:55
ничто, но проблема остаётся

Slach
04.12.2016
09:47:05
по последнему скриншоту
что тебя не устравивает???
поставь в своей бубунте последний golang
и будет у тебя там godoc живой и здоровый
бубунка какая у тебя 16.04 хоть?
тогда как то так
sudo apt-get update
sudo apt-get install -y apt-transport-https software-properties-common
sudo add-apt-repository ppa:josvaz/golang-1.7-xenial
sudo apt-get update
sudo apt-get install -y golang-1.7

Лол
04.12.2016
09:47:28
бубунта)

Slach
04.12.2016
09:48:26
Cукалол. а по существу выражаться начнешь уже или как?

Лол
04.12.2016
09:48:53
да, 16.04
сейчас проверю

Slach
04.12.2016
09:50:15
ну тогда копипасти и тащи бекпорт последнего голанда из PPA
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys F27CAC73095AC1650A639CA7E1CC0F036DF706BE
а еще вот это надо чтобы подписаный пакет из PPA скачался

Kirill
04.12.2016
13:15:00
почему ты обращаешься именно к геям?

Alexey
04.12.2016
13:21:38
‘cause «gays» is gender-neutral

Kirill
04.12.2016
13:26:37
вот почему не guys?

Alexey
04.12.2016
13:26:58
потому что guys – это «парни», не gender-neutral

Google

Kirill
04.12.2016
13:27:07
под ЦА группы как-то больше подходит, насколько я знаю

Slava
04.12.2016
14:13:43
А кто-то gorp или sqlboil пробовал?

Лол
04.12.2016
16:08:48


Sergey
05.12.2016
08:41:26
Доброе утро!
Помогите пожалуйста нубу
делаю упражнения Go по книжке Кенригана
Есть упражнение - вывести файлы в которых встречаются дубли строк
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
files := os.Args[1:]
if len(files) == 0 {
fmt.Println("Нет файла")
os.Exit(1)
} else {
for _, arg := range files {
counts := make(map[string]int)
f, err := os.Open(arg)
if err != nil {
fmt.Fprintf(os.Stderr, "dup2: %v\n", err)
continue
}
countLines(f, counts)
f.Close()
isDup := false
fmt.Println(arg)
for key, n := range counts {
fmt.Printf("%v - %v\n", key, n)
if n > 1 {
isDup = true
}
}
if isDup == true {
// fmt.Println(arg)
continue
}
}
}
}
func countLines(f *os.File, counts map[string]int) {
input := bufio.NewScanner(f)
for input.Scan() {
if input.Text() == "stop" {
break
}
counts[input.Text()]++
}
}
Оно работает
но у меня есть непонятки с поведением
fmt.Println(arg)
for key, n := range counts {
fmt.Printf("%v - %v\n", key, n)
if n > 1 {
isDup = true
}
}
вот в этом кусочке


Sergey
05.12.2016
08:43:19
Вызываю я программу ./main.exe 1.txt 2.txt 3.txt
а вывод в строках выше, постоянно получается разный - строки из файлов выводятся в разном порядке
то в одном, то в другом, то в третьем...то, вообще, не все
но программа работает и результат выдает правильный

Bogdan
05.12.2016
08:48:12
// for key, n := range counts {
тут неоднозначный порядок
если хочешь одно и тоже - возьми все ключи, посортируй и сделай вывод

Антон
05.12.2016
13:23:52
добрый день!
учусь писать на го, хочу разнести в отдельные файлы подключение к базе данных и модели с их функциями
скажите, как правильно это сделать так, чтобы потом из файла модели использовать объект базы данных для работы с запросами?

Google

Slava
05.12.2016
13:26:18
инициализируй модель/менеджер с инстансом базы данных, саму базу данных инициализируй в main

Admin
ERROR: S client not available

Slava
05.12.2016
13:26:25
и передавай уже там в модель/менеджер

Антон
05.12.2016
13:27:55
то есть нужно объект базы передавать в модель каждый раз?
или я неверно понял?

Slava
05.12.2016
13:28:32
я не знаю что у тебя за модель
любую модель должен какой-то репозиторий возвращать, она же не может сама себя генерировать

Антон
05.12.2016
13:30:17
ну я вообще опираюсь на этот пример
https://github.com/josephspurrier/gowebapp
но он для меня пока местами сложноват
и вот там, если посмотреть, файлы модели, они импортируют database, и сразу его используют
но мне не удается так сделать

Slach
05.12.2016
13:32:11
Народ, а можно нюбский вопрос про горутинам?
вот есть такой код
https://play.golang.org/p/uF-T_xWv2D
почему он выпадает в 13й строке?
я ж просто хочу в канал чтото записать
где написано что нельзя создать канал без работающей go рутины и что то в него запульнуть ? если при этом main сама является горутиной?
стек оверфлоу. хвала тебе =)
http://stackoverflow.com/questions/12398359/throw-all-goroutines-are-asleep-deadlock

Slava
05.12.2016
13:33:35
ты пишешь в nil канал - значит блокируешь навсегда
у тебя всего одна горутина
значит это конец всему
смысла жить дальше нет

Антон
05.12.2016
13:34:27
а что с моим вопросом?)

Slava
05.12.2016
13:36:12
в коде который ты показываешь - база данных сохраняется в глобальную переменную, которая потом используется во всех остальных пакетах
это путь в никуда, так делать не надо

Google

Egor
05.12.2016
13:36:46

Slava
05.12.2016
13:36:57
почему же, горутина
особенная, но горутина
я же пишу выше, что всего одна горутина выполняется

Egor
05.12.2016
13:37:49
понял

Антон
05.12.2016
13:38:32
а есть какой-то корретный пример, где можно увидеть хорошую MVC структуру?

Max
05.12.2016
13:39:30

Slava
05.12.2016
13:39:47
потому что
1) сложно тестировать

Max
05.12.2016
13:39:59
потом конект копируется и закрывается при каждом реквесте

Egor
05.12.2016
13:40:10