نوشته‌های ترمینالی
2.67K subscribers
425 photos
12 videos
32 files
2.26K links
Download Telegram
چرا از scanf استفاده نکنیم و راهکار چیه؟

چرا استفاده نکنیم؟ چون اصولا کاربرد عمومی برای ورودی گرفتن از کاربر نداره و برای formatted input هست ولی ورودی کاربر آخرین چیزی که هست، فرمت شده‌است :)
و اینکه در برابر بافر اورفلو هم ایمن نیست.
راه حل؟ تقریبا مثل input پایتون، یه رشته با fgets بگیرید و اون رو دستی پارس کنید.

https://c-faq.com/stdio/scanfprobs.html
ابزار خوندن و ادیت epub
رابط کاربری واضحی هم داره و من که اولین بار کار میکردم تونستم فایل رو باز کنم و ببینم و زوم کنم و برم صفحه‌ی‌ بعد.
https://calibre-ebook.com/
یه سایته که توش به زبون های محتلف تمرین کدنویسی میکنید.
خودش تست میده و صورت سوال رو شفاف بیان میکنه
بعدم یه سری تست دیگه داره که از صحت برنامه مطمین بشین
اخرشم که حل کردین سولوشن های best practice و clever رو می‌گه.
می‌تونید ببینید حلتون به کدوم شبیه بوده. (یا به هیچ کدوم؟)
در نهایت بهترین گزینه‌ش اینه که ادیتوری که دارید همونجا کد بزنید vim و emacsئه :))
https://www.codewars.com
کلاس IntSummaryStatistics در جاوا
به طور خلاصه از یه مجموعه داده‌ی int، چهار پنج تا ویژگی رو نگه می‌داره و می‌تونید از اونا استفاده کنید.
عمدتا intStream رو به این تبدیل می‌کنند توی مواقعی که چند تا ترمینال ازش رو احتیاج داشته باشن.
مثلا هم count هم sum هم average
https://www.geeksforgeeks.org/java-util-intsummarystatistics-class-with-examples/


اینم سورس کدش، ساده و مفیده
https://github.com/streamsupport/streamsupport/blob/master/src/main/java/java8/util/IntSummaryStatistics.java
در مورد مراحل کامپایل شدن برنامه توسط gcc

مرحله اول: pre process
gcc -E HelloWorld.c -o HelloWorld_exp.c

مرحله دوم: تبدیل به اسمبلی
gcc -S HelloWorld_exp.c -o HelloWorld.s

مرحله سوم: تبدیل به object file
gcc -c HelloWorld_exp.c -o HelloWorld.o

مرحله چهارم: لینک کردن
(حالا چون یه آبجکت فایله دستورش چیز خاصی نداره ولی واقعا لینک میکنه و با کل کامپایل متفاوته)
gcc -o Output HelloWorld.o




https://medium.com/@meghamohan/everything-you-want-to-know-about-gcc-fa5805452f96

این ویدیو هم توصیه می‌شود:
https://www.youtube.com/watch?v=lrx5dcB_4Oo
اگه مثل من از برنامه اسکرین شات گرفتن خود ویندوز راضی نیستید، یک برنامه تحت GPL پیدا کردم که کار راه بندازه و گزینه های خوبی داره. (البته اول باید یکم تنظیمش کنید ولی قابل قبوله)
https://getsharex.com/
اگر کرومیوم موقع باز شدن پسوردِ سیستم رو با keyring می‌پرسه‌(در حالی که نباید) اینجا گفته چیکار کنید:
https://bbs.archlinux.org/viewtopic.php?id=216736

به طور خلاصه باید
--password-store=basic


رو به کامند باز شدنش اضافه کنید.
نکته روز:
اگر در vim می خواهیم از همینجا که کرسر هست تا اخر خط را پاک کنیم، در حالت عادی دستور زیر را می زنیم:
d$

اما یک راه میانبر دارد و کافیست
D (shift + d)

را بزنیم، خودش همان کار بالایی را انجام می‌دهد.
همچنین برای باقی دستورات مثل y و c هم جواب می‌دهد.
مرورگر کروم همونطور که می‌دونید خودش flash player داره، مدت‌ها کلاس‌های دانشگاه که نیاز به flash player داره رو توش شرکت می‌کردم. یکم دردسر داشت که هربار باید allow میکردی فلش رو ولی به نصب ویندوز می ارزید :))‌
(چون خود adobe connect کلاینت ویندوز داره و دیگه به مرورگر نیازی نیست)

اما مشکل این بود که این یه سری سایت ها رو به عنوان ناامن می‌شناسه (مثلا اونایی که http هستن) و بهشون یه سری دسترسی نمی‌ده. مثلا چی؟ مثلا دوربین و میکروفون. امکان فعال شدنش هم نیست. پس یعنی نمی‌شه صحبت کرد تو کلاس یا تصویر به اشتراک گذاشت.

حالا که برای امتحان‌های پایانترم لازمه وبکم فعال کنیم، فکر کردم مجبوره ویندوز نصب کنیم، نشستم با ventoy فلش بوتیبل ساختم (اونم خیلی ابزار سرراست و تمیزیه، توصیه می‌شود اکید) باید پارتیشن root رو shrink می‌کردم.
بعد بار اخر که روشن بود گفتم بذار ببینم نمیشه همینطوری وقتی سیستم روشنه با gparted درایو رو حجمش رو کم کنم؟ خلاصه تو سرچ ها، گفتم لینک یه کلاس رو هم تو فایرفاکس باز کنم.
باز کردم و بعد flashplugin (پکیج توی آرچ) رو نصب کردم و خیلی خوب کنار اومد و اون محدودیت رو نداشت.
حالا برای اینکه فلش توی مرورگر همیشه فعال نباشه، میشه از هر firefox based دیگه‌ای استفاده کرد، مثلا palemoon رو ریختم و اونجا فلش پلیر رو فعال کردم مخصوص امتحان های مجازی.

همه مخصوص امتحان چی دارن، ما مرورگر داریم. :))

به این صورت از نصب ویندوز بار دیگر رهایی یافتم و به آغوش سیستم عامل خودم برگشتم.


نصب فلش پلیر توی آرچ:
https://medium.com/archtuts/installing-adobe-flash-on-arch-linux-and-why-its-so-complicated-1d503e1d822e