Syntax | سینتکس – Telegram
ساختار پیشنهادی کامیونیتی گولنگ برای پروژه ها

https://github.com/golang-standards/project-layout

یکی از اشتباهات خیلیا اینه طبق تجربیات قبلیشون با فلان زبان و ابزار، میان تو یه زبان دیگه به همون روش قبل پیادش می کنن. تو golang standard project layout به همین اشاره کرده که بعضیا از دنیا جاوا میان و طبق یکی از پترن های پر استفادشون تو گولنگم میخوان به همون شکل ساختار پروژشون رو بسازن، ولی خب این تو جامعه گولنگ پیشنهاد نمیشه.

#Project_layout

@Syntax_fa
👍71
اگر این روزها PDF مقاله(انگلیسی) میخونید، از مرورگر Microsoft Edge استفاده کنید، چرا؟ در ادامه به ۴ مورد اشاره می‌کنم:

۱- میتونید قسمت‌های مختلف متن رو با چندین رنگ ‌های‌لایت کنید ولی حتما بعدش Ctrl+S رو بزنید که ذخیره بشه.

۲- برای متن‌ها میتونید کامنت بزارید.

۳- مترجم هم داره، هرقسمت از متن رو انتخاب کنید،‌ براتون به هر زبانی ترجمه میکنه.

۴- و درنهایت یک فیچر جذاب، امکان استفاده از هوش‌مصنوعی Copilot در کنار مقاله. به این صورت که به مقاله دسترسی داره، میتونید هر قسمتی که متوجه نشدید رو ازش بپرسید و بگید براتون بیشتر توضیح بده یا....

امیدوارم براتون مفید باشه.

[amir motaheri]

#Note

@Syntax_fa
👍15
سیزده وب سایت پر بازدید دنیا
سرچ انجین duckduckgo رشد خوبی رو داشته
یچیز باحال تر اینکه از بین این 13 تا 8 تاش فیلتره یا اینکه هم فیلتره و هم تحریمیم از اونطرف

#Fun

@Syntax_fa
👍10
#نکات_قرارداد

۱) قرارداد حتماً باید نوشته بشه، اصلا روی حرف و ... هیچ چیزی قبول نکنید

۲) متن قرارداد رو حتماً بطور کامل بخونید، شما موظف نیستید همون لحظه که قرار داد بهتون داده میشه تا ۵ دقیقه بعد امضا بزنید.
(شخصاً یک نسخه از قرارداد و ضمیمه‌هاش رو می‌‌خوام که زودتر برام ارسال بشه و ۱-۲ روز مهلت خوندن به خودم میدم)

۳) بدون قرارداد کتبی هیچ کجا کار نکنید، مگر اینکه مبلغ رو قبل از شروع کار براتون واریز کنند
همه دوستان می‌دونند، شخصاً ممکنه با یک جا هم به توافق برسم.
اما اگر طرف قبل از قرارداد تسک بفرسته، دیگه باهاش همکاری نمی‌کنم، چون ۲ حالت بیشتر نداره
۳-۱ ) یا با هدف کلاهبرداری و از زیر موارد توافق شده فرار کردن قرارداد کتبی به شما تحویل نمی‌ده
۳-۲ ) یا اینکه یک پروژه ۱ ساله گرفته، خواسته با نیروی ۵ میلیونی کار رو در بیاره و حالا توی ماه‌های آخر هست و شدیداً نیاز به خروجی داره پس از ۱ روز هم نمی‌گذره که خب اینجا هم باید فرار کنید.

۴- یک نسخه از قرارداد رو همیشه تحویل بگیرید و پیش خودتون نگهدارید

۵- به تاریخ‌هایی که بیش از مدت قرارداد هست توجه کنید؛ توی ایران متن قرارداد هارو خیلی از شرکت‌ها به وکیل‌ها می‌سپارند و ازونجایی که ۹۹٪ وکیل‌ها برای قراردادهای کامیپوتری و فنی آماده نیستن متون مزخرف زیاد دیده میشه

برای مثال ۳ سال قبل، یک شرکت ایرانی - آلمانی برای من قراردادی رو از دفتر ایران فرستاد، توی متن قرارداد نسخه فارسی نوشته شده بود که تا ۵ سال بعد از خروج از شرکت حق مشارکت با هیچ استارتاپ یا شرکت نرم‌افزار پزشکی رو ندارم.

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

اما مسئله این هست، هیچ شرکتی حق نوشتن این موضوع رو نداره.
شما حق استفاده از تجربیاتت رو داری و این یعنی بعد از کار توی هر شرکتی می‌تونی به یک شرکت با بیزینس مشابه بری و اونجا شروع به فعالیت کنی (دستمزد، برخورد یا هرچیزی)
اما طبق NDA شما حق انتقال دانش در مورد فیچرها، جزئیات عملکرد داخلی و ... که بعد از تحقیقات فراوان شرکت قبلی بهش رسیده و تجربه شخصی شما نیست رو به شرکت جدید ندارید.
حتی اگر این موضوع توی متن قرارداد شما نباشه، و اینکار‌ رو بکنید شرکت می‌تونه از شما شکایت کنه و ۹۹.۹٪ موارد هم رأی دادگاه برای شرکت هست.

۶- هر چیزی که از شرکت تحویل می‌گیرید و یا به شرکت تحویل می‌دید
بخصوص تحت عنوان ضمانت نامه، باید حتماً توی ضمیمه‌ای از قرارداد باشه و حتماً مهر و امضا مسئول شرکت رو هم داشته باشه.
مهمتر از اون باید اعلام بشه چه زمان و تحت چه شرایطی این ضمانت می‌تونه به اجرا گذاشته بشه و چه زمان و تحت چه شرایطی این ضمانت باید پس داده بشه.


در نهایت حتماً، حتماً، حتماً از قرارداد و ضمیمه‌های اون باید همیشه ۲ نسخه کاملاً رسمی (مهر، سربرگ، امضا، و ....) وجود داشته باشه
نسخه‌ای دست شما و نسخه‌ی دیگری برای شرکت.

اگر مورد دیگری در آینده یادم افتاد، حتماً به این پیام اضافه می‌کنم.

پای هینت
https://news.1rj.ru/str/pyHints
15👍5🔥2
چه تفاوتی بین mutable datatype با immutable datatype هست؟

دیتاتایپ های mutable میتونن ادیت بشن و در زمان ران تایم تغییر کنن مثل لیست و دیکشنری.

ولی دیتاتایپ های Immutable نمیتونن ادیت بشن و موقع ران تایم برنامه نمیتونن تغییر کنن. مثل String و تاپل

#python_interview

@Syntax_fa
👍6
Forwarded from Syntax | سینتکس (Alireza-fa)
bytes buffer and string builder

یکی از انواع داده ای که در اکثر زبان‌های برنامه نویسی وجود دارد و در استفاده از آن باید دقت داشته باشیم نوع string است.

قطعه کد زیر را در نظر بگیرید:
    var query string = "select "
query += "name, family "
query += "from "
query += "users "
query += "where 1 = 1 "
query += "and name = `ali` "
db.Execute(query)


زمانی که نیاز داریم تا مقدار یک رشته را تغییر دهیم نوشتن به این روش اشتباه می‌باشد. دلیل آن در این نهفته است که هر دفعه که شما این رشته را تغییر می‌دهید فارغ از متغیر پیشین یک فضای جدید در حافظه برای آن رزرو می‌شود. بنابراین این قطعه کد memory efficient نیست.

در بسیاری از زبان‌ها برای چنین مسایلی از string builder استفاده می‌شود. در گو هم string builder را داریم و هم bytes.Buffer.

این ساختارها از byte slice در پشت صحنه استفاده می‌کنند و تغییرات را روی آرایه داخلی اعمال میکنند. در نتیجه نیاز به رزرو فضاهای زیاد ندارند و memory efficient‌تر خواهند بود.

strings.Builder :
    var sbQuery strings.Builder
sbQuery.WriteString("select ")
sbQuery.WriteString("name, family ")
sbQuery.WriteString("from ")
sbQuery.WriteString("users ")
sbQuery.WriteString("where 1 = 1 ")
sbQuery.WriteString("and name = `ali` ")
db.Execute(query)

bytes.Buffer :
    var btQuery bytes.Buffer = bytes.Buffer{}
btQuery.WriteString("select ")
btQuery.WriteString("name, family ")
btQuery.WriteString("from ")
btQuery.WriteString("users ")
btQuery.WriteString("where 1 = 1 ")
btQuery.WriteString("and name = `ali` ")
db.Execute(query)

حالا تابع indent را در نظر بگیرید این تابع قرار است تغییرات زیادی را در خطوط مختلف یک رشته (byte array json) اعمال نماید. پس مناسب است از بافر استفاده شود و به همین خاطر تابع مورد نظر یک bytes.Buffer دریافت می‌کند و خروجی را در آن قرار می‌دهد.

تفاوت bytes.Buffer و strings.Builder در این است که bytes.Buffer عمومی‌تر می‌باشد ولی strings.Builder برای رشته استفاده می‌شود.



برای تمرین هر کدوم از بچه‌ها که میتونه یک بنچمارک بنویسه و در یک حلقه بزرگ مقدار موجود در یک رشته رو تغییر بده و همین کار رو یکبار با استفاده از bytes Buffer و strings Builder هم انجام بده و نتیجه مصرف memory رو با ما به اشتراک بذاره

#string

@Syntax_fa
👍5
آرگومان های یک فانکشن توی پایتون بصورت ولیو پاس داده میشه یا بصورت رفرنس؟

همه چی توی پایتون آبجکت هستش و همه ی value ها بصورت رفرنس توی آبجکت نگه داشته میشن.
پس آرگومان ها بصورت رفرنس پاس داده میشن و اگه mutable datatype باشه میشه تغییری در مقدار پاس داده شده بوجود آورد و اما اگه immutable datatype باشه نمیشه.


#Python_interview

@Syntax_fa
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
چارلی چاپلین در پایان فیلم "دیکتاتور بزرگ"

🔘صحنه‌ای که او از نقش کمدی خودش بیرون می‌آید و بدون واسطه و خارج از نقش با تماشاگر صحبت می‌کند

بیش از ابزار، به انسانیت نیاز داریم

@Syntax_fa
10❤‍🔥1👍1
من تو خواب هامم فقیرم
دیشب خواب دیدم رفتیم روی دامین localhost.com دارم NGINX کانفیگ میکنم😂😂😂😂

لینوکسی

#Fun

@Syntax_fa
🤣22👍1
برای apis documentation کدومو انتخاب می کنید؟
Anonymous Poll
48%
Postman
7%
Dapperdox
45%
Swagger
چگونه در لینکدین دیده شوید

آپ رو بزن #up

#Fun

@Syntax_fa
🤣26👍6👎1
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی میخوای بفهمی کارفرما دقیقا چی میخواد

#Fun

@Syntax_fa
🤣13👍1
گولنگ کار ها:

استفاده از orm و قابلیت هاش👎

استفاده از raw query و شواف کردن پرفورمنس و قدرت👌

#Fun

@Syntax_fa
😁12👎2👌1
This media is not supported in your browser
VIEW IN TELEGRAM
ورزش صبحگاهی مناسب برنامه نویسا

#Fun

@Syntax_fa
🤣12👎21😁1
بچه ها میخام در مورد اقامت دو ساله ی عمان در صورت ثبت شرکت یکم با هم صحبت کنیم شاید برای شما موضوع جذابی باشه

قبل از ادامه بگم من فقط نظر شخصی خودم رو میگم و به هیچ عنوان توصیه نمیکنم که فردا عمان برین ، فقط داریم با هم صحبت میکنیم

کشور عمان چند سالی میشه که سیاست پیشرفت اقتصادی رو در پیش گرفته برای اینکه از دوبی و عربستان بیشتر ازین عقب نیفته خیلی شرایط رو برای ثبت شرکت آسون تر کرده تا مردم بیشتری بتونن از جاهای مختلف دنیا برای سرمایه گذاری و کار به عمان بیان هزینه ثبت شرکت فکر میکنم ۳۰ ریال عمان باشه و هر ریال عمان در حال حاضر فکر میکنم تقریباً ۲.۵ دلار میشه

یه نکته جالب بهتون بگم که شما فقط با داشتن پاسپورت میتونین بدون ویزا تا دو هفته تو کشور عمان باشین و کارای ثبت شرکت خودتون رو انجام بدین ، برای ثبت شرکت فکر میکنم یه سری مراکزی دارن به نام "مکتب و سند" که اونجا کارای ثبت شرکت رو واستون انجام میده و تنها مدرکی که ازتون میخان فقط پاسپورته ، هزینه هر شب اقامت تو مسافرخونه های عمان رو تقریباً شبی ۸ ریال در نظر بگیرین

من یکم راجب اجاره خونه تو عمان تحقیقاتی کردم و متوجه شدم صاحب خونه های عمانی اگه باهاشون صحبت کنین تا دو ماه شاید سه ماه هم ازتون هیچ اجاره ای نگیرن تا کارتون راه بیفته و این میتونه خیلی واسه کسایی که میخان به عمان برن واسه کسب و کار خوب باشه

راجع به هزینه خودروها هم شاید واستون جالب باشه که با پول پراید یا پژو میتونین تو کشور عمان یه تویوتا سوناتا خیلی خوشگل بخرین بعد از ثبت شرکت تو عمان به شما هم آی دی کارت عمان داده میشه و هم اجازه کار دارین و هم میتونین حساب بانکی عمانی و حساب بانکی بین المللی داشته باشین ، بعد از ثبت شرکت حتی میتونین به ایران برگردین فکر کنم حتی تا ۱۴ ماه میتونین بیایین ایران این گزینه ثبت شرکت تو عمان فکر میکنم برای فریلنسر ها مخصوصاً کسایی که دوس دارن با سایت های فریلنسری مثل آپورک و فایور و فریلنسر دات کام کار کنن خیلی جذاب باشه همچنین این گزینه واسه یوتوبرها هم میتونه گزینه جذابی باشه چون شما حساب بانکی بین الملل دارین و دیگه نیازی به شرکت های واسط ندارین و هم میتونین تو عمان کار یوتوب خودتون رو داشته باشین و هم به ایران سفر کنین و ویدیو های جذاب بسازین خلاصه اینکه گفتم بهتون بگم شاید براتون جذاب باشه ولی حتماً قبلش خودتون خوب مطالعه و تحقیق کنین قبل ازینکه بخایین کاری انجام بدین 🙏🏻⚘️ براتون آرزوی موفقیت دارم

Sajjad abdullahi
14👍8
سوال مصاحبه

فرض کنید ما یک linked list یک طرفه (next) داریم.
چجوری مقادیر داخل این لیست رو از آخر به اول مرتب کنیم؟

#interview_question

@Syntax_fa
👍5
Syntax | سینتکس
سوال مصاحبه فرض کنید ما یک linked list یک طرفه (next) داریم. چجوری مقادیر داخل این لیست رو از آخر به اول مرتب کنیم؟ #interview_question @Syntax_fa
جواب های مورد قبول:

Sharifi:
شروع به خوندن می‌کنیم عنصر هارو به ترتیب وارد یه Stack می‌کنیم
پشته همون لیست رو برعکس میکنه
👍8