UfoStation
3.32K subscribers
267 photos
17 videos
13 files
600 links
Канал про разработку, информационные технологии, компании и продукты ☮️ (без рекламы)

Секретный чат
https://t.me/+WJap9ejonMNwKVGj

Подкаст: https://ufostation.mave.digital/
Поддержать: https://boosty.to/ufocoder
Download Telegram
Теперь до конца года буду рассматривать только технические темы 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом месяце исполняется 30 лет легендарной книге

Известной и популярной книге, написанной бандой четырех (Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес) еще в далеком 1994, в октябре этого года исполняется 30 лет.

Если вдруг вы видите ее впервые, то доложу, что в книге описывается роль ООП паттернов в архитектуре сложных систем. В частности авторы разрабатывают редактор документов, используя паттерны, а затем разбирают каждый из них в отдельности.

Полезна книга будет тем разработчикам, кто уже имеет некоторый опыт написания в ООП парадигме. Тем, кто смешивал экземпляров разных классов и искал эффективный путь их взаимодействия между собой.
Сможете вспомнить сходу 5 и более паттернов ООП?
Anonymous Poll
54%
Да
46%
Нет
Forwarded from mefody.dev
Doom на CSS

Думаю, вы слышали, что Doom на чём только не запускали. На калькуляторах, градусниках и тестах для беременности было. Даже на микроорганизмах с крайне низким FPS было.

К сожалению, на HTML и CSS полноценный Doom я не видел, но наткнулся на потрясающую демку Адама Куна, где он при помощи Scroll Animation API и 3D-трансформаций сделал возможность передвигаться по 3D-карте, стрелять в монстров, всё это в узнаваемой стилистике.

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

https://codepen.io/cobra_winfrey/pen/oNOMRav
browser.engineering

Два-три года назад у меня было желание начать написать небольшую книгу про то как работает браузер. Можно просколлить далеко вверх и увидеть посты на тему внутреннего устройства браузера и несколько докладов основанных на Chromium University.

Примерно в то же время, я обнаружил для себя, что два автора, Павел Панчеха, профессор университета штата Юта (professor in the School of Computing at the University of Utah) и Крис Харрелсон, инженер и лид в команде рендеринга (Rendering lead and Principal Software Engineer at Google), начали писать книгу, о том как написать свой браузер с нуля. Было составлено содержание будущей книги и написано несколько первых глав. Желание писать свою книгу отпало. Зачем, когда есть кто-то поумнее и поопытнее?

Сейчас книга дописана, доступна в электронном виде и готовиться к «бумажной» публикации, правда авторы скромничают и пишут, что книга и сейчас и в будущем будет дорабатываться (work in progress).

В книге Web Browser Engineering объясняется, как создать простой, но полноценный веб-браузер с помощью нескольких тысяч строк кода на Python. Книжный браузер будет использовать сетевые технологии, отрисовывать web-страницу, использовать JavaScript, GPU и прочее и прочее.

Уже начиная с первой главы, начинается разработка, а каждая следующая основывается на предыдущей и расширяет возможности разрабатываемого браузера.

Рекомендую детальнее ознакомится с книгой тем, кого интересует данная тема или полистать содержание книги хотя бы по диагонали и почитать исходники «лабораторных работ». Это сформирует идею того, как все может работать под капотом.
Однако, заранее спешу предостеречь вас от сверхожиданий. Книжный браузер создается исключительно в учебных целях, поэтому полноценно пользоваться им, мягко говоря, не получится.

Запустил одну из последних лабораторных размером в ~3,5k строк кода на Python, чтобы оценить результат. На скрине выше не запускается JavaScript, поскольку в качестве библиотеки для интерпретации используется dukpy, очень простой интерпретатор JavaScript на Python.

Есть конечно вероятность, что я что-то упустил про сборке.
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
Учел ваши пожелания и собрал все посты по теме многозадачности и производительности в один пост. Приятного чтения😊

🔹Многозадачность на уровне железа и OS / Kernel Space

1. Многозадачность в OS. Введение.
2. Процессор и его роль в многозадачности
2.1. Про Hyper Threading
3. Процессы. Начало
4. Процессы в Linux
5. Потоки. Начало
6. Потоки в Linux
7. Модели ввода-вывода. Универсальная(блокирующая) модель ввода-вывода
8. Multiplexed IO
9. Asynchronous IO

🔹Легковесные потоки в User Space / Многозадачность в языках программирования

10. Fibers. Виды многозадачности с примерами в языках программирования.
11. Сравнительный обзор двух видов многозадачности
Forwarded from JavaScript Adept
Advent of Typescript

Совсем скоро (1 декабря) на typehero.dev начнется событие, приуроченное к концу года. Каждый день будет публиковаться задача по TS, и с каждым разом сложность будет расти.

В этом году обещают завести лидерборд и даже какие-то призы для самых крутых. Отличный повод освежить знания по TS и написать калькулятор на типах👍

На канале я буду каждый день выкладывать решение дэйли-задачи, как уже делал в прошлом году. Присоединяйтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
С наступающим 2025 годом 🎆

Желаю всем и каждому профессиональных успехов, счастья в личной жизни, здоровья и всего того, что сделает вас счастливее 🎅

И я вам небольшой подарочек принес👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Воспоминания о Китае
Станция НЛО. Специальный выпуск #1
Станция НЛО. Специальный выпуск #1

Тема: Воспоминания о Китае
Гость: Василий Кузенков, персональный канал @webcorner

Содержание

00:00:26 Знакомство с гостем
00:13:45 Вход в китайский язык
00:17:58 Языковые особенности, слэнг
00:22:34 Китайский интернет
00:30:48 Компьютерные клубы
00:33:10 Строгий/анонимный доступ в интернет
00:36:54 Интернет-сервисы (аналоги gmail, youtube, steam)
00:44:02 Разработчики в Китае
00:46:44 Как появляются разрабы
00:53:07 Китайский IT рынок
00:58:24 Известные китайские продукты
01:00:55 Рынок стартапов в Китае
01:03:27 Желание уехать из Китая
01:07:53 Можно ли выйти из IT
01:09:14 Участие государства в жизни частных компаний
01:12:31 Слежка за постами в сети
01:14:08 Work life balance, работа 6 дней в неделю и выгорания
01:19:53 Уровень линейного разработчика
01:21:54 Если захотелось в Китай

Материалы к выпуску

Маг на полную ставку, новелла с участием в переводе Василия
Путешествие на Запад, один из классических романов
Искусство войны, Сунь-цзы, древнейший трактат
Троецарствие, исторический роман XIV века
Tencent, известная компания

@xufostation, канал про разработку и информационные технологии
За эти новогодние каникулы поднял количество решенных задач на leetcode с ~170 до ~240. Согласен, для опытных алгоритмистов конечная цифра небольшая, но для себя, можно сказать, устроил марафон. Вместе с этим приобрел дополнительную литературу, чтобы закрыть основные пробелы. Хотелось бы и дальше практиковаться в решении алгоритмических задач. Зачем? Алгоритмы в большинстве крупных компаний это один из этапов технического собеседования. Алгоритмы помогут реализовывать что-то интересное, например, летом я делал шутер от первого лица. Это те знания, которые не устареют в ближайшие десятилетия точно, считайте база. Так о чем это я?

На фоне всего этого хотел бы поинтересоваться у читающих канал:
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend CTF 2025

Запуск сегодня в 19:03 (по мск), это уже совсем скоро

Чат участников - @yalovefrontend_ctf
В прошлом году и в начале этого года я накупил очень много книг по компьютерной тематике. Несколько книг по алгоритмам, по культуре разработке, по масштабированию систем, одна из них по SRE, пару книг про нейронные сети и прочие и прочие.

Желание познавать или купить для коллекции известную книгу, одновременно с этим отсутствие возможности полноценно посвятить себя чтению дошли до того, что я стал забывать какие книги были мной приобретены. Так, например, я дважды купил книгу «Чистый код».

Другая проблема приобретения книг, помимо того как покупать их и не читать — это доверие рейтингу книги без ознакомления с ее содержанием. Помнится, хотел узнать как работает Agile методология на практике, в связи с чем приобрел книгу от юного коуча-миллионера филантропа и вообще кто ты без своего костюма, у которого в самом начале стояла цель написать книгу за несколько недель, а что писать там автор разберется по ходу дела, о чем он писал прямо в книге. Также приобрел книгу, у которой не было отзывов, про историю шутеров, потому что заинтересовало оглавление. В итоге было не понятно для кого написана книга, как будто для тех, кто разбирается в предмете и одновременно нет. От чтения порой возникало чувство, что смотришь ютуб ролик про gamedev, в котором отключили видео.

В общем, я пытаюсь читать 📖
Please open Telegram to view this post
VIEW IN TELEGRAM
На днях осилил книгу от Кена Уильямса «Sierra: Сказка с несчастливым концом». Книга понравилась. А чтобы не мучать вас своим обзором хочу поделиться обзором ниже:
Please open Telegram to view this post
VIEW IN TELEGRAM
Рендеринг как в Id software из начала 90ых или несколько слов о моем текущем хобби

В очередной раз я делал поползновения в сторону развития своего шутера в браузере. Мне хотелось повторить идеи из всемирно известной игры Doom, в частности то, как была реализована отрисовка (рендеринг). Изначально я воспользовался туториалом по отрисовке через Raycasting, дополнил знаниями про entity-component-system паттерн и получил то, что возможно вы уже видели — аналог игры Wolfenstein 3D. Чтобы приблизиться к DOOM необходимо реализовать алгоритм BSP — Binary Space Partitioning, к чему в последние выходные и стремлюсь.

То, каким образом движок DOOM устроен изнутри, можно почитать в книге Game Engine Black Book DOOM, в которой, к слову, и описано использование алгоритма упомянутого выше. А именно в одной из глав книги описывается то, как разработчик 3d движка Джон Кармак реализовывал рендеринг на основе статьи Constructing Good Partitioning Trees. Другими словами спросить AI-помощник, найти туториал или посмотреть в чужой открытый код тогда было нельзя. Можно сказать, что id software была первопроходцем в этом вопросе для геймдева.

Про BSP деревья также нашел в сети замечательный цикл статей — Введение в BSP деревья или BSP для самых «маленьких», а на youtube реализацию DOOM на Python с открытым исходным кодом (ссылки под видео) и объяснением идей алгоритмов, в том числе и BSP (игра написана не совсем с нуля, под капотом используется библиотека raylib).

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

PS. Если вы хотите пропитаться духом и историей компании Id software, тем, как появился на свет DOOM, какие отношения были между основателями компании, то строго рекомендую почитать/послушать книгу:
Повелители DOOM. Как два парня создали культовый шутер и раскачали индустрию видеоигр. В книге, кстати, присутствует момент встречи с Кеном Уильямсом, в прошлом владельцем компании Sierra Online, книгу которого также рекомендовал выше.
Ребята хочу собрать статистику, помогайте!

Необходимо ли высшее образование frontend-разработчику?
Anonymous Poll
28%
Да, нужно. Я frontend-разработчик
5%
Да, нужно. Я не frontend-разработчик
44%
Нет, не нужно. Я frontend-разработчик
8%
Нет, не нужно. Я не frontend-разработчик
15%
Мне посмотреть