<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امیرسینا ماندگاری</title>
        <link>https://virgool.io/feed/@mandegari.amirsina</link>
        <description>طراح مکانیک دیروز و برنامه نویس امروز با اندک تجربه مدیریت</description>
        <language>fa</language>
        <pubDate>2026-06-18 04:39:06</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/15192/avatar/37lVGa.png?height=120&amp;width=120</url>
            <title>امیرسینا ماندگاری</title>
            <link>https://virgool.io/@mandegari.amirsina</link>
        </image>

                    <item>
                <title>اسکریپت نویسی برای تنبل‌ها با پایتون(ساخت پی‌دی‌اف)</title>
                <link>https://virgool.io/coderlife/pdf-creator-ezko18iigpqi</link>
                <description>@amirzenoozi72 طراحی از همیشه وقتی میخواستم یه نوشته یا جزوه‌ای رو پی‌دی‌اف کنم عزا می‌گرفتم که حالا باید دونه دونه عکس بگیرم و اگه اون بین یک عکس خراب شه عذابی الهی نازل میشه :)برای اینکه کارم راحت‌تر شه شروع کردم به نوشتن یه کد پایتون که یه فولدر عکس بهش داده بشه و خروجی یه پی‌دی‌اف از اون عکسا رو برگردونه.از پایتون ۳ به عنوان زبان برنامه‌نویسی و کتاب‌خونه‌های زیر استفاده کردم:کتاب‌خونه os (برای کار با آدرس فایل‌ها).کتاب‌خونه img2pdf (برای ایجاد پی‌دی‌اف از عکس).کتاب‌خونه argparse (برای گرفتن ورودی از طریق دستورات کامندلاین).مرحله صفر، نقشه راهنقشه‌ ذهنی من برای این کد به این شکل بود:آدرس یه فولدر پر از عکس به کد داده شه.عکس‌ها به ترتیب اسم مرتب بشه ( چون به ترتیب معمولا گرفته میشه یا خودمون این اسم گذاری رو براشون انجام بدیم).پی‌دی‌اف ساخته بشه و توی آدرسی که میخوام ذخیره بشه.مرحله اول، مشخص کردن ورودی‌هامن این مرحله همیشه ارزش زیادی قائلم چون فکر میکنم ورودی مناسب باعث میشه خیلی کار راحت بشه.من از argparse استفاده کردم تا بتونم از محیط ترمینال استفاده کنم برای ران کردن کد.  من سه ورودی رو مشخص کردم، آدرس فولدر عکس‌ها، آدرس خروجی و اسم فایل خروجی.مشخص کردن ورودی‌ها با استفاده از argparserنمونه‌ای از ورودی مورد پذیرش به شکل زیر است:برای تمام ورودی‌ها مقدار پیش فرض هم در نظر گرفتم تا اگه از سمت کاربر داده نشد کد با مشکل رو‌به‌‌رو نشه و کارش رو انجام بده.&#x27;.&#x27; که برای مقدار پیشفرض ورودی آدرس‌ها تعیین شده به معنی محل اجرای کد هست.مرحله دوم، آماده‌سازی ورودی‌ها برای ساخت پی‌دی‌افحالا که مرحله اول رو گذروندیم باید ورودی‌هارو اماده کنیم. عکس‌ها براساس اسم مرتب بشن و اگر تغییری روی اسم خروجی لازمه انجام بشه.استفاده از کتاب‌خونه os برای کار با ادرس‌اسم عکس‌ها بعد از گرفته شدن از آدرس ورودی توی یه لیست مرتب میشن، اسم خروجی هم اگر بدون پسوند باشه اصلاح میشه و آدرس نهایی فایل خروجی هم با توجه به ورودی ها درست میشه.مرحله آخر، ساخت پی‌دی‌افخب حالا که اسم عکس‌ها مرتب شده و آدرس خروجی هم تولید شده وقت درست کردن پی‌دی‌اف مورد نظرمونه.استفاده از img2pdf برای ایجاد پی‌دی‌افبا استفاده از img2pdf پی‌دی‌اف رو از روی لیست اسم‌ فایل‌ها اگر اون فایل‌ها jpg باشن میسازیم.کد کامل این اسکریپت روی گیت‌هاب: https://github.com/amirsina-mandegari/pdf_creator کد خیلی ساده و حداقلی نوشته شده، خوشحال می‌شم اگه روی گیت هاب نغییراتی که دوست دارید روی کد انجام بدید</description>
                <category>امیرسینا ماندگاری</category>
                <author>امیرسینا ماندگاری</author>
                <pubDate>Wed, 01 Apr 2020 19:10:49 +0430</pubDate>
            </item>
                    <item>
                <title>برگه تقلب (cheat sheet) مدیریت تیم</title>
                <link>https://virgool.io/@mandegari.amirsina/project-management-cheatsheet-s4a3zapiqy3g</link>
                <description>مدیریت تیم و پروژه در عین سادگی توی نگاه اول، میتونه کار سخت و پیچیده‌ای باشه. با رعایت کردن چند مورد میتونیم تجربه مدیریت بهتری رو برای خودمون و تیممون به ارمغان بیاریم.توی این نوشته سعی دارم بر اساس تجربه کاری خودم، موارد تاثیر گذار و بعضا فراموش شونده رو یاداوری کنم.هر پروژه‌ای برای ما نیستباید با واقعیت کنار بیاید. هر پروژه و هر کاری برای شما ساخته نشده. قبل از هر چیزی باید با خودتون روراست باشید. اگر پروژه خارج از توانایی‌های شماست، مدیریت اون کار رو قبول نکنید.اولین قدم، تحلیل کامل پروژهبه عنوان مسئول یک تیم و پروژه، باید دید کاملی به چالش‌ها و مشکلات پیش رو داشته باشید. قطعا اتفاقات خارج از برنامه منتظر فرصت برای غافگیر کردن شما هستن اما دید کامل باعث تصمیم‌گیری‌های بهتر و دقیق‌تر برای به دست آوردن خط مسیر میشه.همه کاره و هیچ کاره!!!مسئولیت مستقیم هر پروژه به گردن مدیر اون پروژه هست. اما پروژه‌ای موفق میشه که مدیر اون به صورت مستقیم دست به کار نشه. وظیفه اصلی مدیر پروژه نظارت روی روند اجرایی پروژه‌ست. اگر دخالت مستقیم مدیر توی کار هر تیم مجموعه وجود داشته باشه کار اون تیم به خوبی پیش نمیره. باید در کنار کار بود، محیط و شرایط رو تا حد توان فراهم کرد و پیگیر بود.کمیته بندیاگر توی هر بخش بیشتر از یک نفر نیاز داشتید تیمتون رو کمیته بندی کنید. هر کمیته سرتیم خودشو داشته باشه و ارتباط‌گیری شما با اون تیم و کمیته از طریق سرتیم مربوطه باشه. با این کار، بخش‌های بیشتری رو میتونید مدیریت کنید. برای مثال، اگر شما ۱۰۰ نفر نیرو داشته باشید و کار به ۱۰ کمیته تقسیم شده باشه، در واقع مدیریت ۱۰ نفر با شماست و برای سیاست گذاری، هدف گذاری و گزارش‌گیری با ۱۰ نفر درگیر خواهید بود.فرار از حاشیهحاشیه عضو جدایی ناپذیر هر فعالیتیه، اما وجودش میتونه بزرگترین تهدید باشه. باید سعی کنید حاشیه از سمت تیم شما ایجاد نشه و اگر حاشیه‌ای از بیرون متوجه تیم شماست بی درنگ باهاش برخورد کنید.ارتباط مستقیم ممنوع!وقتی نفرات به گروه‌های مختلف تقسیم شدن، مسئولیت هر تیم با سرتیم مربوطه خواهد بود. تحت این شرایط درگیر شدن و تعریف کردن کار برای هر زیر تیم، باعث هرج و مرج میشه و حتی ممکنه راهی برای فرار فرد مورد نظر از کار تعریف شدش باشه.هر سرتیم، یک مدیر پروژهتوی انتخاب سرتیم‌ها دقت زیادی به خرج بدید چون هر سرتیم، مدیر پروژه‌ایست که شما تعریف کردید.  اگر مدیر خوبی انتخاب کنید، مطمئن باشید اون کمیته میتونه رو پای خودش بایسته.صحبت رو در روخیلی وقتا با نوع برخورد یک نفر یا نوع کار کردنش مشکل پیدا میکنید اما به دلایل مختلفی مثل ترس از سوتفاهم و رودروایستی و ... به صورت مستقیم حرف و دغدغه‌تون رو بیان نمی‌کنید و این شروع فاجعست. الزاما هر کسی متوجه رفتارای لای زرورق پیچیده شده‌ی شما نمیشه. سعی کنید همیشه، مستقیم و روشن حرفتون رو منتقل کنید تا بتونید مشکلات رو برطرف کنید.سوتفاهم، شمشیری از عالم غیبسوتفاهم میتونه بلای خانمان سوزی برای روابط داخل تیم باشه. هر جا احساس کردید سوتفاهمی پیش اومده باید در اسرع وقت برطرفش کنید. حواستون باشه اگه شخصی با هر رفتاری براش سوتفاهم پیش میاد، قطعا اون فرد، مناسب تیم شما نیست. چون شرط اول هر تیم، توانایی ارتباط برقرار کردن با هم دیگس و مشخصا شما و اون شخص تو این مورد به مشکل برخوردید.مشورت کننده و تصمیم گیرندهنجات‌بخش‌ترین ویژگی یک مدیر، قدرت مشورت گرفتنش می‌تونه باشه.مشورت گرفتن درباره موضوعات مختلف، زوایای جدیدی از اون موضوع رو روشن می‌کنه. اما مراقب باشید این ویژگی باعث از بین رفتن قدرت تصمیم گیریتون نشه. در کنار هر مشورت حواستون باشه تصمیم گیرنده شمایید و سعی کنید از مشورت به عنوان ابزاری برای تصمیم گیری استفاده کنید نه راهی برای فرار از تصمیم گیری.قلم، رفیق قدیمی هر مدیرنوشتن رو از یاد نبرید. مشکلات و تصمیم گیری‌ها رو مکتوب کنید. این نوشتن‌ها همیشه توی شرایط سخت به داد شما می‌رسن، فراموشی رو به حداقل می‌رسونن و باعث ایجاد نظم فکری میشن.مدیری مقبول باشیداگر تیم، شما رو به عنوان مدیر خودش قبول نداشته باشه و در توانایی‌های شما شک داشته باشه، شما تنها خواهید بود. هر مدیر باید توانایی‌های خودشو اثبات کرده باشه تا اعتماد تیمشو توی تصمیم‌گیری‌ها به همراه داشته باشه. یادتون باشه بزرگترین سرمایه‌ی هر مدیر، تیم یکپارچه‌ش خواهد بود.آرامش، حلال هر مشکلتوی شرایط طوفانی دریا، ناخدای کشتی باید با آرامش خدمه رو رهبری کنه تا بتونن جون سالم به در ببرن. هر مدیر باید بتونه توی شرایط بحرانی به خودش مسلط باشه تا بتونه تصمیم های درستی بگیره. نگاه افراد تیم شما، به رفتار‌های شما خواهد بود.صمیمیت در عین حفظ جایگاهصمیمیت باعث نزدیکی و قوی‌تر شدن تیم میشه اما نباید عامل از بین رفتن جایگاه هر شخص توی تیم بشه. حفظ حرمت و جایگاه اشخصاص باید جزو اولویت‌های مهم هر تیم باشه.اشدا علی الکفار و رحما بینهم!سعی کنید توی تیم خودتون، فارغ از جدی بودن کمی مهربون باشید. البته تا جایی که سواستفاده نشه. در کنارش این مهربونی، توی مذاکرات برای امتیازگیری یا برخوردهای بیرون تیم آدم سختی باشید. تا وقتی که از تیمتون محافظت کنید، تیم شما هم پشت شما خواهد بود.امیدوارم این یادآوری‌های کوچیک تجربه مدیریت بهتر و موفق‌تری رو برای شما به ارمغان بیاره که هیچ چیز مثل برنده شدن خستگی ‌آدم رو در نمیبره</description>
                <category>امیرسینا ماندگاری</category>
                <author>امیرسینا ماندگاری</author>
                <pubDate>Tue, 04 Feb 2020 20:43:34 +0330</pubDate>
            </item>
            </channel>
</rss>