Привет! Хоть опрос выше и показал, что английский более предпочтительный язык, но аналитика telegram говорит об обратном, поэтому следующий посты планируются на русском языке.
---
Hello! Although the survey above showed that English is the more preferred language, telegram analytics says the opposite, so the next posts are planned in Russian.
---
Hello! Although the survey above showed that English is the more preferred language, telegram analytics says the opposite, so the next posts are planned in Russian.
👍1
Так как близко новый год, то пройдёмся по краткосрочным планам.
Насколько я знаю, что многие вступили в этот канал перейдя в него из одного из моих приложений.
И немного планов по ним:
1. Оффлайн справочник React. Раньше приложение брало информацию с официальной документации по React (https://reactjs.org), но теперь данная документация считается legacy и актуальная находится на сайте https://react.dev. И с этим есть одна блокирующая проблема, что он полностью переведён только на английский язык, а на другие менее 20%. Возможно в следующем году добавлю английскую версию в приложение и когда документация будет переведена на русский, то добавлю и его.
2. Оффлайн справочник Vue. Vue 2 - всё (EOL). Буду обновлять до Vue 3 в ближайшем времени.
3. Оффлайн справочник фронтендера. Недавно добавил туда документацию по Angular, но так как это делалось довольно быстро, то скорее всего есть проблемы. Постараюсь обновить информацию в приложении и добавить в него все фичи из других приложений.
А так же, есть пару проектов информацию о которых опубликую в канале:
1. Планирую дать интервью об одном продукте, который недавно разрабатывали.
2. Расскажу ещё об одном продукте, который сейчас разрабатываем и скорее всего скоро релизнем.
3. Секретный проект. Пока под покровом тайны, но скоро будет больше информации :)
В общем краткосрочные планы на следующий месяц примерно такие :)
Насколько я знаю, что многие вступили в этот канал перейдя в него из одного из моих приложений.
И немного планов по ним:
1. Оффлайн справочник React. Раньше приложение брало информацию с официальной документации по React (https://reactjs.org), но теперь данная документация считается legacy и актуальная находится на сайте https://react.dev. И с этим есть одна блокирующая проблема, что он полностью переведён только на английский язык, а на другие менее 20%. Возможно в следующем году добавлю английскую версию в приложение и когда документация будет переведена на русский, то добавлю и его.
2. Оффлайн справочник Vue. Vue 2 - всё (EOL). Буду обновлять до Vue 3 в ближайшем времени.
3. Оффлайн справочник фронтендера. Недавно добавил туда документацию по Angular, но так как это делалось довольно быстро, то скорее всего есть проблемы. Постараюсь обновить информацию в приложении и добавить в него все фичи из других приложений.
А так же, есть пару проектов информацию о которых опубликую в канале:
1. Планирую дать интервью об одном продукте, который недавно разрабатывали.
2. Расскажу ещё об одном продукте, который сейчас разрабатываем и скорее всего скоро релизнем.
3. Секретный проект. Пока под покровом тайны, но скоро будет больше информации :)
В общем краткосрочные планы на следующий месяц примерно такие :)
🔥3
В свои лучшие годы я активно старался баг хантить с надеждой заработать миллионы долларов, но получилось не так много. Возможно вам тоже эта тема интересна и поделюсь несколькими ссылками, как можно вктиться в бб более быстро и безболезненно (нет, скорее всего будет больно):
1. Тг папка с каналами по баг баунти - каналы от топов ру сегмента бб, где можно найти единомышленников
2. Платформа https://codeby.games - очень классные бесплатные ctf с отличным комьюнити. Просто выбираете тему и начинаете решать по ней лабы и вжух вы уже сильно прокаченнее в определённой теме совершенно бесплатно.
3. Курс WAPT от Codeby, если интересует хакинг веба, прям оченб мощный курс - я прошёл и мне понравилось и как раз во время учёбы нашёл самые дорогие баги, но в своё время эта была для меня целая проверка смогу дойти до конца или нет.
В общем в текущей ситуации баг баунти в РФ сильно развивается после ухода hackerone и можно хантить на площадках BI.ZONE, Standoff365 и т.д. и реально зарабатывать миллионы :)
1. Тг папка с каналами по баг баунти - каналы от топов ру сегмента бб, где можно найти единомышленников
2. Платформа https://codeby.games - очень классные бесплатные ctf с отличным комьюнити. Просто выбираете тему и начинаете решать по ней лабы и вжух вы уже сильно прокаченнее в определённой теме совершенно бесплатно.
3. Курс WAPT от Codeby, если интересует хакинг веба, прям оченб мощный курс - я прошёл и мне понравилось и как раз во время учёбы нашёл самые дорогие баги, но в своё время эта была для меня целая проверка смогу дойти до конца или нет.
В общем в текущей ситуации баг баунти в РФ сильно развивается после ухода hackerone и можно хантить на площадках BI.ZONE, Standoff365 и т.д. и реально зарабатывать миллионы :)
This media is not supported in your browser
VIEW IN TELEGRAM
Возможно вы встречали имитацию тумана или что-то похожее, что выглядит красиво, но не очень понятно, как это сделано.
Скорее всего для реализации такой фичи используют шейдеры. По ним есть замечательная интерактивная книга The Book of Shaders пройдя которую можно сильно прокачаться в этой теме и уже с полным пониманием реализовывать красивые вещи, например как этот туман.
Скорее всего для реализации такой фичи используют шейдеры. По ним есть замечательная интерактивная книга The Book of Shaders пройдя которую можно сильно прокачаться в этой теме и уже с полным пониманием реализовывать красивые вещи, например как этот туман.
Недавно делал проект на godot по плейлисту, но там есть куча антипаттернов и как делать не стоит. В этот чудесный новогодний вечер всё-таки дошли руки начать переписывать поведение персонажа на FSM. В общем, теперь мне godot нравится ещё больше, возможно скоро будет демка планируемой игры и скорее всего на этих выходных проведу пару стримов с разработкой игры.
С новым годом! Пусть мечты сбываются и всегда будет хватать здоровья их осуществлять :)
Интересный момент, теперь для новых каналов нужно запрашивать доступ к трансляциям и подтвердить своё намерение с помощью номера телефона, только после этого будет 24-часовой cooldown на трансляцию. Видимо таким способом стараются решить проблемы всяких трансляций "SpaceX", где предлагают вложить биткойны.
Поэтому, если кто-то в будущем захочет быстро создать трансляцию, то проверьте, что вам эта фича доступна.
Поэтому, если кто-то в будущем захочет быстро создать трансляцию, то проверьте, что вам эта фича доступна.
Ради эксперимента провёл небольшую трансляцию, чтобы потестить звук и в целом каково это кодить что-то новое на стриме. В общем по мне норм, думаю ещё шумоподавление от nvidia включить или gate звука чуток прибавить, чтобы не было слышно размышлений.
Думаю завтра ещё подключу трансляцию и добью разделение логики на FSM, а после уже буду доп. механики начинать реализовывать.
Думаю завтра ещё подключу трансляцию и добью разделение логики на FSM, а после уже буду доп. механики начинать реализовывать.
Привет! Запустил стрим, будем допиливать поведение персонажа и если есть какие-нибудь вопросы, то можно задавать в чат и обсудим :)
https://youtube.com/live/P9b8oQKamuo?feature=share
https://youtube.com/live/P9b8oQKamuo?feature=share
Youtube
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
This media is not supported in your browser
VIEW IN TELEGRAM
Хоть и не успел ничего такого реализовать, но идея для следующей механики уже есть.
Как думаете, что это будет?
Как думаете, что это будет?
Сегодня довелось много писать на NestJS и делюсь парой удобных штук:
1. Prisma Studio - довольно удобно можно запустить одной командой в папке проекта и не нужно настраивать подключение через сторонние клиенты.
2. Bull - очереди поверх редиса с довольно удобным синтаксисом и простой установкой. Для него есть дашборд, но так как там для подключения нужно было немного заморочиться, то пока хватило AnotherRedisDesktopManager.
3. Ну и bcrypt для хеширования паролей.
P.S. Статья со скриншота
1. Prisma Studio - довольно удобно можно запустить одной командой в папке проекта и не нужно настраивать подключение через сторонние клиенты.
2. Bull - очереди поверх редиса с довольно удобным синтаксисом и простой установкой. Для него есть дашборд, но так как там для подключения нужно было немного заморочиться, то пока хватило AnotherRedisDesktopManager.
3. Ну и bcrypt для хеширования паролей.
P.S. Статья со скриншота
В предыдущем посте упоминал Prisma Studio, классная вещь, но есть проблема, что её можно запустить только указав путь до схемы базы данных и поднять локально, а вот подключиться к серверу нет. А так же, так как пока для тестирования используем sqlite, то соответствено нужно иметь доступ к файлу дб.
Можно поднять локально на сервере спуллив проект или скачав схему, но возникает проблема, что сервис безальтернативно поднимается на 5555 порту без какой-либо авторизации.
Сталкиваясь на работе с nginx-ом часто встречал конструкцию с
1. Ставим ufw - это firewall, который блокирует куда можно отправять трафик и куда нельзя в обе стороны (на приём и передачу). Классная инструкция здесь. На самом деле, я бы всегда рекомендовал блокировать всё, что не используется, так как нас однажды хакнули, когда использовали слабый пароль от ssh и очень много трафика шло через наш сервер, ufw такое бы заблокировал. Правда в любом случае после такой атаки только переустановка сервера или восстановления из бекапа, когда точно он не был взломан.
2. В нашем случае блокируем доступ к порту 5555
3. Устанавливаем nginx, если не был установлен. Способ установки зависит от системы.
4. После меняем конфиг для nginx, чтобы он проксировал другой порт с Basic Authentication (связка логин/пароль).
4.1 Как сделал я на тестовом сервере - просто в
4.2 Конфиг получился
4.3 А чтобы создать связку логин и пароль, то используем htpasswd
В итоге после таких манипуляций и нас будет закрыт порт 5555, он будет доступен только из внутренней сети и мы сможем заходить в prisma studio на 3100 порту с аутентификацией.
Можно поднять локально на сервере спуллив проект или скачав схему, но возникает проблема, что сервис безальтернативно поднимается на 5555 порту без какой-либо авторизации.
Сталкиваясь на работе с nginx-ом часто встречал конструкцию с
proxy_pass, которая позволяет проксировать данные с одного url на другой. И зная это придумал забавное решение. 1. Ставим ufw - это firewall, который блокирует куда можно отправять трафик и куда нельзя в обе стороны (на приём и передачу). Классная инструкция здесь. На самом деле, я бы всегда рекомендовал блокировать всё, что не используется, так как нас однажды хакнули, когда использовали слабый пароль от ssh и очень много трафика шло через наш сервер, ufw такое бы заблокировал. Правда в любом случае после такой атаки только переустановка сервера или восстановления из бекапа, когда точно он не был взломан.
2. В нашем случае блокируем доступ к порту 5555
sudo ufw deny 5555
3. Устанавливаем nginx, если не был установлен. Способ установки зависит от системы.
4. После меняем конфиг для nginx, чтобы он проксировал другой порт с Basic Authentication (связка логин/пароль).
4.1 Как сделал я на тестовом сервере - просто в
/etc/nginx/sites-enabled/default заменил конфиг. А по хорошему, нужно в sites-available добавить новый домен и потом слинковать его в sites-enabledbash
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
4.2 Конфиг получился
server {
listen 3100 default_server;
listen [::]:3100 default_server;
location / {
proxy_pass http://127.0.0.1:5555/;
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}4.3 А чтобы создать связку логин и пароль, то используем htpasswd
sudo htpasswd -c .htpasswd user_name
В итоге после таких манипуляций и нас будет закрыт порт 5555, он будет доступен только из внутренней сети и мы сможем заходить в prisma studio на 3100 порту с аутентификацией.
Prisma
Prisma Studio | Next-generation ORM for Node.js and TypeScript
The easiest way to explore and manipulate your data in all of your Prisma projects.
👍1
В общем, как показала практика sqlite не очень удобен для разработки, если тебе нужно иметь базу на сервере и разрабатывать локально. Поэтому поднял PostgreSQL. Сейчас пока напрямую открыл доступ в интернет защитив паролем учётки, но по уму нужно какой-нибудь VPN до сервера прокинуть, чтобы никто не пытался пароли перебирать к бд. Пришлось потратить некоторое время, чтобы открыть доступ к базе из вне и когда всё сделал по разным статьям, увидел, что всё есть в этой. Главное, не забудьте ставить сложный пароль, так как боты довольно быстро могут перебрать базовые комбинации.
TecAdmin
How To Configure PostgreSQL to Allow Remote Connections – TecAdmin
An open-source, object-based relational database PostgreSQL, provides the user with the implementation of SQL and is commonly hosted on Linux. With PostgreSQL users can expand the system by defining self-data types, functions, and operators. PostgreSQL is…
👍2
И ещё немного настроил CI/CD через github actions. В общем довольно удобная штука. Теперь с помощью .env файла можно указать куда писать на проде и при локальной разработке. Для работы с .env файлами в среде ноды уже есть довольно много решений: native (node 20+), dotenv и @nestjs/config (так как сейчас пишу на nest).
На проде этот .env файл собирается из секретов в репозитории и для деплоя использую ssh-action, так как пока идёт активная фаза разработки, то там просто запускаются миграции и перезапускаются необходимые вещи через pm2, возможно потом выберем более production-ready решение. Ну и конечно при каждом деплое приходит сообщение с помощью telegram-action.
На проде этот .env файл собирается из секретов в репозитории и для деплоя использую ssh-action, так как пока идёт активная фаза разработки, то там просто запускаются миграции и перезапускаются необходимые вещи через pm2, возможно потом выберем более production-ready решение. Ну и конечно при каждом деплое приходит сообщение с помощью telegram-action.
nodejs.org
Node.js — How to read environment variables from Node.js
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and noscripts.
Если кто-то пользуется Godot 4, то сегодня в мастер слили возможность сбилдить проект, который можно будет потом загрузить в Я.Игры и которые будут запускаться в safari 🎉
https://github.com/godotengine/godot/pull/85939#event-11522059935
https://github.com/godotengine/godot/pull/85939#event-11522059935
GitHub
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread by adamscott · Pull Request #85939 · godotengine/godot
Context
This PR adds the THREADS_ENABLED macro and the use_threads=yes|no threads=yes|no build option.
There could be a way to make the THREADS_ENABLED modifications run time instead of build time,...
This PR adds the THREADS_ENABLED macro and the use_threads=yes|no threads=yes|no build option.
There could be a way to make the THREADS_ENABLED modifications run time instead of build time,...
🔥1
Недавно реализовывал схему с access и refresh токенами на бекенде и нашёл картинку, которая довольно очевидно обозначает схему взаимодействия. Раньше думал, что это сложнее будет работать, но на самом деле всё довольно просто.
1. При логине/регистрации генерируем access и refresh token. У access токена время жизни меньше получаса, а у refresh дольше.
2. При рефреше токена закидываем access и refresh токен в blacklist и выдаём новые. Здесь могут попробовать рефрешнуть с помощью access токена, тогда просто его закидываем в blacklist и отдаём 401 ошибку и согласно схеме попробует рефрешнуть с помощью рефреш токена.
В принципе всё :)
Есть ещё сценарии удаления аккаунта или условного логаута, но там уже логика зависит от потребностей в работе приложения.
1. При логине/регистрации генерируем access и refresh token. У access токена время жизни меньше получаса, а у refresh дольше.
2. При рефреше токена закидываем access и refresh токен в blacklist и выдаём новые. Здесь могут попробовать рефрешнуть с помощью access токена, тогда просто его закидываем в blacklist и отдаём 401 ошибку и согласно схеме попробует рефрешнуть с помощью рефреш токена.
В принципе всё :)
Есть ещё сценарии удаления аккаунта или условного логаута, но там уже логика зависит от потребностей в работе приложения.
misha98857
И ещё немного настроил CI/CD через github actions. В общем довольно удобная штука. Теперь с помощью .env файла можно указать куда писать на проде и при локальной разработке. Для работы с .env файлами в среде ноды уже есть довольно много решений: native (node…
Активная фаза разработки почти подходит к концу, поэтому переезжаем на более production-ready решение. Докеризирую всё приложение, чтобы посмотреть как в итоге будет работать и уже настраивать бекапы/репликацию базы через конфиг.
Когда сделаю и результат будет такой, что мне понравится, то обязательно напишу постик об этом с шагами и ссылками, которые могут пригодится. Может даже в отдельную репу закину workflows и докерфайлы, чтобы можно было целиком на всё посмотреть
Когда сделаю и результат будет такой, что мне понравится, то обязательно напишу постик об этом с шагами и ссылками, которые могут пригодится. Может даже в отдельную репу закину workflows и докерфайлы, чтобы можно было целиком на всё посмотреть
🔥2
Появилось немного времени, попробуем сделать заход на подготовку приложения по React к open-source
https://youtube.com/live/5Ssy3ic5RIc?feature=share
https://youtube.com/live/5Ssy3ic5RIc?feature=share
Youtube
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
👍1