Pull to refresh
22
0
Олег Шванн @OlegSchwann

Go разработчик

Send message
В оригинале нормально читается, никаких сложных метафор и времен. Уровня B2 уже достаточно, советую.
Если судить по проскальзывающим вопросам на собеседованиях, то кроме очевидного add commit:
  • diff для представления PR до push,
  • grep для отладки поломаного в прошлом,
  • reflog для лечения непоправимого,
  • отличие cherry pick от rebase,
  • умение пользоваться merge tool, а не стрелочками >>> === <<<,
  • squash для красоты.
Ношение усов и бороды под респиратором/противогазом:

Придётся сбрить бороду, оставив усы, как сделал из-за противогаза немецкий солдат, третий в четвёртом ряду (Закон Годвина, да.))

А до меня дошла настольная игра на внимательность — Доббль.
Как выглядит:

Люблю настолки (все, а особенно сложные типа Эволюции и Манчкина), порадовало.
Знакома ситуация, когда место на флэше закончилось, и требуется впихнуть невпихуемое

Иногда не хватает байта. Всего одного.
Так можно и без ИИ попытаться, вот библиотека, содержащая всё: LibraryOfBabel.
> Попытка сложить BigInt с числом 4n + 2 приводит к исключению.
Удивляет, что от первоначальной философии языка отошли.
Впрочем, это хорошо и удобно для всех, кроме участников www.dwitter.net.
Стало интересно:
Цикл на go
for i = zcount; i < binsz; i++ {
	j = size - 1
	for carry = uint32(bin[i]); j > high || carry != 0; j-- {
		carry = carry + 256*uint32(tmp[j])
		tmp[j] = byte(carry % 58)
		carry /= 58
	}
	high = j
}
Как он компилируется напрямую:
movzx   r14d, byte ptr [r11+rsi]
shl     r14d, 8
add     r12d, r14d
mov     r14d, 8D3DCB09h
imul    r14, r12
shr     r14, 25h
imul    r15d, r14d, 3Ah
sub     r12d, r15d
mov     [rsi+r11], r12b
dec     r11
mov     r12, r14
Как он компилируется с использованием bits.Div32:
movzx   r14d, byte ptr [r11+rsi]
shl     r14d, 8
add     r14d, r12d
nop
mov     r15d, r14d
shr     r14, 1
mov     r12, rax
mov     rax, 8D3DCB08D3DCB08Eh
mul     r14
shr     rdx, 4
imul    r14, rdx, 3Ah
sub     r15, r14
mov     [rsi+r11], r15b
dec     r11
mov     rax, r12
mov     r12, rdx
mov     rdx, [rsp+60h+var_20]
Количество вспомогательных mov инструкций стало больше, а количество умножений не уменьшилось. Но и пространства для оптимизации особо нет: 10 инструкций в нагруженном цикле.
Не все intrinsic одинаково полезны.
Спустя полтора года про могу сказать про филиал в МГТУ: их сервис живёт, хотя иногда и не доступен. PrintBox поставили ещё один принтер в соседнем здании, что выручает. Печать дешевле, чем в ларьке, потому люди терпят нестабильность.
В helloworld Docker'a решили пропустить первые 6 пунктов. 1 системный вызов, красота.

Да. Но каналы имеют фиксированный размер. Если в очередь пишет и читает 1 goрутина, как в алгоритме обхода дерева в ширину, например, то появляется возможность deadlock'а. Так что простые очереди тоже нужны.

Слава Линусу Торвальдсу, интерфейсы ядра не будут иметь мажорных изменений никогда, и существующие бинарники будут запускаться неограниченно долго.

Зачем тогда оставаться на версии 1 навсегда?

Через css нельзя отключать скрипты и блокировать домены. Всё-таки фильтры адблока сложнее, чем display: none;

1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity