Что-то вы гоните насчет "привычного вида формата 755 и 644". Я вот вообще не понял что это!😳
Действительно, что означают цифры которые мы получили в прошлом посте?
Это кодировка, заключающая в себе режимы доступа к файлу.
Подробней можно почитать в статье про chmod.
Там можно увидеть альтернативное обозначение того же самого с помощью символов r w x, что значит чтение, запись, исполнение.
Чтобы преобразовать восьмеричное число в такое обозначение в Python есть готовая функция
>>> stat.filemode(0o755)
'?rwxr-xr-x'
Мы видим 3 группы по 3 символа, дающие 3 типа доступа для 3 типов юзеров.
А что за знак вопроса в начале?
Давайте передадим в эту функцию необрезанное значение от os.stat
>>> stat.filemode(os.stat(path).st_mode)
'drwxr-xr-x'
Это данные, которые мы безжалостно обрезали в прошлый раз😼
Первый символ обозначает тип объекта. Это может быть файл (-), директория (d) или симлинк (l).
Вот простая схема данной кодировки
[1][3][3][3]
│ │ │ │
│ │ │ └──> Others Permissions
│ │ └─────> Group Permissions
│ └────────> Owner Permissions
└───────────> File Type
(разверните экран если вы с телефона)
Если вы попробуете получить пермишены для симлинка то получите пермишены для файла
>>> path = '.venv/bin/python3'
>>> stat.filemode(os.stat(path).st_mode)
'-rwxr-xr-x'
Чтобы получить свойства именно симлинка, нужно это явно указать
>>> stat.filemode(os.stat(path, follow_symlinks=False).st_mode)
'lrwxrwxrwx'
#tricks#basic
#typescript#blog#nextjs#nodejs#typescript
VanBlog is a simple and useful personal blog system. It offers many features like automatic HTTPS certificates, dark mode, mobile-friendly design, and a built-in comment system. Users can track website traffic with its analytics tools and customize their blog with various layouts and themes. It also supports Markdown editing, image uploading, and SEO optimization. This makes it easy for users to manage and grow their blog without needing much technical knowledge.
https://github.com/Mereithhh/vanblog
🎮 DOOM запустили на ChatGPT
Люблю наблюдать за тем, как эту легенду запускают на разных устройствах — видел даже запуск на огромном битном «компьютере» с «экраном» в майнкрафте не так давно.
Тут тоже интересно: после предварительной подготовки прямо в диалоге с ChatGPT открывается 🧙
Нет, ChatGPT не пишет с нуля код всей игры, разочарую вас🐸
Делал тот же чувак, который ранее предложил вариант captcha (бесячего теста, что ты не робот) с проверкой твоих навыков стрельбы в DOOM 😁
Душные пояснения для тех, кому интересно, как так получилось:
Разработчик взял шаблон ChatGPT App на Next.js, добавил инструмент play_doom и задеплоил всё на Vercel.
Chatgpt не просто описывает игру, а реально запускает рабочий Doom прямо в чат: серверный и клиентский рендеринг работают одновременно.
- Пояснения, как работает эта связка ChatGPT+Vercel
- Оригинальный пост
⚠️ Видео и пост из X (бывший Twitter), который сейчас запрещен в РФ.
#ИИ#ChatGPT#DOOM#AI#NextJS#Vercel#GameDev
#typescript#examples#nextjs#vercel
Vercel offers ready-to-use templates and examples that help you quickly start web projects with best practices and optimized settings, especially for frameworks like Next.js. These templates save you time by handling setup and deployment details, letting you focus on coding. You can also contribute your own examples easily using provided commands and guidelines. Vercel automatically checks your code style and quality before commits, ensuring clean code. Plus, it integrates with Git and runs tests before deployment to catch bugs early. This makes building, deploying, and maintaining fast, reliable web apps much easier and faster for you.
https://github.com/vercel/examples