خلاصه که چقدر redis خفنه. یه جوری توضیحش میدن از دور انگار یه مپ key-value ئه، اما خب نه. کلی datastructure داره، کلی کاربرد مختلف میتونه داشته باشه. به شکل دیتابیس ضعیف نگاهش نکنید به نظرم.
https://djaytechdiary.com/thinking-in-redis-a-quick-introduction
https://djaytechdiary.com/thinking-in-redis-a-quick-introduction
DJay's Tech Diary
Thinking in Redis: A Quick Introduction
Redis is one of the most known and widely used NoSQL in-memory data structure used by many developers and companies across the world.
In this article, we will learn all about Redis, it's fundamentals and core concepts, and
many more...
What is Redis...
In this article, we will learn all about Redis, it's fundamentals and core concepts, and
many more...
What is Redis...
👍1
این faster than li رو واقعا دوست دارم.
خیلی علاقه داره به اینکه چیزها چطوری کار میکنن.
این ویدیوش هم خیلی خوب بود:
چرا برنامه های ما از الکترون استفاده میکنن و چرا ارزشش رو داره.
https://youtu.be/hnaGZHe8wws
خیلی علاقه داره به اینکه چیزها چطوری کار میکنن.
این ویدیوش هم خیلی خوب بود:
چرا برنامه های ما از الکترون استفاده میکنن و چرا ارزشش رو داره.
https://youtu.be/hnaGZHe8wws
YouTube
A Fistful of Megabytes (In defense of Electron)
Follow me on Mastodon: https://hachyderm.io/@fasterthanlime
Support me on Patreon or GitHub: https://fasterthanli.me/donate
Is everyone lazy and cheap? Have we moved past Betteridge's law of headlines?
Contents:
00:00 Intro
01:43 Text rendering
03:57 Text…
Support me on Patreon or GitHub: https://fasterthanli.me/donate
Is everyone lazy and cheap? Have we moved past Betteridge's law of headlines?
Contents:
00:00 Intro
01:43 Text rendering
03:57 Text…
linux users be like:
خب توزیعم خیلی خوب کار میکنه، برنامه های مورد نیازمم نصبه، عمر باتری هم خوبه، ظاهرشم خوبه.
بذار عوضش کنم.
خب توزیعم خیلی خوب کار میکنه، برنامه های مورد نیازمم نصبه، عمر باتری هم خوبه، ظاهرشم خوبه.
بذار عوضش کنم.
😁15👍1
نوشتههای ترمینالی
linux users be like: خب توزیعم خیلی خوب کار میکنه، برنامه های مورد نیازمم نصبه، عمر باتری هم خوبه، ظاهرشم خوبه. بذار عوضش کنم.
خب بالاخره garuda نصب و پایدار شد. توزیع بدی نیست. فقط خیلی روی fish تمرکز داره. =) بابا fish هم شد shell اخه؟
ترفندهای ریز و کاربردی bash
https://zwischenzugs.com/2022/01/04/practical-shell-patterns-i-actually-use/
https://zwischenzugs.com/2022/01/04/practical-shell-patterns-i-actually-use/
zwischenzugs
Practical Shell Patterns I Actually Use
Over the decades I’ve been using the shell, there are thousands of reusable patterns I’ve picked up from looking over others’ shoulders and googling. Unfortunately, I’ve for…
آیا early return ها خوب هستن یا نه؟
https://cseducators.stackexchange.com/questions/4427/is-it-bad-to-force-my-students-not-to-return-early/4428
https://cseducators.stackexchange.com/questions/4427/is-it-bad-to-force-my-students-not-to-return-early/4428
Computer Science Educators Stack Exchange
Is it bad to force my students not to return early?
A fellow teacher of mine is teaching "basic algorithms" course in high school, and we have quite conflicting opinions when it comes to returning from functions.
She restricts return only to the en...
She restricts return only to the en...
Forwarded from یادداشتهای شخصی علی میرجمالی
میتینگ دولوپرهای نرمافزار آزاد و متن باز اروپا یا FOSDEM، رویدادی است که هر ساله در بروکسل برگزار میشود. بدون شک FOSDEM یکی از بزرگترین و شاخصترین گردهمآییها برای افراد علاقمند است که توسط افراد داوطلب برگزار میشود. در چند سال گذشته بیش از ۵۰۰۰ نفر در آن شرکت میکردند. امسال نیز همانند پارسال، به خاطر همهگیری کرونا، این رویداد به شکل مجازی برگزار خواهد شد.
دبیان، openSUSE، بنیاد Eclipse، فدورا، Free Software Foundation Europe (بنیادی مستقل از FSF آمریکا)، eeBSD، GNOME، گوگل، KDE, LibreOffice, MariaDB, ماتریس، NextCloud، PostgreSQL، اوبونتو، بنیاد آپاچی و چندین پروژه و شرکت دیگر در آن استند و جایگاه مجازی دارند. امکان چت و گپ زدن آنلاین وجود دارد.
رویداد FOSDEM 2022 امروز و فردا در جریان خواهد بود. ۶۵۵ نفر در آن ۷۳۳ ارائه خواهند داد. که در ۱۰۳ خط زمانی موازی انجام خواهد شد و به شکل آنلاین در دسترس خواهد بود. زبان بیشتر ارائهها انگلیسی است. از پایتون، Golang، جاوااسکریپت، Virtualization و کانتینرها گرفته تا FPGA و Free Software Radio و موارد بسیار زیاد دیگر. خوشبختانه همه این ارائهها به شکل ویدیویی در دسترس همگان قرار دارد و فرصت عالی برای افرادی است که علاقمند به یادگیری هستند. FOSDEM از پشتیبانی مالی شرکتهای گوگل، سیسکو، هوآوی، ردهت و چندین اسپانسر دیگر برای برگزاری این رویداد بزرگ برخوردار است.
دبیان، openSUSE، بنیاد Eclipse، فدورا، Free Software Foundation Europe (بنیادی مستقل از FSF آمریکا)، eeBSD، GNOME، گوگل، KDE, LibreOffice, MariaDB, ماتریس، NextCloud، PostgreSQL، اوبونتو، بنیاد آپاچی و چندین پروژه و شرکت دیگر در آن استند و جایگاه مجازی دارند. امکان چت و گپ زدن آنلاین وجود دارد.
رویداد FOSDEM 2022 امروز و فردا در جریان خواهد بود. ۶۵۵ نفر در آن ۷۳۳ ارائه خواهند داد. که در ۱۰۳ خط زمانی موازی انجام خواهد شد و به شکل آنلاین در دسترس خواهد بود. زبان بیشتر ارائهها انگلیسی است. از پایتون، Golang، جاوااسکریپت، Virtualization و کانتینرها گرفته تا FPGA و Free Software Radio و موارد بسیار زیاد دیگر. خوشبختانه همه این ارائهها به شکل ویدیویی در دسترس همگان قرار دارد و فرصت عالی برای افرادی است که علاقمند به یادگیری هستند. FOSDEM از پشتیبانی مالی شرکتهای گوگل، سیسکو، هوآوی، ردهت و چندین اسپانسر دیگر برای برگزاری این رویداد بزرگ برخوردار است.
اختلاف بین time of check و time of use میتونه باعث باگ های عجیبی بشه.
فرض کنید یه فایل رو میخواید باز کنید، بعد میگین اوکی من اول چکش میکنم، بعد اگه وجود داشت بازش میکنم. حالا تست هم میکنید برنامه رو و همه چی خوبه.
اما یه حالت ممکنه پیش بیاد که دقیقا بین اینکه شما چک کردید فایل وجود داره و بازش کنید، یه برنامه/ترد دیگه دستور بده که این فایل پاک بشه.
خب در این صورت چی میشه؟ شما چک کردن اولیه تون موفق بوده، اما باز کردن فایل ناموفقه،
حالا اینجا صرفا یه اکسپشنه که احتمالا هندلش نکردید چون فکر میکردید unreachable باشه اما ممکنه اتفاق های عجیب تری هم بیفته.
حالا دو تا چیز رو بررسی کنیم، اول اینکه چرا چنین چیزی پیش اومد؟ برای اینکه ما فرض میکنیم برنامه ما تنها برنامه موجود تو سیستمه، که خب اکثر موارد فرض صحیحی نیست، اما کجا خودش رو نشون میده؟ وقتی به منابع مشترک با برنامه های دیگه (IO و فایل ها و ...) نیاز پیدا کنیم. اینها چیزهایی هستید که در اختیار موجودات دیگر سیستم هم هستند.
حالا چطوری حل کنیم مشکل رو؟ دقت کنیم که تو یه محیط concurrent داریم کار میکنیم. حتی وقتی برنامه ما ترد نداره، چون برنامه های دیگری در حال اجرا هستند. و به عنوان راه حل، چون عملا استفاده از یه قفل سخت میشه، بیایم از عملیات هایی استفاده کنیم که اتمیک باشن. یکم حرفم نادقیق شد اما خلاصه که چرا اول چک کنیم بعد باز کنیم؟ یه بار اقدام میکنیم که باز بشه، اگه شد که عالیه اگه نه هم میفهمیم چرا باز نشده دیگه. در این صورت همش تو یه مرحله بوده (و اگه سیستم عامل خوبی باشه) همه چی مطابق انتظار پیش رفته و ریس کاندیشن توسط سیستم عامل هندل شده.
در نهایت هم یه قاعده هست که میگه عذرخواهی کردن راحت تر از اجازه گرفتنه. خلاصه که اشکال نداره اول چک نکنیم و یهو کارمون رو انجام بدیم.
نهایتش به اکسپشن پرت میشه که حلش میکنیم (عذرخواهی)
چک کردن قبل کار: اجازه گرفتن
"It is easier to ask for forgiveness than permission"
https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
فرض کنید یه فایل رو میخواید باز کنید، بعد میگین اوکی من اول چکش میکنم، بعد اگه وجود داشت بازش میکنم. حالا تست هم میکنید برنامه رو و همه چی خوبه.
اما یه حالت ممکنه پیش بیاد که دقیقا بین اینکه شما چک کردید فایل وجود داره و بازش کنید، یه برنامه/ترد دیگه دستور بده که این فایل پاک بشه.
خب در این صورت چی میشه؟ شما چک کردن اولیه تون موفق بوده، اما باز کردن فایل ناموفقه،
حالا اینجا صرفا یه اکسپشنه که احتمالا هندلش نکردید چون فکر میکردید unreachable باشه اما ممکنه اتفاق های عجیب تری هم بیفته.
حالا دو تا چیز رو بررسی کنیم، اول اینکه چرا چنین چیزی پیش اومد؟ برای اینکه ما فرض میکنیم برنامه ما تنها برنامه موجود تو سیستمه، که خب اکثر موارد فرض صحیحی نیست، اما کجا خودش رو نشون میده؟ وقتی به منابع مشترک با برنامه های دیگه (IO و فایل ها و ...) نیاز پیدا کنیم. اینها چیزهایی هستید که در اختیار موجودات دیگر سیستم هم هستند.
حالا چطوری حل کنیم مشکل رو؟ دقت کنیم که تو یه محیط concurrent داریم کار میکنیم. حتی وقتی برنامه ما ترد نداره، چون برنامه های دیگری در حال اجرا هستند. و به عنوان راه حل، چون عملا استفاده از یه قفل سخت میشه، بیایم از عملیات هایی استفاده کنیم که اتمیک باشن. یکم حرفم نادقیق شد اما خلاصه که چرا اول چک کنیم بعد باز کنیم؟ یه بار اقدام میکنیم که باز بشه، اگه شد که عالیه اگه نه هم میفهمیم چرا باز نشده دیگه. در این صورت همش تو یه مرحله بوده (و اگه سیستم عامل خوبی باشه) همه چی مطابق انتظار پیش رفته و ریس کاندیشن توسط سیستم عامل هندل شده.
در نهایت هم یه قاعده هست که میگه عذرخواهی کردن راحت تر از اجازه گرفتنه. خلاصه که اشکال نداره اول چک نکنیم و یهو کارمون رو انجام بدیم.
نهایتش به اکسپشن پرت میشه که حلش میکنیم (عذرخواهی)
چک کردن قبل کار: اجازه گرفتن
"It is easier to ask for forgiveness than permission"
https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
👍8
باید قسمت های مرتبط کد به هم رو کنار هم نگه داریم.
https://koenvangilst.nl/blog/code-colocation-is-king
https://koenvangilst.nl/blog/code-colocation-is-king
koenvangilst.nl
Code Colocation is King
A simple principle to help structure code better
چرا همه زبانهای به جز پایتون بد هستند؟
در واقع این مطلب داره میگه که چرا پرفورمنس اونقدر مهم نیست و بهتره به سرعت بالای توسعه بچسبیم. اگرم نهایتا خواستیم پرفورمنس کد فعلی پایتون رو زیاد کنیم راهکارهایی داده.
https://snarky.ca/programming-language-selection-is-a-form-of-premature-optimization/
در واقع این مطلب داره میگه که چرا پرفورمنس اونقدر مهم نیست و بهتره به سرعت بالای توسعه بچسبیم. اگرم نهایتا خواستیم پرفورمنس کد فعلی پایتون رو زیاد کنیم راهکارهایی داده.
https://snarky.ca/programming-language-selection-is-a-form-of-premature-optimization/
Tall, Snarky Canadian
Selecting a programming language can be a form of premature optimization
Have you ever been told that Python couldn't be used for a project because it
wouldn't be fast enough? I have, and I find it a bit frustrating as big banks,
YouTube, Instagram, and plenty of other places that are performance-sensitive
still manage to select…
wouldn't be fast enough? I have, and I find it a bit frustrating as big banks,
YouTube, Instagram, and plenty of other places that are performance-sensitive
still manage to select…
چرا نباید از ویم استفاده کرد.
https://gist.github.com/romainl/6b952db7a6138b48657ba0fbb9d65370
Your next recruiter, your next colleagues, your next crush won't care about Vim. Vim is not cool and you are not cool for using Vim.
https://gist.github.com/romainl/6b952db7a6138b48657ba0fbb9d65370
Your next recruiter, your next colleagues, your next crush won't care about Vim. Vim is not cool and you are not cool for using Vim.
Gist
Don't use Vim for the wrong reasons
Don't use Vim for the wrong reasons. GitHub Gist: instantly share code, notes, and snippets.
Forwarded from @yegor256 news (yegor256)
Media is too big
VIEW IN TELEGRAM
M187: Two months ago I bought a new MacBook Pro. After a month of waiting, I received it. My frustration was huge. I returned it to Apple and got the money back. Here is why. Watch it!
https://youtu.be/5paRz4xRWQ4
توضیح برخی اصطلاحات ناآشنای لینوکس برای تازه کارها
توضیح برخی اصطلاحات ناآشنای لینوکس برای تازه کارها
YouTube
New To Linux? Learn The Jargon!
Are you new to Linux or thinking about switching to Linux from Windows or Mac? If so, you may find some of the Linux terminology kind of confusing. So today, I'm going to demystify a few of the common terms within Linux jargon:
0:00 Intro
0:25 GNU & Linux…
0:00 Intro
0:25 GNU & Linux…
سیستم عامل sanos یه سیستم عامل مینیماله که با C نوشته شده و برنامه های کاربردی ساده ای هم داره که همه با سی نوشته شدن.
https://www.jbox.dk/sanos/index.htm
قسمت های مختلفی داره مثلا یه ادیتور تحت ترمینال داره که به راحتی کامپایل و اجرا میشه.
(لینک زیر)
https://www.jbox.dk/sanos/editor.htm
https://www.jbox.dk/sanos/index.htm
قسمت های مختلفی داره مثلا یه ادیتور تحت ترمینال داره که به راحتی کامپایل و اجرا میشه.
(لینک زیر)
https://www.jbox.dk/sanos/editor.htm
www.jbox.dk
Sanos