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.
Nc_Soft: Надо выбирать то, что лучше подходит под конкретную ситуацию. И, если мне разово надо спарсить пару страниц, или эта операция выполняется сравнительно не часто, то нет смысла заморачиваться на gzip'ы (особенно, если на текущей платформе это дело не такое тривиальное как в node), когда достаточно добавить определенный заголовок к запросу.
По поводу ответа, давайте обождем немного, возможно метры ещё подтянутся и расскажут чего интересного и полезного, потому что я Haskell только изучаю, более того, до фундаментального и глубокого изучения монад ещё и не дошел толком то....собственно потому и коммент написал, а не ответ.