کداکسپلور | CodeExplore
7.92K subscribers
1.93K photos
300 videos
103 files
1.69K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
ساختار صفحه HTML از سه بخش اصلی تشکیل شده که براتون پایین توضیحات هر کدومشون رو قرار میدم :

قسمت سر (head):

این بخش حاوی اطلاعات کلی در مورد صفحه است، مانند عنوان صفحه، توضیحات صفحه، و همچنین متا تگ‌هایی که می‌توانند برای موتورهای جستجو مفید باشند.

قسمت بدنه (body)

: این بخش حاوی محتوای اصلی صفحه است، مانند متن، تصاویر، ویدیوها، و سایر عناصر HTML.

قسمت پایانی (footer):

این بخش حاوی اطلاعاتی مثل حق کپی رایت، اطلاعات تماس، لینک مقالات و لینک شبکه‌های اجتماعی است و از اهمیت بسیار ویژه‌ای برخوردار است.

ساختار کلی یک صفحه HTML به شکل زیر هست
:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>عنوان صفحه</title>
  <meta name="description" content="توضیحات صفحه">
</head>
<body>
  محتوای اصلی صفحه
</body>
<footer>
محتواهای دیگر
</footer>
</html>


#structure #web #پست_پیشنهادی
☕️ @CodeExplore
18❤‍🔥3🔥3
💡 اجزای مختلف یک URL رو تو این قسمت باهم ببینیم🤓

👈 وقتی میگن URL، یک متن هستش که حاوی آدرس سایته
.
می دونید چرا این URL ها طراحی شده ؟

این URL طراحی شدن تا جایگزین اعدادی (آدرس IP) شوند که کامپیوترها از آن ها برای ارتباط با سرورها استفاده می کنند.

یا به عبارت دیگر URL فرم نوشتاری همان آدرسِ IP است. URLها همچنین ساختار فایل هر وبسایت را معرفی می کنند👌

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

❗️خیلی از ماها به شخصه همچین چیزهایی رو نمی دونیم ، فقط می دونیم که URL چیه ولی دیگه نمیریم تا فیها خالدونش رو در بیاریم ببینیم اینا چین ؟ به چه دردی میخورن ؟ چه کاربردی دارن؟ و خیلی چیزا دیگه و به همین دلیل باعث میشه عمقی یاد نگیریم مطالب رو 🤦‍♂

#url #structure
☕️ @CodeExplore
❤‍🔥104🔥3
🧵 ساختار پروژه تو Go — نظم بدون دردسر 😎

وقتی یه پروژه کوچیک Go می‌نویسی، همه‌چی تو یه فایل جا می‌شه و دنیا قشنگه.
ولی وقتی یه‌کم رشد می‌کنه و چند تا پکیج و سرویس می‌چسبونیش بهش، کم‌کم حس می‌کنی داری تو آمازون گم می‌شی!

اینجاست که یه ساختار تمیز می‌تونه نجاتت بده.
گو می‌گه: «نه کلاس، نه فریم‌ورک سنگین — فقط یه ساختار ساده ولی اصولی!»

🏗 ساختار پیشنهادی برای یه پروژه‌ی واقعی Go:
myapp/
├── cmd/ → نقطه‌ی ورود اپلیکیشن
├── internal/ → منطق داخلی، مخصوص خود پروژه
├── pkg/ → پکیج‌های قابل استفاده عمومی
├── api/ → تعریف API (مثلاً protobuf یا Swagger)
├── configs/ → فایل‌های پیکربندی
├── scripts/ → ابزارهای dev و deploy
├── test/ → تست‌های integration
├── go.mod
└── README.md

🚀مسیر ‌cmd/ — نقطه‌ی شروع ماجرا

اینجا فایل‌های main.go می‌ره.
ممکنه چند تا اپلیکیشن داشته باشی (مثلاً یه سرور و یه worker):
cmd/
├── server/
│ └── main.go
├── worker/
│ └── main.go

📌 تو این پوشه فقط باید فایل‌هایی باشن که برنامه رو راه می‌ندازن، نه منطق اصلی.
🧠مسیر ‌internal/ — جعبه‌ابزار محرمانه

گو یه قابلیت جالب داره: هر چی توی internal/ باشه، فقط از داخل خود پروژه قابل import کردنه.
یعنی مثل اینه که روش قفل زدی 🔒

اینجا معمولاً چیزهایی مثل:

logic اصلی برنامه

لایه‌ی دسترسی به دیتابیس

implementation سرویس‌ها

قرار می‌گیرن.

📦مسیر ‌pkg/ — ابزارهای قابل استفاده بیرونی

اگه یه بخش از کدت خیلی جنرال و قابل reuse‌ه، می‌تونی بندازیش تو pkg/.
مثلاً یه logger، یه پکیج محاسباتی، یا ابزار auth.

pkg/
└── logger/
└── logger.go

🛰مسیر ‌api/ — قراردادهای ارتباطی

این پوشه جای تعریف APIهاست. مثلاً:

فایل‌های .proto برای gRPC

تعریف‌های OpenAPI یا Swagger

JSON schema

⚙️ ‌مسیر configs/ — تنظیمات محیط

هر محیط یه سری تنظیم داره. dev، staging، production.
این فایل‌ها می‌تونن yaml، json یا env باشن.

🛠مسیر ‌scripts/ — ابزارهای پشت‌پرده

هر کاری که می‌خوای اتومات یا دستی انجام بدی، مثل:

اجرای migration

بیلد(build) کردن

اجرای تست‌ها

پاک سازی (cleanup)


🧪مسیر ‌test/ — تست‌های جدی‌تر

واسه integration یا end-to-end testهایی که بزرگ‌تر از unit test معمولین، این پوشه خیلی به‌درد می‌خوره.

📌 تو Go معمولا unit testها کنار خود کدها هستن (something_test.go)
ولی تست‌های سیستمی رو بهتره اینجا نگه‌داری.

🧼 چند نکته‌ی طلایی

ساختار پروژه هم باید همین‌طور باشه: شفاف، بدون پیچیدگی الکی.

از همون اول نیازی نیست همه‌ی پوشه‌ها رو بسازی. ساختار با رشد پروژه شکل می‌گیره.

چیزی که قرار نیست بیرون استفاده بشه، بندازش تو internal/ و راحت بخواب!

هر چی ماژولارتر، بهتر: تفکیک مسئولیت باعث می‌شه تیم راحت‌تر توسعه بده، تست کنه، و تغییر بده.

حالا یه ابزار میخوام بهت معرفی کنم که این کارو برات اتوماتیک انجام میده.
https://github.com/Melkeydev/go-blueprint

#golang #project #structure
☕️Telegram | Website | Discord
🔥122