<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی آیتی</title>
        <link>https://virgool.io/feed/@ali_ayati</link>
        <description>مهندس کامپیوتر و برنامه نویس | علاقه مند به لینوکس و دنیای اوپن سورس | عاشق طبیعت و توسعه فردی</description>
        <language>fa</language>
        <pubDate>2026-06-17 01:45:32</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1278062/avatar/Sd3WVV.jpeg?height=120&amp;width=120</url>
            <title>علی آیتی</title>
            <link>https://virgool.io/@ali_ayati</link>
        </image>

                    <item>
                <title>نکاتی ساده اما مهم برای نوشتن یک رزومه خوب</title>
                <link>https://virgool.io/@ali_ayati/%D9%86%DA%A9%D8%A7%D8%AA%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A7%D9%85%D8%A7-%D9%85%D9%87%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DB%8C%DA%A9-%D8%B1%D8%B2%D9%88%D9%85%D9%87-%D8%AE%D9%88%D8%A8-bv8vgm3ljmv7</link>
                <description>Copyright: zety.comسلام! توی این پست میخوام چند نکته واسه رزومه نوشتن بگم که خیلی ساده است اما بعضی وقت ها به فراموشی سپرده میشه.به زبان انگلیسی بنویسید.نوشتن رزومه به زبان انگلیسی چندین مزیت داره:این حس به کارفرما منتقل میشه که شما زبان انگلیسی تون خوبه.برای موقعیت های بین المللی یک قدم جلو میوفتید.خوانایی رزومه توسط ماشین(کامپیوتر) و حتی انسان بالاتر میره.حرفه ای تر به نظر می رسید. (که تمام هدف تان از رزومه نوشتن باید همین باشه)شرکت های خوب فارسی زبان رزومه انگلیسی رو قبول و حتی تشویق میکنن. اگه شرکتی بخاطر انگلیسی بودنِ رزومه، شما رو رد کرد خوشحال بشید که قرار نیست باهاشون همکاری کنید!با لاتک (LaTeX) بنویسید.به جای واژه های پرداز هایی نظیر مایکروسافت ورد سعی کنید کم کم به لاتک روی بیاورید. لاتک یک سیستم حروف چین (مثل ورد) که امروزه در اکثر جاهای معتبر مانند انتشارات مقاله های علمی، دانشگاه ها، کنفرانس ها و ... استفاده میشه. اگه لاتک بلد نیستید نوشتن رزومه میتونه پروژه خوبی براتون باشه. همچنین در سایت Overleaf [۱] کلی تمپلیت با کلاس برای رزومه نوشتن هست.تک رزومه ای نباشید!توی پست قبلی [۲]، هم اشاره کردم. هر رزومه باید خاص موقعیت شغلی که اپلای میکنید باشه و رزومه رو جوری ویرایش کنید که به اهداف موقعیت شغلی و شرکت مورد نظر بیاد. اینجوری نباشه که یک رزومه بنویسید و اونو ۱۰ جای مختلف بفرستید. برای نوشتن رزومه و اپلای کردن واسه موقعیت های مختلف، وقت بگذارید! (نتیجه اش را خواهید دید)خط زمانی را رعایت کنید.در لیست کردن تجربه های گذشته خودتون خط زمانی رو رعایت کنید. بدین صورت که جدید ترین تجربه ها تون باید اول باشه و قدیمی ترین تجربه ها تون باید آخر لیست بشه. (ترتیب جدید به قدیم)از Action Verb ها و اعداد و ارقام استفاده کنید.سعی کنید کار هایی که کردید و نتایجش رو با اعداد و ارقام نشون بدید. راستشو بخواید نمیدونستم Action Verb به فارسی چی میشه. در ادامه یک مثال عالی از جملاتی که با Action Verb شروع شده و از اعداد و ارقام استفاده کرده رو میتونید ببینید:Conceptualized and spearheaded a new blog initiative that united engineers, designers and writers, generating over 3 million organic sessions and introducing over 1 million unique users to the website.هر چه ساده تر، بهتر :)اگه حال ندارید رزومه رو خودتون بنویسید و میخواید از تمپلیت ها و cv builder ها استفاده کنید، قالبی رو انتخاب کنید که ساده باشه. هر چه ساده تر باشه بهتره. دقت کنید زیبایی ظاهری رزومه زیاد مهم نیست (به جز یه سری شغل های خاص مثل UI/UX Designer یا Graphic Desinger). چیزی که مهمتره کار هایی هست که انجام دادید و حتی از این مهمتر توانایی شما در ارایه دادنش هست.منابعhttps://www.overleaf.com/https://vrgl.ir/ZNjXf</description>
                <category>علی آیتی</category>
                <author>علی آیتی</author>
                <pubDate>Thu, 24 Nov 2022 08:39:13 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت های رزومه و سی وی</title>
                <link>https://virgool.io/@ali_ayati/cv-vs-resume-rwomruub5iqb</link>
                <description>سلام تو این پست می خوام در مورد رزومه و سی وی صحبت کنم. سی وی کلمه ای لاتین (CV: Curriculum Vitae) به معنی شرح زندگی و رزومه کلمه ای فرانسوی به معنی خلاصه است.شباهت ها1. هر دو باید Specific یا منظور محور باشند. به عنوان مثال رزومه ای که برای شرکت X می فرستید بهتره متفاوت باشه با رزومه ای که برای شرکت Y می فرستید. این تفاوت به این معنی نیست که کلا رزومه ای جدید و کاملا متفاوت برای هر موقعیت داشته باشد. بلکه رزومه خودتون رو متناسب با نیاز های شرکت تغییر بدید. به عنوان مثال اگه شرکت X به فردی مدیر نیاز داره بهتره تجربه های مرتبط با مدیریت رو بولد کنید و روی اونا مانور بدید.2. در هر دو باید بهترین خودتون رو نشون بدید. خارجی ها میگن Sell yourself ینی خودتون رو بفروشید. بهترین ویژگی ها تون چیه و چرا باید به شما توجه ویژه ای بشه؟3. هر دو برای موقعیت های شغلی و آکادمیک مورد استفاده قرار میگیره. معمولا رزومه شما توسط چند نفر بررسی میشه و در صورت عبور از یک سری فیلتر های خاص دعوت به مصاحبه میشید.4. هیچ کدام حالت داستانی ندارند و موضوعات شخصی در هیچ کدام نباید مطرح شود.تفاوت هادر ایران متاسفانه یا خوشبختانه تفاوت خاصی میان سی وی و رزومه وجود نداره و حتی خیلی از شرکت ها و اداره ها حتی نمیدونن اینا متفاوت هستند. اما هنگامی که برای موقعیت های بین المللی و خارجی اپلای میکنید این مسئله کوچیک، مهم میشه.در CV تاریخچه کامل تجربه های شما بیان می شود و شامل شرح و توضیح بیشتری است. بنابراین سی وی طولانی تر از رزومه است. خودم به شخصه سی وی 30 صفحه ای دیدم! در رزومه صرفا تصویری فشرده شده از تجربه های شما نشون داده میشه و معمولا 1 یا 2 صفحه است به صورتی که کارفرما بتونه با یه نگاه ساده در حد 30 ثانیه بفهمه شما کی هستید و چه تجربه و مهارت هایی دارید.رزومه معمولا برای موقعیت موجود در بازار کار و صنعت استفاده میشه، اما سی وی برای موقعیت های آکادامیک و کار در دانشگاه ها.دقت کنید از لحاظ ظاهری سی وی و رزومه تقریبا شبیه هم هستند فقط در فشرده سازی یا شرح مطالب تفاوت دارند.کاور لتر چیست؟در بعضی موقعیت های شغلی علاوه بر رزومه از شما کاور لتر هم خواسته میشه.کاور لتر فرمت یک نامه رسمی رو داره که یک صفحه هم بیشتر نیست. شامل 4 یا 5 پاراگراف.در کاور لتر که میتونه حالت داستانی داشته باشه شما بایداز خودتوناز تجربه های که بدست آوردیداز اینکه چرا شما برای موقعیت شغلی Z فردی مناسب هستیداز اینکه چرا شما برای شرکت W میتونید فردی مفید باشیدو از اهداف آینده تون بگید!نمونه هانمونه از یک رزومهنمونه از صفحه اول یک سی وینمونه ای از یک کاور لترامیدوارم این مطلب براتون مفید بوده باشه ❤ -- سیدعلی آیتی</description>
                <category>علی آیتی</category>
                <author>علی آیتی</author>
                <pubDate>Mon, 07 Nov 2022 08:54:43 +0330</pubDate>
            </item>
                    <item>
                <title>مقدمه ای بر برنامه نویسی آسنکرون</title>
                <link>https://virgool.io/@ali_ayati/%D9%85%D9%82%D8%AF%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D8%B3%D9%86%DA%A9%D8%B1%D9%88%D9%86-picaqokvtust</link>
                <description>تصویر از koyeb.comبرای درک آسنکرون یا Async فرض کنید تابعی برای انجام کارش باید منتظر گرفتن نتیجه از یک تابع دیگر بماند. در حالت عادی کل جریان (Thread) برنامه متوقف (Block) می شود اما اگر در زمان انتظار، جریان برنامه را بسپاریم به یک وظیفه (Task) دیگر، بهره وری بهتری نخواهیم داشت؟دو تصور رایج اما اشتباهبرنامه نویسی آسنکرون لزوما به معنای افزایش بازدهی یا performance نیست! بلکه فقط تعداد تسک ها یا به عبارت دیگر توان عملیاتی (throughput) برنامه افزایش می یابد.برنامه نویسی آسنکرون، برنامه نویسی multi-thread محسوب نمی شود و این دو موضوع کاملا متفاوت هستند. یک برنامه می توان در کنار single-thread یا multi-thread بودنش سنکرون یا آسنکرون باشد.مثال ساده برای درک بهترقطعه کد زیر را در نظر بگیرید:مثال ساده از برنامه نویسی سنکرونهمانطور که دیده می شود تابع count سه بار باید اجرا شود و خود تابع count به تابع sleep وابسته است و باید منتظر بماند کارش تمام شود. بنابراین خروجی چیزی شبیه زیر خواهد بود و حدود سه ثانیه طول میکشد تا برنامه به اتمام برسد.One
Two
One
Two
One
Two
countsync.py executed in 3.01 seconds.اما اگر همین زمان انتظار برای تابع sleep صرف انجام کار دیگری شود (به عنوان مثال تابع count برای بار دوم اجرا شود و...) بهره وری برنامه افزایش خواهد یافت. با برنامه نویسی آسنکرون قطعه کد بالا به صورت زیر نوشته می شود:مثال ساده از برنامه نویسی آسنکروندر کد فوق، هنگام انتظار برای تابع sleep تابع بعدی که مجددا همان count می باشد صدا زده می شود و نتیجه به صورت زیر خواهد بود. (ترتیب خروجی ها را مقایسه کنید) دقت کنید اجرای این برنامه تنها حدود 1 ثانیه زمان برده است. چیزی حدود یک سوم کد قبلی.One
One
One
Two
Two
Two
countasync.py executed in 1.01 seconds.مثال کاربردییکی از سناریو های متداول، ارسال درخواست های HTTP متعدد و کار کردن با اطلاعات دریافتی هست. در قطعه  کد زیر قرار است فقط 10 درخواست HTTP فرستاده شود و نتایج آن در یک دیکشنری ذخیره شود. اجرا این کد در حالت عادی حدود 6 ثانیه طول می کشد!گرفتن اطلاعات از 10 منبع مختلف به صورت سنکرونخروجی:main.py executed in 6.93 seconds.اما اگر همین کد با منطق آسنکرون نوشته شود، زمان اجرای برنامه به طرز چشم گیری کاهش می یابد. ماژول httpx یک ماژول مدرن برای وب با قابلیت پیشتیبانی از async است.گرفتن اطلاعات از 10 منبع مختلف به صورت آسنکرون خروجی:main.py executed in 1.91 seconds.منابعبلاگ فنی مایکروسافتوب سایت Real Pythonداکیومنت  httpx</description>
                <category>علی آیتی</category>
                <author>علی آیتی</author>
                <pubDate>Wed, 29 Dec 2021 05:41:40 +0330</pubDate>
            </item>
                    <item>
                <title>نقشه راه برنامه نویسی: حتی برای شما دوستِ عزیز!</title>
                <link>https://virgool.io/@ali_ayati/%D9%86%D9%82%D8%B4%D9%87-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AD%D8%AA%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D9%85%D8%A7-%D8%AF%D9%88%D8%B3%D8%AA%D9%90-%D8%B9%D8%B2%DB%8C%D8%B2-cppr0yrqup1p</link>
                <description>تصویر از toptal.ioیکی از سوالاتی که خیلی از من پرسیده شده و قطعا ممکنه سوال شما هم باشه اینه:چجوری می تونم برنامه نویس بشم؟اما قبل از اینکه این سوال رو جواب بدم، سعی کنید سوال زیر رو جواب بدید:آیا به برنامه نویسی علاقه کامل دارم؟اگه پاسخ تون به این سوال مثبته می تونید از ادامه خوندن این بخش صرف نظر کنید و مستقیم برید نقشه راه رو مطالعه کنید. (اسکرول کنید) اما اگر پاسخ تون به این سوال منفی هست، متاسفانه باید بگویم شروع و ادامه این مسیر ممکنه سخت باشه براتون. چرا که برنامه نویس شدن یک شبه، و حتی چند ماهه اتفاق نمیوفته و مثل هر حرفه دیگه ای کلی باید تمرین کنید و ممارست به خرج بدید و اگر علاقه ای نداشته باشید ممکنه خیلی سریع دلسرد بشید و بیخیالش بشید!واقعا نمی دونم به برنامه نویس شدن علاقه ای دارم یا نه!شاید کمی عجیب باشه اما ممکنه واقعا ندونید علاقه ای به برنامه نویس شدن دارید یا نه. ینی میدونید که جذابه اما نمیدونید ارزش داره وقت بزارید روش و سختی های راهش رو تحمل کنید یا نه؟ جواب این سوال برای هر انسانی ممکنه متفاوت باشه اما اگر من در همچین موقعیتی قرار داشتم به صورت زیر فکر می کردم.آیا شغل و حرفه ای دارم و ازش راضی هستم؟ اگه جواب تون به این سوال آره است پیشنهاد می کنم وقت و تمرکز تون رو بذارید روی شغل و حرفه ای که دارید و سعی کنید هر روز بهتر و حرفه ای تر بشید و دانش و تجربه تون رو بیشتر و بیشتر کنید. قطعا رضایت و درآمد بیشتر نصیب تون خواهد شد. اما اگر کلا هیچ شغل و حرفه ای ندارید و به دنبال شاغل شدن هستید و یا اینکه شغل و حرفه دارید اما بهش علاقه ای ندارید یا ناراضی هستید (به هر دلیلی): باید بگم سختی های راه ارزشش رو داره! برنامه نویسی یاد بگیرید و وارد دنیای تکنولوژی و کامپیوتر بشید، زیرا پر واضح هستش که آینده داره به همین سمت حرکت می کنه. (بدون شک تا کنون کلیدواژه هایی مثل ارز دیجیتال، دنیای مجازی، متاورس، طراحی وب، اندروید و... به گوش تون خورده باشه)پیشنهاد دیگه ای که برای این دسته از دوستان دارم اینه که، به جز برنامه نویسی، بر روی سایر مهارت هایی که میشه با کامپیوتر به دست آورد تحقیق کنید. مانند:فتوشاپ: ویرایش عکس، طراحی لوگو، طراحی کارت ویزیت و...ویرایش و تدوین فیلم: این روز ها خیلی از یوتیوبر ها و شرکت ها به ویرایشگر و تدوین گر ویدیو نیاز دارند.و کلی مهارت دیگه که ممکنه بهشون علاقه بیشتری داشته باشید!سخن پایانی این قسمت:هیچ وقت کورکورانه تصمیم نگیرید و قبلش حتما جنبه های مختلف رو در نظر بگیرید و حسابی تحقیق کنید.نقشه راهتوجه: اینکه این نقشه راه رو چجوری یاد بگیرید و دنبال کنید برای هر شخصی متفاوت هستش و با توجه به مدل خودتون تصمیم بگیرید. مثلا یه نفر توی اینترنت سرچ میکنه و محتوای رایگان می بینه، یه نفر دوره آموزشی ثبت نام میکنه، یه نفر معلم خصوصی می گیره، یکی ممکنه کتاب بخره و یه نفر هم ممکنه خیلی از نقشه راه رو بلد باشه!قدم اول: مفاهیم اولیهحالا که تصمیمت رو گرفتی وقتشه از همین امروز شروع کنی! اولین قدم یادگیری مفاهیم اولیه هستش. این مفاهیم عبارتند از: (منبع: لینک اول، پیوست شده در بخش منابع)قسمت های اصلی کامپیوتر (شامل: CPU و رم و هارد و پاور و مادربورد و گرافیک و ورودی و خورجی ها)تعریف سخت افزار و نرم افزارتاثیر فناوری های مرتبط به کامپیوتر در حوزه های مشاغلسیستم عامل چیست و ویژگی های آنمفاهیم اولیه شبکه های کامپیوتریمقایسه سیستم عامل ها و کاربرد هریکپروتکل چیست و انواع پروتکل های پر کاربردزبان های برنامه نویسی متداول و کاربرد هر کداممفاهیم زبان های سطح بالا و سطح پایین و تفاوت آن دومفاهیم کامپایلر و مفسر، کد ماشینمفاهیم جبر بولی و سیستم اعداد باینری ( صفر و یک)تقویت زبان انگلیسی (اگر ضعف دارید)آیا لازمه واقعا همه این ها رو قبل شروع یاد بگیرم؟ آره! چون قراره کد نویسی کنید و چیزایی بنویسید که کامپیوتر قراره بفهمه و اجرا کنه براتون پس حتما باید باهاش آشنایی اولیه داشته باشید!  از طرفی هم یادگیری زبان انگلیسی خیلی خیلی بهتون کمک میکنه. چرا؟ چون این علم در حال حاضر دست خارجی هاست و کلی منابع خوب فقط به زبان انگلیسی موجوده! حالا تصور کن انگلیسی بلد باشی! به کلی منابع تازه و جدید دسترسی داری و کلی جلو میوفتی!قدم دوم: انتخاب یک زبان برنامه نویسیبعد اینکه مفاهیم اولیه رو یاد گرفتی وقتش میرسه که اولین زبان برنامه نویسی تون رو انتخاب کنید. اگه دوست دارید یک برنامه نویس خوب و حرفه ای باشی پیشنهاد میکنم یکی از زبان های سی، سی پلاس پلاس و یا جاوا را انتخاب کنید. به شخصه توصیه نمی کنم برای شروع سمت زبان هایی مانند Python و یا JavaScript برید. زیرا پایتون برای شروع خیلی ساده هستش و ممکنه با بعضی از مفاهیم مهم برنامه نویسی مثل تخصیص حافظه، پوینتر و... آشنا نشید و از طرفی جاوا اسکریپت پیچیدگی ها و رفتار های عجیب و غریب خودش رو داره و ممکنه گیج بشید.توجه: هیچ گونه مخالفتی با این دو زبان برنامه نویسی ندارم و به شخصه خیلی دوسشون دارم و ازشون استفاده میکنم. اما بدلیل آشنایی که با این زبان ها دارم، آنها را برای شروع مناسب نمیدونم.قدم سوم: یادگیری زبان برنامه نویسی انتخاب شدهساختار کلی زبان برنامه نویسی انتخاب شدهانواع داده ها: int, float, double, long, short, string, Booleanعملگر های محاسباتی: چهار عمل اصلی، مود یا باقی مانده (%)، توان (^)متغیر و اصول نام گذاری آنتبدیل انواع داده ها به یکدیگر: به اصطلاح Type Castingعملگر های مقایسه ای: برابری، بزرگتری، کوچکتری،.....لیست ها و آرایه هامپ یا دیکشنریورودی و خروجی: داده هایی رو در کنسول(ترمینال) از کاربر بگیرید و یا به او نشان دهید.حلقه ها: حلقه for، حلقه while، حلقه do-whileدستورات شرطی: دستورات if، if-else, switch-caseتابعکار با فایلتحقیق در مورد امکانات مخصوص زبان برنامه نویسی انتخاب شده و یادگیری آن ها: مثلا توابع خود زبان یا به اصطلاح توابع built-inقدم چهارم: قدمِ سخت ماجراحالا باید مفاهیم یادگرفته شده رو کلی تمرین کنید. در سایت های مختلف کلی سوال و چالش برنامه نویسی وجود داره که میتونه کمک تون کنه. نمونه ای از این سایت ها عبارتند از:سایت کویرا (ایرانی)سایت TopCoderسایت HackerRankو...پیشنهاد میکنم در این قدم حداقل 100 سوال مختلف رو حل کنید و حسابی خودتون رو به چالش بکشید.قدم پنجم: قدمی طولانی و درازمدت :(در این قدم یادگیری و تمرین کردن با هم باید اتفاق بیوفته چون حجم مطالب زیاده و اگر تمرین نکنید تبدیل میشه به نقطه ضعف تون! حتما حتما حتما تمرین کردن رو جدی بگیرید!یادگیری و تمرین سوکت (Socket Programming)یادگیری و تمرین شی گرایی: کلاس، اصول شی گرایی و...یادگیری و تمرین ساختار های داده: مثل صف، پشته، درخت گراف و....یادگیری و رعایت اصول کدنویسی تمیز یا Clean Codeیادگیری و تمرین الگوریتم های معروف: DFS, BFS, A-Star, Sortingقدم شیشم: پیش به سوی بی نهایت و فراتر از آنحالا که احتمالا سه چهار ماهی باید گذشته باشه، میشه گفت تقریبا برنامه نویسی رو یاد گرفتید. وقتشه یک حوزه تخصصی رو انتخاب کنید و توی اون متخصص بشه. حتما در مورد حوزه های مختلف تحقیق کنید و ببینید به چه چیزی بیشتر علاقه دارید. نمونه هایی از حوزه های مختلف عبارتند از:توسعه وب سمت کاربر یا Front-End توسعه وب سمت سرور یا Back-Endتوسعه نرم افزار های موبایل: اندروید، آی او استوسعه نرم افزار های دسکتاپتوسعه بازیهوش مصنوعییادگیری ماشینو کلی حوزه های مختلف و جذابسخن پایانیدر پایان توجه شما رو به اثر دانینگ کروگر جذب می کنم:تصویر از sinapress.irیادگیری و پیشرفت توی هر چیزی بالا پایین های خاص خودش رو داره، اما شما اینو می دونید! اگه قراره متخصص بشید، هیچ وقت ناامید نشید و دست از تلاش برندارید.سعی کنید تو یه حوزه خوب قوی و متخصص بشید و بعدش برید حوزه های دیگه که علاقه دارید رو هم یادبگیرید. در کل یادگیری همیشه ادامه داره و هیچ وقت نباید متوقف بشید. چون دنیای کامپیوتر داره با سرعت سرسام آوری پیش میره و اگه یاد نگیری عقب میمونی. پس شد:رمز پیشرفت = تمرین زیاد + یادگیری همیشگیبا آرزوی بهترین ها، اون بالا مالاها ببینمتون ?ارتباط با منمن در لینکدین: seyyedaliayatiمن در اینستاگرام: cpt9m0منابعلینک اول</description>
                <category>علی آیتی</category>
                <author>علی آیتی</author>
                <pubDate>Sat, 25 Dec 2021 20:46:54 +0330</pubDate>
            </item>
            </channel>
</rss>