Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
922 - Telegram Web
Telegram Web
خرسِ برنامه نویس
Software is becoming systems of software. Our thinking generates the concepts that we rely on when designing our systems. When our concepts work together in harmony, supporting a system’s purpose, they have integrity. Without conceptual integrity, our software…
از این حرف چی میشه برداشت کرد؟‌
نظر من:‌
اینکه ممکنه ما در مولفه های معماری نرم افزارمون هماهنگی بین اجزای نرم افزاری رو جا بندازیم. نکته ای که داره اینه که خیلی وقت ها انقدری درگیر ایزوله کردن ماژول ها میشیم که اصلا یادمون میره که این ماژول ها باید با هم ارتباط بگیرند، هماهنگ باشند و باهم کار کنن! اصلا یک سری رفتار ها از ارتباط و هماهنگی بین دوتا ماژول شکل میگیره. نکته دومی هم وجود داره با استفاده از هزار تا تکنولوژی و ابزار هم این موضوع لزوما درست نمیشه. مثلا اگر شما از ابزار های Event Sourcing داری استفاده میکنی به این معنی نیست که مسئله ارتباط بین ماژول ها رو حل کردی، فقط میشه گفت که زیرساخت این موضوع ممکنه اضافه شده باشه. همچنان باید یک پروتکل ارتباطی وجود داشته باشه که در بستر Event Sourcing بتونه به نیاز های ارتباطی پاسخ بده.
Forwarded from tech-afternoon (Amin Mesbahi)
Please open Telegram to view this post
VIEW IN TELEGRAM
یه چرخ زدم تو گیتهاب ، ملت کلی api key پوش کردن تو گیتهاب :)))
نتیجه وایب کدینگ با هوش مصنوعی
البته بیشتراش از کار افتاده بخاطر سیستم گیتهاب...

@DevTwitter | <Shojaei/>
Forwarded from TondTech (مسعود بیگی)
برای یکی از چند تا شرکت بزرگ اکوسیستم، دوستانم در حال تیم سازی هستند. اگر در حوزه دات نت مید (d3 به بالا) تا تک لید هستید و دوست دارید این فرصت رو بررسی کنید، رزومه تون رو برام بفرستین

برای سنجش خودتون نگاهی به این فریم ورک بندازید:
https://github.com/jorgef/engineeringladders
@Merkousha
Forwarded from Novara
Forwarded from .NET Fun
دیگه سی شارپ و دات نت بدرد نمیخوره
از این به بعد سوییچ میکنیم رو php و وردپرس!
Forwarded from thisisnabi.dev [Farsi]
ف... به هر دوتاشون 😂

2 سالم هست از این دو بزرگوار در هیچ پروژه تجاری استفاده نکردم.
Forwarded from thisisnabi.dev [Farsi]
... به هر سه تاشون :)

RabbitMq.Client هم خیلی فانتره

فقط بخش Distributed Tracing ش کمی چالش داره که توی سیستم دیزاین خودمون یکی نوشتیم براش 🤞
1. Navigating changes to a design that one fundamentally disagrees with can be challenging. Communicating design intent—particularly to those without a design background—requires clarity, precision, and empathy. The ability to articulate design decisions effectively is crucial to the success of any project, as the most persuasive voice often guides the outcome. The distinction between a good designer and a great one lies not only in their capacity to solve problems through design, but also in their skill to communicate the rationale behind their solutions in a way that is compelling, builds consensus, and secures the support necessary to move forward.

کنار آمدن با تغییراتی در یک طراحی که اساساً با آن مخالف هستیم می‌تواند چالش‌برانگیز باشد. انتقال هدف طراحی—به‌ویژه برای کسانی که پیش‌زمینه‌ای در طراحی ندارند—نیازمند وضوح، دقت، و همدلی است. توانایی بیان مؤثر تصمیمات طراحی، برای موفقیت هر پروژه‌ای حیاتی است، چرا که اغلب تأثیرگذارترین صداست که مسیر نهایی را تعیین می‌کند. تفاوت بین یک طراح خوب و یک طراح عالی تنها در توانایی حل مسئله از طریق طراحی نیست، بلکه در مهارت او در توضیح منطق پشت راه‌حل‌هایش به‌گونه‌ای است که قانع‌کننده باشد، اجماع ایجاد کند و حمایت لازم برای پیش‌برد پروژه را جلب نماید.

#BetterSoftwareEngineer
2. It’s often unclear where some designers develop definitions of design that feel more performative than practical. These perspectives don’t seem to come from formal education or grounded experience. What’s concerning is the influence of a social media–driven design culture, where popularity and visual polish are mistaken for effectiveness and usability. This mindset encourages designers to create unsolicited redesigns of popular platforms—without a real understanding of the underlying business goals or user needs.
In these cases, design becomes more about visibility and validation than about thoughtful problem-solving. The truth is, design is deeply subjective. What one person finds intuitive, another may find confusing. What succeeds in one context can fail in another. This complexity makes design inherently difficult to discuss—particularly with those outside the field—because there is often no shared language or clear consensus on what design is, or what it should be.

اغلب مشخص نیست که برخی طراحان تعاریفی از طراحی را از کجا آورده‌اند که بیشتر نمایشی‌اند تا کاربردی. این دیدگاه‌ها نه به نظر می‌رسد از آموزش رسمی آمده باشند، نه از تجربه‌ای عمیق و واقعی. نکته نگران‌کننده، تأثیر فرهنگی است که از طریق شبکه‌های اجتماعی بر طراحی شکل گرفته—جایی که محبوبیت و جذابیت بصری، به اشتباه به‌جای اثربخشی و کاربرپذیری گرفته می‌شوند. این طرز فکر طراحان را تشویق می‌کند تا بازطراحی‌هایی بی‌درخواست از پلتفرم‌های محبوب انجام دهند—بی‌آنکه درک واقعی‌ای از اهداف تجاری یا نیازهای کاربران داشته باشند.

در چنین مواردی، طراحی بیشتر به ابزاری برای دیده‌شدن و تأیید گرفتن تبدیل می‌شود تا راه‌حلی اندیشمندانه برای مسائل واقعی. واقعیت این است که طراحی به‌شدت ذهنی و وابسته به دیدگاه افراد است. چیزی که برای یک نفر شهودی به نظر می‌رسد، ممکن است برای دیگری گیج‌کننده باشد. آنچه در یک موقعیت موفق است، ممکن است در موقعیتی دیگر ناکام بماند. این پیچیدگی باعث می‌شود صحبت درباره طراحی—به‌ویژه با کسانی خارج از این حوزه—بسیار دشوار باشد، چرا که اغلب زبانی مشترک یا توافقی روشن درباره اینکه طراحی چیست یا باید چه باشد، وجود ندارد.

#BetterSoftwareEngineer
3. What defines a good design? While interpretations may vary, in the context of user experience, a design is only truly effective if it solves a real problem. Most of the time, that problem is tied to a business objective—something that supports growth, efficiency, or strategic goals. Yet, if we are committed to a user-centered design approach, our solutions must also be intuitive and accessible to the people who will interact with them.
One aspect often overlooked is the influence of others involved in the project. Crafting an exceptional product is not enough; gaining the support of your team, stakeholders, and collaborators is equally critical. Without that alignment, even the most well-executed design cannot move forward.
The distinction between a good designer and a great one lies in the ability to not only solve problems through design but also to clearly and convincingly communicate how the solution addresses those problems. This clarity fosters understanding, builds consensus, and earns the trust needed to proceed.
In essence, every successful design should meet three fundamental criteria:
1. It addresses a meaningful problem.
2. It is intuitive and easy to use.
3. It has the support of the broader team and stakeholders.

These principles form the foundation of a great user experience—one that is both practical and persuasive. Projects that fall short usually lack strength in one of these areas. When all three are in place, the path to success becomes far more attainable.

تعریف یک طراحی خوب چیست؟ با اینکه برداشت‌ها ممکن است متفاوت باشند، اما در زمینه تجربه کاربری، یک طراحی زمانی واقعاً مؤثر است که یک مشکل واقعی را حل کند. در اغلب موارد، این مشکل با یک هدف تجاری گره خورده است—چیزی که به رشد، کارآمدی یا اهداف استراتژیک کمک کند. با این حال، اگر به رویکرد طراحی کاربرمحور پایبند باشیم، راه‌حل‌های ما باید در عین حال برای کاربران نیز شهودی و قابل‌دسترسی باشند.

یکی از جنبه‌هایی که اغلب نادیده گرفته می‌شود، تأثیر افرادی است که در پروژه دخیل هستند. ساختن یک محصول عالی به‌تنهایی کافی نیست؛ جلب حمایت تیم، ذی‌نفعان، و همکاران نیز به همان اندازه حیاتی است. بدون این هم‌راستایی، حتی بهترین طراحی هم نمی‌تواند به مرحله اجرا برسد.

تفاوت بین یک طراح خوب و یک طراح عالی در این است که طراح عالی نه‌تنها مسئله را از طریق طراحی حل می‌کند، بلکه توانایی دارد به‌روشنی و با قدرت توضیح دهد که این راه‌حل چگونه به آن مشکل پاسخ می‌دهد. این شفافیت باعث درک بهتر، ایجاد اجماع، و جلب اعتمادی می‌شود که برای پیش‌برد پروژه ضروری است.

در اصل، هر طراحی موفق باید سه معیار اساسی را برآورده کند:
۱. یک مشکل معنادار را حل کند.
۲. شهودی و آسان برای استفاده باشد.
۳. از حمایت تیم و ذی‌نفعان برخوردار باشد.

این اصول، پایه‌گذار یک تجربه کاربری عالی هستند—تجربه‌ای که هم کاربردی است و هم متقاعدکننده. پروژه‌هایی که شکست می‌خورند، معمولاً در یکی از این سه حوزه ضعف دارند. اما وقتی هر سه فراهم باشند، مسیر موفقیت بسیار هموارتر خواهد بود.
#BetterSoftwareEngineer
4. When working on a design, it’s essential to remain consciously aware of every decision you make and the reasoning behind it. You should continuously ask yourself, “What problem am I trying to solve with this?” Staying mindful of every change, addition, or reorganization you implement is crucial to discovering the right interface. These often unconscious choices hold the key to articulating your design rationale to others and ensuring your expert insight remains central to the final decision-making process.
The most effective way to achieve this is by writing your decisions down. Translating unconscious thought into a tangible format helps you recall and reflect on the reasoning behind your work. Since you’re addressing measurable problems, clearly document each one, followed by the design decisions made to solve it. Whatever form this documentation takes, the goal is to ground your thinking in concrete, explainable terms.

هنگام کار روی یک طراحی، ضروری است که نسبت به هر تصمیمی که می‌گیری و دلیل پشت آن، آگاهی کامل داشته باشی. باید مدام از خودت بپرسی: «با این تصمیم دقیقاً چه مشکلی را دارم حل می‌کنم؟» آگاه‌بودن نسبت به هر تغییری که اعمال می‌کنی—چه اضافه‌کردن، حذف یا بازآرایی—برای رسیدن به رابط کاربری درست حیاتی است. این تصمیم‌های ناخودآگاه در واقع کلید توضیح منطق طراحی تو برای دیگران هستند و کمک می‌کنند تخصصت در تصمیم‌گیری نهایی نقشی محوری داشته باشد.

موثرترین راه برای رسیدن به این هدف، نوشتن تصمیم‌هایت است. تبدیل فکر ناخودآگاه به یک قالب ملموس، به تو کمک می‌کند تا دلایل پشت انتخاب‌هایت را به‌خاطر بسپاری و روی آن‌ها تأمل کنی. از آن‌جا که با مشکلات قابل‌اندازه‌گیری سروکار داری، باید هر کدام را به‌وضوح ثبت کنی و بعد، تصمیم‌های طراحی‌ای که برای حل آن‌ها گرفته‌ای را بنویسی. مهم نیست این مستندسازی چه شکلی دارد—هدف این است که افکارت را بر پایه مفاهیمی مشخص و قابل‌توضیح استوار کنی.

#BetterSoftwareEngineer
خرسِ برنامه نویس
4. When working on a design, it’s essential to remain consciously aware of every decision you make and the reasoning behind it. You should continuously ask yourself, “What problem am I trying to solve with this?” Staying mindful of every change, addition,…
4/1.
این وسط یه نکته ریز!

لازم نیست این یادداشت‌ها را با مشتری یا ذی‌نفعان به اشتراک بگذاری.
شاید هیچ‌وقت آن‌ها را نبینند، و اشکالی هم ندارد.
هدف بیشتر پیداکردن سر مقصد است تا ارتباط برقرار کردن با دیگران.
نکته اصلی این است که نوشتن درباره آن‌چه طراحی می‌کنی، به مغزت کمک می‌کند بین مشکلی که روی آن کار می‌کنی و راه‌حلی که طراحی ارائه می‌دهد، ارتباط برقرار کند. هرچقدر در ایجاد این ارتباط‌ها بهتر عمل کنی، برای صحبت‌کردن درباره‌شان با دیگران هم آماده‌تر خواهی بود.
مهم نیست از چه روشی استفاده می‌کنی، هدف این است که روند فکری‌ات را به چیزی واقعی، قابل‌اشتراک‌گذاری و قابل‌دیدن تبدیل کنی—تا بتوانی کلماتی پیدا کنی که به کمک آن‌ها، طراحی‌ات را برای دیگران به‌روشی قابل‌درک توضیح دهی.
خرسِ برنامه نویس
4/1. این وسط یه نکته ریز! لازم نیست این یادداشت‌ها را با مشتری یا ذی‌نفعان به اشتراک بگذاری. شاید هیچ‌وقت آن‌ها را نبینند، و اشکالی هم ندارد. هدف بیشتر پیداکردن سر مقصد است تا ارتباط برقرار کردن با دیگران. نکته اصلی این است که نوشتن درباره آن‌چه طراحی…
5. Usability comes down to two key principles: common sense and research. At the start of a project, when data may be limited, designers must rely on experience and intuition to create simple, practical solutions. Overthinking should be avoided—do what makes sense and move forward.
However, assumptions don’t always align with user behavior. That’s where research becomes essential. While analytics can show what users did, they don’t explain why. To truly understand the impact of design decisions, direct observation through usability testing is necessary. Make informed guesses, validate them with real users, and take notes—you’ll gain valuable insights and be better equipped to justify your choices.

قابلیت استفاده به دو اصل کلیدی خلاصه می‌شود: شعور و تحقیق. در ابتدای یک پروژه، زمانی که داده‌ها محدود هستند، طراح باید به تجربه و شهود خود تکیه کند تا راه‌حل‌هایی ساده و کاربردی ارائه دهد. نباید بیش از حد فکر کرد—کاری را انجام بده که منطقی به نظر می‌رسد و پیش برو.
اما فرضیات همیشه با رفتار واقعی کاربران هم‌راستا نیستند. این‌جاست که تحقیق اهمیت پیدا می‌کند. تحلیل داده‌ها فقط نشان می‌دهد کاربران چه کرده‌اند، اما دلیل آن را مشخص نمی‌کند. برای درک واقعی اثر تصمیم‌های طراحی، مشاهده مستقیم از طریق تست قابلیت استفاده ضروری است.
حدس‌های منطقی بزن، آن‌ها را با کاربران واقعی بررسی کن، و یادداشت‌برداری کن—به بینش‌های ارزشمندی دست خواهی یافت و آماده‌تر خواهی بود تا از تصمیم‌هایت دفاع کنی.

#BetterSoftwareEngineer
2025/06/27 02:01:47
Back to Top
HTML Embed Code: