Хехехе. На самом деле странный этот пропозал. Скажу сразу - не вчитывался, но попытка убрать ‘if err != nil’ у меня вызывает грусть. Я не понимаю, почему оно так болит многим.
Semantic это такая штука, для парсинга, анализа и сравнения кода на разных языках(Ruby, JS, TS, Python, Go, so on).
И вот они написали оду Хаскеллу, если кратко:
> Why is Semantic written in Haskell?
<...> In Haskell, control flow is not dictated by the language, but by the data structures used. The same syntax is used for nondeterministic and backtracking computations, for concurrency and parallelism, and for traditional imperative blocks: user-defined interpretation functions, rather than built-in language semantics, determine the way that code is executed. This would be nearly impossible to implement in a language like Go, given its limited support for abstraction and polymorphism, and a maintenance nightmare in Java: every single one of our 20k lines of code would need to be rewritten as a data structure rather than a function. This is simply not a realistic task in other languages; even functional languages like OCaml and Swift lack this level of abstraction.
https://github.com/github/semantic/blob/master/docs/why-haskell.md
И вот они написали оду Хаскеллу, если кратко:
> Why is Semantic written in Haskell?
<...> In Haskell, control flow is not dictated by the language, but by the data structures used. The same syntax is used for nondeterministic and backtracking computations, for concurrency and parallelism, and for traditional imperative blocks: user-defined interpretation functions, rather than built-in language semantics, determine the way that code is executed. This would be nearly impossible to implement in a language like Go, given its limited support for abstraction and polymorphism, and a maintenance nightmare in Java: every single one of our 20k lines of code would need to be rewritten as a data structure rather than a function. This is simply not a realistic task in other languages; even functional languages like OCaml and Swift lack this level of abstraction.
https://github.com/github/semantic/blob/master/docs/why-haskell.md
GitHub
semantic/docs/why-haskell.md at main · github/semantic
Parsing, analyzing, and comparing source code across many languages - github/semantic
oleg_log
Semantic это такая штука, для парсинга, анализа и сравнения кода на разных языках(Ruby, JS, TS, Python, Go, so on). И вот они написали оду Хаскеллу, если кратко: > Why is Semantic written in Haskell? <...> In Haskell, control flow is not dictated by the…
А еще они отказались от gRPC и ушли в более простой[citation needed] Twirp от Twitch:
> We've had no trouble plugging into the rest of GitHub's infrastructure: running as a command line tool, a web server (HTTP/JSON), and now a Twirp RPC server
Тот же remote procedure call, но только без протобафов, а на человеческом жсон.
> GitHub's infrastructure
хм. выходит гитхаб усиленно юзает его в своих других проектах? интересненько.
Репка https://github.com/twitchtv/twirp
> We've had no trouble plugging into the rest of GitHub's infrastructure: running as a command line tool, a web server (HTTP/JSON), and now a Twirp RPC server
Тот же remote procedure call, но только без протобафов, а на человеческом жсон.
> GitHub's infrastructure
хм. выходит гитхаб усиленно юзает его в своих других проектах? интересненько.
Репка https://github.com/twitchtv/twirp
GitHub
GitHub - twitchtv/twirp: A simple RPC framework with protobuf service definitions
A simple RPC framework with protobuf service definitions - twitchtv/twirp
Приходишь такой на работу, после 2х дней отсутствия на концерт и петпрожект. Начинаешь ненавидеть себя, что опять тут...а бац, у тебя хакатон на 2 дня по С++ и Envoy. И вроде не все так плохо.
Вы наверное уже слышали, что гугл помирал на этой неделе, и вот умные штуки для дома в этот момент дохли.
Не знаю, правда или нет, но выглядит реально. И да, я точно не буду жить в смарт доме.
Вспоминается Страуструп:
> I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
https://www.fastcompany.com/90358396/that-major-google-outage-meant-some-nest-users-couldnt-unlock-doors-or-use-the-ac
Не знаю, правда или нет, но выглядит реально. И да, я точно не буду жить в смарт доме.
Вспоминается Страуструп:
> I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
https://www.fastcompany.com/90358396/that-major-google-outage-meant-some-nest-users-couldnt-unlock-doors-or-use-the-ac
oleg_log
Приходишь такой на работу, после 2х дней отсутствия на концерт и петпрожект. Начинаешь ненавидеть себя, что опять тут...а бац, у тебя хакатон на 2 дня по С++ и Envoy. И вроде не все так плохо.
Тесты Энвоя пожрали 50гб диска у чела из команды. Мне кажется для 250к строк кода это все же больше, чем надо.
Даже для с++.
И даже Bazel не помог. Либо крайне криво сконфигурирован.
Даже для с++.
И даже Bazel не помог. Либо крайне криво сконфигурирован.
Всплыл интересный вопрос: что в вашей фирме факапили джуны или интерны?
(Хотя и про обычных можете рассказать)
Увлекательные истории ожидаю тут @olegkovalov
(Хотя и про обычных можете рассказать)
Увлекательные истории ожидаю тут @olegkovalov
О, Daniel Marti подготовил список изменений к 1.13 на одном из митапов. Там не все, что будет, но большая часть освещена. Да и самое интересное выбрано)
Кратко:
- бин/окт литералы
- офкорс про ошибки
- TLS 1.3 by default
- Go modules mode on
- измменение в escape analysis
- sync.Pool теперь меньше зависит от GC
- json на 15-20% шустрее (кстати он это и делал)
- ... (куча друго и более мелкого в слайдах)(и еще больше в мастере, но уже по комитам смотреть)
https://docs.google.com/presentation/d/e/2PACX-1vRo5urog_B76BcnQbIo7I391MZUKFj7l3gku6hypJ-WK1KCFw40A7BiM6NOVsqD17sA9jS7GyzCfnN4/pub?slide=id.g550f852d27_228_0
Кратко:
- бин/окт литералы
0b1011, 0o777- офкорс про ошибки
- TLS 1.3 by default
- Go modules mode on
- измменение в escape analysis
- sync.Pool теперь меньше зависит от GC
- json на 15-20% шустрее (кстати он это и делал)
- ... (куча друго и более мелкого в слайдах)(и еще больше в мастере, но уже по комитам смотреть)
https://docs.google.com/presentation/d/e/2PACX-1vRo5urog_B76BcnQbIo7I391MZUKFj7l3gku6hypJ-WK1KCFw40A7BiM6NOVsqD17sA9jS7GyzCfnN4/pub?slide=id.g550f852d27_228_0
Google Docs
What's coming in Go 1.13 - 2019
What's coming in Go 1.13 GoSheffield, 2019 - Daniel Martí
О, я и забыл о такой крутой штуке как GerritHub (http://gerrithub.io)
Можно продолжать жить на гитхаб, но ревью делать в геррите, и все круто засинхронизированно
Пример: https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/456877
(забавно, что https://gerrithub.io и http://gerrithub.io ведут на разные страницы :))))))))))))))))
Можно продолжать жить на гитхаб, но ревью делать в геррите, и все круто засинхронизированно
Пример: https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/456877
(забавно, что https://gerrithub.io и http://gerrithub.io ведут на разные страницы :))))))))))))))))
новая рубрика: #зарефакториэто
Как бы вы этот код сделали бы адекватнее? и более читабельным?
Удивите @olegkovalov
Как бы вы этот код сделали бы адекватнее? и более читабельным?
Удивите @olegkovalov
Из-за моих последних увлечений по Behemoth этот пост особенно доставил.
Кстати сам канал классный, советую 😉
https://xn--r1a.website/sv9t_channel
Кстати сам канал классный, советую 😉
https://xn--r1a.website/sv9t_channel
Telegram
iggisv9t channel
Всячина от Свята.
https://i.delta.chat/#91C0961D7874150921AA3FF8958FB5323A32500B&a=iggisv9t%40disroot.org&g=%CE%AD%CF%88%CE%B9%CE%BB%CE%BF%CE%BD%20chat&x=TVE3Ois3PLt52P1N8NSQ1POI&i=7Keb07YP4SBjr3CmFyvM6LwZ&s=DwRsMIjcP55LSyh_e_z0lb чат канала в дельтачат
https://i.delta.chat/#91C0961D7874150921AA3FF8958FB5323A32500B&a=iggisv9t%40disroot.org&g=%CE%AD%CF%88%CE%B9%CE%BB%CE%BF%CE%BD%20chat&x=TVE3Ois3PLt52P1N8NSQ1POI&i=7Keb07YP4SBjr3CmFyvM6LwZ&s=DwRsMIjcP55LSyh_e_z0lb чат канала в дельтачат
There are only 2...
1.
—- привет
—- привет
<время на написание вопроса, вместо обращение с вопросом в одном сообщении, ведь и так понятно, что будешь спрашивать>
https://nometa.xyz
2. The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help.
http://xyproblem.info
1.
—- привет
—- привет
<время на написание вопроса, вместо обращение с вопросом в одном сообщении, ведь и так понятно, что будешь спрашивать>
https://nometa.xyz
2. The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help.
http://xyproblem.info
Гит 2.22 подвезли
- Rebase merges, interactively
- Create branches from merge bases
https://github.blog/2019-06-07-highlights-from-git-2-22/
Фулл https://github.com/git/git/blob/master/Documentation/RelNotes/2.22.0.txt
- Rebase merges, interactively
- Create branches from merge bases
https://github.blog/2019-06-07-highlights-from-git-2-22/
Фулл https://github.com/git/git/blob/master/Documentation/RelNotes/2.22.0.txt
The GitHub Blog
Highlights from Git 2.22
The open source Git project just released Git 2.22 with features and bug fixes. Here's our look at some of the most exciting features and changes introduced since Git 2.21.
Я тут все слайды на GoGoConf делаю, и вот дошел до темы прокси для модулей.
Тут недавно какой-то чел сделал простейшую проксю, соответствующую спецификации.
https://github.com/goproxy/goproxy
А тут он наехал на Athens за их сложное решение, хехе
https://forum.golangbridge.org/t/you-may-not-need-to-use-athens-but-instead-use-goproxy/14018
Тут недавно какой-то чел сделал простейшую проксю, соответствующую спецификации.
https://github.com/goproxy/goproxy
А тут он наехал на Athens за их сложное решение, хехе
https://forum.golangbridge.org/t/you-may-not-need-to-use-athens-but-instead-use-goproxy/14018
GitHub
GitHub - goproxy/goproxy: A minimalist Go module proxy handler.
A minimalist Go module proxy handler. Contribute to goproxy/goproxy development by creating an account on GitHub.
oleg_log
У сервиса есть фича - перейти readonly и на любое мутирующее действие нужно отвечать ошибкой(хттп код). Вопрос - каким?
(репост оч приветствуется)
(репост оч приветствуется)
Тут какое-то время назад спрашивал какой хттп ответ ставить, и забыл я добавить одну mind map по поводу кода ответа.
(спасибо тебе, о поделившийся со мной, жаль отписался ты уже)
(по ссылке хайрез если что)
https://upload.wikimedia.org/wikipedia/commons/6/65/Http-headers-status.gif
(спасибо тебе, о поделившийся со мной, жаль отписался ты уже)
(по ссылке хайрез если что)
https://upload.wikimedia.org/wikipedia/commons/6/65/Http-headers-status.gif