برنامه نویسی

tohray – نرم افزار میکروبلاگینگ در nim

Summarize this content to 400 words in Persian Lang
ತೊರೆ، تلفظ “toh-ray” (با صدای “t” دندانی)،یک برنامه میکروبلاگینگ برای گرفتن جریان افکار با الهام از جریان لینوس لی است

کلمه ತೊರೆ در کانادا معانی متعددی دارد، اما معمولاًas rivulet, forego, disvest; که در واقع توصیف مناسبی برای مقصود هستند.

شما می توانید این را در عمل در https://tohray.fly.dev مشاهده کنید. کد منبع در github.com/btbytes/tohray است

ویژگی ها

پست های جدید بنویسید
در علامت گذاری
ویرایش پست ها
پست ها را حذف کنید
برای مشاهده پست های نوشته شده در آن تاریخ روی تاریخ کلیک کنید ماه.
چندین کاربر را پشتیبانی می کند، اما من واقعا آن را برای یک کاربر نوشتم.
شما می توانید با دادن آن به کاربران اجازه ثبت نام را بدهید inviteCode

همه فیدها را صادر کنید /export نقطه پایانی

فرمت پیش فرض JSON است
ضمیمه ?format=md برای صادرات در قالب علامت گذاری به عنوان مثال، /export?format=md. ورودی ها با جداکننده فایل (ASCII 28) پس از هر ورودی بازگردانده می شوند.

نمایش تقویم بر اساس ماه در /calendar برای دیدن همه پست های مربوط به یک ماه.

غیر ویژگی ها

“مدیریت کاربر” وجود ندارد.
“بازنشانی رمز عبور” وجود ندارد.

جزئیات فناوری

لینوس برنامه استریم خود را با استفاده از زبانی که خودش ساخته بود نوشت – اوکلانگ.من بهانه ای می خواستم تا از Nim برای چیزی “مفید” استفاده کنم، بنابراین از Nim استفاده کردم و این یک تجربه عالی بود.

Nim یک زبان سریع و دوستانه است که به صورت ایستا تایپ می شود، در حالی که شبیه Python در Syntax است.کد منبع را به C (یا C++ یا جاوا اسکریپت) کامپایل می کند که به برنامه های نوشته شده در آن اجازه می دهدبسیار سریع، کوچک و کاملا قابل حمل باشد.

زبان برنامه نویسی: Nim

چارچوب: مقدمه، که به نوبه خود از Karax استفاده می کند.
پایگاه داده: SQLite
CSS: ترمینال

Cloud: تست شده در https://fly.io

ویراستار: اوه.. نمیدونستم اهمیت میدی، اما روی Zed نوشته شده بود که پشتیبانی مناسبی برای ویرایش Nim با nimlangserver.

یادداشت های برنامه نویسی

را views.nim فایل خیلی طولانی است، اما من از آن خجالت نمی کشم. این برنامه ای است که برای خودم نوشتم، و کاملاً به خوبی در ذهن من قرار می گیرد.
تصمیم برای جمع‌آوری اسرار در باینری پس از درک این موضوع گرفته شد که مدیریت اسرار در محیط، .env فایل ها، consts.nim .. مکان های متعدد فقط مشغول کار است. نه اینکه چگونه یک برنامه “تولید” بنویسم.. اما این یک برنامه “سرگرمی” است. و هر چیزی که من را از ادامه نوشتن کد خوشحال می کند، باقی خواهد ماند.

نصب و راه اندازی

این دایرکتوری را شبیه سازی کنید
nim را روی کامپیوتر خود نصب کنید
کپی کنید example-consts.nim به consts.nim و متغیرها را تنظیم کنید

توجه: پیکربندی در باینری کامپایل شده است. هیچ “فایل پیکربندی” وجود ندارد
کامپایل برنامه با $ nim compile toray.nim

برنامه را با ./tohray، و برنامه روی پورت شروع می شود :8080 – http://localhost:8080

به http://localhost:8080/register بروید (در خود صفحه وب قابل مشاهده نیست)
استفاده کنید inviteCode وارد شدی consts.nim به همراه نام و رمز عبور شما
را کلیک کنید Write برای شروع نوشتن من توصیه می کنم یک پست با اسلاگ بنویسید about به طوری که about پیوند در بالای ناو در واقع به صفحه درباره می رود.
داده ها در a ذخیره می شوند sqlite پایگاه داده داده شده در consts.nim فایل
توجه: اگر می خواهید ببینید که وبلاگ با چند ورودی در آن چگونه به نظر می رسد، می توانید اجرا کنید sqlite3 tohray.db to see some lorem ipsum محتوا

نصب در fly.io

این را نوشتم تا بتوانم اجراش کنم fly.io. مطالعه کنید Dockerfile و fly.toml.

مراقب نحوه کپی کردنم باشید fly-consts.nim به consts.nim در Dockerfile. این به شما امکان می دهد که یککپی محلی (روی رایانه) با اسرار و غیره، اما در هنگام استقرار در باینری کامپایل می شود.

برای ایجاد حجمی که پایگاه داده در آن ذخیره می شود (/mnt/db در fly.toml) باید از این استفاده کنیددستور: fly volumes create db -r atl. اینجا، atl مخفف آتلانتا است، جایی که من برنامه را راه اندازی کردم.برنامه و صدا باید در یک منطقه باشند.

همه

[x] همه پست‌ها را در یک فایل JSON صادر کنید (و علامت‌گذاری)
[x] یک نمای تقویم اضافه کنید
[x] ویرایش پست ها نفست را حبس نکن

[x] پیوندهای تقویم و صادرات را اضافه کنید
[x] فید RSS
[ ] رفع خرابی جستجو
[ ] پیمایش «صفحه بعدی» و «صفحه قبلی» را برطرف کنید
[ ] پیاده سازی کنید /import

[ ] استقرار در سایر سیستم عامل های PaaS مانند unicraft و غیره.
[ ] یک ساخت ثابت از این تصویر داکر بسازید. در حال حاضر، از یک تصویر Ubuntu Normal در اندازه کامل استفاده می کند. بله
[ ] آن را با پادکست اپل سازگار کنید

ತೊರೆ، تلفظ “toh-ray” (با صدای “t” دندانی)،
یک برنامه میکروبلاگینگ برای گرفتن جریان افکار با الهام از جریان لینوس لی است

کلمه ತೊರೆ در کانادا معانی متعددی دارد، اما معمولاً
as rivulet, forego, disvest; که در واقع توصیف مناسبی برای مقصود هستند.

شما می توانید این را در عمل در https://tohray.fly.dev مشاهده کنید. کد منبع در github.com/btbytes/tohray است

ویژگی ها

  • پست های جدید بنویسید
  • در علامت گذاری
  • ویرایش پست ها
  • پست ها را حذف کنید
  • برای مشاهده پست های نوشته شده در آن تاریخ روی تاریخ کلیک کنید ماه.
  • چندین کاربر را پشتیبانی می کند، اما من واقعا آن را برای یک کاربر نوشتم.
  • شما می توانید با دادن آن به کاربران اجازه ثبت نام را بدهید inviteCode
  • همه فیدها را صادر کنید /export نقطه پایانی
    • فرمت پیش فرض JSON است
    • ضمیمه ?format=md برای صادرات در قالب علامت گذاری به عنوان مثال، /export?format=md. ورودی ها با جداکننده فایل (ASCII 28) پس از هر ورودی بازگردانده می شوند.
  • نمایش تقویم بر اساس ماه در /calendar برای دیدن همه پست های مربوط به یک ماه.

غیر ویژگی ها

  • “مدیریت کاربر” وجود ندارد.
  • “بازنشانی رمز عبور” وجود ندارد.

جزئیات فناوری

لینوس برنامه استریم خود را با استفاده از زبانی که خودش ساخته بود نوشت – اوکلانگ.
من بهانه ای می خواستم تا از Nim برای چیزی “مفید” استفاده کنم، بنابراین از Nim استفاده کردم و این یک تجربه عالی بود.

Nim یک زبان سریع و دوستانه است که به صورت ایستا تایپ می شود، در حالی که شبیه Python در Syntax است.
کد منبع را به C (یا C++ یا جاوا اسکریپت) کامپایل می کند که به برنامه های نوشته شده در آن اجازه می دهد
بسیار سریع، کوچک و کاملا قابل حمل باشد.

  • زبان برنامه نویسی: Nim
  • چارچوب: مقدمه، که به نوبه خود از Karax استفاده می کند.
  • پایگاه داده: SQLite
  • CSS: ترمینال
  • Cloud: تست شده در https://fly.io
  • ویراستار: اوه.. نمیدونستم اهمیت میدی، اما روی Zed نوشته شده بود که پشتیبانی مناسبی برای ویرایش Nim با nimlangserver.

یادداشت های برنامه نویسی

  • را views.nim فایل خیلی طولانی است، اما من از آن خجالت نمی کشم. این برنامه ای است که برای خودم نوشتم، و کاملاً به خوبی در ذهن من قرار می گیرد.
  • تصمیم برای جمع‌آوری اسرار در باینری پس از درک این موضوع گرفته شد که مدیریت اسرار در محیط، .env فایل ها، consts.nim .. مکان های متعدد فقط مشغول کار است. نه اینکه چگونه یک برنامه “تولید” بنویسم.. اما این یک برنامه “سرگرمی” است. و هر چیزی که من را از ادامه نوشتن کد خوشحال می کند، باقی خواهد ماند.

نصب و راه اندازی

  • این دایرکتوری را شبیه سازی کنید
  • nim را روی کامپیوتر خود نصب کنید
  • کپی کنید example-consts.nim به consts.nim و متغیرها را تنظیم کنید
  • توجه: پیکربندی در باینری کامپایل شده است. هیچ “فایل پیکربندی” وجود ندارد
  • کامپایل برنامه با $ nim compile toray.nim
  • برنامه را با ./tohray، و برنامه روی پورت شروع می شود :8080 – http://localhost:8080
  • به http://localhost:8080/register بروید (در خود صفحه وب قابل مشاهده نیست)
  • استفاده کنید inviteCode وارد شدی consts.nim به همراه نام و رمز عبور شما
  • را کلیک کنید Write برای شروع نوشتن من توصیه می کنم یک پست با اسلاگ بنویسید about به طوری که about پیوند در بالای ناو در واقع به صفحه درباره می رود.
  • داده ها در a ذخیره می شوند sqlite پایگاه داده داده شده در consts.nim فایل
  • توجه: اگر می خواهید ببینید که وبلاگ با چند ورودی در آن چگونه به نظر می رسد، می توانید اجرا کنید sqlite3 tohray.db to see some lorem ipsum محتوا

نصب در fly.io

این را نوشتم تا بتوانم اجراش کنم fly.io. مطالعه کنید Dockerfile و fly.toml.

مراقب نحوه کپی کردنم باشید fly-consts.nim به consts.nim در Dockerfile. این به شما امکان می دهد که یک
کپی محلی (روی رایانه) با اسرار و غیره، اما در هنگام استقرار در باینری کامپایل می شود.

برای ایجاد حجمی که پایگاه داده در آن ذخیره می شود (/mnt/db در fly.toml) باید از این استفاده کنید
دستور: fly volumes create db -r atl. اینجا، atl مخفف آتلانتا است، جایی که من برنامه را راه اندازی کردم.
برنامه و صدا باید در یک منطقه باشند.

همه

  • [x] همه پست‌ها را در یک فایل JSON صادر کنید (و علامت‌گذاری)
  • [x] یک نمای تقویم اضافه کنید
  • [x] ویرایش پست ها نفست را حبس نکن
  • [x] پیوندهای تقویم و صادرات را اضافه کنید
  • [x] فید RSS
  • [ ] رفع خرابی جستجو
  • [ ] پیمایش «صفحه بعدی» و «صفحه قبلی» را برطرف کنید
  • [ ] پیاده سازی کنید /import
  • [ ] استقرار در سایر سیستم عامل های PaaS مانند unicraft و غیره.
  • [ ] یک ساخت ثابت از این تصویر داکر بسازید. در حال حاضر، از یک تصویر Ubuntu Normal در اندازه کامل استفاده می کند. بله
  • [ ] آن را با پادکست اپل سازگار کنید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا