И в итоге получается, что для запуска какого-то куска кода мне надо накидать 50 строк инициализации нужных компонент.
DI-контейнер делает описание/прокидывание всех компонент в ленивом виде.
Допустим мне надо запустить какой-то кусок кода, который перелопатит базу. Я пишу main.go и добавляю две строчки "сделай DI контейнер" и "дай UsersStorage". После чего использую могу с ним работать без прелюдий
с повальным переходом на HTTPS (совершенно не нужным массово)
Нифига себе заход. Вы в РКН работаете?)
Кроме шуток, как вы думаете, нужен ли HTTPS на: хабре, в поиске яндекса, при скачивании приложений, на картографических сервисах. У гугла нет монополии на интернет, а бенефиты от TLS получают все.
Я уж не говорю, что без HTTPS мобильные операторы мог бы тупо подкладывать рекламу на любом сайте (думаете, опсосы не пользовались бы этой возможностью? многие так и делали)
> Эволюция ведь, как ни странно, всё ещё работает
> Поэтому возникает интересный вопрос — а почему в нынешних условиях процветают индусы?
Потому что сейчас благоприятные условия. Почитай про ленивцев. Эволюция никак не противоречит существованию менее «эффективных» форм жизни.
Насколько помню, в течение жизни клетки мозга многократно полностью заменяются, как и всего тела.
Так что можно перенести сознание в компьютер, если делать это постепенно: сперва небольшой имплант, потом побольше, а мозг наоборот — по чуть-чуть отрезаешь и норм
>> Если вы в курсе, что такое дженерики, то всё вы легко поймёте.
так как их и нет в го. Именно поэтому это и минус именного го как языка, который предотвращает появления «обобщенных» (generic) решений. Можно, конечно, использовать везде interface{} (не забываем, что это не го-вей go-proverbs.github.io), вот только это увеличивает вероятность багов и более того распространяет эту заразу в клиентский код.
>>>> язык, где по сигнатуре можно понять всё, что происходит внутри (например, есть вывод на экран/запись в БД/… или нет) очень экономит это самое время
>> Нельзя ничего понять по сигнатуре, если не знаешь алгоритма внутри вызываемой функции.
Вы читаете текст, который комментируете? Советую почитать про tagless final encoding чтобы узнать о том, как много информации может предоставлять сигнатура функции.
>> Вообще, пришла в голову простая мысль — сторонники функционального подхода реально не знают, что такое требования жизни
map-reduce (hadoop, spark), erlang, aws lambda… как жаль что «сторонники функционального подхода» продолжают тащить в продакшен эту свою функциональщину
Рассуждения о том, как может произойти замещение полицейских и военных роботами, попахивают экстремизмом.
А так, конечно, идеальная картинка: дрон детектит преступление, к нему выезжает наряд полицейских к нему приежает робот-охранник, который поливает всех из перцового балончика или стреляет из тазера.
Можно еще делать дронов, которые провожают людей до дома, в случае чего вызывая полицию и одновременно фиксируя нападение.
Использовать смарт-контракты, в которых вывод средств будет возможен третьей стороной, потом ногами идешь в РосГосБлокЧейн и тебе выпускают новый ключ, переводя на него все цифровые активы
Кстати, sqlite продает такие бумажки https://sqlite.org/copyright.html
И в итоге получается, что для запуска какого-то куска кода мне надо накидать 50 строк инициализации нужных компонент.
DI-контейнер делает описание/прокидывание всех компонент в ленивом виде.
Допустим мне надо запустить какой-то кусок кода, который перелопатит базу. Я пишу main.go и добавляю две строчки "сделай DI контейнер" и "дай UsersStorage". После чего использую могу с ним работать без прелюдий
Нифига себе заход. Вы в РКН работаете?)
Кроме шуток, как вы думаете, нужен ли HTTPS на: хабре, в поиске яндекса, при скачивании приложений, на картографических сервисах.
У гугла нет монополии на интернет, а бенефиты от TLS получают все.
Я уж не говорю, что без HTTPS мобильные операторы мог бы тупо подкладывать рекламу на любом сайте (думаете, опсосы не пользовались бы этой возможностью? многие так и делали)
WS не решает затупы при потере пакетов (head of line blocking)
Так это HTTPS давно решил, причем здесь это?
Для тестирования компонентов как раз зачастую хочется строить поддерево, часто с заменой компонентов на заглушки.
> Поэтому возникает интересный вопрос — а почему в нынешних условиях процветают индусы?
Потому что сейчас благоприятные условия. Почитай про ленивцев. Эволюция никак не противоречит существованию менее «эффективных» форм жизни.
Не знал, что я работал в академии и «деливерил бизнес валью» используя только чистые функции и иммутабельные структуры.
Так что можно перенести сознание в компьютер, если делать это постепенно: сперва небольшой имплант, потом побольше, а мозг наоборот — по чуть-чуть отрезаешь и норм
так как их и нет в го. Именно поэтому это и минус именного го как языка, который предотвращает появления «обобщенных» (generic) решений. Можно, конечно, использовать везде interface{} (не забываем, что это не го-вей go-proverbs.github.io), вот только это увеличивает вероятность багов и более того распространяет эту заразу в клиентский код.
>>>> язык, где по сигнатуре можно понять всё, что происходит внутри (например, есть вывод на экран/запись в БД/… или нет) очень экономит это самое время
>> Нельзя ничего понять по сигнатуре, если не знаешь алгоритма внутри вызываемой функции.
Вы читаете текст, который комментируете? Советую почитать про tagless final encoding чтобы узнать о том, как много информации может предоставлять сигнатура функции.
>> Вообще, пришла в голову простая мысль — сторонники функционального подхода реально не знают, что такое требования жизни
map-reduce (hadoop, spark), erlang, aws lambda… как жаль что «сторонники функционального подхода» продолжают тащить в продакшен эту свою функциональщину
А так, конечно, идеальная картинка: дрон детектит преступление,
к нему выезжает наряд полицейскихк нему приежает робот-охранник, который поливает всех из перцового балончика или стреляет из тазера.Можно еще делать дронов, которые провожают людей до дома, в случае чего вызывая полицию и одновременно фиксируя нападение.
А то неприятно будет, если кто-то не получит мой сигнал SOS, из-за undefined is not a function
Так в статье и сделано
Токен поместится, плюсов уйма.
Вместо ссылки
https://example.com/signin/callback/email/{{token}}делать ссылку видаhttps://example.com/signin/callback/email/{{jwt_token({expired_at:1213141,email:xxx@xxx.xxx})}}(типа так https://example.com/signin/callback/email/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzaWduaW4iLCJlbWFpbCI6ImFsZXhAbWFpbC5jb20iLCJleHAiOjEyNTIzMjU1Nn0.cy7DZ3gQHPINbeKbjvZTl8FmdzRyCWd8InG097ICQ7k)
На сервере просто проверяется цифровая подпись и авторизуется по указанному в емейлу.