Size: a a a

2020 August 08

Н

Никита in Go-go!
Буйный Виталя
Я совсем понял, задачи к материалам привязаны?
Один урок к нескольким задачам
Один урок к нескольким материалам
источник

Н

Никита in Go-go!
Lesson
 []Material
 []Task
источник

БВ

Буйный Виталя... in Go-go!
Никита
Один урок к нескольким задачам
Один урок к нескольким материалам
А почему тогда определенная последовательность?
источник

ЛА

Локоть Анатолий... in Go-go!
Никита
Lesson
 []Material
 []Task
А что если хранить слайс интерфейса, которому оба -и материал и задача будут удовлетворять?
источник

J

Jefferson in Go-go!
Всем привет. Подскажите, ловлю ошибку "lookbehind underrun" при попытке декопрессировать данные, сжатые с помощью minilzo.
Вот код на golang:
func Decompress(data []byte) string {
 var buff bytes.Buffer
 (&buff).Write(data)
 rev, err := lzo.Decompress1X(&buff, 0, 0)
 if err != nil {
   logger.Println("gate.Decompress: decompress data error: ", err)
   return ""
 }
 return string(rev)
}
Использую вот этот пакет:  github.com/rasky/go-lzo
источник

Н

Никита in Go-go!
Буйный Виталя
А почему тогда определенная последовательность?
Потому что это бизнес требование
источник

Н

Никита in Go-go!
Локоть Анатолий
А что если хранить слайс интерфейса, которому оба -и материал и задача будут удовлетворять?
Это похоже будет на Unit в варианте 2, как я понимаю. Как минимум в БД отразится именно в таком виде
источник

БВ

Буйный Виталя... in Go-go!
Никита
Потому что это бизнес требование
Просто из того что я вижу, мы не можем приступить к задаче, пока не получим определенные материалы и решим определенные задачи и пройдем определенные уроки. Это так?
источник

Н

Никита in Go-go!
Jefferson
Всем привет. Подскажите, ловлю ошибку "lookbehind underrun" при попытке декопрессировать данные, сжатые с помощью minilzo.
Вот код на golang:
func Decompress(data []byte) string {
 var buff bytes.Buffer
 (&buff).Write(data)
 rev, err := lzo.Decompress1X(&buff, 0, 0)
 if err != nil {
   logger.Println("gate.Decompress: decompress data error: ", err)
   return ""
 }
 return string(rev)
}
Использую вот этот пакет:  github.com/rasky/go-lzo
Довольно узкопрофильный вопрос, лучше создать issue на гитхабе и спросить напрямую у автора либы
источник

ЛА

Локоть Анатолий... in Go-go!
Никита
Это похоже будет на Unit в варианте 2, как я понимаю. Как минимум в БД отразится именно в таком виде
У вас очень многое остаётся за скобками)) я пока не понял, что собственно в ситуации у вас вызывает вопросы.
источник

Н

Никита in Go-go!
Буйный Виталя
Просто из того что я вижу, мы не можем приступить к задаче, пока не получим определенные материалы и решим определенные задачи и пройдем определенные уроки. Это так?
Для примера: урок по арифметике. Вам нужно:
1. Дать материал объясняющий что такое арифметика
2. Дать материал про сложение
3. Дать задачу на сложение
4. Дать материал про умножение
5. Дать задачу на умножение
6. Дать еще одну задачу на умножение
источник

БВ

Буйный Виталя... in Go-go!
Никита
Для примера: урок по арифметике. Вам нужно:
1. Дать материал объясняющий что такое арифметика
2. Дать материал про сложение
3. Дать задачу на сложение
4. Дать материал про умножение
5. Дать задачу на умножение
6. Дать еще одну задачу на умножение
Вы не поняли, у вас последовательность уроков уже определена или есть возможность выбора с какого урока я сегодня начну?
источник

Н

Никита in Go-go!
Буйный Виталя
Вы не поняли, у вас последовательность уроков уже определена или есть возможность выбора с какого урока я сегодня начну?
Последовательность определена для всего: как для уроков, так и для материалов и задач внутри урока. Идти можно только последовательно, как в примере выше
источник

БВ

Буйный Виталя... in Go-go!
Никита
Последовательность определена для всего: как для уроков, так и для материалов и задач внутри урока. Идти можно только последовательно, как в примере выше
Тогда с ордередюнитами наверное, хз що ещё выдумать можно, если все действия детерминированы.
источник

⛪️Поп Гапон⛪️... in Go-go!
В Go есть функция die?
источник

н

нелицеприятный... in Go-go!
os.Exit(1)
источник

⛪️Поп Гапон⛪️... in Go-go!
нелицеприятный
os.Exit(1)
Фенкс
источник
2020 August 09

МП

Мимо Проходящий... in Go-go!
Никита
Вопрос по огранизации бизнес сущностей

Для примера у вас есть урок, для которого есть несколько заданий и материалов к прочтению. Нужно выдавать материалы и задачи в четкой последовательности, например: материал 1 - задача 1 - задача 2 - материал 2. Учитывая условие с порядком, как лучше организовать?

1. В каждом материале/задаче сделать булевый ключ switch. При выводе списка проходимся по одному массиву материалов/задач, если у элемента switch true, то свичтим на массив второй сущности, и наоборот.
2. Сделать сущность Unit, которая в себе будет иметь айдишник задачи/материала и будет связана с уроком. В уроке же держим массив unitsOrder.

Либо какой-то еще вариант, если видите.
на Go я бы сделал yaml с описанием задач. Для задачи сделал бы поле What с её текстовой формулировкой для ученика, поле Name для идентификации задачи и поле, например, PrevExercises, в котором будет слайс имён задач, которые надо решить для решения данной задачи. При старте приложения я бы тупо анмаршалил этот yaml в мапу и для каждого ключа построил бы полное дерево всех задач:
var map [string] Exercises

type Exercise struct{
      Name, What string
      PrevExercisesNames []string
}

Хранить это всё в sql  бд на мой взгля оверкил и меганеудобно.
источник

МП

Мимо Проходящий... in Go-go!
Ну а если уж надо делать на sql, то понятно надо сделать таблицу exercise c первичным ключом id (UUID) , полями what и полем типа массив prev_exercises, которое reference key на exercise.id
источник

ВГ

Владимир Гришин... in Go-go!
Никита
Для примера: урок по арифметике. Вам нужно:
1. Дать материал объясняющий что такое арифметика
2. Дать материал про сложение
3. Дать задачу на сложение
4. Дать материал про умножение
5. Дать задачу на умножение
6. Дать еще одну задачу на умножение
Значит, вам нужна сущность Content, которая уже делится на уроки и занятия полем type. Привязывать к материалу в рамках sql можно как через material_id + поле "вес", так и через массив - что ближе по духу.
источник