Pure Coder
Відкрити в Telegram
⭕️آدرس سایت: https://purecoder.ir ⭕️گروه پرسش و پاسخ: @purecoder_gp ⭕️پشتیبانی: @PureCoder_support @MohammadTaherri
Показати більше775
Підписники
Немає даних24 години
-17 днів
-230 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
квітень '26
квітень '26
+4
в 0 каналах
березень '26
+5
в 0 каналах
Get PRO
лютий '26
+16
в 0 каналах
Get PRO
січень '26
+3
в 0 каналах
Get PRO
грудень '25
+10
в 0 каналах
Get PRO
листопад '25
+12
в 0 каналах
Get PRO
жовтень '25
+9
в 1 каналах
Get PRO
вересень '25
+14
в 1 каналах
Get PRO
серпень '25
+13
в 0 каналах
Get PRO
липень '25
+17
в 0 каналах
Get PRO
червень '25
+16
в 1 каналах
Get PRO
травень '25
+23
в 4 каналах
Get PRO
квітень '25
+8
в 1 каналах
Get PRO
березень '25
+17
в 0 каналах
Get PRO
лютий '25
+16
в 0 каналах
Get PRO
січень '25
+9
в 0 каналах
Get PRO
грудень '24
+25
в 1 каналах
Get PRO
листопад '24
+24
в 0 каналах
Get PRO
жовтень '24
+23
в 2 каналах
Get PRO
вересень '24
+11
в 1 каналах
Get PRO
серпень '24
+17
в 1 каналах
Get PRO
липень '24
+20
в 4 каналах
Get PRO
червень '24
+23
в 2 каналах
Get PRO
травень '24
+11
в 0 каналах
Get PRO
квітень '24
+38
в 4 каналах
Get PRO
березень '24
+23
в 3 каналах
Get PRO
лютий '24
+28
в 0 каналах
Get PRO
січень '24
+75
в 2 каналах
Get PRO
грудень '23
+51
в 1 каналах
Get PRO
листопад '23
+16
в 5 каналах
Get PRO
жовтень '23
+23
в 4 каналах
Get PRO
вересень '23
+9
в 0 каналах
Get PRO
серпень '23
+23
в 0 каналах
Get PRO
липень '23
+40
в 0 каналах
Get PRO
червень '23
+16
в 0 каналах
Get PRO
травень '23
+48
в 0 каналах
Get PRO
квітень '23
+94
в 0 каналах
Get PRO
березень '23
+14
в 0 каналах
Get PRO
лютий '23
+15
в 0 каналах
Get PRO
січень '23
+23
в 0 каналах
Get PRO
грудень '22
+45
в 0 каналах
Get PRO
листопад '22
+18
в 0 каналах
Get PRO
жовтень '22
+4
в 0 каналах
Get PRO
вересень '22
+23
в 0 каналах
Get PRO
серпень '22
+20
в 0 каналах
Get PRO
липень '22
+33
в 0 каналах
Get PRO
червень '22
+19
в 0 каналах
Get PRO
травень '22
+37
в 0 каналах
Get PRO
квітень '22
+23
в 0 каналах
Get PRO
березень '22
+20
в 0 каналах
Get PRO
лютий '22
+14
в 0 каналах
Get PRO
січень '22
+42
в 0 каналах
Get PRO
грудень '21
+296
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 29 квітня | 0 | |||
| 28 квітня | 0 | |||
| 27 квітня | 0 | |||
| 26 квітня | 0 | |||
| 25 квітня | 0 | |||
| 24 квітня | +1 | |||
| 23 квітня | 0 | |||
| 22 квітня | 0 | |||
| 21 квітня | 0 | |||
| 20 квітня | 0 | |||
| 19 квітня | 0 | |||
| 18 квітня | 0 | |||
| 17 квітня | 0 | |||
| 16 квітня | 0 | |||
| 15 квітня | 0 | |||
| 14 квітня | +1 | |||
| 13 квітня | 0 | |||
| 12 квітня | 0 | |||
| 11 квітня | 0 | |||
| 10 квітня | 0 | |||
| 09 квітня | 0 | |||
| 08 квітня | 0 | |||
| 07 квітня | 0 | |||
| 06 квітня | 0 | |||
| 05 квітня | 0 | |||
| 04 квітня | 0 | |||
| 03 квітня | +2 | |||
| 02 квітня | 0 | |||
| 01 квітня | 0 |
Дописи каналу
🔥شیائومی توی HyperOS 4 از فلاتر برای توسعه ی اپلیکشن های بومی خودش استفاده میکنه.
لینک مبنع:
https://www.gizmochina.com/2026/02/05/xiaomi-hyperos-4-self-developed-os-ai-framework/
Xiaomi is also experimenting with rewriting core system apps using Google’s Flutter framework and the Rust programming language.
@purecoder_ir
| 2 | بیرون از دانسته های ما جهانی وجود دارد!!! | 125 |
| 3 | امروز روز جهانی درون گراهاست.
توی جهان امروز، به دلایل مختلف بعضی ادم ها ممکنه گوشه گیر بشن و بعد فک کنن که درون گران. نه، درون گرایی ربطی به گوشه گیری نداره. گوشه گیری رو باید درمان کرد.
درون گراها افراد عمیقی هستن و از این رو میتونن افراد مناسبی برای برنامه نویسی باشن.
در ابتدا شاید بقیه فکر کنن که اینا قراره توی اتاق های سرد و تاریک، ساعت ها بشینن و بدون ارتباط با جهان بیرونی کد بزنن.
از طرفی میدونیم که توسعه ی نرم افزار یک فرایند به شدت تعاملی و همراه با ارتباط های زیاد بین آدم هاست. انقدر این ارتباط ها مهم بوده که متدولوژی های مختلفی برای نظم دادن به این تعامل ها ابداع شدن. تعامل نه تنها بین برنامه نویس های یک تیم، بلکه بین همه ی افراد سازمان.
پس ایا ادم های درون گرا به درد این حرفه نمیخورن؟!!!
چرا.
درون گراها به شدت اجتماعی، مدیر های توانا و سخنران های خوبی هستن. به خوبی میتونن یک تیم رو مدیریت کنن و تعامل سازنده با بقیه داشته باشن. فقط حوصله ی شر و ور ندارن و موتورشون زود خاموش میشه. وقتی که توی تیم نظم حاکم باشه و بهترین بازدهی خودشون رو نشون میدن. در سازمان های شلخته که بیشتر بر مبنای هیجان جلو میرن تا نظم، به طور طبیعی بازدهی این افراد کاهش پیدا میکنه.
هیچکس نمیتونه نیاز به عمیق بودن رو برای یک برنامه نویس و مهندس نرم افزار کتمان کنه. برگ برنده ی درون گراها همین جاست. نگران مهارت های نرم و تعامل با بقیه افراد تیم نباشید. اون ها به خوبی از پسش برمیان. فقط اهل نمایش و سر و صدا نیستن، به موقع نشون میدن که چی تو چنته دارن.
@purecoder_ir | 46 |
| 4 | 🔥Abstraction
نقشه ی ایستگاه های مترو یه abstraction عه!!!
فاصله ی بین همه ی ایستگاه ها توی نقشه یکسانه، در حالیکه در عمل اینجوری نیست.
در حالیکه در عمل بین ایستگاه ها پیچ و خم های زیادی وجود داره، ایستکاه ها روی نقشه روی خطوط صاف چیده شده.
ایستگاه ها عمق متفاوتی نسبت به هم دارن، بعضی ها عمیق ترن، بعضی ها به سطح زمین نزدیکترن و بعضی ها روی سطح قرار گرفتن. ولی این مساله توی نقشه اصلا مهم نیست و نقشه هیچ اطلاعاتی از عمق ایستگاه ها نمیده.
هدف این نقشه این نیست که یه شهر واقعی با تمام جزییاتش رو مدل کنه، بلکه هدفش اینه که بگه فلان خط چندتا ایستگاه داره و هر ایستگاه توی چه محلی واقع شده. همین.
این میشه یه abstraction و مدل سازی جهان. قرار نیست مو به مو همه چیز توی مدل اورده باشه. هدف حل یه مساله خاصه.
مدل سازی که ما توی نرم افزار انجام میدیم هم به همین شکله.
اغلب میشنویم که توی کدهامون قراره جهان واقعی رو مدل کنیم. اشتباهه. بعضی ها هم میگن هدف object oriented مدل سازی جهانه. بازم اشتباهه.
ما قراره یه abstraction ای از جهان ایجاد کنیم که به حل مساله ی فعلی مون کمک کنه. این abstraction به هیچ عنوان مدل مو به موی جهان نیست. درست مثل نقشه ی ایستگاه های مترو.
@purecoder_ir | 311 |
| 5 | این elif توی پایتون باحاله.
قشنگ و راحت تلفظ میشه: الیف.
خیلی راحتره تا اینکه بگی: الز ایف.
اگه با دید سرسختانه که همش دوس داریم پایتون رو بکوبیم بهش نگاه نکنیم.
بنظر من syntax پایتون زشت نیس و در کل خیلیم خوبه.
@purecoder_ir | 304 |
| 6 | همه اعتقاد دارن که هوش مصنوعی با شغل اون ها کاری نداره و سایر شغل ها رو زیر و رو خواهد کرد😅
باباجان در جهان آینده انسان قرار نیست به شکل امروزی کار کنه. حالا شما خودت رو هم بکشی این اتفاق رخ خواهد داد.😁
البته درک امروزی ما به شکلیه که فکر میکنیم قراره در آینده و با گسترش هر چه بیشتر هوش مصنوعی انسان ها بدبخت بشن، درحالیکه انسان امروزی بدبخته. چون برای بقا کار میکنه و نه برای رشد.
@purecoder_ir | 131 |
| 7 | این لیست ناقصه و این پست تاحدودی طنز بود. زبان های زیادی رو اصلا بهشون اشاره ای نکرده، مثل Go, Rust, zig.
یا متلب زبان برنامه نویسی به حساب نمیومد، یه اسباب بازی بود که بچه های برق و مکانیک بیشتر ازش استفاده میکردن.
هر زبانی توی شرایط خودش کارایی و سودمندی خودش رو داره.
ولی به طور کلی زبانی مثل جاوااسکریپ رو کسی نمیتونه نادیده بگیره، بالاخره کار هر کسی بهش گیر میکنه و کامیونیتی قوی ای هم داره. زبان هایی مثل جاوا، سی شارپ و پایتون دامنه ی گسترده ای رو در برمیگردن. طبیعیه که توی بعضی موارد تخصصی تر و بهتر عمل میکنن. یا زبانی مثل php رو توی وب نمیشه نادیده گرفت. همین طور که زبان هایی مثل کاتلین و دارت توی موبایل واسه خودشون یکه تازی میکنن، ولی نباید انتظار داشته باشیم که همه جا یکه تاز باشند. این انتظار از پایه بی اساسه و هدف این زبان ها دست کم تا الان نبوده.
ولی روبی با وجود اینکه یه زبان فراموش شدست، زبان اصیلیه.
پایتون رو هم خدا براش خواسته، ما دیگه چکاره ایم😂😂
@purecoder_ir | 367 |
| 8 | پایتون همه جا هست.
جاوا به جز یک جا همه جا هست.
سی شارپم به جز دو جا بقیه جاها هست.
پی اچ پی و دارت و سوییفت فقط یه جا هستن!!!
حتی روبی هم دو جا هست.
حالا هی از پایتون بد بگید🤬🤬
ولی روبی از همشون اصیل تره.😳
@purecoder_ir | 354 |
| 9 | 🌞شب یلدا(چله) طولانی ترین شب ساله. ولی به دلیل طولانی ترین شب سال بودن در بین ایرانیان باستان گرامی داشته نشده.
به این دلیل گرامی داشته شده که از دل این شب قراره خورشید متولد بشه.
امیدوارم که از دل شب های طولانی زندگی تون هم خورشید زیبا طلوع کنه... .
@purecoder_ir | 82 |
| 10 | میگن یوتیوب جدیدن ایرانی ها سختر از قبل تشخیص میده و درامد یوتیوبر ها کمتر شده.
من این یکی رو میگم دم گوگل گرم.
شما یه برنامه نویس باشی بخوای یه محتوای مفید تولید کنی، هیشکی نمیبینه محتوات رو. دست کم خودم دوستان زیادی داشتم که با انگیزه شروع کردن و بعد از یه مدتی کار رو ول کردن🤦♂🤦♂
حالا جناب یوتیوبر محتوا تولید میکنه با عنوان "سوراخ دوربین شیائومی بزرگتر است یا سامسونگ" و کلی ویو میگیره و اسم خودش رو هم میگذاره فعال در عرصه ی تکنولوژی.
محتوای این ادم چه سودی برای جامعه داره؟
چه دردی از جامعه دوا میکنه؟
بود و نبودش چه تفاوتی به حال جامعه داره؟
جز اینکه با محتوای سطح پایین فقط دنبال پر کردن جیب خودشه؟
بعد همون اقا پز میده که من فرکانسم فلانه و تونستم وضع مالی خودم رو چنان کنم و یه نفری که محتوای با ارزش تولید میکنه دیده نمیشه.
اتفاقن دم گوگل گرم. کاش سخت گیری هاش رو توی این یک زمینه بیشتر هم کنه!!!
@purecoder_ir | 116 |
| 11 | . | 286 |
| 12 | این استدلال باب مارتین در رد استفاده از حرف "I" در ابتدای نام اینترفیس هاست...
Interfaces and Implementations
These are sometimes a special case for encodings. For example, say you are building an ABSTRACT FACTORY for the creation of shapes. This factory will be an interface and will be implemented by a concrete class. What should you name them?
IShapeFactory and ShapeFactory?
I prefer to leave interfaces unadorned. The preceding I, so common in today’s legacy wads, is a distraction at best and too much information at worst. I don’t want my users knowing that I’m handing them an interface. I just want them to know that it’s a ShapeFactory. So if I must encode either the interface or the implementation, I choose the implementation. Calling it ShapeFactoryImp, or even the hideous CShapeFactory, is preferable to encoding the interface.
من بعدن نظرم رو در مورد این استدلال میگم... .
حالا تو بگو که توی نام گذاری اینترفیس ها از حرف "i" استفاده میکنی یا نه؟
@purecoder_ir | 270 |
| 13 | 🔥یک نکته ی کوچیک
public class AuthorDto
{
[Key]
public Guid Id {get; set;}
[Required]
[MaxLength(50)]
public string FirstName {get; set;}
[Required]
[MaxLength(50)]
public string LastName {get; set;}
[Required]
public DateTimeOffset DateOfBirth {get; set;}
[Required]
[MaxLength(50)]
public string MainCategory {get; set;}
public ICollection<Course> Courses {get; set;}
= new List<Course>();
}
❌اعمال ولیدیشن به این شکل و با استفاده از Annotation بالای سر پراپرتی های Dto باعث نقض Single Responsibility میشه!!!
✅تنها مسيولیت یا Single Responsibility یک Dto انتقال یا transfer کردن دیتاست و نه چیز دیگه.
❌این مدل ولیدیشن احتمال duplication رو هم بالا میبره که با نقض SRP ارتباط تنگاتنگ داره...
پ.ن: مثال با سی شارپه, ولی این مدل ولیدیشن رایجه و نمونش رو جاهای دیگه هم میتونید ببینید.
@purecoder_ir | 550 |
| 14 | ❓دوستانی که توی نظر سنجی قبلی "آره" رو زدن، الان بگن که چه اینترفیسی براش در نظر میگیرن؟
این هم متدهای Share preferences 👇👇
get(key)
getString(key)
getBool(key)
getInt(key)
getDouble(key)
getStringList(key)
getKeys()
setString(key, value)
setBool(key, value)
setInt(key, value)
setDouble(key, value)
setStringList(key, value)
containsKey(key)
remove(key)
clear()
@purecoder_ir | 88 |
| 15 | IArchRule rule = Classes()
.That()
.AreAssignableTo(typeof(ICar))
.Should()
.HaveNameContaining("Car");
🔥Architectural Tests
اگه روی پروژه های تیمی کار میکنید حتمن قوانین مختلفی که حین پروژه تعیین میکنید رو به صورت ضمنی نگه ندارید و با خواهش و تمنا در پی رعایت اونها نباشید. افراد به خواهش های شما تا وقتی که به صورت قانون در نیان جواب مناسب نمیدن.
این قوانین رو به صورت تست دربیارید و Architectural Test بزنید و این تست ها رو هم توی CI Server همراه با بقیه ی تست ها اجرا کنید.
موقع دولوپ نیاز نیست که زیاد و مداوم اجراشون کنید تا سرعتتون گرفته بشه، ولی قبل از هر push اجرا کنید تا مطمئن بشید که چیزی که پوش میکنید سالمه و بعد ار هر pull هم برای اطمینان از کلین بودن کدی که پول کردید اجراشون کنید و بعد کارتون رو ادامه بدید.
🔥برای این مدل تست ها توی پلتفرم های مختلف پکیج های خوبی توسعه داده شده:
✅دات نت: ArchUnitNet و NetArchTest
✅جاوا: ArchUnit
✅جی اس و تایپ اسکریپت: ArchUnitTs و ts_arch
✅دارت: arch_test
✅کاتلین: ArchUnitKotlin
✅پایتون: pytest_arch
@purecoder_ir | 21 |
| 16 | برای استفاده از یه چیزی مثل Share Preference توی اندروید/فلاتر دورش اینترفیس میگذاری ؟ | 153 |
| 17 | 🍁وقتی که توی یه web cotroller همه دپندسی ها رو به کانستراکتور inject میکنیم، همه چیز خوشکل و گوگولی به نظر میاد. ولی ممکنه بعضی از action ها از بعضی دپندنسی ها استفاده نکنن.
👈برای مثال توی کلاس CustomersController چند تا متد زیر رو داشته باشیم:
✔️Search
✔️GetById
✔️Add
✔️EditPersonalInfo
✔️Remove
دپندنسی هایی که هر کدوم از این اکشن متد ها نیاز دارن ممکنه متفاوت باشه.
❓حالا اگه همه دپندنسی ها رو به کانستراکتور inject کنیم چه اتفاقی میوفته؟
فرض میکنیم دپندسی ها scoped یا Transient باشن...
😱هر بار که به رکوئست جدید میاد یه نمونه ی جدید از کنترلر با تمام دپندسی هاش ساخته میشه، در حالیکه بعضی از اون دپندسی ها مورد استفاده ی اون اکشن متدی که قراره رکوئست رو هندل کنه قرار نمیگیرن.
😱😱حالا خود اون دپندسی ها هم هر کدومشون ممکنه چنتا دپندسی دیگه داشته باشن!!!
پس توی هر رکوئست چندین تا دپندنسی ساخته میشه که اصلن به کار نمیان!!!
🙄پرفرمنس رو دریاب نه خوشکلی!!!
❓راه حل چیه؟
✅اینجاست که inject کردن دپندسی ها به متد به جای کانستراکتور راه حل بهتریه.
🔥اون دپندسی هایی که توسط همه ی متد ها استفاده میشن رو به کانستراکتور inject میکنیم و اونهایی که فقط توسط یه متد خاص استفاده میشن رو به همون متد...
👈البته فریمورکی که استفاده میکنی باید این رو پشتیبانی کنه.
@purecoder_ir | 587 |
| 18 | توی Asp.net از اتریبیوت ProducesResponseType بالای سر endpoint ها استفاده کنید.
از این اتریبیوت برای تولید داکیومنشن open api و swagger استفاده میشه و برنامه نویس های کلاینت دعاتون نمیکنن ولی فوحشم بهتون نمیدن حداقل😝
@purecoder_ir | 1 |
| 19 | Немає тексту... | 1 |
| 20 | واقعن هیچ شرکتی کار درست تر از Jet Brains نیست...
این یه دونه رو بذارید متعصب باشیم😂😂 | 477 |
