myStack
890 subscribers
761 photos
15 videos
27 files
310 links
Меня зовут Ростислав и я разработчик.

Это мой личный блог.

Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда.


Книги:
https://bit.ly/rostislav-books

Личка:
https://t.me/Rostislaved

Сайт:
Rostislav.me
Download Telegram
В Go встроен шикарный функционал для бэнчмарка.
Мне нужно было понять, какой из двух if'ов на первом скрине отработает быстрее, а главное насколько (при разных длинах строки).
Раньше в матлабе надо было писать разные циклы, самому выбирать число итераций, засекать время, а тут все изкаропки. Четко!
Первые шаги к HighLoad😂
Сноска к слову RPC (Remote Procedure Call):
"In modern programming languages, we might instead say remote method invocation (RMI), but who likes these languages anyhow, with all of their fancy objects?"
Только Си)
Ща читаю операционки и короче. Есть два вида многозадачности:
1. Классический - потоки. Планировщик по очереди их запускает и все ок.
2. Событийные системы. Тут всего 1 поток. Все операции асинхронные, т.е. пишешь какой-нибудь read() и программа не ждет завершения, а продолжает выполняться дальше. Суть в том, что периодически ты проверяешь состояние своего read и если он завершился, то делаешь что-то соответствующее.
К чему я это. Для меня стало открытием, что первая модель не единственно возможная многозадачность.
Кстати, вторая модель напоминает мне сильно javascript. С его коллбэками, промисами асинками и т.д. Скорее всего потому что там она и используется т.к. джаваскрипт не компилируемый, а интерпретируемый и первый подход сложно реализовать, если вообще возможно (я не знаю еще).
Более того, первый подход имеет тот недостаток, что такой код правильно писать сложно. То есть всякие условия гонки не исключены, дедлоки, лайвлоки и т.д. Второй же подход это не имеет изначально т.к. всего 1 поток! Но такой код писать тоже не легко (Не смогу особо сказать почему, но может можно загуглить по manual stack managment).
Морали нет) Очередные ночные рассуждения
Можно переименовать канал в /dev/null, тогда название будет корректнее отражать ту отстраненность, которую я испытываю, когда сюда пишу)
Про "ксерокс", синьку и английское слово blueprint
https://pikabu.ru/story/pro_sinku_7741753
Очень круто)
Forwarded from Двач
This media is not supported in your browser
VIEW IN TELEGRAM
Британские службы спасения успешно протестировали первый в мире реактивный костюм парамедика – такие костюмы хотят использовать для экстренной помощи пострадавшим

Лётные испытания прошли в национальном парке в Озёрном крае. Во время теста удалось долететь со дна долины на место «происшествия» за 90 секунд. Чтобы добраться туда пешком, спасателю потребовалось бы 25 минут
То есть, даже, учитывая, что у меня в профиле нет слова java, они зовут меня на позицию сеньера. Приятно. Не зря написал, что я scratch trainee
Начал курс на курсере, а там книги советуют, ага
Наконец-то начал))
Круто! В телегу завезли обнову с возможностью оставлять комментарии к посту, если к каналу подключён чат (у меня подключён).
Всё всё равно хранится в "чате", но теперь удобнее и легче сообразить, что комменты есть)
Решил первую задачку курса по Go) написал утилиту tree (такой говнокод там... не покажу)
Очень круто про многозадачность в ОС и почему потребовалась такая сущность, как горутина, используемая в Go
https://www.coursera.org/learn/golang-webservices-1/lecture/Z7AKM/mietody-obrabotki-zaprosov-i-pliusy-nieblokiruiushchiegho-podkhoda