اگر برنامهنویسی، این ابزار احتمالاً به کارت میاد
یک CLI نوشتم به اسم codemate که اسم هر فایلی از دایرکتوریتون رو بهش بدین، با GPT-4o چکش میکنه و هر باگی داشته باشه رو بهتون میگه و یک راهحل هم واسش میده.
حالا اینکار رو میتونین با کل فایلهای دایرکتوریتون هم انجام بدین؛ یعنی اگر اسم فایلی بهش ندین، کل فایلهای دایرکتوریتون رو یکجا دیباگ میکنه.
و حتی میتونین بهجای اینکه اسم فایل رو بهش بدین؛ بصورت inline هم کدتون رو وارد کنین تا دیباگش کنه.
یک آپشن دیگه هم داره که با فلگ مشخص و اسم فایل، پیشنهاداتی برای ریفکتور کردن اون فایل میده.
برای API هم من از openrouter استفاده کردم، چون تا یک لیمیتی میشه ازش مجانی استفاده کرد که مقدارش واقعاً مناسبه و کم نیست و اگر تموم بشه هم میشه یک اکانت جدید ساخت؛
کافیه یک api توکن از سایتش برای خودتون بگیرین و ازش برای codemate استفاده کنین.
نصب پکیج:
پیشنهاد میکنم اگر خواستید نصب کنید حتماً داکیومنتیشنش رو بخونید.
https://github.com/MahdiMirshafiee/codemate
@DevTwitter | <Mahdi/>
یک CLI نوشتم به اسم codemate که اسم هر فایلی از دایرکتوریتون رو بهش بدین، با GPT-4o چکش میکنه و هر باگی داشته باشه رو بهتون میگه و یک راهحل هم واسش میده.
حالا اینکار رو میتونین با کل فایلهای دایرکتوریتون هم انجام بدین؛ یعنی اگر اسم فایلی بهش ندین، کل فایلهای دایرکتوریتون رو یکجا دیباگ میکنه.
و حتی میتونین بهجای اینکه اسم فایل رو بهش بدین؛ بصورت inline هم کدتون رو وارد کنین تا دیباگش کنه.
یک آپشن دیگه هم داره که با فلگ مشخص و اسم فایل، پیشنهاداتی برای ریفکتور کردن اون فایل میده.
برای API هم من از openrouter استفاده کردم، چون تا یک لیمیتی میشه ازش مجانی استفاده کرد که مقدارش واقعاً مناسبه و کم نیست و اگر تموم بشه هم میشه یک اکانت جدید ساخت؛
کافیه یک api توکن از سایتش برای خودتون بگیرین و ازش برای codemate استفاده کنین.
نصب پکیج:
pip install codesmateپیشنهاد میکنم اگر خواستید نصب کنید حتماً داکیومنتیشنش رو بخونید.
https://github.com/MahdiMirshafiee/codemate
@DevTwitter | <Mahdi/>
👎37👍20❤6🔥1
زبان برنامهنویسی هُرمُز
زیرمجموعهای از C
سایز مترجم: 828.4KiB
سایز فایل: 1.2KiB
سایز باینری خروجی: 4.2KiB
قابلیت پردازش حرکهها و نیمفاصله
نوشته شده با Rust
بکاند کامپایلر با TCC
همین کد کاملا کامپایل میشه و خروجیش رو گذاشتم. هنوز خیلی کار داره ولی. struct و enum هم ساپورت میکنه
ساپورت دادههای صحیح۸...صحیح۶۴، حسابی۸...حسابی۶۴، حرف، بول، بایت، اندازه، متن، انواع اشارهگرها، رفرنسها، عملیات ریاضی و شیفتینگ، تخصیص حافطه و آزادسازی، ۵-۶ تا کتابخونه (ناقص)، struct, enum, typedef, حلقه for, foreach, while، if, انواع کامنت، function call, array
ساپورت نشده ها: preprocessor, header files, union, استراکتهای پیچیده، کتابخونههای خارجی غیر C، و متاسفانه ادیتور عالی وجود نداره، اما زبان جوری طراحی شده که با کیبورد استاندار فارسی بدون مشکل میشه کد زد و لازم به سویچ به انگلیسی نیست. Lsp هم نداریم لطفن سوال نفرمایید =)))
وقتی مُردم شما ادامهش بدید :)))
@DevTwitter | <Q/>
زیرمجموعهای از C
سایز مترجم: 828.4KiB
سایز فایل: 1.2KiB
سایز باینری خروجی: 4.2KiB
قابلیت پردازش حرکهها و نیمفاصله
نوشته شده با Rust
بکاند کامپایلر با TCC
همین کد کاملا کامپایل میشه و خروجیش رو گذاشتم. هنوز خیلی کار داره ولی. struct و enum هم ساپورت میکنه
ساپورت دادههای صحیح۸...صحیح۶۴، حسابی۸...حسابی۶۴، حرف، بول، بایت، اندازه، متن، انواع اشارهگرها، رفرنسها، عملیات ریاضی و شیفتینگ، تخصیص حافطه و آزادسازی، ۵-۶ تا کتابخونه (ناقص)، struct, enum, typedef, حلقه for, foreach, while، if, انواع کامنت، function call, array
ساپورت نشده ها: preprocessor, header files, union, استراکتهای پیچیده، کتابخونههای خارجی غیر C، و متاسفانه ادیتور عالی وجود نداره، اما زبان جوری طراحی شده که با کیبورد استاندار فارسی بدون مشکل میشه کد زد و لازم به سویچ به انگلیسی نیست. Lsp هم نداریم لطفن سوال نفرمایید =)))
وقتی مُردم شما ادامهش بدید :)))
@DevTwitter | <Q/>
👎178👍151🔥31❤19
This media is not supported in your browser
VIEW IN TELEGRAM
یه سایت بصری خفن برای اینکه کارکرد الگوریتمای مختلف رو ببینید و بهتر درکش کنین:
https://algorithm-visualizer.org
@DevTwitter | <Abolfazl/>
https://algorithm-visualizer.org
@DevTwitter | <Abolfazl/>
🔥35👍3❤2
در تازهترین آپدیت پینت هاب،
میشه برای ریپوهای گیت هاب پوستر و بنر به سبک (Breaking Bad) ساخت.
نسخه وب (بدون نیاز به کلون):
https://painthub.elesoft.ir
آدرس ریپو:
https://github.com/AmirHosseinOstad/Paint_Hub
@DevTwitter | <Sherlock/>
میشه برای ریپوهای گیت هاب پوستر و بنر به سبک (Breaking Bad) ساخت.
نسخه وب (بدون نیاز به کلون):
https://painthub.elesoft.ir
آدرس ریپو:
https://github.com/AmirHosseinOstad/Paint_Hub
@DevTwitter | <Sherlock/>
👎24🔥21❤2
یکی از مسائل رو اعصاب زندگیم که کمتر بهش توجه می کردم، مدیریت پسوردهام بوده؛ از دردسر پسورد منیجرهای تحریم شده تا محدودیت های ابزار هایی مثل GPG و البته چند بارم به خاطر فراموش کردن پسورد Master داستان داشتم. یه مدتم بهخاطر بیحوصلگی رو passwords.txt بودم!
ولی بالاخره به خودم اومدم و یه پسورد منیجر معقول نوشتم که نیاز هایی که دارم رو پوشش بده. البته فکر کنم بیشتر به درد خودم میخوره، ولی لینکش رو میذارم، هرکی خواست میتونه استفاده کنه.
https://github.com/naseridev/cortex
@DevTwitter | <Nima Naseri/>
ولی بالاخره به خودم اومدم و یه پسورد منیجر معقول نوشتم که نیاز هایی که دارم رو پوشش بده. البته فکر کنم بیشتر به درد خودم میخوره، ولی لینکش رو میذارم، هرکی خواست میتونه استفاده کنه.
https://github.com/naseridev/cortex
@DevTwitter | <Nima Naseri/>
❤41👍6👎5🔥1
دیروز فهمیدم که میشه با یه لینک همه ی فونت های google fonts رو دانلود کرد. یه لینکی که توی گیتهاب خود گوگل فونتز هست. 1.3 گیگ فایل حدودا. ولی مشکلی داره اینه که کللللی فولدر تو در تو هست و نمیشه دستی این همه رو نصب کرد. پس یه برنامه با پایتون نوشتم تا اینو اتوماتیکش کنه.
استفاده ازش توی ویندوز خیلی راحته، ولی اگه توی لینوکس یا مک میخوایید استفاده کنید هم راهش رو نوشتم (کسایی که برنامه نویسید و مک/لینوکس دارید یه دستی برسونید بیلدهای اونا رو هم بگیرید)
میتونید توی گیتهاب دانلود کنید و طبق دستور عمل استفاده کنید:
https://github.com/zmn-hamid/install-google-fonts
@DevTwitter | <Kyrovert/>
استفاده ازش توی ویندوز خیلی راحته، ولی اگه توی لینوکس یا مک میخوایید استفاده کنید هم راهش رو نوشتم (کسایی که برنامه نویسید و مک/لینوکس دارید یه دستی برسونید بیلدهای اونا رو هم بگیرید)
میتونید توی گیتهاب دانلود کنید و طبق دستور عمل استفاده کنید:
https://github.com/zmn-hamid/install-google-fonts
@DevTwitter | <Kyrovert/>
🔥41❤3👍3👎1
این ریپو اومده یه لیستی از چیزایی که اون سورس هست و میتونید سلف هاست کنید رو گزاشته
از وی پی ان تا پسورد منیجر و تایم ترکر و کلی چیزای دیگه
اگه ازونایی هستید که حریم خصوصی براتون خیلی مهمه و میخواید کنترل همه چیز دست خودتون باشه میتونه براتون کاربردی باشه
لینک ریپو
https://github.com/awesome-selfhosted/awesome-selfhosted
@DevTwitter | <ixAbolfazl />
از وی پی ان تا پسورد منیجر و تایم ترکر و کلی چیزای دیگه
اگه ازونایی هستید که حریم خصوصی براتون خیلی مهمه و میخواید کنترل همه چیز دست خودتون باشه میتونه براتون کاربردی باشه
لینک ریپو
https://github.com/awesome-selfhosted/awesome-selfhosted
@DevTwitter | <ixAbolfazl />
🔥29❤4👍3
https://github.com/ItsReZNuM/4InARowTelBot
سورس بازی 4InARow
این بازی باید معرف حضور همتون باشه اگه هم نمیدونید چیه یه سرچ کنید
قابلیت بازی دو نفره هم به صورت اینلاین هم داره و هم میشه با ربات توی سه سطح مختلف بازی کرد
@DevTwitter | <Agha Reza/>
سورس بازی 4InARow
این بازی باید معرف حضور همتون باشه اگه هم نمیدونید چیه یه سرچ کنید
قابلیت بازی دو نفره هم به صورت اینلاین هم داره و هم میشه با ربات توی سه سطح مختلف بازی کرد
@DevTwitter | <Agha Reza/>
👎17🔥12❤5👍1
چقدر به این فکر می کنید که یک روزی برسه که مجبور بشید توی مدت زمان خیلی کوتاه از مخازن پابلیک گیتهاب خودتون یا بقیه، بک آپ بگیرید ؟
عددش هرچقدر که هست، در مورد این، میتونید به Magnet اعتماد کنید و خب، طبق معمول این روزها، با Rust نوشتمش.
https://github.com/naseridev/magnet
@DevTwitter | <Nima Naseri/>
عددش هرچقدر که هست، در مورد این، میتونید به Magnet اعتماد کنید و خب، طبق معمول این روزها، با Rust نوشتمش.
https://github.com/naseridev/magnet
@DevTwitter | <Nima Naseri/>
🔥20👎4❤3
اگر احتمالا دنبال زیرنویس هستین و ترجمه به زبونی که میخواین وجود نداره میتونین از Workflow زیر تو n8n استفاده کنین :
https://gist.github.com/MrOplus/1436ec3c8d84e8a692e6e98f7807d4aa
@DevTwitter | </dev/nvram/>
https://gist.github.com/MrOplus/1436ec3c8d84e8a692e6e98f7807d4aa
@DevTwitter | </dev/nvram/>
❤8👍2
خب این بنچمارک خیلی جالبی شد:)
برای اجرای 10هزار بار یک تابع wrangling
با Zero Copy تقریبا 50% حجم خط های کد افزایش داشت و عملکرد رو بدتر کرد
بهترین عملکرد رو Cython داشت و دردسر و over head کمتری نسبت به rust توی PyO3 داشت
انتخابم از این به بعد کد پایتون بهینست بدون اضافات :)
@DevTwitter | <Soroush Moosapour/>
برای اجرای 10هزار بار یک تابع wrangling
با Zero Copy تقریبا 50% حجم خط های کد افزایش داشت و عملکرد رو بدتر کرد
بهترین عملکرد رو Cython داشت و دردسر و over head کمتری نسبت به rust توی PyO3 داشت
انتخابم از این به بعد کد پایتون بهینست بدون اضافات :)
@DevTwitter | <Soroush Moosapour/>
👎25❤16👍3
دلیل اینکه در زبانهایی مثل Go یا Rust یا حتی C دچار سردرگمی میشید، بخاطر این هست که میخواهید ساختارهایی که از زبانهای شیگرا در ذهن دارید رو دقیقا به همون شکل در اینها هم داشته باشید. این زبانها هم تا حدی این توهم رو ایجاد میکنند که اینکار شدنی هست؛ و میتوان گفت که همینطور است، ولی فقط در ظاهر!
بسیاری از چیزهایی که شما در زبانهای شیگرا با آنها اشنا شدید، مختص و منحصر به شیگرایی نیستند. صرفا چون شما احتمالا به دلایل تاریخی برنامهنویسی رو با شیگرایی یاد گرفتید، ممکن هست اینطور تصور کنید که این مفاهیم فقط مختص به شی گرایی هستند. در حالی که بیشتر مفاهیمی که در ذهن دارید در هر پارادایم و هر زبانی قابل پیاده سازی هست.
مثلا اگر امروز به یک برنامهنویس Go یا Rust یک پروژهی بانکی یا یک سیستم فروشگاه رو محول کنید، به احتمال زیاد این پروژه رو مبتنی بر DDD انجام خواهد داد! حتی یک برنامهنویس Clojure هم احتمالا همین رویه را دنبال خواهد کرد! الان احتمالا در ذهن شما این سوال پیش آمده که DDD؟ چطور همچین چیزی ممکن هست؟ مگه این برای شی گرایی نیست؟ خیر، «شما» اون رو با شی گرایی یاد گرفتید، ولی خودش یک ایدهی عمومی است.
شما به شکلی آموزش دیدهاید که یونیتهای کد را در قالب کلاس ها ببینید. و وقتی به زبانهایی میرسید که دارای کلاس نیستند، اولین چیزی که به فکرتان میرسد این است که کلاس را در آنها شبیه سازی کنید. درست است؟
این دیدگاه، شما را دچار مشکل میکند، و دلیل اصلی اش این است که شما حتی در زبانهای شیگرا هم به درستی درک نکرده بودید که کلاس چیست! و همان دیدگاه اشتباه خود درباره کلاس رو به سایر زبانها هم انتقال میدهید!
وقتی حرف از کلاس میشود، بیشتر افراد میکنند کلاس یک بلاک از کد است که تعدادی فیلد و متد را بین دو {} گرد هم آورده است.
اما کسی سوال نمیکند خب چرا اینکار را کردند؟ فقط چون میخواستند یک سری فیلد داشته باشند و یک سری تابع بتوانند روی انها کار کنند؟
خب این رو که از قدیم در همه زبانها داشتیم. مگر اصلا جور دیگری میشود برنامه نویسی کرد؟ در تمام زبانها یک سری دیتا داریم و یک سری تابع که روی آن دیتا کار میکنند. قدیمی ترین کد C ای که میتوانید پیدا کنید را باز کنید، احتمالا در آن یک استراکت پیدا میکنید به همراه تعدادی تابع که روی آن استراکت کار میکنند. این رویه قبل از شی گرایی هم وجود داشته... فقط چون این دو را کنار هم درون {} قرار میدهید اسمش میشود کلاس؟ یعنی فقط چون میخواستند کنار هم باشن؟ که تنها نباشن؟ غصه نخورن؟ فکر نمیکنید شاید دلایل مهمتری برای این موضوع وجود داشته؟
ویژگیهایی وجود دارد که باعث میشود کلاس، کلاس بشود:
۱. کلاس دارای مکانیزم وراثت است.
۲. کلاس پلی مورفیسم مبتنی بر وراثت را فراهم میکند (متدهای virtual)
۳. از روی کلاس، میتوان آبجکتی در حافظه تولید کرد.
۴. کلاس آبجکتها را دسته بندی میکند (برای همین اسمش class است). یعنی باید بتوان جواب این سوال را جویا شد: ایا فلان آبجکت جزو فلان کلاس است؟
۵. آبجکتهای ساخته شده از روی کلاس، دارای لایف تایم متفاوتی از سایر بلاک ها هستند. ابجکتها حالت رفرنس دارند. به این معنی که تقریبا در تمام زبانها، در هیپ قرار میگیرند.
اینکه دیتا و توابع را کنار هم و در یک بلاک به اسم کلاس جمع کردناند، به خاطر این است که یک کانتکست یکپارچه پدید آورند که در قالب آن بتوانند همهی ویژگیهای بالا را برآورده کنند.
اینکه شما یک استراکت بسازید، و چند تابع تعریف کنید که روی آن استراکت کار کنند، کدام یک از ویژگیهای بالا را شامل میشود؟ این دو بخش لزومی هم ندارد که جدا از هم باشند. مثلا در zig میتوانید توابع را عین یک کلاس درون همان بلاک مربوط به استراکت قرار دهید. ولی باز هم در صورت انجام اینکار، تبدیل به کلاس نمیشود چون هیچکدام از ویژگیهای بالا را ندارد.
یا مثلا در C یا سایر زبانها، فیلدها و متدها را در ماژولها گرد هم میاورند. ایا با اینکار آن ماژول تبدیل به کلاس شده است؟
اتفاقی که این وسط افتاده این است:
۱. شما در حین یادگیری شی گرایی بدرستی درک نکردید که کلاس چیست!
۲. بر مبنای آن درک اشتباه، فکر کردید شی گرایی یعنی کنار هم قرار دادن فیلدها و متدها در یک بلاک.
۳. اصرار به این دارید که این درک اشتباه را در زبانهایی که اصلا دارای کلاس نیستند پیاده سازی کنید.
این همان جایی است که در زبانهایی مانند Go و Rust و Zig و C سایرین به مشکل بر میخورید. برای همین هست که میگویند اینها را با زبانهای شی گرا اشتباه نگیرید. چون اینها از نظر ظاهری، شاید شرایطی را فراهم کنند که به چشم شما مشابه چیزی باشد که در شی گرایی به یاد داشتید، ولی از نظر Semantics با زبانهای شی گرا متفاوت اند.
@DevTwitter | <Amirreza Gh/>
بسیاری از چیزهایی که شما در زبانهای شیگرا با آنها اشنا شدید، مختص و منحصر به شیگرایی نیستند. صرفا چون شما احتمالا به دلایل تاریخی برنامهنویسی رو با شیگرایی یاد گرفتید، ممکن هست اینطور تصور کنید که این مفاهیم فقط مختص به شی گرایی هستند. در حالی که بیشتر مفاهیمی که در ذهن دارید در هر پارادایم و هر زبانی قابل پیاده سازی هست.
مثلا اگر امروز به یک برنامهنویس Go یا Rust یک پروژهی بانکی یا یک سیستم فروشگاه رو محول کنید، به احتمال زیاد این پروژه رو مبتنی بر DDD انجام خواهد داد! حتی یک برنامهنویس Clojure هم احتمالا همین رویه را دنبال خواهد کرد! الان احتمالا در ذهن شما این سوال پیش آمده که DDD؟ چطور همچین چیزی ممکن هست؟ مگه این برای شی گرایی نیست؟ خیر، «شما» اون رو با شی گرایی یاد گرفتید، ولی خودش یک ایدهی عمومی است.
شما به شکلی آموزش دیدهاید که یونیتهای کد را در قالب کلاس ها ببینید. و وقتی به زبانهایی میرسید که دارای کلاس نیستند، اولین چیزی که به فکرتان میرسد این است که کلاس را در آنها شبیه سازی کنید. درست است؟
این دیدگاه، شما را دچار مشکل میکند، و دلیل اصلی اش این است که شما حتی در زبانهای شیگرا هم به درستی درک نکرده بودید که کلاس چیست! و همان دیدگاه اشتباه خود درباره کلاس رو به سایر زبانها هم انتقال میدهید!
وقتی حرف از کلاس میشود، بیشتر افراد میکنند کلاس یک بلاک از کد است که تعدادی فیلد و متد را بین دو {} گرد هم آورده است.
اما کسی سوال نمیکند خب چرا اینکار را کردند؟ فقط چون میخواستند یک سری فیلد داشته باشند و یک سری تابع بتوانند روی انها کار کنند؟
خب این رو که از قدیم در همه زبانها داشتیم. مگر اصلا جور دیگری میشود برنامه نویسی کرد؟ در تمام زبانها یک سری دیتا داریم و یک سری تابع که روی آن دیتا کار میکنند. قدیمی ترین کد C ای که میتوانید پیدا کنید را باز کنید، احتمالا در آن یک استراکت پیدا میکنید به همراه تعدادی تابع که روی آن استراکت کار میکنند. این رویه قبل از شی گرایی هم وجود داشته... فقط چون این دو را کنار هم درون {} قرار میدهید اسمش میشود کلاس؟ یعنی فقط چون میخواستند کنار هم باشن؟ که تنها نباشن؟ غصه نخورن؟ فکر نمیکنید شاید دلایل مهمتری برای این موضوع وجود داشته؟
ویژگیهایی وجود دارد که باعث میشود کلاس، کلاس بشود:
۱. کلاس دارای مکانیزم وراثت است.
۲. کلاس پلی مورفیسم مبتنی بر وراثت را فراهم میکند (متدهای virtual)
۳. از روی کلاس، میتوان آبجکتی در حافظه تولید کرد.
۴. کلاس آبجکتها را دسته بندی میکند (برای همین اسمش class است). یعنی باید بتوان جواب این سوال را جویا شد: ایا فلان آبجکت جزو فلان کلاس است؟
۵. آبجکتهای ساخته شده از روی کلاس، دارای لایف تایم متفاوتی از سایر بلاک ها هستند. ابجکتها حالت رفرنس دارند. به این معنی که تقریبا در تمام زبانها، در هیپ قرار میگیرند.
اینکه دیتا و توابع را کنار هم و در یک بلاک به اسم کلاس جمع کردناند، به خاطر این است که یک کانتکست یکپارچه پدید آورند که در قالب آن بتوانند همهی ویژگیهای بالا را برآورده کنند.
اینکه شما یک استراکت بسازید، و چند تابع تعریف کنید که روی آن استراکت کار کنند، کدام یک از ویژگیهای بالا را شامل میشود؟ این دو بخش لزومی هم ندارد که جدا از هم باشند. مثلا در zig میتوانید توابع را عین یک کلاس درون همان بلاک مربوط به استراکت قرار دهید. ولی باز هم در صورت انجام اینکار، تبدیل به کلاس نمیشود چون هیچکدام از ویژگیهای بالا را ندارد.
یا مثلا در C یا سایر زبانها، فیلدها و متدها را در ماژولها گرد هم میاورند. ایا با اینکار آن ماژول تبدیل به کلاس شده است؟
اتفاقی که این وسط افتاده این است:
۱. شما در حین یادگیری شی گرایی بدرستی درک نکردید که کلاس چیست!
۲. بر مبنای آن درک اشتباه، فکر کردید شی گرایی یعنی کنار هم قرار دادن فیلدها و متدها در یک بلاک.
۳. اصرار به این دارید که این درک اشتباه را در زبانهایی که اصلا دارای کلاس نیستند پیاده سازی کنید.
این همان جایی است که در زبانهایی مانند Go و Rust و Zig و C سایرین به مشکل بر میخورید. برای همین هست که میگویند اینها را با زبانهای شی گرا اشتباه نگیرید. چون اینها از نظر ظاهری، شاید شرایطی را فراهم کنند که به چشم شما مشابه چیزی باشد که در شی گرایی به یاد داشتید، ولی از نظر Semantics با زبانهای شی گرا متفاوت اند.
@DevTwitter | <Amirreza Gh/>
👍61❤14👎11🔥3
بزرگترین حملهی supply-chain تاریخ دیروز اتفاق افتاد.
با یه ایمیل فیشینگ ساده به حسابهای اصلی دسترسی گرفتند و نسخههای آلوده منتشر شد.
تو متن نوشته اگه احراز هویتت رو آپدیت نکنی حسابت لاک میشه و تمام، تارگت کلیک کرد.
باید به همه چیز شک داشت مگه اینکه خلافش ثابت بشه.
@DevTwitter | <Sabber/>
با یه ایمیل فیشینگ ساده به حسابهای اصلی دسترسی گرفتند و نسخههای آلوده منتشر شد.
تو متن نوشته اگه احراز هویتت رو آپدیت نکنی حسابت لاک میشه و تمام، تارگت کلیک کرد.
باید به همه چیز شک داشت مگه اینکه خلافش ثابت بشه.
@DevTwitter | <Sabber/>
👍24🔥6❤1
سه Collection Method کم تر شناخته شده در لاراول
1- متد pipe
بهمون اجازه میده که یه منطق سفارشی رو وسط زنجیره قرار بدیم بدون اینکه نیاز باشه Collection رو قطع کنیم و متغیر جدید بسازیم ، در نتیجه کد تمیزتر و خواناتر میشه (تصویر اول)
بدون pipe باید مرحله به مرحله متغیر بسازیم.
2- متد mapInto
هر عنصر Collection را به یک شیء از یک کلاس تبدیل میکنه.
برای مثال فرض کنید که کلاسی به نام UserData داریم که شامل پروپرتی های name
و registeredAt هستش(تصویر دوم)
در تصویر سوم با استفاده از این متد ، کالکشن رو تبدیل به آرایه ای از آبجکت ها میکنیم.
3- متد reduce
این متد یک جمعبندی یا تجمیع روی Collection انجام میده مثل حلقهای که مقدار اولیه میگیره و روی هر عنصر اعمال میشه (تصویر چهارم)
@DevTwitter | <Babak Mirhosseini/>
1- متد pipe
بهمون اجازه میده که یه منطق سفارشی رو وسط زنجیره قرار بدیم بدون اینکه نیاز باشه Collection رو قطع کنیم و متغیر جدید بسازیم ، در نتیجه کد تمیزتر و خواناتر میشه (تصویر اول)
بدون pipe باید مرحله به مرحله متغیر بسازیم.
2- متد mapInto
هر عنصر Collection را به یک شیء از یک کلاس تبدیل میکنه.
برای مثال فرض کنید که کلاسی به نام UserData داریم که شامل پروپرتی های name
و registeredAt هستش(تصویر دوم)
در تصویر سوم با استفاده از این متد ، کالکشن رو تبدیل به آرایه ای از آبجکت ها میکنیم.
3- متد reduce
این متد یک جمعبندی یا تجمیع روی Collection انجام میده مثل حلقهای که مقدار اولیه میگیره و روی هر عنصر اعمال میشه (تصویر چهارم)
@DevTwitter | <Babak Mirhosseini/>
❤16👍2🔥2
تصور کنید در حال انتخاب کتابخانهای برای پروژهتون هستید: React یا Vue؟ Tailwind یا Bootstrap؟ Lodash یا Ramda؟
همیشه این سوال پیش میاد که کدوم یکی ترندتره، بیشتر دانلود میشه، یا جامعه بزرگتری داره؟
امروز میخوام یک ابزار فوقالعاده رو بهتون معرفی کنم:
npmtrends.com
این سایت مثل یک رادار برای اکوسیستم npm عمل میکنه و بهتون کمک میکنه پکیجها و کتابخانههای مختلف رو با هم مقایسه کنید.
فقط کافیه اسامی ابزارهایی که میخواهید را وارد کنید و نرخ دانلود هر پکیج را نسبت به پکیج دیگه مقایسه کنید
همچنین میتونید مشخصات کلیدی دیگر ابزارها مانند ستاره گیتهاب ، آخرین زمان آپدیت و ... مشاهده کنید
مثلا توی این تصویر مقایسه ۲ پکیج تیلویند و بوتسترپ در یک سال اخیر به ما نشون میده
این ابزار نه تنها کمک میکنه بهترین انتخاب رو بکنید، بلکه از روندهای آینده هم آگاهتون میکنه. مثلاً اگر ببینید یک پکیج دانلودهاش داره افت میکنه، میتونید زودتر به پکیجهای مناسب تر سوییچ کنید و پروژهتون رو ایمن نگه دارید.
@DevTwitter | <Seyed Mehrzad Sajjadi/>
همیشه این سوال پیش میاد که کدوم یکی ترندتره، بیشتر دانلود میشه، یا جامعه بزرگتری داره؟
امروز میخوام یک ابزار فوقالعاده رو بهتون معرفی کنم:
npmtrends.com
این سایت مثل یک رادار برای اکوسیستم npm عمل میکنه و بهتون کمک میکنه پکیجها و کتابخانههای مختلف رو با هم مقایسه کنید.
فقط کافیه اسامی ابزارهایی که میخواهید را وارد کنید و نرخ دانلود هر پکیج را نسبت به پکیج دیگه مقایسه کنید
همچنین میتونید مشخصات کلیدی دیگر ابزارها مانند ستاره گیتهاب ، آخرین زمان آپدیت و ... مشاهده کنید
مثلا توی این تصویر مقایسه ۲ پکیج تیلویند و بوتسترپ در یک سال اخیر به ما نشون میده
این ابزار نه تنها کمک میکنه بهترین انتخاب رو بکنید، بلکه از روندهای آینده هم آگاهتون میکنه. مثلاً اگر ببینید یک پکیج دانلودهاش داره افت میکنه، میتونید زودتر به پکیجهای مناسب تر سوییچ کنید و پروژهتون رو ایمن نگه دارید.
@DevTwitter | <Seyed Mehrzad Sajjadi/>
👍21👎15❤6🔥1
از اونجایی که آموزشهای فارسی در زمینه Markdown و ابزاری مثل Pandoc کم هستند و کار با اونها برای تازهکارها تا حدی گیجکننده، یک راهنمای جامع و کاربردی به زبان فارسی با mdBook آماده کردم که میشه روی GitHub Pages از اینجا مطالعه کرد:
https://ackreq.github.io/mdlearn
کد منبع پروژه هم در GitHub در دسترسه:
https://github.com/ackreq/mdlearn
متنباز هست و از بازخوردها و مشارکتهای توسعهدهندگان استقبال میشود تا بلکه محتوای آموزشی فارسی در این زمینه کاملتر و گسترده بشن.
@DevTwitter | <Mohammad/>
https://ackreq.github.io/mdlearn
کد منبع پروژه هم در GitHub در دسترسه:
https://github.com/ackreq/mdlearn
متنباز هست و از بازخوردها و مشارکتهای توسعهدهندگان استقبال میشود تا بلکه محتوای آموزشی فارسی در این زمینه کاملتر و گسترده بشن.
@DevTwitter | <Mohammad/>
❤32👍9🔥4👎1
چند وقت پیش خیلی دنبال یه پکیج خوب بودم برای soap server البته از یسری پکیج ها استفاده کردم منتها هیچکدومشون آرایه رو پشتیبانی نمیکردن
یه بدی دیگه هم که داشتن نمیشد تو هر فریم ورکی ازش استفاده کرد و از گوریلا برای routeing استفاده کرده بودن.
منم مجبور شدم به شیوه خودم یکی بنویسم که توی هر فریم ورکی بشه ازش استفاده کرد.
البته. سعی کنین سمت soap نرین هیچوقت اما اگه شما هم مثل من تو یه سازمان کار میکردین که تعویض سرویس های دیگه براتون هزینه بردار بود و مجبور به راه اندازی soap server بودین میتونین از این پکیج استفاده کنین
https://github.com/aminzohrabifar/simplesoapserver
بیزحمت اگه خوشتوناومدستاره بارونش کنین خوشحال میشم
@DevTwitter | <فامیل دور/>
یه بدی دیگه هم که داشتن نمیشد تو هر فریم ورکی ازش استفاده کرد و از گوریلا برای routeing استفاده کرده بودن.
منم مجبور شدم به شیوه خودم یکی بنویسم که توی هر فریم ورکی بشه ازش استفاده کرد.
البته. سعی کنین سمت soap نرین هیچوقت اما اگه شما هم مثل من تو یه سازمان کار میکردین که تعویض سرویس های دیگه براتون هزینه بردار بود و مجبور به راه اندازی soap server بودین میتونین از این پکیج استفاده کنین
https://github.com/aminzohrabifar/simplesoapserver
بیزحمت اگه خوشتوناومدستاره بارونش کنین خوشحال میشم
@DevTwitter | <فامیل دور/>
❤18👍5👎2🔥1
https://github.com/TheAlgorithms/C-Sharp
تمامی الگوریتمها پیادهسازیشده با زبان C# — برای اهداف آموزشی و یادگیری
این مخزن شامل مجموعهای از الگوریتمهای متنوع است که با زبان سیشارپ پیادهسازی شدهاند. هدف اصلی آن، کمک به دانشجویان، برنامهنویسان و علاقهمندان برای درک بهتر مفاهیم پایه و پیشرفتهی الگوریتمها در قالب کدی خوانا و آموزشی است.
@DevTwitter | <Hamed Heydarian/>
تمامی الگوریتمها پیادهسازیشده با زبان C# — برای اهداف آموزشی و یادگیری
این مخزن شامل مجموعهای از الگوریتمهای متنوع است که با زبان سیشارپ پیادهسازی شدهاند. هدف اصلی آن، کمک به دانشجویان، برنامهنویسان و علاقهمندان برای درک بهتر مفاهیم پایه و پیشرفتهی الگوریتمها در قالب کدی خوانا و آموزشی است.
@DevTwitter | <Hamed Heydarian/>
👍16❤4👎4🔥2