10.9K subscribers
331 photos
17 videos
15 files
714 links
Архитектура | Программирование | Профессиональное развитие

Live канал - https://t.iss.one/soer_live

SOER CLUB - https://soer.pro или https://boosty.to/s0er

Бусты - https://t.iss.one/boost/softwareengineervlog

№ 5101661084
Download Telegram
Посмеялся от души, автору большое спасибо https://www.youtube.com/watch?v=PZugGAL09Qc&ab_channel=V0VAH
😁105👍124❤‍🔥3🔥3🤡2😐2
Увлекательная статья про устройство работы v8. Мне очень понравилась секция про маркировку и уплотнение указателей. Настолько, что я собрал у себя v8 из исходников и повтороил часть статьи. Вместо windbg использовал gdb для линукс.

Неудивительно, что javascript так жрёт память, на каждый чих создавать развесистую мапу - это мажорство. Всякие small integer ещё можно оптимизировать, а double уже в кучу кладётся. Жесть.


https://habr.com/ru/companies/bastion/articles/699168/
👍422😱2🤡1💅1
Хотел поговорить про абстракции и вспомнил, что у меня видос на эту тему есть.

На самом деле современные программисты могут добиться успеха в карьере, если понимают и умеют использовать абстракции на уровне кода и умеют работать с семантикой. Программирование все меньше требует низкоуровневых вещей и все больше умение точно формулировать и описывать абстракции.

https://youtu.be/uSnli_4BrEA?si=hFWKjU2nbgjn7u65
👍632🤡1
Долгое время понятие "исключения" относилось к аппаратным прерываниям, которые возникали на аппаратном уровне. Затем появились программные исключения, которые создавались и резолвились самими программистами, на уровне приложения.

Для этого использовались try/catch/finnaly методы.

Интересно, что механизмы исключений в разных языках работают похожим образом - это дополнительные программные абстракции, которые управляют потоком управления программы.

Технически это просто вызов специальных методов (throw, raise и т.д.), которые затем расскручивают стек в поисках обработчика (catch).

Концепция (не реализация, а именно концепция) невероятно сложная, так как "исключение" обладает как сложной семантикой, так и сильно усложняет логику программы (по сути мы должны исходить из мысли, что каждый оператор - это последний оператор, а далее может быть exception). Поэтому многие программисты критикуют подходы, использующие исключения.

Очень часто исключения упрощают до набора простых правил, из-за которых теряется значительная часть семантики. Это приводит к тому, что исключения выбрасывают в любом удобном и неудобном случае.

Вот статейка про то как работают исключения в C++, по сути ничего "исключительного" (кроме семантики), в обработке исключений на уровне языка, нет. https://habr.com/ru/articles/279111/
👍405🤡1
У Лиса отлично описаны аппаратные прерывания, которые используются для обработки исключений на уровне процессора.

Это даёт более глубокое понимание различий между "аппаратными исключениями" и "программными".

https://neurofox.ru/project/sasm/23_exception
👍31👎4
Предлагаю обсудить темы на сегодняшний техток. Напишите в комментариях свои предложения, а реакции на комментах будут показывать насколько тема интересна другим участникам
👍6🤡2
Live stream started
Live stream finished (52 minutes)
Кир разобрал вопросы со стрима, по поводу "throw - это return с особенностями", оказывается, бомбануло не только у меня (мой разбор есть на последнем стриме).

Вариант разбора Кира - https://t.iss.one/kirjs_ru/577


На канлае у Кира есть разбор и других вопросов, плюс видео разбор.


Если коротко, то мои ответы были корректны, но не объемны (но об этом Кир знал ещё на этапе согласования стрима, так как мне было принципиально подчеркнуть, что это не экзамен для меня).

Ну а качество вопросов и "правильные" ответы даже чатгпт не оценил. Реально практической пользы, в первых двух вопросах, почти нет.
👍27🤡7🔥64
Начинаем голосование за награду "Золотой Соер 2024" среди ютубканалов
Anonymous Poll
5%
Програмысли
20%
Extreme code
11%
Alek Os
28%
Диджитализируй
7%
Влад Тен
3%
Selfedu
11%
UlbiTv
4%
Onigiri
6%
Егор Бугаенко
4%
Decembrist ITTV
🤡145😁15👍12🎉6🤷‍♂3👀21🥰1🫡1🎄1🤪1
Предлагаю провести пятничный техток в новом формате. Спикером будет выступать кто-то из комьюнити, а я подключаться отвечая на вопросы и давай микрофон.
Итак, если кто-то хочет выступить в роли спикера, то пишите в коммент "хочу быть спикером" и тему обсуждений.
Время как всегда 15:00 по Мск.
👍27🤡4😱2
Live stream started
Live stream finished (58 minutes)
Не баг, а фича

Есть такие каверзные вопросы, на которые нельзя ответить неправильно, но вся "соль" содержится в объяснении, которое даст человек.

Например, вопрос "Можно ли в реальном режиме Intel 386го процессора адерсовать не 1мб памяти, а 4 Гб?". Если ответ будет "нет", то человек будет прав, потому что по задумке Intel так и должно было быть.

Если скажет "да", то тоже будет прав, потому что инженеры Intel тоже ошибаются и в 386 процессорах можно было использовать хак который назывался "Unreal mode" и позволял адресовать 4Гб, правда не без проблем, например, нельзя использовать EMM386.

В истории АйТи часто бывает, что недокументированная возможность становится настолько популярной, что из разряда "багов" переходит в разряд "фич", так случилось и с Unreal Mode, Intel не стал выпиливать эту возможность, так как слишком много где ее стали использовать в работе.

А какие "багофичи" знаете вы?
🔥40🤓14👍8🤡1🫡1
Фронтенд, такой фронтенд

Для меня верстка - это как гадание на кофейной гуще, нифига непонятно, но очень интересно. Вот сегодня узнал, про новую единицу измерения "svh", это прям открытие года!

https://youtu.be/utcDm7QuyPw?si=9FZUA-Gb9NGjBqLD
👍35😁91
А тем временем у нас в клубе S0ER Club появился эксперт по глубокому дизассемблированию накрутчиков опыта с последюущим "поясни в чем ты не прав".
Эта тема очень горячо заходит в нашем сообществе. Накрутчики напряглись. )
👍12🤣8🤡2
Пятничный техток

Начинаем сбор тем на пятничный техток.

1. Если вы хотите выступить спикером, то напишите в комментарии "я хочу быть спикером" и укажите тему выступления
2. Если у вас есть материал (текст в сети или видео), который полезен для программистов или может быть интересен для обсуждения, то можно предложить его для обсуждения, опубликовав ссылку
👍4🤡1