Web_programming
1.14K subscribers
354 photos
14 videos
125 files
1.23K links
Sharif web programming
If you have any questions, please feel free to ask(@yumcoder)
Download Telegram
به کمک chrome://flags می توانید flagهای خاصی را تنظیم کنید
مطالب فوق مربوط به حالتی است که بخواهید با فایلهای بزرگ در browser کار کنید و همچنین debug کنید
برای همین است که اخیرا تلگرام کد را فقط از طریق تلفن ارسال میکند
هر چه در youtube جستجو کردید و پیدا نشد بک بار هم در bilibili.com جستجو کنید حتما پیدا می شود :)

شوخی: همیشه یک چینی وجود دارد که مسلئه را قبلا حل کرده است

اخیرا نیز فکر کنم کد آن را نیز متن باز منتشر شده است
Base64 is apparently wasteful because we use just 64 different values per byte, whereas a byte can represent 256 different characters. That is, we use bytes (which are 8-bit words) as 6-bit words. There is a waste of 2 bits for each 8 bits of transmission data. To send three bytes of information (3 times 8 is 24 bits), you need to use four bytes (4 times 6 is again 24 bits). Thus the base64 version of a file is 4/3 larger than it might be. So we use 33% more storage than we could.
That sounds bad. How can engineers tolerate such wasteful formats?

https://www.google.com/amp/s/lemire.me/blog/2019/01/30/what-is-the-space-overhead-of-base64-encoding/%3famp
اگر یک فایل بزرگ در js داشته باشید و بخواهید بخوانید browser با تکنیک های عادی crash می کند و باید آن را تکه تکه بخوانید کد بالا یک نمونه برای این منظور است
فایل بزرگ مثلا 500 مگ و یا یک گیگ

https://javascript.info/fetch-progress
یکی از دوستان قدیمی برای تکمیل تیم فنی خود به دنبال جذب یک همکار است. زبان برنامه نویسی آنها سی شارپ (وب) است.
لطفا اگر تمایل داشتید به من پیغام دهید.
Programming is like any other sport. You might know the rules but you have to play to learn. -Zuckerberg.
Forwarded from mobile_programming
امشب یا فردا شب اگر فرصت شد میخواهم درباره نحوه پیاده سازی socket ارتباط با سرور در کد اندروید تلگرام کمی بنویسم. میتوانید اگر سوال داشتید توی گروه مطرح کنید در صورتی که سوادم اجازه دهد پاسخ میدهم :)
برای این منظور کمی سواد سیستم عامل و زبان برنامه نویسی لازم است.
Forwarded from mobile_programming
یکی از مفاهیم مورد نیاز برای برقراری ارتباط با سرور

https://en.m.wikipedia.org/wiki/Epoll
Forwarded from mobile_programming
در تلگرام در مسیر زیر پوشه ایی به نام tgnet وجود دارد:
#telegram #yum_01
Forwarded from mobile_programming
در این پوشه لایه سیستمی پروتکل mtproto پیاده سازی شده است. به زبان ساده خط ارتباطی با سرور و تامین کننده امنیت ارتباط در این پوشه پیاده سازی شده است

پ.ن. درسهای بسیار خوبی برای فراگیری در حوزه امنیت نیز در این کد می توانید پیدا کنید :) که موضوع سخن امشب ما نیست

#telegram #yum_03
Forwarded from mobile_programming
در این پوشه فایل های فوق مربوط به connection با سرور هستند

#telegram #yum_04
Forwarded from mobile_programming
اگر فایل connentionManager را باز کنیدو دستورات ان را ببینید متوجه می شوید که برای ایجاد یک socket با سرور از دستورات epoll استفاده می کند

پ.ن. نیمی از کلاس ما هنوز سیستم عامل پاس نکردیم :)

پس باید ببینیم epoll چیست و به چه کار می آید
#telegram #yum_05
Forwarded from mobile_programming
پس در ادامه ابتدا می رویم کمی با این مفهوم آشنا می شویم و بعد بر می گردیم به کد تلگرام 😊

عزیزانی که تمایل دارند به طور کامل با این مفهوم آشنا شوند می توانند از کتاب فوق بخش های مربوطه را مطالعه کنند
این کتاب برای افرادی که تمایل دارند برنامه نویسی سیستمی کنند مناسب است

#telegram #yum_06