ماهان چمنی

برنامه نویس بک اند .پیشرو با دنیای تکنولوژی

  • نام

    ماهان چمنی
  • تاریخ تولد

    Jan. 1, 2005
  • ایمیل

    mahanch83@gmail.com
  • شماره تماس

    989116967898
  • آدرس

    ایران ، گیلان، رشت
  • ملیت

    ایرانی
درباره من

مهندس نرم افزار


سلام! ماهان چمنی هستم دانشجوی مهندسی کامپیوتر . عاشق برنامه نویسی و یادگیری این دنیای بی انتها .تخصص من بک اند و کد نویسی منطق وبسایت هاست. زبان اصلیم پایتون هستش ولی با زبان های شی گرای دیگه مثل سی شارپ هم خیلی حال میکنم . دوس ندارم بگم چیزی رو بلد نیستم چون هروقت نیاز باشه یادش میگیرم !

رزومه

خلاصه ای از تجربیات و مهارت ها

تحصیلات

  • مهندسی کامپیوتر

    دانشگاه چمران رشت
    1402 - درحال ادامه

    بعد از دادن کنکور و اعلام نتایج و انتخاب رشته تونستم توی دانشگاه شهر خودم تونستم رشته مورد علاقم رو قبول بشم و یه مرحله به مهندس نرم افزار شدن نزدیک شدم.
    الان دیگ میتونم اسممو بزارم نیمچه مهندس!!!

  • دیپلم ریاضی فیزیک

    دبیرستان شهید بهشتی رشت
    1399 - 1402

    به دلیل علاقه زیادم به کامپیوتر و علاقه داشتن به رشته کامپیوتر بین فنی و ریاضی فیزیک برای انتخاب رشته دبیرستانم مونده بودم و چون درسم خوب بود پس خانوادم بهم پیشنهاد دادن که ریاضی فیزیک بخونم ...

تجربه ها

  • ورود به دنیای برنامه نویسی

    خودآموزانه و دوره های اینترنتی و رایگان
    1401 - تا ابد

    قبل از اینکه دیپلممو بگیرم یهو به سرم زد که شروع کنم. یهو حس کردم که ممکنه تو زندگی عقب بیفتم و بعدا وقت نکنم پس یادگیری رو شروع کردم .از سایت های مختلف آموزشی و رایگان (مخصوصا یوتیوب انگلیسی)شروع کردم به یاد گیری و تونستم اولین گام این مسیر رو بردارم!

  • کار بصورت پروژه

    سایت های مختلف پروژه ای
    1402 - 1403

    داشتم به دنبال کار آموزی میگشتم تو آگهی های کار که به سایتی بر خوردم که خیلی جالب بود بهت زبون سی شارپ رو یاد میداد و بعد بهت پروژه های ASP.net میداد . منم سی شارپ یکم بلد بودم و از این زبان خوشم اومد پس شروع کردم توی اون سایت کار کردن.

خصوصیات

رابطه اجتماعی82
علاقه به توسعه نرم افزار99
کد نویسی تمیز74
سرعت یادگیری85
مدیریت زمان78

مهارت ها

  • Python

  • Html

  • Css

  • C#

  • Django

  • Django Rest Framework

  • JavaScript

  • SQL(SQL SERVER, MYSQL,postgerSQL)

  • Asp.Net Core

  • Git

  • Docker

  • PhotoShop

خدمات

کیفیت تنها ملاک نیست

  • معماری تمیز

    معماری تمیز (Clean Architecture) یک الگوی طراحی نرم‌افزار است که توسط رابرت مارتین (بهره‌گیری از مفاهیم از کتاب Uncle Bob) مطرح شده است. این معماری تلاش می‌کند تا ...

    معماری تمیز (Clean Architecture) یک الگوی طراحی نرم‌افزار است که توسط رابرت مارتین (بهره‌گیری از مفاهیم از کتاب Uncle Bob) مطرح شده است. این معماری تلاش می‌کند تا از ایجاد ساختارهایی که به راحتی تغییر یابند و تغییرات در یک قسمت از نرم‌افزار بدون تأثیر بر سایر بخش‌های آن امکان‌پذیر باشد، حمایت کند. در این رویکرد، معمولاً نرم‌افزار به چندین لایه تقسیم می‌شود و هر لایه مسئولیت‌های مشخصی را بر عهده دارد.

    یکی از ویژگی‌های مهم معماری تمیز، جداسازی وابستگی‌ها و تبعیت از اصول Dependency Inversion و Dependency Injection است. این اصول به توسعه دهندگان امکان می‌دهند تا کدهای خود را بدون وابستگی به جزئیات پیاده‌سازی کنند و بتوانند بخش‌های مختلف کد را به راحتی تست و تغییر دهند.

    در معماری تمیز، لایه‌های مختلفی مانند لایه مرزی (Interface Adapters)، لایه کاربردی (Use Cases) و لایه دامنه (Domain) تعریف می‌شوند. لایه مرزی مسئولیت تبدیل داده‌های ورودی و خروجی از و به فرمت‌هایی است که توسط لایه‌های بیرونی قابل فهم هستند. لایه کاربردی شامل قوانین کسب‌وکار و منطق برنامه است و لایه دامنه از مفاهیم بنیادی برنامه مانند مدل‌ها و انتیتی‌ها ساخته می‌شود.

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

  • امنیت

    امنیت داخل برنامه‌نویسی یک مفهوم کلیدی در طراحی و توسعه نرم‌افزارها است که به حفاظت از سیستم‌ها و داده‌ها درون برنامه‌ها اشاره دارد. این مفهوم شامل مجموعه‌ای از...

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

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

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

    علاوه بر این، امنیت داخل برنامه‌نویسی شامل مسائلی مانند مدیریت حافظه، حفاظت از حقوق دسترسی کاربران، و جلوگیری از حملاتی مانند افشای اطلاعات محرمانه به طور تصادفی (به عنوان مثال از طریق پیام‌های خطا) می‌شود.

    در کل، امنیت داخل برنامه‌نویسی نیازمند یک رویکرد جامع و دقیق به طراحی، توسعه و تست نرم‌افزار است. برنامه‌نویسان باید با استفاده از تکنیک‌های مربوطه و پیروی از استانداردهای امنیتی، از پایداری و امنیت برنامه‌های خود اطمینان حاصل کنند.

  • سریع

    سرعت در برنامه‌نویسی یکی از موارد حیاتی است که تأثیر مستقیم بر عملکرد و کارایی نرم‌افزارهای تولید شده دارد. اهمیت سرعت در برنامه‌نویسی ...

    سرعت در برنامه‌نویسی یکی از موارد حیاتی است که تأثیر مستقیم بر عملکرد و کارایی نرم‌افزارهای تولید شده دارد. اهمیت سرعت در برنامه‌نویسی از چند زاویه قابل بررسی است:

    1. **تجربه کاربری:** کاربران نرم‌افزارها انتظار دارند که برنامه‌ها به سرعت واکنش نشان دهند و بدون تأخیر عمل کنند. اگر نرم‌افزار با تأخیر زیادی روبرو شود، تجربه کاربری به شدت آسیب می‌بیند و این ممکن است منجر به از دست رفتن کاربران و افزایش نرخ خروج از برنامه شود.

    2. **کارایی:** سرعت کد برنامه می‌تواند تأثیر زیادی بر کارایی و عملکرد آن داشته باشد. برنامه‌هایی که با سرعت اجرای بالا عمل می‌کنند، به‌طور کلی بهینه‌تر و کارآمدتر عمل می‌کنند و ممکن است از منابع سخت‌افزاری و نرم‌افزاری کمتری استفاده کنند.

    3. **مقیاس‌پذیری:** برنامه‌هایی که با سرعت اجرای بالا طراحی شده‌اند، معمولاً قابلیت مقیاس‌پذیری بهتری دارند. این به معنای این است که زمانی که بار کاری بر روی برنامه زیاد می‌شود، برنامه قادر است به‌طور موثر با این بار کاری اضافی برخورد کند و کارایی خود را حفظ کند.

    4. **هزینه‌های عملیاتی:** برنامه‌هایی که با سرعت بالا اجرا می‌شوند، معمولاً نیاز به منابع سخت‌افزاری کمتری دارند. این به این معناست که هزینه‌های عملیاتی مربوط به میزبانی و پشتیبانی این نرم‌افزارها کاهش می‌یابد.

    5. **بهبود کد و توسعه پذیری:** کدهایی که با سرعت بالا نوشته شده‌اند، معمولاً بهتر قابل درک و توسعه هستند. این به معنای این است که توسعه‌دهندگان می‌توانند به راحتی کد را مدیریت کنند و بهبود‌های لازم را اعمال کنند بدون اینکه با مشکلات کارایی و عملکرد روبرو شوند.

    در کل، سرعت در برنامه‌نویسی نقش بسیار مهمی در عملکرد، کارایی و موفقیت نهایی یک نرم‌افزار دارد و باید به عنوان یک اولویت اساسی در فرآیند توسعه نرم‌افزار مدنظر قرار گیرد.

  • قدرتمند

    اهمیت قدرتمندی در برنامه‌نویسی به مفهوم توانایی ایجاد کدی است که عملکرد بهینه و قابل اعتماد را داشته باشد و در عین حال کدنویسی نظیف و قابل توسعه باشد. این قدرتمندی...

    اهمیت قدرتمندی در برنامه‌نویسی به مفهوم توانایی ایجاد کدی است که عملکرد بهینه و قابل اعتماد را داشته باشد و در عین حال کدنویسی نظیف و قابل توسعه باشد. این قدرتمندی در برنامه‌نویسی از اهمیت بسزایی برخوردار است و در زیر به برخی از دلایل آن پرداخته خواهد شد:

    1. **کارایی و بهینه‌سازی**: قدرتمندی در برنامه‌نویسی به برنامه‌نویسان امکان می‌دهد تا کدهایی با کارایی بالا و بهینه را ایجاد کنند. این شامل استفاده از الگوریتم‌ها و ساختارهای داده مناسب، بهره‌وری از منابع سخت‌افزاری و بهینه‌سازی در زمان اجرا می‌شود.

    2. **قابلیت نگهداری و توسعه**: قدرتمندی در برنامه‌نویسی به معنای نوشتن کدی است که قابل نگهداری و توسعه باشد. این شامل استفاده از روش‌های نظیف کدنویسی، اصول طراحی نرم‌افزار و استفاده از الگوهای طراحی است که کد را قابل فهم و تغییر دهد.

    3. **ایمنی و امنیت**: قدرتمندی در برنامه‌نویسی به معنای نوشتن کدی است که امنیت سیستم را تضمین کند. این شامل جلوگیری از حملات مخرب مانند نفوذ، نفوذگری و حملات از راه دور است.

    4. **سهولت در رفع اشکالات**: کدنویسی قدرتمند به برنامه‌نویسان این امکان را می‌دهد که به سرعت و به راحتی اشکالات و باگ‌های موجود در کد را شناسایی و رفع کنند، این امر باعث کاهش هزینه‌ها و زمان مورد نیاز برای تعمیر و توسعه نرم‌افزار می‌شود.

    5. **ارتباطات و همکاری**: قدرتمندی در برنامه‌نویسی امکان ایجاد کدی که به راحتی قابل فهم و همکاری با برنامه‌نویسان دیگر باشد را فراهم می‌کند. این امر باعث می‌شود که تیم‌های برنامه‌نویسی بتوانند به صورت هماهنگ‌تر و کارآمدتر با یکدیگر کار کنند.

    به طور کلی، قدرتمندی در برنامه‌نویسی از اهمیت بسیاری برخوردار است زیرا باعث می‌شود که نرم‌افزارها به صورت بهینه‌تر، قابل اطمینان‌تر و قابل توسعه‌تری ساخته شوند و در نتیجه، نیازهای کاربران را بهتر ارضا کنند.

  • کارآمد

    اهمیت کارایی (Efficiency) در برنامه‌نویسی به عملکرد بهینه و موثری که یک برنامه نرم‌افزاری ارائه می‌دهد، اشاره دارد. در واقع، کارایی یکی از عوامل اساسی در ارزیابی کیفیت ...

    اهمیت کارایی (Efficiency) در برنامه‌نویسی به عملکرد بهینه و موثری که یک برنامه نرم‌افزاری ارائه می‌دهد، اشاره دارد. در واقع، کارایی یکی از عوامل اساسی در ارزیابی کیفیت یک نرم‌افزار است و در زیر به برخی از دلایل اهمیت آن پرداخته خواهد شد:

    1. **کارایی عملیاتی**: برنامه‌هایی که با کارایی بالا طراحی شده‌اند، قابلیت انجام عملیات به سرعت و با بهینه‌ترین روش را دارند. این به معنای اجرای سریع تر و پاسخگوتر به درخواست‌های کاربران است که تجربه کاربری بهتری را ایجاد می‌کند.

    2. **کارایی منابع**: برنامه‌های با کارایی مناسب، منابع سخت‌افزاری و نرم‌افزاری را به بهترین شکل ممکن بهره‌برداری می‌کنند. این به معنای صرفه‌جویی در مصرف منابع مانند حافظه، پردازنده و پهنای باند است که می‌تواند هزینه‌های سرور و زمان اجرا را کاهش دهد.

    3. **پذیرش کاربران**: کاربران انتظار دارند که نرم‌افزارها به سرعت و با کارایی مناسب واکنش دهند. برنامه‌های با کارایی بالا توانایی جلب رضایت کاربران را دارند و می‌توانند از نظر رقابتی در بازار بهتر عمل کنند.

    4. **کاهش هزینه‌ها**: برنامه‌نویسی با توجه به کارایی به میزان قابل توجهی هزینه‌های توسعه و نگهداری را کاهش می‌دهد. این امر به دلیل کاهش نیاز به سخت‌افزار قوی‌تر، کاهش مصرف انرژی و همچنین کاهش زمان مورد نیاز برای تست و تحویل نرم‌افزار است.

    5. **مقیاس‌پذیری**: برنامه‌های با کارایی مناسب قابلیت مقیاس‌پذیری را دارند، به این معنا که می‌توانند به راحتی به نیازهای رشد و تغییر در طول زمان پاسخ دهند بدون این که عملکرد و کارایی آنها کاهش یابد.

    بنابراین، کارایی در برنامه‌نویسی نقش بسیار مهمی را ایفا می‌کند و تاثیر بسزایی بر کیفیت نرم‌افزار، رضایت کاربران و هزینه‌های مرتبط با توسعه و نگهداری دارد.

  • کاربر پسند

    کاربرپسندی (User-Friendliness) در برنامه‌نویسی به مفهوم ایجاد نرم‌افزارهایی است که به راحتی توسط کاربران قابل استفاده و فهم باشند. اهمیت کاربرپسندی در برنامه‌نویسی ...

    کاربرپسندی (User-Friendliness) در برنامه‌نویسی به مفهوم ایجاد نرم‌افزارهایی است که به راحتی توسط کاربران قابل استفاده و فهم باشند. اهمیت کاربرپسندی در برنامه‌نویسی به دلایل زیر قابل بررسی است:

    1. **افزایش رضایت کاربران**: نرم‌افزارهایی که کاربرپسند هستند، باعث افزایش رضایت و رضایتمندی کاربران می‌شوند. کاربران احساس خوشایندی و راحتی در استفاده از نرم‌افزار خواهند کرد که این امر باعث افزایش استفاده مداوم و پایدار از نرم‌افزار می‌شود.

    2. **کاهش نیاز به آموزش**: نرم‌افزارهای کاربرپسند نیاز به آموزش کمتری برای استفاده از آنها دارند. این به معنای کاهش هزینه‌ها و زمان صرف شده برای آموزش کاربران است.

    3. **افزایش بهره‌وری**: نرم‌افزارهای کاربرپسند باعث افزایش بهره‌وری کاربران می‌شوند. زیرا کاربران می‌توانند به راحتی و با سرعت بیشتری وظایف خود را انجام دهند و مشکلات کمتری با آنها روبرو شوند.

    4. **کاهش خطاها**: وجود یک واسط کاربری مناسب و کاربرپسند می‌تواند کمک کند تا خطاها و اشتباهات در استفاده از نرم‌افزار کاهش یابد. کاربران با استفاده از رابط کاربری کاربرپسند، کمتر به اشتباهات برخوردار می‌شوند و عملکرد نرم‌افزار بهبود می‌یابد.

    5. **افزایش رقابت‌پذیری**: نرم‌افزارهایی که کاربرپسند هستند، از نظر رقابتی بیشتر موفق هستند. زیرا کاربران تمایل دارند از نرم‌افزارهایی استفاده کنند که راحت، قابل فهم و دارای واسط کاربری مناسبی هستند.

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

با من در ارتباط باشید

از روش های پایین میتونید با من در ارتباط باشید

  • تماس

    989116967898
  • ایمیل

    mahanch83@gmail.com
  • آدرس

    ایران ، گیلان، رشت
Please Fill Required Fields