در گولنگ ارث بری نداریم بجاش composition هست
به این صورت که اگر بخوایم استراکت b از a ارث بری کنه تایپ a رو در b شبیه یک پروپرتی تعریف میکنیم
حالا اصول سالید , اصل Liskov رو در نظر بگیرید
که میگفت اگر کلاس b از کلاس a ارث بری کرده باشه
اگر جایی نیاز به کلاس a بود بجاش میتونیم b که فرزندش هست رو پاس بدیم
توی گولنگ برای پیاده سازی این مورد باید یک متد به استراکت a اضافه بشه مثلا ()get که کارش اینه مقادیر a رو برمیگردنه
مثال
func (p Person) get() Person{
return p
}
حالا یک اینترفیس نیاز داریم
تا امضای متدمون رو داخلش تعریف کنیم
type iperson interface {
get() person
}
در ورودی فانکشن ما از اینترفیس استفاده میکنیم
حالا کلاس فرزند هم این متد get رو از پدرش به ارث میبره
ورودی تابع هم که یک اینترفیس هست که همونطور که قبلا گفتم میتونیم ابجکتی با همون امضا بهش پاس بدیم
@DevTwitter | <mr nobody/>
به این صورت که اگر بخوایم استراکت b از a ارث بری کنه تایپ a رو در b شبیه یک پروپرتی تعریف میکنیم
حالا اصول سالید , اصل Liskov رو در نظر بگیرید
که میگفت اگر کلاس b از کلاس a ارث بری کرده باشه
اگر جایی نیاز به کلاس a بود بجاش میتونیم b که فرزندش هست رو پاس بدیم
توی گولنگ برای پیاده سازی این مورد باید یک متد به استراکت a اضافه بشه مثلا ()get که کارش اینه مقادیر a رو برمیگردنه
مثال
func (p Person) get() Person{
return p
}
حالا یک اینترفیس نیاز داریم
تا امضای متدمون رو داخلش تعریف کنیم
type iperson interface {
get() person
}
در ورودی فانکشن ما از اینترفیس استفاده میکنیم
حالا کلاس فرزند هم این متد get رو از پدرش به ارث میبره
ورودی تابع هم که یک اینترفیس هست که همونطور که قبلا گفتم میتونیم ابجکتی با همون امضا بهش پاس بدیم
@DevTwitter | <mr nobody/>
👍8💩5🤮2
کتابخونه کار با CDN آروان به زبان PHP:
https://github.com/mohammadv184/arvancloud
و لاراول:
https://github.com/mohammadv184/arvancloud-laravel
@DevTwitter | <saber mesgari/>
https://github.com/mohammadv184/arvancloud
و لاراول:
https://github.com/mohammadv184/arvancloud-laravel
@DevTwitter | <saber mesgari/>
💩7❤3👍2
تاحالا دقت کردید هر چی user agent بگیرید از هر browser ای فرقی نداره اولش زده Mozilla/5.0 ؟ یعنی IE و Safari و Chrome هم همینطور
میدونید داستانش چیه؟
اولین browser اسمش Mosaic بود بعد یه browser جدید اومد اسمش و گذاشت Mozilla یعنی Mosaic Killer ولی به خاطر درگیری اینا اسمش و قبل launch کرد netscape
تو user agent اعلام میکرد من Mozilla/1.0 هستم
بعد شروع کرد ساپورت یه سری چیزهای خفن
برنامه نویس ها اومدن if و else گذاشتن که اگر useragent Mozillaداشت این فیچر ها رو روشن کن
گذشت و مایکروسافت IE و درست کرد ولی نمیتونست منتظر باشه که این همه برنامه نویس بیان کدها رو درست کنن گفت باشه منم میگم Mozilla/1.0 هستم
گذشت و FireFox که از خاکستر netscape اومده بود ریلیز شد دید ای بابا خودشم گیر این موضوع هست اسمش و گذاشت Mozilla/5.0 بعد داخل پرانتز زد Gecko که render engineاش بود
باز فایرفاکس فیجر خفن تر از IE داشت باز برنامه نویس ها اومدن گفتن اگر Gecko داشت تو user agent فلان کار و بکن
حالا این وسط Safari اومد یه render engine دیگه زد به نام webkit که همه کارهای Gecko رو میکرد
ای بابا من چیکار کنم همه اینا رو ساپورت میکنم اسمش و زد
Mozilla/5.0 AppleWebKit (like Gecko)
بعد chrome اومد این روی webkit اپل بود ولی چیزهای دیگه ساپورت میکرد اسم خودش و گذاشت
Mozilla/5.0 AppleWebKit (like Gecko) Chrome
میخوام بگم به تف وابسته است نصف وب رسما :))
@DevTwitter | <Alibilly/>
میدونید داستانش چیه؟
اولین browser اسمش Mosaic بود بعد یه browser جدید اومد اسمش و گذاشت Mozilla یعنی Mosaic Killer ولی به خاطر درگیری اینا اسمش و قبل launch کرد netscape
تو user agent اعلام میکرد من Mozilla/1.0 هستم
بعد شروع کرد ساپورت یه سری چیزهای خفن
برنامه نویس ها اومدن if و else گذاشتن که اگر useragent Mozillaداشت این فیچر ها رو روشن کن
گذشت و مایکروسافت IE و درست کرد ولی نمیتونست منتظر باشه که این همه برنامه نویس بیان کدها رو درست کنن گفت باشه منم میگم Mozilla/1.0 هستم
گذشت و FireFox که از خاکستر netscape اومده بود ریلیز شد دید ای بابا خودشم گیر این موضوع هست اسمش و گذاشت Mozilla/5.0 بعد داخل پرانتز زد Gecko که render engineاش بود
باز فایرفاکس فیجر خفن تر از IE داشت باز برنامه نویس ها اومدن گفتن اگر Gecko داشت تو user agent فلان کار و بکن
حالا این وسط Safari اومد یه render engine دیگه زد به نام webkit که همه کارهای Gecko رو میکرد
ای بابا من چیکار کنم همه اینا رو ساپورت میکنم اسمش و زد
Mozilla/5.0 AppleWebKit (like Gecko)
بعد chrome اومد این روی webkit اپل بود ولی چیزهای دیگه ساپورت میکرد اسم خودش و گذاشت
Mozilla/5.0 AppleWebKit (like Gecko) Chrome
میخوام بگم به تف وابسته است نصف وب رسما :))
@DevTwitter | <Alibilly/>
👍20❤1🎉1💩1
امروز یه کد جاوااسکریپتی باحال دیدم برای اینکه کد کشور رو به ایموجی تبدیل کنین ، جالب بود روشش
https://www.linkedin.com/feed/update/urn:li:share:6885426783143919616
@DevTwitter | <Hesam Mousavi/>
https://www.linkedin.com/feed/update/urn:li:share:6885426783143919616
@DevTwitter | <Hesam Mousavi/>
👍2
کسانی مدعی آزادی و متنباز بودن نرمافزار شدن که کل مشارکتشون این بوده از بین n هزار ابزار متنباز و آزاد، لینوکس رو نصب کنن و همه جا جار بزنن شما هم نصب کنید! کل دفاعشون هم اینه که چون کدش در دسترسه میتونید بخونید و تغییرش بدید و دریغ از این که ۰.۰۰۰۱ درصد از کدش رو خونده باشن!
@DevTwitter | <Pouriya/>
@DevTwitter | <Pouriya/>
👍18💩7👎4
لاراول از نسخه 8 بعدی از FullText Search در کوئری بیلدر خودش استفاده میکنه برای Mysql و PostgreSQL
https://github.com/laravel/framework/pull/40129
@DevTwitter | <M.Hassan Atefat/>
https://github.com/laravel/framework/pull/40129
@DevTwitter | <M.Hassan Atefat/>
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
چقدر نتیجه زمان اجرای پایتون در مقایسه با C نا امید کننده ست.
حتی با Node.js هم تست گرفتم و زمان ش این بود
$ time node ./test.js
22044
real 0m9.892s
user 0m0.046s
sys 0m0.077s
و این یعنی Nodejs و js خیلی خیلی از پایتون سریع تره.
اینم لینک یوتیوبش
https://youtu.be/3DX5q5jJE7U
@DevTwitter | <mam niki/>
حتی با Node.js هم تست گرفتم و زمان ش این بود
$ time node ./test.js
22044
real 0m9.892s
user 0m0.046s
sys 0m0.077s
و این یعنی Nodejs و js خیلی خیلی از پایتون سریع تره.
اینم لینک یوتیوبش
https://youtu.be/3DX5q5jJE7U
@DevTwitter | <mam niki/>
👍17💩15👎7❤2
👍7🔥3😱1
اگر از Pi-hole استفاده میکنید این دوستمون یک لیست خوب از تبلیغاتچیهای وب فارسی رو ساخته که میتونید برای بلاک کردن امثال یکتانت و ... اضافه کنید.
https://github.com/farrokhi/adblock-iran/blob/master/pihole.txt
@DevTwitter | <Hamed/>
https://github.com/farrokhi/adblock-iran/blob/master/pihole.txt
@DevTwitter | <Hamed/>
👍1
Python 3.10: Cool New Features for You to Try
https://realpython.com/python310-new-features/
@DevTwitter | <Real Python/>
https://realpython.com/python310-new-features/
@DevTwitter | <Real Python/>
👍12💩4🔥3🤮2
اینکه یه فریمورکی مثل لاراول انقد اصرار داره هر سال یه ورژن بده واقعا تو مخمه! یه استیبل بدین بذارین چند سال بمونه دیگه. بخدا دیگه فیچری نیس اضافه نکرده باشین.
اینم از هدلاین های ورژن ۹
این کامند رو واقعا سالی یه بار هم ادم استفاده نمیکنه. تازه تو این ورژن فقط خوشگلش کردن
@DevTwitter | <Saeed Vaziry/>
اینم از هدلاین های ورژن ۹
این کامند رو واقعا سالی یه بار هم ادم استفاده نمیکنه. تازه تو این ورژن فقط خوشگلش کردن
@DevTwitter | <Saeed Vaziry/>
💩7👍5👎2🔥1
چندسال پیش IBM با Facebook یه AI درست کردن که انسان رو توی بازی پوکر برد :) نکته عجیبش این هست که AI ازقبل هیچ دیتایی از بازی بقیه نداشته و در عرض 40 روز با بازی کردن با خودش تونسته اون استراتژی بازی رو یادبگیره و انسان رو شکست بده :)))
بعد بگید هوش مصنوعی جای انسان رو نمیگیره
@DevTwitter | <آسمانهمزمینمیخورد/>
بعد بگید هوش مصنوعی جای انسان رو نمیگیره
@DevTwitter | <آسمانهمزمینمیخورد/>
👍6💩1
شاید باورتون نشه اما اولین بررسی برای هک توسط یک هکر یا تیم هک پیدا کردن گیت هاب توسعه دهنده های اون سایت و بررسی ریپو ها و نوع کد زدنشون هست
@DevTwitter | <Amir Jahan/>
@DevTwitter | <Amir Jahan/>
👍21👎1🤩1
اینایی که میگن NextJS خوبه ،هنوز باهاش بیلد نگرفتن یا حداقل گذرشون به دو تا پکیج که از شی window استفاده کرده باشه نیافتاده
واقعا ری اکت مثل جاده خاکی هر جا میخوای میری هر غلطی میخوای میکنی آخر سر هم یه بیلد بهت میده عش میکنی
بعد میایی تو نکست جی اس اینو نکن اونو نکن و ...
@DevTwitter | <امیر جهان/>
واقعا ری اکت مثل جاده خاکی هر جا میخوای میری هر غلطی میخوای میکنی آخر سر هم یه بیلد بهت میده عش میکنی
بعد میایی تو نکست جی اس اینو نکن اونو نکن و ...
@DevTwitter | <امیر جهان/>
💩10👍2
تو حلقه for پایتون میتونید else داشته باشید
اینو تو هیچ زبان دیگهای ندیدم
@DevTwitter | <Omid Shojaee/>
اینو تو هیچ زبان دیگهای ندیدم
@DevTwitter | <Omid Shojaee/>
👍16💩9
وقتشه بریم سراغ ایزی پنل و این پنل دوس داشتنی لاراول رو دوس داشتنی ترش کنیم.
https://github.com/rezaamini-ir/laravel-easypanel
@DevTwitter | <Reza Amini/>
https://github.com/rezaamini-ir/laravel-easypanel
@DevTwitter | <Reza Amini/>
👍1
دوستان برنامه نویس عزیز یا مترجم های گل مقیم توییتر!
کسی یا کسانی هستند که مایل باشند با من توی ترجمه این ریپازیتوری که مربوط به آموزش کد تمیز در پایتون هست کمک کند؟
https://github.com/zedr/clean-code-python
@DevTwitter | <sudoer/>
کسی یا کسانی هستند که مایل باشند با من توی ترجمه این ریپازیتوری که مربوط به آموزش کد تمیز در پایتون هست کمک کند؟
https://github.com/zedr/clean-code-python
@DevTwitter | <sudoer/>
👍1
#کدنمک
فکر نمیکردم برنامه نویسهای خارجی اینقدر بی ادب باشن به من میگه go to root
@DevTwitter | <میما/>
فکر نمیکردم برنامه نویسهای خارجی اینقدر بی ادب باشن به من میگه go to root
@DevTwitter | <میما/>
💩24😁8👍4🤮4
#QA ID48
آپدیت یک سرور به PHP 8.1 که هم یک برنامه روشه (که با این نسخه سازگاره) و هم یک وردپرس، کار منطقی ایه؟
وردپرس از این نسخه پشتیبانی میکنه؟؟؟
@DevTwitter
آپدیت یک سرور به PHP 8.1 که هم یک برنامه روشه (که با این نسخه سازگاره) و هم یک وردپرس، کار منطقی ایه؟
وردپرس از این نسخه پشتیبانی میکنه؟؟؟
@DevTwitter
👍3😁1😢1
یه توضیحی بدم برای اونایی که میخوان برنامه نویسی بلاکچین رو یاد بگیرن، شما به پیش نیازای زیر نیاز دارین
1-دانش اولیه درمورد دنیای کریپتو
2-زبان برنامه نویسی سالیدیتی برای بک اند
3-زبان های جاوااسکریپت، html و css برای فرانت
@DevTwitter | <Maziar Kazemi/>
1-دانش اولیه درمورد دنیای کریپتو
2-زبان برنامه نویسی سالیدیتی برای بک اند
3-زبان های جاوااسکریپت، html و css برای فرانت
@DevTwitter | <Maziar Kazemi/>
👎4👍2