GitHub avatar

Fox's Blog

Working on a New Project

A look at the process of starting and developing a new website.

The Project

The project I'm working on is called LLJT:

It's a website that's also a PWA, so you can use it like a mobile app. It uses MaterialUI to behave like a real phone app. I spent a while on the Mui imports: I went from 11707 modules down to 595 in the end, by importing each icon line by line instead of the destructured import. That's when I learned that the destructured import loads the whole icon library, while individual imports only load the ones you actually use.

Nibi is the bot connected to this website.Grading relies on Google Forms: We use multiple-choice quizzes to evaluate our students, and we also hand out Discord roles, plus emojis and channels, to our students when they pass an important exam.

The goal of this project is to help people learn Japanese together with us, since it's something I want to do myself too. Students will also unlock partnerships with Crunchyroll and other platforms, to reward their progress.

Nibi and the website are hosted by Cloudflare Workers (Interaction URL with Hono Server) and GitHub Pages with React, respectively. The website's code is not open source, but Nibi's is, and you can find it on this GitHub repo. The website stays private because it contains private information, but if you want to know how I built it, ask me on Discord and I'll gladly walk you through the process! It uses a GitHub Action I created to avoid paying for GitHub Enterprise, plus several other tools and techniques I can tell you about if you're interested!

For the past few days, I've been having a lot of fun finding workarounds to host my projects without paying for hosting. That's why I made Nibi an Interaction Endpoint bot, to host it for free on Cloudflare Workers, and why I created a GitHub Action to deploy the website for free on GitHub Pages. Hunting for these workarounds is still one of the most exciting parts of coding for me: you have to think differently and build creative solutions, and it's exactly that no-budget challenge that motivates me!

Using GitHub Actions outside their intended purpose, and using Cloudflare Workers to "host" a bot, is also a way to learn new things and discover new technologies, like cloud hosting. I don't want to pay for hosting anymore.

I'm still working on it but you can join the Discord server if you want to follow along and see how it evolves, and maybe even join the project if you're interested! The server is open to everyone, and we'd love to have more people learning Japanese together! You'll find the invite link on the website, or you can ask me for it directly!

Travail sur un Nouveau Projet

Un aperçu du processus de démarrage et développement d'un nouveau site web.

Le Projet

Le projet sur lequel je travaille s'appelle LLJT :

C'est un site web qui est aussi une PWA, donc utilisable comme une application mobile. Il utilise MaterialUI pour se comporter comme une vraie application téléphone. J'ai passé un moment sur les imports Mui : je suis passé de 11707 modules à 595 à la fin, en important chaque icône ligne par ligne au lieu de l'import déstructuré. J'ai appris à ce moment-là que l'import déstructuré charge toute la bibliothèque d'icônes, alors que les imports individuels ne chargent que celles utilisées.

Nibi est le bot connecté à ce site web.La notation repose sur Google Forms : Nous utilisons des QCM pour évaluer nos étudiants, et nous attribuons aussi des rôles Discord, ainsi que des emojis et des salons, à nos étudiants quand ils réussissent un examen important.

Le but de ce projet est d'aider les gens à apprendre le japonais ensemble avec nous, car c'est quelque chose que je veux faire moi-même aussi. Les étudiants débloqueront également des partenariats avec Crunchyroll et d'autres plateformes, pour récompenser leur progression.

Nibi et le site sont hébergés respectivement par Cloudflare Workers (Interaction URL avec Hono Server) et GitHub Pages avec React. Le code du site n'est pas open source, mais Nibi l'est, et vous pouvez le trouver sur ce dépôt GitHub. Le site reste privé car il contient des informations privées, mais si vous voulez savoir comment je l'ai construit, demandez-moi sur Discord et je vous expliquerai le processus avec plaisir ! Il utilise une GitHub Action que j'ai créée pour éviter de payer GitHub Enterprise, ainsi que plusieurs autres outils et techniques que je peux vous décrire si ça vous intéresse !

Depuis quelques jours, je prends beaucoup de plaisir à trouver des solutions de contournement pour héberger mes projets sans payer d'hébergement. C'est pour ça que j'ai fait de Nibi un bot Interaction Endpoint, pour l'héberger gratuitement sur Cloudflare Workers, et que j'ai créé une GitHub Action pour déployer le site gratuitement sur GitHub Pages. Chercher ces contournements reste pour moi une des parties les plus stimulantes du code : il faut réfléchir autrement et construire des solutions créatives, et c'est exactement ce défi sans budget qui me motive !

Utiliser GitHub Actions en dehors de son usage prévu, et utiliser Cloudflare Workers pour "héberger" un bot, c'est aussi une façon d'apprendre de nouvelles choses et de découvrir de nouvelles technologies, comme l'hébergement cloud. Je ne veux plus payer pour de l'hébergement.

Je travaille encore dessus mais vous pouvez rejoindre le serveur Discord si vous voulez suivre l'avancement et voir comment ça évolue, et peut-être même rejoindre le projet si ça vous intéresse ! Le serveur est ouvert à tous, et nous aimerions avoir plus de monde pour apprendre le japonais ensemble ! Vous trouverez le lien d'invitation sur le site, ou vous pouvez me le demander directement !

正在做一个新项目

新网站从启动到开发的过程一览。

这个项目

我正在做的项目叫 LLJT:

这是一个网站,同时也是 PWA,可以像手机应用一样使用。它用 MaterialUI 来表现得像真正的手机应用。 我在 Mui 的导入上花了不少时间:从 11707 个模块一路砍到最后的 595 个,方法是逐行单独导入每个图标,而不是用解构导入。就在那时我学到,解构导入会把整个图标库都加载进来,而单独导入只加载用到的图标。

Nibi 是连接到这个网站的机器人。评分机制基于 Google Forms: 我们用选择题来考核学生,学生在通过重要考试后还会获得 Discord 身份组、表情和频道。

这个项目的目标是帮助大家和我们一起学日语,这也是我自己想做的事。 学生还会解锁与 Crunchyroll 等平台的合作奖励,用来嘉奖他们的进步。

Nibi 和网站分别托管在 Cloudflare Workers(带 Hono Server 的 Interaction URL)和 GitHub Pages(React)上。 网站代码不开源,但 Nibi 开源,你可以在这个仓库找到它。网站因为包含隐私信息所以保持私有,但如果你想知道我是怎么搭建的,可以在 Discord 上问我,我很乐意一步步讲给你听!它用到了我写的一个 GitHub Action(为了避开 GitHub Enterprise 的付费),以及其他一些我可以给你介绍的工具和技巧!

这几天我特别享受为项目寻找免费托管的变通方案。正因如此,我把 Nibi 做成了 Interaction Endpoint 机器人,免费跑在 Cloudflare Workers 上,还写了一个 GitHub Action 把网站免费部署到 GitHub Pages。对我来说,寻找这类变通方案始终是写代码最刺激的部分:要换个思路,构造有创意的解法,而正是这种零预算的挑战激励着我!

把 GitHub Actions 用在原本设计之外的用途,用 Cloudflare Workers 来"托管"机器人,也是学习新东西、发现云托管这类新技术的方式。我不想再为托管付费了。

我还在继续做这个项目,如果你想关注进展、看看它怎么演变,甚至加入进来,可以加入 Discord 服务器!服务器对所有人开放,我们很希望有更多人一起来学日语!邀请链接在网站上有,也可以直接问我要!

新プロジェクトに取り組む

新ウェブサイトの立ち上げと開発過程の概要。

プロジェクト

取り組んでるプロジェクトはLLJTって言う。

ウェブサイトでPWAでもある。だからモバイルアプリとして使える。本物の電話アプリみたいに振る舞うためMaterialUIを使ってる。 Muiのimportには時間かけた。11707モジュールから最後595まで落とした。各アイコンを分解 import じゃなく1行ずつ import してね。そのとき分解 import はアイコンライブラリ全体を読み込むのに、個別 import は使うものだけ読むって学んだ。

Nibiはこのサイトに繋がるボットだ。採点はGoogle Forms頼みだ。 学生評価に選択問題を使って、大事な試験に受かった学生にDiscord役職や絵文字やチャンネルも付ける。

このプロジェクトの目標は、私自身もやりたいことだから、私達と一緒に日本語を学ぶ人を助けることだ。 学生は進行のご褒美にCrunchyrollや他プラットフォームとの提携も解除する。

NibiとサイトはそれぞれCloudflare Workers(Hono Server付きInteraction URL)とReact付きGitHub Pagesでホストしてる。 サイトコードはオープンソースじゃないけど、Nibiはそうだ。このGitHubリポジトリにある。サイトは個人情報入りだから非公開のままだ。でもどう作ったか知りたければDiscordで聞いて。過程を喜んで説明するよ!GitHub Enterprise払い避けに作ったGitHub Actionや、興味あれば説明できる他道具や技術も使ってる!

数日前から、ホスティング払わずプロジェクトをホストする回避策探しを大いに楽しんでる。だからNibiをInteraction EndpointボットにしてCloudflare Workersで無料ホストして、GitHub Pagesに無料デプロイするGitHub Actionを作った。この回避策探しは今も私のコードでいちばん刺激的な部分だ。違う考え方をして創造的な解を作らなきゃいけない。まさに予算なしのこの挑戦が私を動かす!

本来用途外でGitHub Actionsを使うこと、ボット「ホスティング」にCloudflare Workersを使うことも、新しいこと学んでクラウドホスティングみたいな新技術を発見する方法だ。ホスティングにお金払いたくない。

まだ取り組み中だけど、進捗追ってどう変わるか見たければDiscordサーバーに参加できる。興味あればプロジェクト参加もできるかも!サーバーは誰でも開いてて、一緒に日本語学ぶ人がもっとほしい!招待リンクはサイトにある。直接聞いてもいいよ!

새 프로젝트 작업 중

새로운 웹사이트를 시작하고 개발하는 과정에 대한 미리보기.

프로젝트

제가 작업하고 있는 프로젝트의 이름은 LLJT예요.

이 프로젝트는 PWA이기도 한 웹사이트라서 모바일 앱처럼 사용할 수 있어요. 진짜 휴대폰 앱처럼 동작하도록 MaterialUI를 사용해요. Mui import 때문에 한동안 애를 먹었어요. 구조 분해 import 대신 각 아이콘을 한 줄씩 따로 import해서 결국 11707개 모듈에서 595개로 줄였어요. 그때 구조 분해 import는 아이콘 라이브러리 전체를 불러오지만, 개별 import는 실제로 사용하는 것만 불러온다는 걸 알게 되었어요.

Nibi는 이 웹사이트에 연결된 봇이에요.평가는 Google Forms를 기반으로 해요. 저희는 퀴즈로 학생들을 평가하고, 중요한 시험에 합격한 학생들에게 Discord 역할과 이모지, 채널도 부여해요.

이 프로젝트의 목표는 사람들이 저희와 함께 일본어를 배우도록 돕는 거예요. 저 자신도 하고 싶은 일이기도 하고요. 학생들은 실력이 늘면 Crunchyroll과 다른 플랫폼과의 제휴 혜택도 받을 수 있어서, 학습의 보상이 될 거예요.

Nibi와 웹사이트는 각각 Cloudflare Workers(Interaction URL과 Hono 서버)와 React를 올린 GitHub Pages에서 호스팅돼요. 웹사이트 코드는 오픈 소스가 아니지만 Nibi는 오픈 소스라서 이 GitHub 저장소에서 찾으실 수 있어요. 사이트에는 비공개 정보가 들어 있어서 계속 비공개로 두지만, 어떻게 만들었는지 궁금하시면 Discord로 물어봐 주세요. 과정을 기꺼이 설명해 드릴게요! GitHub Enterprise 비용을 내지 않으려고 제가 만든 GitHub Action을 비롯해, 관심 있으시면 설명해 드릴 수 있는 도구와 기법들을 여러 가지 사용했어요!

요즘은 호스팅 비용을 내지 않고 제 프로젝트들을 호스팅할 우회 방법을 찾는 재미에 푹 빠져 있어요. 그래서 Nibi를 Interaction Endpoint 봇으로 만들어 Cloudflare Workers에 무료로 호스팅하고, GitHub Pages에 사이트를 무료로 배포하는 GitHub Action을 만든 거예요. 이런 우회 방법을 찾는 일은 저에게 여전히 코딩에서 가장 신나는 부분 중 하나예요. 다르게 생각하고 창의적인 해결책을 만들어야 하니까요. 바로 그 무예산 도전이 저를 움직이는 원동력이에요!

본래 용도에서 벗어나 GitHub Actions를 사용하고, Cloudflare Workers로 봇을 "호스팅"하는 것은 새로운 것을 배우고 클라우드 호스팅 같은 새로운 기술을 발견하는 방법이기도 해요. 저는 이제 호스팅에 돈을 내고 싶지 않아요.

아직 작업 중이지만, 진행 상황을 지켜보고 어떻게 발전하는지 보고 싶으시면 Discord 서버에 참여해 보세요. 관심 있으시면 프로젝트에 합류하실 수도 있어요! 서버는 모두에게 열려 있고, 함께 일본어를 배우는 분들이 더 많아졌으면 해요! 초대 링크는 사이트에서 찾으실 수 있고, 저에게 직접 물어보셔도 돼요!

Yeni Bir Proje Üzerinde Çalışmak

Yeni bir web sitesini başlatma ve geliştirme sürecine bir bakış.

Proje

Üzerinde çalıştığım projenin adı LLJT:

Bu aynı zamanda bir PWA olan bir web sitesi, yani mobil uygulama gibi kullanılabiliyor. Gerçek bir telefon uygulaması gibi davranması için MaterialUI kullanıyor. Mui importlarıyla bir süre uğraştım: yıkıcı import yerine her ikonu satır satır import ederek 11707 modülden sonunda 595 modüle indim. O zaman yıkıcı importun tüm ikon kütüphanesini yüklediğini, bireysel importların ise sadece kullanılanları yüklediğini öğrendim.

Nibi bu web sitesine bağlı bot.Notlandırma Google Forms üzerinden yapılıyor: Öğrencilerimizi testlerle değerlendiriyoruz ve önemli bir sınavı geçtiklerinde onlara Discord rolleri, emojiler ve kanallar da veriyoruz.

Bu projenin amacı insanların bizimle birlikte Japonca öğrenmesine yardım etmek, çünkü bu benim de kendim yapmak istediğim bir şey. Öğrenciler ilerlemelerini ödüllendirmek için Crunchyroll ve diğer platformlarla ortaklıkların da kilidini açacak.

Nibi ve site sırasıyla Cloudflare Workers (Hono Server ile Interaction URL) ve React ile GitHub Pages tarafından barındırılıyor. Sitenin kodu açık kaynak değil ama Nibi açık kaynak ve onu bu GitHub deposunda bulabilirsin. Site özel bilgiler içerdiği için gizli kalıyor ama onu nasıl inşa ettiğimi bilmek istersen bana Discord üzerinden sor, süreci sana memnuniyetle anlatırım! GitHub Enterprise için ödeme yapmamak için oluşturduğum bir GitHub Action ve ilgini çekerse anlatabileceğim başka araçlar ve teknikler kullanıyor!

Birkaç gündür projelerimi barındırma için ödeme yapmadan barındırmak için geçici çözümler bulmaktan çok keyif alıyorum. Bu yüzden Nibi'yi Interaction Endpoint botu yaptım, Cloudflare Workers üzerinde ücretsiz barındırmak için, ve siteyi GitHub Pages üzerinde ücretsiz dağıtmak için bir GitHub Action oluşturdum. Bu geçici çözümleri aramak benim için kodun en heyecan verici kısımlarından biri olmaya devam ediyor: farklı düşünmek ve yaratıcı çözümler inşa etmek gerekiyor ve beni motive eden tam olarak bu bütçesiz meydan okuma!

GitHub Actions'ı tasarlanan kullanımının dışında kullanmak ve bir botu "barındırmak" için Cloudflare Workers kullanmak, aynı zamanda yeni şeyler öğrenmenin ve bulut barındırma gibi yeni teknolojiler keşfetmenin bir yolu. Artık barındırma için ödeme yapmak istemiyorum.

Hâlâ üzerinde çalışıyorum ama ilerlemeyi takip etmek ve nasıl geliştiğini görmek için Discord sunucusuna katılabilirsin, hatta ilgini çekerse projeye katılabilirsin bile! Sunucu herkese açık ve birlikte Japonca öğrenmek için daha fazla insan görmek isteriz! Davet bağlantısını sitede bulursun ya da doğrudan bana sorabilirsin!

Lavoro su un nuovo progetto

Uno sguardo al processo di avvio e sviluppo di un nuovo sito web.

Il progetto

Il progetto su cui lavoro si chiama LLJT:

È un sito web che è anche una PWA, quindi usabile come un'app mobile. Usa MaterialUI per comportarsi come una vera app telefono. Ho passato un po' sugli import Mui: sono passato da 11707 moduli a 595 alla fine, importando ogni icona riga per riga invece dell'import destrutturato. Ho imparato in quel momento che l'import destrutturato carica tutta la libreria di icone, mentre gli import individuali caricano solo quelle usate.

Nibi è il bot collegato a questo sito web.La valutazione poggia su Google Forms: Usiamo QCM per valutare i nostri studenti, e attribuiamo anche ruoli Discord, oltre a emoji e canali, ai nostri studenti quando superano un esame importante.

Lo scopo di questo progetto è aiutare la gente a imparare il giapponese insieme a noi, perché è qualcosa che voglio fare anch'io.

Gli studenti sbloccheranno anche partnership con Crunchyroll e altre piattaforme, per ricompensare la loro progressione.

Nibi e il sito sono ospitati rispettivamente da Cloudflare Workers (Interaction URL con Hono Server) e GitHub Pages con React. Il codice del sito non è open source, ma Nibi lo è, e potete trovarlo su questo deposito GitHub. Il sito resta privato perché contiene info private, ma se volete sapere come l'ho costruito, chiedetemi su Discord e vi spiegherò il processo con piacere! Usa una GitHub Action che ho creato per evitare di pagare GitHub Enterprise, oltre a vari altri strumenti e tecniche che posso descrivervi se vi interessa!

Da qualche giorno, mi diverto un sacco a trovare soluzioni di aggiramento per ospitare i miei progetti senza pagare hosting. Ecco perché ho fatto di Nibi un bot Interaction Endpoint, per ospitarlo gratis su Cloudflare Workers, e ho creato una GitHub Action per deployare il sito gratis su GitHub Pages. Cercare questi aggiramenti resta per me una delle parti più stimolanti del codice: bisogna ragionare altrimenti e costruire soluzioni creative, ed è esattamente questa sfida senza budget che mi motiva!

Usare GitHub Actions fuori dal suo uso previsto, e usare Cloudflare Workers per "ospitare" un bot, è anche un modo per imparare cose nuove e scoprire nuove tecnologie, come l'hosting cloud. Non voglio più pagare per l'hosting.

Ci lavoro ancora ma potete unirvi al server Discord se volete seguire l'avanzamento e vedere come evolve, e magari unirvi al progetto se vi interessa! Il server è aperto a tutti, e ci piacerebbe avere più gente per imparare il giapponese insieme! Troverete il link di invito sul sito, o potete chiedermelo direttamente!

Arbeit an einem neuen Projekt

Ein Überblick über den Prozess, eine neue Website zu starten und zu entwickeln.

Das Projekt

Das Projekt, an dem ich arbeite, heißt LLJT:

Es ist eine Website, die auch eine PWA ist, also wie eine mobile App nutzbar. Sie nutzt MaterialUI, um sich wie eine echte Telefon-App zu verhalten. Ich habe eine Weile mit den Mui-Imports verbracht: Ich bin von 11707 Modulen am Ende auf 595 runtergekommen, indem ich jedes Icon Zeile für Zeile importiert habe statt des destrukturierten Imports. Ich habe damals gelernt, dass der destrukturierte Import die ganze Icon-Bibliothek lädt, während einzelne Imports nur die verwendeten laden.

Nibi ist der Bot, der mit dieser Website verbunden ist.Die Benotung basiert auf Google Forms: Wir nutzen Multiple-Choice-Tests, um unsere Schüler zu bewerten, und wir vergeben auch Discord-Rollen sowie Emojis und Channels an unsere Schüler, wenn sie eine wichtige Prüfung bestehen.

Das Ziel dieses Projekts ist es, Menschen zu helfen, gemeinsam mit uns Japanisch zu lernen, denn das ist etwas, das ich selbst auch machen will. Die Schüler schalten außerdem Partnerschaften mit Crunchyroll und anderen Plattformen frei, um ihren Fortschritt zu belohnen.

Nibi und die Seite werden jeweils von Cloudflare Workers (Interaction URL mit Hono Server) und GitHub Pages mit React gehostet. Der Code der Seite ist nicht Open Source, aber Nibi ist es, und du findest ihn in diesem GitHub-Repository. Die Seite bleibt privat, weil sie private Informationen enthält, aber wenn du wissen willst, wie ich sie gebaut habe, frag mich auf Discord und ich erkläre dir den Prozess gerne! Sie nutzt eine GitHub Action, die ich erstellt habe, um GitHub Enterprise nicht bezahlen zu müssen, sowie mehrere andere Tools und Techniken, die ich dir beschreiben kann, wenn es dich interessiert!

Seit ein paar Tagen macht es mir viel Spaß, Workarounds zu finden, um meine Projekte zu hosten, ohne für Hosting zu zahlen. Deshalb habe ich Nibi zu einem Interaction-Endpoint-Bot gemacht, um ihn kostenlos auf Cloudflare Workers zu hosten, und ich habe eine GitHub Action erstellt, um die Seite kostenlos auf GitHub Pages zu deployen. Diese Workarounds zu suchen bleibt für mich einer der spannendsten Teile am Coden: Man muss anders denken und kreative Lösungen bauen, und genau diese Herausforderung ohne Budget motiviert mich!

GitHub Actions außerhalb ihres vorgesehenen Zwecks zu nutzen und Cloudflare Workers zu verwenden, um einen Bot zu "hosten", ist auch eine Art, neue Dinge zu lernen und neue Technologien wie Cloud-Hosting zu entdecken. Ich will nicht mehr für Hosting zahlen.

Ich arbeite noch daran, aber du kannst dem Discord-Server beitreten, wenn du den Fortschritt verfolgen und sehen willst, wie es sich entwickelt, und vielleicht sogar beim Projekt mitmachen, wenn es dich interessiert! Der Server ist offen für alle, und wir hätten gerne mehr Leute, um gemeinsam Japanisch zu lernen! Du findest den Einladungslink auf der Seite, oder du kannst mich direkt fragen!

Работа над новым проектом

Обзор процесса запуска и разработки нового сайта.

Проект

Проект, над которым я работаю, называется LLJT :

Это сайт, который ещё и PWA, так что им можно пользоваться как мобильным приложением. Он использует MaterialUI, чтобы вести себя как настоящее приложение на телефоне. Я провозился с импортами Mui : перешёл с 11707 модулей до 595 в конце, импортируя каждую иконку отдельной строкой вместо деструктурирующего импорта. Тогда я узнал, что деструктурирующий импорт тянет всю библиотеку иконок, а отдельные импорты грузят только используемые.

Nibi это бот, подключённый к этому сайту.Оценивание построено на Google Forms : Мы используем тесты с вариантами ответов, чтобы оценивать наших студентов, а ещё выдаём роли в Discord, а также эмодзи и каналы, нашим студентам, когда они сдают важный экзамен.

Цель этого проекта помочь людям учить японский вместе с нами, потому что я и сам хочу этим заниматься. Студенты также будут открывать партнёрства с Crunchyroll и другими платформами в награду за прогресс.

Nibi и сайт хостятся соответственно на Cloudflare Workers (Interaction URL с Hono Server) и GitHub Pages с React. Код сайта не открытый, а вот Nibi открыт, и ты найдёшь его в этом репозитории GitHub. Сайт остаётся приватным, потому что там приватная информация, но если хочешь узнать, как я его строил, спроси меня в Discord, и я с радостью объясню процесс! Он использует GitHub Action, который я создал, чтобы не платить за GitHub Enterprise, а также несколько других инструментов и приёмов, про которые я могу рассказать, если тебе интересно!

Последние дни мне очень нравится искать обходные пути, чтобы хостить проекты, не платя за хостинг. Поэтому я сделал Nibi ботом на Interaction Endpoint, чтобы бесплатно хостить его на Cloudflare Workers, и создал GitHub Action, чтобы бесплатно деплоить сайт на GitHub Pages. Поиск таких обходных путей остаётся для меня одной из самых заряжающих частей кода : нужно думать иначе и строить креативные решения, и именно этот вызов без бюджета меня и мотивирует!

Использовать GitHub Actions не по назначению и использовать Cloudflare Workers, чтобы "хостить" бота, это ещё и способ учить новое и открывать новые технологии вроде облачного хостинга. Я больше не хочу платить за хостинг.

Я всё ещё над ним работаю, но ты можешь зайти на сервер Discord, если хочешь следить за прогрессом и видеть, как всё развивается, а может, даже присоединиться к проекту, если тебе интересно! Сервер открыт для всех, и нам хотелось бы видеть больше людей, чтобы учить японский вместе! Ссылку-приглашение ты найдёшь на сайте, или можешь попросить её у меня напрямую!

Trabajando en un proyecto nuevo

Un vistazo al proceso de arranque y desarrollo de un nuevo sitio web.

El proyecto

El proyecto en el que trabajo se llama LLJT:

Es un sitio web que también es una PWA, así que usable como una aplicación móvil. Usa MaterialUI para comportarse como una verdadera aplicación de teléfono. Pasé un rato con los imports de Mui: pasé de 11707 módulos a 595 al final, importando cada icono línea por línea en vez del import desestructurado. Aprendí en ese momento que el import desestructurado carga toda la librería de iconos, mientras que los imports individuales solo cargan los que se usan.

Nibi es el bot conectado a ese sitio web.La calificación se basa en Google Forms: Usamos cuestionarios para evaluar a nuestros estudiantes, y también les asignamos roles de Discord, además de emojis y canales, a nuestros estudiantes cuando superan un examen importante.

El objetivo de este proyecto es ayudar a la gente a aprender japonés juntos con nosotros, porque es algo que yo mismo también quiero hacer. Los estudiantes desbloquearán además alianzas con Crunchyroll y otras plataformas, para recompensar su progresión.

Nibi y el sitio están alojados respectivamente por Cloudflare Workers (Interaction Endpoint con Hono Server) y GitHub Pages con React. El código del sitio no es open source, pero Nibi sí, y puedes encontrarlo en este repo GitHub. El sitio sigue siendo privado porque contiene información privada, ¡pero si quieres saber cómo lo construí, pregúntame en Discord y te explicaré el proceso con gusto! Usa una GitHub Action que creé para evitar pagar GitHub Enterprise, ¡además de varias otras herramientas y técnicas que puedo describirte si te interesa!

Desde hace unos días, disfruto mucho encontrando soluciones alternativas para alojar mis proyectos sin pagar alojamiento. Por eso hice de Nibi un bot Interaction Endpoint, para alojarlo gratis en Cloudflare Workers, y creé una GitHub Action para desplegar el sitio gratis en GitHub Pages. Buscar esos rodeos sigue siendo para mí una de las partes más estimulantes del código: hay que pensar distinto y construir soluciones creativas, y es justo ese desafío sin presupuesto lo que me motiva.

Usar GitHub Actions fuera de su uso previsto, y usar Cloudflare Workers para "alojar" un bot, también es una forma de aprender cosas nuevas y descubrir nuevas tecnologías, como el alojamiento cloud. Ya no quiero pagar por alojamiento.

Sigo trabajando en ello pero puedes unirte al servidor Discord si quieres seguir el avance y ver cómo evoluciona, ¡y quizá hasta unirte al proyecto si te interesa! ¡El servidor está abierto a todos, y nos encantaría tener más gente para aprender japonés juntos! ¡Encontrarás el enlace de invitación en el sitio, o puedes pedírmelo directamente!

Trabalhando em um Novo Projeto

Uma visão geral do processo de iniciar e desenvolver um novo site.

O Projeto

O projeto em que estou trabalhando se chama LLJT :

É um site que também é um PWA, então pode ser usado como um aplicativo de celular. Ele usa MaterialUI para se comportar como um verdadeiro aplicativo de telefone. Passei um tempo nos imports do Mui : reduzi de 11707 módulos para 595 no final, importando cada ícone linha por linha em vez do import desestruturado. Aprendi na época que o import desestruturado carrega toda a biblioteca de ícones, enquanto os imports individuais carregam só os que são usados.

Nibi é o bot conectado a este site.A avaliação é baseada no Google Forms : Usamos questionários de múltipla escolha para avaliar nossos estudantes, e também atribuímos cargos no Discord, além de emojis e canais, aos nossos estudantes quando passam em uma prova importante.

O objetivo deste projeto é ajudar as pessoas a aprender japonês juntas conosco, porque é algo que eu mesmo também quero fazer. Os estudantes também vão desbloquear parcerias com a Crunchyroll e outras plataformas, para recompensar o progresso deles.

Nibi e o site são hospedados respectivamente por Cloudflare Workers (URL de interação com Hono Server) e GitHub Pages com React. O código do site não é open source, mas o Nibi é, e você pode encontrá-lo neste repositório do GitHub. O site continua privado porque contém informações privadas, mas se você quiser saber como eu o construí, me pergunte no Discord e explicarei o processo com prazer ! Ele usa uma GitHub Action que criei para evitar pagar o GitHub Enterprise, além de várias outras ferramentas e técnicas que posso descrever se te interessar !

Há alguns dias, tenho me divertido muito encontrando soluções alternativas para hospedar meus projetos sem pagar hospedagem. É por isso que fiz do Nibi um bot de endpoint de interação, para hospedá-lo de graça no Cloudflare Workers, e que criei uma GitHub Action para implantar o site de graça no GitHub Pages. Buscar essas soluções continua sendo para mim uma das partes mais estimulantes do código : é preciso pensar diferente e construir soluções criativas, e é exatamente esse desafio sem orçamento que me motiva !

Usar GitHub Actions fora do uso previsto, e usar Cloudflare Workers para "hospedar" um bot, também é uma forma de aprender coisas novas e descobrir novas tecnologias, como hospedagem em nuvem. Não quero mais pagar por hospedagem.

Ainda estou trabalhando nisso, mas você pode entrar no servidor do Discord se quiser acompanhar o progresso e ver como evolui, e talvez até entrar no projeto se te interessar ! O servidor é aberto a todos, e gostaríamos de ter mais gente para aprender japonês juntos ! Você vai encontrar o link de convite no site, ou pode me pedir diretamente !

Mengerjakan Proyek Baru

Sekilas tentang proses memulai dan mengembangkan sebuah situs web baru.

Proyeknya

Proyek yang sedang saya kerjakan bernama LLJT :

Ini situs web yang juga PWA, jadi bisa dipakai seperti aplikasi ponsel. Ia memakai MaterialUI supaya terasa seperti aplikasi telepon sungguhan. Saya sempat menghabiskan waktu untuk import Mui : saya turun dari 11707 modul menjadi 595 pada akhirnya, dengan mengimpor setiap ikon baris per baris alih-alih import destrukturisasi. Saat itu saya belajar bahwa import destrukturisasi memuat seluruh pustaka ikon, sedangkan import individual hanya memuat ikon yang dipakai.

Nibi adalah bot yang terhubung ke situs web ini.Penilaiannya memakai Google Forms : Kami memakai pilihan ganda untuk menilai murid-murid kami, dan kami juga memberikan peran Discord, serta emoji dan kanal, kepada murid kami ketika mereka lulus ujian penting.

Tujuan proyek ini adalah membantu orang belajar bahasa Jepang bersama kami, karena itu juga sesuatu yang ingin saya lakukan sendiri. Para murid juga akan membuka kemitraan dengan Crunchyroll dan platform lain, sebagai hadiah atas kemajuan mereka.

Nibi dan situsnya masing-masing dihosting oleh Cloudflare Workers (Interaction URL dengan Hono Server) dan GitHub Pages dengan React. Kode situsnya tidak open source, tapi Nibi open source, dan kamu bisa menemukannya di repositori GitHub ini. Situsnya tetap privat karena berisi informasi privat, tapi kalau kamu mau tahu cara saya membangunnya, tanya saya di Discord dan saya akan menjelaskan prosesnya dengan senang hati! Ia memakai GitHub Action yang saya buat supaya tidak perlu membayar GitHub Enterprise, ditambah beberapa alat dan teknik lain yang bisa saya jelaskan kalau kamu tertarik!

Beberapa hari terakhir ini, saya sangat menikmati mencari akal-akalan untuk menghosting proyek saya tanpa membayar hosting. Makanya saya menjadikan Nibi bot Interaction Endpoint, supaya bisa dihosting gratis di Cloudflare Workers, dan saya membuat GitHub Action untuk mendeploy situsnya gratis di GitHub Pages. Mencari akal-akalan seperti itu tetap menjadi salah satu bagian paling seru dari ngoding buat saya : harus berpikir dengan cara lain dan membangun solusi kreatif, dan justru tantangan tanpa anggaran itulah yang memotivasi saya!

Memakai GitHub Actions di luar peruntukannya, dan memakai Cloudflare Workers untuk "menghosting" bot, juga cara untuk mempelajari hal baru dan menemukan teknologi baru, seperti hosting cloud. Saya tidak mau lagi membayar hosting.

Saya masih mengerjakannya tapi kamu bisa bergabung ke server Discord kalau mau mengikuti perkembangannya dan melihat bagaimana ia berkembang, dan mungkin bahkan ikut proyeknya kalau kamu tertarik! Servernya terbuka untuk semua orang, dan kami senang kalau makin banyak orang belajar bahasa Jepang bersama! Kamu akan menemukan tautan undangannya di situs, atau kamu bisa langsung memintanya ke saya!

एक नए प्रोजेक्ट पर काम

एक नई वेबसाइट शुरू करने और विकसित करने की प्रक्रिया की एक झलक।

प्रोजेक्ट

जिस प्रोजेक्ट पर मैं काम कर रहा हूँ उसका नाम LLJT है :

यह एक वेबसाइट है जो एक PWA भी है, इसलिए मोबाइल एप्लिकेशन की तरह इस्तेमाल की जा सकती है। यह असली फोन एप्लिकेशन जैसा व्यवहार करने के लिए MaterialUI का उपयोग करती है। मैंने Mui इम्पोर्ट पर कुछ समय बिताया : मैं अंत में 11707 मॉड्यूल से 595 पर आ गया, हर आइकन को डिस्ट्रक्चर्ड इम्पोर्ट के बजाय पंक्ति दर पंक्ति इम्पोर्ट करके। तब मैंने सीखा कि डिस्ट्रक्चर्ड इम्पोर्ट आइकन की पूरी लाइब्रेरी लोड करता है, जबकि व्यक्तिगत इम्पोर्ट सिर्फ इस्तेमाल किए गए आइकन लोड करते हैं।

Nibi इस वेबसाइट से जुड़ा बॉट है।मूल्यांकन Google Forms पर आधारित है : हम अपने छात्रों का मूल्यांकन करने के लिए MCQ का उपयोग करते हैं, और जब वे कोई महत्वपूर्ण परीक्षा पास करते हैं तो हम उन्हें Discord भूमिकाएँ, साथ ही इमोजी और चैनल भी देते हैं।

इस प्रोजेक्ट का लक्ष्य लोगों को हमारे साथ मिलकर जापानी सीखने में मदद करना है, क्योंकि यह कुछ ऐसा है जो मैं खुद भी करना चाहता हूँ। छात्र अपनी प्रगति के पुरस्कार के रूप में Crunchyroll और अन्य प्लेटफार्मों के साथ साझेदारी भी अनलॉक करेंगे।

Nibi और साइट क्रमशः Cloudflare Workers (Hono Server के साथ Interaction URL) और React के साथ GitHub Pages द्वारा होस्ट किए गए हैं। साइट का कोड ओपन सोर्स नहीं है, लेकिन Nibi है, और तुम इसे इस GitHub रिपॉजिटरी पर पा सकते हो। साइट निजी रहती है क्योंकि इसमें निजी जानकारी है, लेकिन अगर तुम जानना चाहते हो कि मैंने इसे कैसे बनाया, तो मुझसे Discord पर पूछो और मैं तुम्हें प्रक्रिया खुशी से समझाऊँगा ! यह एक GitHub Action का उपयोग करती है जिसे मैंने GitHub Enterprise के लिए भुगतान से बचने के लिए बनाया था, साथ ही कई अन्य उपकरण और तकनीकें जिनका मैं वर्णन कर सकता हूँ अगर तुम्हारी रुचि हो !

कुछ दिनों से, मुझे होस्टिंग के लिए भुगतान किए बिना अपने प्रोजेक्ट होस्ट करने के वैकल्पिक समाधान खोजने में बहुत मजा आ रहा है। इसीलिए मैंने Nibi को एक Interaction Endpoint बॉट बनाया, ताकि इसे Cloudflare Workers पर मुफ्त होस्ट किया जा सके, और साइट को GitHub Pages पर मुफ्त डिप्लॉय करने के लिए एक GitHub Action बनाई। ये वैकल्पिक रास्ते खोजना मेरे लिए कोड की सबसे प्रेरक बातों में से एक है : अलग तरह से सोचना पड़ता है और रचनात्मक समाधान बनाने पड़ते हैं, और यही बिना बजट की चुनौती मुझे प्रेरित करती है !

GitHub Actions का उसके नियत उपयोग के बाहर उपयोग करना, और एक बॉट को "होस्ट" करने के लिए Cloudflare Workers का उपयोग करना, नई चीजें सीखने और नई तकनीकों की खोज करने का एक तरीका भी है, जैसे क्लाउड होस्टिंग। मैं अब होस्टिंग के लिए भुगतान नहीं करना चाहता।

मैं अभी भी इस पर काम कर रहा हूँ लेकिन तुम Discord सर्वर से जुड़ सकते हो अगर तुम प्रगति का पालन करना चाहते हो और देखना चाहते हो कि यह कैसे विकसित होता है, और शायद प्रोजेक्ट से भी जुड़ सकते हो अगर तुम्हारी रुचि हो ! सर्वर सभी के लिए खुला है, और हम जापानी एक साथ सीखने के लिए और लोगों को पाकर खुश होंगे ! तुम्हें आमंत्रण लिंक साइट पर मिलेगा, या तुम मुझसे सीधे पूछ सकते हो !

العمل على مشروع جديد

نظرة على عملية بدء وتطوير موقع ويب جديد.

المشروع

المشروع الذي أعمل عليه اسمه LLJT :

إنه موقع ويب وهو أيضا PWA، أي قابل للاستخدام كتطبيق هاتف. يستخدم MaterialUI ليتصرف كتطبيق هاتف حقيقي. قضيت بعض الوقت على واردات Mui : انتقلت من 11707 وحدة إلى 595 في النهاية، باستيراد كل أيقونة سطرا بسطر بدلا من الاستيراد المفكك. تعلمت حينها أن الاستيراد المفكك يحمّل مكتبة الأيقونات كاملة، بينما الاستيرادات الفردية لا تحمّل إلا المستخدم منها.

Nibi هو البوت المتصل بهذا الموقع.التقييم يعتمد على Google Forms : نستخدم اختبارات QCM لتقييم طلابنا، ونمنح أيضا أدوار Discord وإيموجي وقنوات لطلابنا عندما ينجحون في امتحان مهم.

هدف هذا المشروع هو مساعدة الناس على تعلم اليابانية معا معنا، لأن هذا شيء أريد فعله بنفسي أيضا. سيفتح الطلاب أيضا شراكات مع Crunchyroll ومنصات أخرى، لمكافأة تقدمهم.

Nibi والموقع مستضافان على التوالي بواسطة Cloudflare Workers (Interaction URL مع Hono Server) وGitHub Pages مع React. كود الموقع ليس مفتوح المصدر، لكن Nibi مفتوح، ويمكنك إيجاده على مستودع GitHub هذا. الموقع يبقى خاصا لأنه يحتوي على معلومات خاصة، لكن إذا أردت معرفة كيف بنيته، اسألني على Discord وسأشرح لك العملية بسرور ! يستخدم GitHub Action أنشأتها لتجنب دفع GitHub Enterprise، بالإضافة إلى عدة أدوات وتقنيات أخرى يمكنني أن أصفها لك إذا كان ذلك يهمك !

منذ أيام، أستمتع كثيرا بإيجاد حلول بديلة لاستضافة مشاريعي دون دفع استضافة. لهذا جعلت Nibi بوت Interaction Endpoint، لاستضافته مجانا على Cloudflare Workers، وأنشأت GitHub Action لنشر الموقع مجانا على GitHub Pages. البحث عن هذه الحلول البديلة يبقى بالنسبة لي من أكثر أجزاء البرمجة إثارة : يجب التفكير بشكل مختلف وبناء حلول إبداعية، وهذا التحدي بدون ميزانية هو بالضبط ما يحفزني !

استخدام GitHub Actions خارج استعماله المقصود، واستخدام Cloudflare Workers "لاستضافة" بوت، هو أيضا طريقة لتعلم أشياء جديدة واكتشاف تقنيات جديدة، مثل الاستضافة السحابية. لم أعد أريد الدفع مقابل الاستضافة.

ما زلت أعمل عليه لكن يمكنك الانضمام إلى سيرفر Discord إذا أردت متابعة التقدم ورؤية كيف يتطور، وربما حتى الانضمام إلى المشروع إذا كان ذلك يهمك ! السيرفر مفتوح للجميع، ونود أن يكون معنا المزيد من الناس لتعلم اليابانية معا ! ستجد رابط الدعوة على الموقع، أو يمكنك أن تطلبه مني مباشرة !

Làm việc trên một Dự án Mới

Tổng quan về quy trình khởi động và phát triển một trang web mới.

Dự án

Dự án tôi đang làm có tên là LLJT :

Đây là một trang web cũng là một PWA, nên có thể dùng như một ứng dụng di động. Nó dùng MaterialUI để hoạt động như một ứng dụng điện thoại thực thụ. Tôi đã tốn một lúc với các import Mui : tôi đã đi từ 11707 module xuống còn 595 cuối cùng, bằng cách import từng biểu tượng trên từng dòng thay vì dùng import destructuré. Tôi đã học được lúc đó rằng import destructuré tải toàn bộ thư viện biểu tượng, trong khi các import riêng lẻ chỉ tải những biểu tượng được dùng.

Nibi là bot kết nối với trang web này.Việc chấm điểm dựa trên Google Forms : Chúng tôi dùng trắc nghiệm để đánh giá học viên của mình, và chúng tôi cũng gán vai trò Discord, cùng emoji và kênh, cho các học viên khi họ vượt qua một kỳ thi quan trọng.

Mục tiêu của dự án này là giúp mọi người cùng học tiếng Nhật với chúng tôi, vì đó cũng là điều tôi muốn làm. Các học viên cũng sẽ mở khóa quan hệ đối tác với Crunchyroll và các nền tảng khác, để tưởng thưởng cho tiến trình của họ.

Nibi và trang web lần lượt được host bởi Cloudflare Workers (Interaction URL với Hono Server) và GitHub Pages với React. Mã nguồn của trang web không phải open source, nhưng Nibi thì có, và bạn có thể tìm thấy nó trên repo GitHub này. Trang web vẫn giữ riêng tư vì nó chứa thông tin riêng tư, nhưng nếu bạn muốn biết tôi đã xây dựng nó thế nào, hãy hỏi tôi trên Discord và tôi sẽ vui vẻ giải thích quy trình! Nó dùng một GitHub Action tôi đã tạo để tránh phải trả tiền GitHub Enterprise, cùng nhiều công cụ và kỹ thuật khác mà tôi có thể mô tả cho bạn nếu bạn quan tâm!

Mấy ngày qua, tôi rất thích tìm các giải pháp lách để host các dự án của mình mà không phải trả phí hosting. Đó là lý do tôi biến Nibi thành một bot Interaction Endpoint, để host nó miễn phí trên Cloudflare Workers, và đã tạo một GitHub Action để deploy trang web miễn phí trên GitHub Pages. Tìm kiếm những lối lách này vẫn là một trong những phần kích thích nhất của code đối với tôi : phải suy nghĩ khác đi và xây dựng các giải pháp sáng tạo, và chính thử thách không ngân sách này là điều thúc đẩy tôi!

Dùng GitHub Actions ngoài mục đích ban đầu của nó, và dùng Cloudflare Workers để "host" một bot, cũng là một cách học những điều mới và khám phá công nghệ mới, như cloud hosting. Tôi không muốn trả tiền hosting nữa.

Tôi vẫn đang làm dở nhưng bạn có thể tham gia máy chủ Discord nếu muốn theo dõi tiến độ và xem nó tiến triển thế nào, và có thể tham gia dự án nếu bạn quan tâm! Máy chủ mở cho mọi người, và chúng tôi muốn có thêm người cùng học tiếng Nhật với nhau! Bạn sẽ tìm thấy link mời trên trang web, hoặc bạn có thể hỏi trực tiếp tôi!

>-

>-

โครงการ

โครงการที่ฉันทำงานอยู่ชื่อ LLJT :

มันเป็นเว็บไซต์ที่ยังเป็น PWA ดังนั้นสามารถใช้เป็นแอปพลิเคชันมือถือได้ มันใช้ MaterialUI เพื่อให้พฤติกรรมเหมือนแอปโทรศัพท์จริง

ฉันใช้เวลาบางเวลาในเรื่องการ import ของ Mui: ฉันลดจาก 11707 โมดูลเหลือ 595 ในที่สุด โดย import ไอคอนทีละบรรทัด แทนการ import แบบ destructure. ฉันได้เรียนรู้ว่า import แบบ destructure จะโหลดทั้งห้องไลบรารีไอคอน ในขณะที่การ import แต่ละตัวจะโหลดเฉพาะที่ใช้เท่านั้น

Nibi คือบอทที่เชื่อมต่อกับเว็บไซต์นี้การให้คะแนนอาศัย Google Forms :

เราใช้แบบทดสอบทางเลือกมาก เพื่อประเมินนักเรียนของเรา และเรายังมอบบทบาท Discord รวมถึงอิโมจิและห้องแชทให้กับนักเรียนของเราเมื่อพวกเขาเกรดผ่านการสอบสำคัญ

เป้าหมายของโครงการนี้คือช่วยคนเรียนภาษาญี่ปุ่นร่วมกับเรา เพราะฉันเองก็อยากทำเช่นนั้นเช่นเดียวกัน

นักเรียนยังสามารถปลดล็อกความร่วมมือกับ Crunchyroll และแพลตฟอร์มอื่น ๆ เพื่อรางวัลความก้าวหน้าของพวกเขา

Nibi และเว็บไซต์ถูกโฮสต์โดย Cloudflare Workers (Interaction URL กับ Hono Server) และ GitHub Pages ด้วย React ตามลำดับ

โค้ดของเว็บไซต์ไม่ได้เป็นโอเพนซอร์ส แต่ Nibi เป็น และคุณสามารถค้นหาได้ใน ที่นี่บน GitHub เว็บไซต์ยังคงเป็นส่วนตัวเพราะมีข้อมูลส่วนตัว แต่ถ้าคุณอยากรู้ว่าฉันสร้างมันมาอย่างไร ถามฉันบน Discord แล้วฉันจะอธิบายกระบวนการให้คุณอย่างยินดี! มันใช้ GitHub Action ที่ฉันสร้างขึ้นเพื่อหลีกเลี่ยงการจ่ายเงิน GitHub Enterprise รวมถึงเครื่องมือและเทคนิคอื่น ๆ อีกหลายอย่างที่ฉันสามารถอธิบายให้คุณได้ถ้าคุณสนใจ

ในไม่กี่วันที่ผ่านมา ฉันสนุกกับการหาวิธีชิงบังคับเพื่อโฮสต์โปรเจกต์ของฉันโดยไม่ต้องจ่ายค่าโฮสต์ นั่นคือเหตุผลที่ฉันทำให้ Nibi เป็น bot Interaction Endpoint เพื่อโฮสต์ฟรีบน Cloudflare Workers และฉันสร้าง GitHub Action เพื่อปล่อยเว็บไซต์ฟรีบน GitHub Pages การค้นหาวิธีชิงบังคับเหล่านี้ยังคงเป็นหนึ่งในส่วนที่กระตุ้นฉันที่สุดของโค้ด: ต้องคิดอย่างต่าง และสร้างวิธีแก้แบบสร้างสรรค์ และนี่คือความท้าทายโดยไม่มีงบประมาณที่ทำให้ฉันมีแรงจูงใจ

การใช้ GitHub Actions นอกเหนือจากการใช้งานที่ตั้งใจไว้ และการใช้ Cloudflare Workers เพื่อ "โฮสต์" บ็อต นั้นก็เป็นวิธีหนึ่งในการเรียนรู้สิ่งใหม่ ๆ และค้นพบเทคโนโลยีใหม่ ๆ เช่นการให้บริการบนคลาวด์ ฉันไม่ต้องการจ่ายเงินเพื่อการโฮสต์อีกต่อไป

ฉันทำงานกับมันต่อไปอีก แต่คุณสามารถเข้าร่วม เซิร์ฟเวอร์ Discord หากคุณอยากติดตามความคืบหน้าและดูว่าเป็นอย่างไร และอาจเข้าร่วมโครงการหากสนใจ! เซิร์ฟเวอร์เปิดให้ทุกคน และเราต้องการให้มีคนมากขึ้นเพื่อเรียนภาษาญี่ปุ่นร่วมกัน! คุณจะพบลิงก์เชิญบนเว็บไซต์ หรือคุณสามารถขอฉันได้โดยตรง!

Related Articles