uvelichitel: угу, если быть формально точным, то вот это: hackage.haskell.org/package/base-4.8.1.0/docs/Prel...
По поводу ответа, давайте обождем немного, возможно метры ещё подтянутся и расскажут чего интересного и полезного, потому что я Haskell только изучаю, более того, до фундаментального и глубокого изучения монад ещё и не дошел толком то....собственно потому и коммент написал, а не ответ.
У монады есть четкое определение. Все что выполняет требования этого определения будет честной не фейковой монадой. Классически всегда делают для демонстрации Maybe, да, ибо выгоды её использования видны и понятны не ФПшникам. И вот с этой точки зрения встает вопрос в разумности этого действия: реализовать монады то совсем не сложно на Go, но будут ли они действительно удобными инструментами в Go?...решение каких конкретно задач и проблем они упростят (или дадут альтернативу) в Go и упростят ли вообще? Мне кажется, учитывая топорность языка, не получится ничего лучше и приятнее идиоматичного кода =/ Если же все это "just for fun" и "потому что мы можем", то почему бы и нет)
Так как на Maybe Вы явно не нацелены, со своей стороны посоветую Вам монаду List отсюда: kolesnichenkods.github.io/2015/08/01/%D0%9C%D0%BE%...
ZloyEngineer: воу-воу-воу)...я ведь всего лишь спросил о книгах где можно было бы поживится указанными Вами "пробелами" в "Real World Haskell": "Тема ByteString Lazy <-> Strict", "слова о монадах Binary и Serialize" и т.д. ...ибо интересно)
За ссылку большое спасибо, обязательно учту Ваши слова.
С изучением не спешу, смакую каждую составляющую языка фундаментально и по-долгу, ибо вкусно)...начал вообще с лямбда-исчисления)
sim3x: хм, благодарю за наводки. Ещё вопрос: что, по Вашему мнению, тогда считается достаточно прочным в данный момент? scrypt, pbkdf2, что-то по-экзотичней?
sim3x:
С сокращением результирующего множества хешов вполне себе можно жить. Вот статья по поводу: habrahabr.ru/post/100301
А вот касательно "не обязательно вскрывать все слои" - можно подробнее? В какой ситуации и как? Bcrypt ведь вполне себе "стандарт".
Иван Соломенников: Хочется руками и правильно - Вам в Rust. Тамошняя концепция владения и заимствования очень быстро научит правильно и собственными руками garbage collection. Помимо этого ближе познакомитесь с прелестями функциональных ЯП и тем, насколько изящны могут быть системы типов. После этого и на плюсах сможете пописать правильно, не допуская глупейших, но неочевидных новичкам, утечек памяти и сегфолтов. ИМХО, Rust стоит поучить именно для того чтобы понять и почувствовать на практике концепцию владения и заимствования...это важная концепция, в которую должен уметь каждый уважающий себя программист.
grey_rat: Если каждая нода с белым IP выполняет роль "вспомогательной", то проблема выхода "вспомогательной" ноды из сети не так уж актуальна, если мы рассчитываем на вменяемое общее кол-во нод в сети. Я только не пойму все никак, почему Вы это считаете не p2p? Это скорее проблемы, с которыми приходиться мириться при реализации p2p в современной сети. Извините за дотошность, но мне правда интересно.
grey_rat: Почему не p2p? Все узлы равноправны. При установке указывается какой-то начальный список доверенных узлов, далее этот список может изменяться уже в соответствии с дизайном протокола. Управляющих серверов при этом нет. Любая нода не за NAT может играть роль вспомогательной для пробивки NAT.
Ну, наверняка будут какие-то начальные публичные узлы на серверах. Имеется в виду, что они будут такими же равноправными единицами, как и все остальное. Ну, а дальше все зависит от дизайна протокола, вот например пробивка NAT в RTMFP: https://tools.ietf.org/html/rfc7016#section-3.5.1.6
uvelichitel
Я воспринял слово "сконвертировать" именно как "преобразовать тип". Приведенный мною код с этим справляется на ура.
Если при этом нужно убить нули, ну сделайте s := x[:0] и будет счастье, хотя не могу представить зачем нужны именно такие манипуляции.
Роман Ракзин ну так а проект по-Вашему в GOPATH помещать не надо?
Нет тут никакой проблемы. Сходите в конце-концов на официальную доку golang.org/doc/code.html#Workspaces и разберитесь что и куда нужно.
Зарубить keep-alive пробовали? Какая у Вас версия Go и на какой платформе пробовали? В приведенном треде в результате виновным оказался Gorilla toolkit. Сомневаюсь, что такое огромное комьюнити языка Go прошляпило утечку в таком базовом компоненте, так что тут все должно быть в переделах нормы.
stp008: Значит можно было недостаточно хорошо. Каких-то возможностей не хватало. Плюс Reflection запилена в ООП-стиле, что, вообщем, становится трендом в стандартной билиотеке PHP.