heavycharged
Извиняюсь за оффтоп))
heavycharged
просто настроение подняло
Daniel
@haskellru
Нипамагло :(
Dmitry
Начать придется с того, чтобы отказаться от директории src внутри пакета 🙃 импортовые пути не усложняй, когда это не надо) вещи, которые нельзя никому давать юзать напрямую, можно складывать в специальный пакет internal, пакеты из него сможешь импортировать только ты из конкретного пакета
подскажи как организовать структуру если я хочу сделать пакет и приложение консольное, пакет предназначен для импорта другим юзерам а приложение вроде как пример. использования пакета. и да, тесты как лучше организовать для пакета?
Cat
Нипамагло :(
тогда даже не знаю есть ещё @haskell_learn, но там те же люди
Dmitry
пакет в корне, приложение в cmd
а в приложении импортить пакет по асболютному пути?
Dmitry
ох. уже два мнения
Aleksandr
если ты пишешь приложение, делай по первому варианту. если либу и приложение - по второму
Dmitry
а если приложение состоит из прочитать файл - отдать в функцию в пакете, получить результат - вывести на экран ?
Илья
не важно, важно что вы разрабатываете, и что является основной целью
Dmitry
окей, понял
arkady
привет всем!! Ребята, объясните разницу между select и range для чтения из канала? например я создаю воркера, который читает из канала данные, я же могу и с помощью селект и ренжем прочитать, так в чем разница?( не считая, что селект дает возможность читать одновременно из нескольких каналов?) также еще вопрос, как можно по "красивому" закрыть воркера, который в горутине, чтоб без утечек и дедлоков? например если у меня в воркере будет range на канал, а потом я вызову на этот канал close - цикл закроется и горутина завершится, а как в таком случа быть в оператором select?
Stepan
Всем привет, никто не парсил цены вещей в стиме?
Slava
а как отловить сигнал о закрытии?
использовать синтаксис с двумя значениями из канала
arkady
использовать синтаксис с двумя значениями из канала
понял,с пасибо, сейчас буду тестить!
Slava
https://tour.golang.org/concurrency/4
arkady
В очередной раз убедился, что у GO комбюнити отзывчивей, чем у питона
Cat
if !ok { /* closed */ }
arkady
Спасибо парни, все как надо работает:)
Daniel
и я, наконец, понял, почему
Sebor▂▅▇█▓▒░
Dmitry
а как распарсить jsonl (json Lines) используя стандартную либу?
Dmitry
так не получается. там запятых нет между линиями и []
Zver
а как распарсить jsonl (json Lines) используя стандартную либу?
Либо использовать scaner и каждую строку отлельно
Dmitry
{"date":1529336178,"text":"чтобы меня увековечивать"} {"date":1529336172,"text":"я ещё не умер"}
Zver
Отдельно.
Dmitry
ну ладно. отдельно так отдельно
Zver
ну ладно. отдельно так отдельно
Там не сложно должно быть. Либо reader создать и вычитывать построчно.
Alexander
А в Badger есть что-то вроде автовакума? Как в постгресе. Ибо залил 1млн записей, удалили, данные весят после удаления пару гигов. Разве это норм?
Alexander
Попробую ещё раз))
Daniel
и я, наконец, понял, почему
A64m qb0, [19 Jun 2018 20:01:08]: в 90-х и начале двухтысячных были исследования по всяким вариантам, про которые можно упрощенно сказать "делаем из каждого санка спарк" Daniel Podolsky, [19 Jun 2018 20:16:59]: Это, кстати, объясняет, почему я думал, что оно есть. Я как раз в 2005 интересовался вопросом
Pawel
Ну в монадах ничего суперсложного нет, это просто интерфейс из одной функции. Ну и суть решения этой задачи вовсе не в монадах, а в костыле, который позволяет в каком-то месте "выключить ленивость".
ох спасибо капитан! В хаскиле если и сущетсвует приемлемое решение практической задачи (совершеннно не факт!), то оно, внезапно, в 90%ах случаев именно через костыли, Карл.
Michael
{"date":1529336178,"text":"чтобы меня увековечивать"} {"date":1529336172,"text":"я ещё не умер"}
https://golang.org/pkg/bufio/#Scanner и построчный жсон логично считывать по-строчно, если хочетстя по другому, сами выбирали форматы
Pawel
давай немного более уважительно к собеседникам
стараюсь. Иногда напрягает когда очевидное до людей не доходит с первого, второго, энного раза
arkady
парни, а вот еще вопрос, если я создаю структуру type Test struct { sync.Mutex c chan string } заблокирую test.Lock() а другая горутина будет писать в канал этой структуры, при условии, что канал буферизованный и свободный, лок заблочит запись в канал или нет?
Alexander
ну со стороны выглядит так, что "я не умею в <что-то>, поэтому это не нужно"
Alexander
или "я это никогда не делал, поэтому это никто не делает"
Pawel
ну со стороны выглядит так, что "я не умею в <что-то>, поэтому это не нужно"
это потому что вы либо не читали что я написал, либо поняли из прочитанного ноль.
Daniel
коллеги
Stepan
Приходилось кому с валютами работать? Чей API можете посоветовать для получения свежего курса валют? Интересуют только бесплатные варианты
Pawel
ворлд банк?
Alexander
в смысле традиционные валюты ? или крипта, прости господи
Daniel
хватит
Daniel
у меня митинг кончился, буду банить
Pawel
а что за митинг, простите?
Daniel
задачи на неделю
Stepan
в смысле традиционные валюты ? или крипта, прости господи
С криптой как раз все просто, а мне нужны именно фиатные(традиционные)
Pawel
ворлд банк!
Мерль
И вот этот, но он дохлый
Мерль
http://resources.finance.ua/ru/public/currency-cash.json
Мерль
а, нет
Alexander
я вот тоже немного трогал cbrf-ное апи. хз как сейчас, раньше там была ужасный тырпрайзный soap, при этом они зачем-то сделали мимо стандарта какие-то заголовки. но была бетка rest api
Dmitry
https://golang.org/pkg/bufio/#Scanner и построчный жсон логично считывать по-строчно, если хочетстя по другому, сами выбирали форматы
да. я разобрался. просто подумал что может уже поддержка есть этого формата в стд
Pawel
worldbank api https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-api-documentation - универсальное решение для currency excange rates + conversions
Dmitry
если кто дебажил с delve в vsc - подскажите а это норм что он мапы не раскрывает и показывает только одну запись?