وقتی شروع میکنیم به کد زدن میخوایم هرچیزی که میخوایم رو پیاده کنیم. در راستای چیزی که میخوایم تا میتونیم یاد میگریم هرچی به ذهنمون میرسه پیاده میکنیم یه عده مینجا میمونند و فقط تا آخر عمر حرفهایشون دارند چیزایی که میخواند رو تولید میکنند.
اما یک عده از این مرحله گذر میکنیم و میریم به سمت بازار توی بازار دنبال این هستیم که بتونیم برنامههایی بنویسیم که تعداد افراد بیشتری ازش استفاده کنند چون تفکرمون اینه که هرچقدر آدمای بیشتری کارمون رو بخواند ارزش کارمون بیشتره و درآمد ازش بیشتره یکم که میگذره چشممون کم و بیش به کارهایی باز میشه که برای این که نتیجه برنامت رو بخوای تمیز در بیاری نیاز نیست با نیاز های تعداد زیادی آدم متناسبش کنی واضح تر بخوام بگم اینه که وقتی برنامه عمومی مینویسی نیازه اگر 1 مایون نفر دارند ازش استفاده میکنند این برنامه باب میل همه اون یک ملیون نفر باشه وگرنه با صرف کمتر از 30 ثانیه وقت کلا کارتو از زندگیشون پاک میکنند و این پایان کارته برای اون فرد ولی این قضیه به این سادگی نیست هرچقدر تعداد افراد بره بالاتر هم کار سخت تر میشه هم تناقضات بیشتر میشه چون یکی یه چیزی رو میخواد ولی اون یکی دقیقا مخالف اینو میخواد تا از برنامه استفاده کنه بعد یک مدت سر و کله زدن با افراد یک عده میرند سمت کارهای سازمانی که قراره نیاز تعداد محدودی رو برطرف کنند و همه هم قراره از گلوگاه مدیر رد بشه درخواستهاشون اینطوری قضیه راحت تره ولی بعد یک مدت باز مشکلاتی پیش میاد نیتی افراد پیش میاد خواستههای عجیب و متناقض که باعث میشه وقتی برنامت داره مثل یک ماشین با سرعت بالا میره یکدفعه بزنی دنده عقب همه چیزو نابود کنی بعد از یک مدت یک عده از این مرحله هم گذر میکنند و میرند سمت انجام کاری که کسی نمیخواد یا اگر بخوایم دقیق تر بگیم خیلیها نیاز دارند بهش ولی اصلا از وجود این نیاز خبر ندارند یا در بعضی موارد در مرحله بعد سراغ ایجاد نیاز میرند یعنی نرمافزاری رو تولید میکنند که وقتی به طرف معرفی میشه طرف کم کم بهش وابسته میشه و یک نیاز جدید براش ایجاد میشه نیازی که اصلا تا این حد بهش بها داده نشده بود و اصلا شاید نیاز هم نبود بها داده بشه بهش.
ادامه مطلببا سلام
با توجه به بالا گرفتن بحث قاچاق و صادرات دامها ماده به خارج از کشور که باعث میشه توی سالها آینده به مشکل کمبود گوشت و محصولات دامی دچار بشیم داشتم فکر میکردم به این که این مسئله گریبانگیر ما توی برنامهنویسی هم هست در واقع یک بحثی که هست محاجرت برنامهنویسان و محندسان نرمافزار خوبمون به خارج هست و یکی از بحث های دیگه کسانی هستند که میمونند ولی فقط دورکاری میکنند و از خارج پروژه میگیرند.
اونهایی که میرند که مشخصه ضرری که دارند وارد میکنند در واقع حاضر نیستند توی ایران کار کنند و این باعث میشه متخصص کم باشه و وقتی لازم داریم مجبور بشیم از متخصصین کشورهای خارجی استفاده کنیم.
اما کسانی که از داخل پروژه رو از خارج میگیرند و انجام میدند هم به نوبه خودشون ضرر دارند و فکر میکنند دارند با وارد کردن دلار و صادر کردن دانش به کشور خدمت میکنند. ولی چیزی که من فکر میکنم ممکنه مشکل ایجاد کنه اینه که یه نیرو که دورکاری میکنه در واقع داره در یک جهت فنی به یک تیم خارجی کمک میکنه و بحث مدیریت پروژه یا همکاری توی محیط واقعی رو یاد نمیگیره و وقتی مثلا نیاز باشه یک کار داخلی در حجم گسترده انجام بشه توی بحث مدیریت پروژه مشکل دارم تازه اگر بشه این نیرویی که دورکاری میکنه رو متقاعد کرد که با شرکتهای داخلی کار کنه چون معمولا ترس داره از این که شرکت داخلی فقط برای یک پروژه بخوادش و اینم هست که حاضر نیست مزایای دورکاری رو کنار بذاره و شرکتهای داخلی هم با توجه به ضربههایی که از دورکاری افرادی با توانایی کم خوردند حاضر به دورکاری نیستند.
در کل همونطور که داریم توی بحث دام به مشکل میخوریم به نظرم توی بحث نیروی خوب برای انجام پروژههای برنامهنویسی بزرگ هم به مشکل یه مقداری خوردیم و یک مقدار بیشتری خواهیم خورد اگر با همین فرمون پیش بریم.
در انتها اینو بگم که به کسی بر نخوره و نگید اومدی مهندس نرم افزار و برنامه نویس رو با دام مقایسه کردی این که بحث دام رو گفتم صرفا برای این بود که میخواستم بگم چی باعث شد به این فکر بیوفتم و الهام گرفتن از طبیعت و محیط اطراف هم اشکالی نداره هموطور که از مورچه برای الگوریتم الهام گرفته میشه از دام هم برای تشخیص مشکلاتمون الهام بگیریم بد نیست ادای آدمای خیلی خیلی فهمیده رو در نیارید اصل مطلب رو بگیرید.
با سلام
پیرو سوالی که امشب یه خانم محترم از بنده پرسیدند لازم دونستم یک سری توضیحات رو در قالب یک پست منتشر کنم.
سوال ایشون این بود که :
توی این پست قصد دارم یک توضیح جامع در مورد انواع برنامهها بدم با توجه به درکی که خودم از این موضوع دارم و البته همینجا بگم بخش نظرات بروی همه دوستان چه باتجربه تر برای ایراد گرفتن از بنده و چه کم تجربه تر برای سوال کردن بازه، راحت باشید.
ادامه مطلببا سلام خدمت دوستان عزیز
متاسفانه در مجامع استارآپی موج ناامیدی داره شکل میگیره و تمام مشکلاتی که از اول با کسب و کار بود رو گردن حاکمیت میندازند و نتیجه میگیرند که دیگه توی ایران نمیشه کار کرد و همه محکوم به شکست هستند.
اما من نظرات متفاوتی دارم که دوستا دارم بیان کنم و اگر بحثی هست با دوستان انجام بدم.
اول از شکست بگم که آمار شکست استارتاپ توی ایران اگر اشتباه نکنم آمار رسمیش بیش از 80 و تا حدود 90 درصد هست.
حالا جالب اینه که این آمار توی آمریکا هم همین 90 درصد هست.
ادامه مطلبجالب بود همیشه این رو میدونستم که وقتی کسی نخواد ابزار یا روشی رو که سالها باهاش کار کرده کنار بذاره بهش میگفتیم متعصب ولی در مقابل کسی که هرچی میومد میپذیرفت و سعی میکرد ازش استفاده کنه رو نمیدونستم چی بذاریم اسمش رو تا این که سر همین قضیه با چند نفر داشتیم بحث میکردیم از واژه تکنولوژی زده استفاده کرد و با چند مثال کامل توضیحش داد.
ببینید این خوب نیست که وقتی یه چیز رو یاد میگیریم بخوایم کل کارهای دنبال رو با اون انجام بدیم مثلا یکی پی اچ پی بلده میخواد برنامه نویسی اندروید و حتی بعضی وقتا برنامه نویسی تجاری صنعتی یا حتی نظامی رو میخواد با پی اچ پی بزنه هرچقدرم سعی میکنی بهش ثابت کنی درک نمیکنه
یا مثلا طرف SQL بلده بعد هر کاری میکنی موجودیت NOSQL رو که کل دنیا پذیرفته بهش اثبات کنی درک نمیکنه
فکر کنم قبلا توضیح دادم ولی گفتن دوبارش خالی از لظف نیست یکبار توی یک پروژه نیاز به ذخیره سازی یک دیتای سنگین داشتیم که توی سطح دیتابیس روش حل منطقی براش وجود نداشت توی SQL پایهها از چند نفر از دوستان قدیمی تر پرسیدم مخالفت کردند با رفتن سراغ NOSQL از یکیشون توی پیوی پرسیدم چرا اینقدر با NOSQL مخالفی ؟ گفت چون تابحال باهاش کار نکردم.
و ما توی اون پروژه از MONGODB استفاده کردیم که یک دیتابیس NOSQL هست و موفق هم بودیم حتی با زیاد شدن حجم داده به هیچ مشکلی نخوردیم.
این خوب بود که تونستم بدون تعصب تصمیم بگیرم و کارمو راه انداختم
اما بعد از اون کلا دیکه نرفتم سراغ SQL البته به دو دلیل بود یکی این که موقعیت دیتابیسی دیگه ای برام پیش نیومد یکی این که کاری رو شروع کردم که از پایه داشتم با nosql میزدمش ولی جالب بود داشتیم روی یه پروژه بحث میکردیم که دیتابیسش رو با SQL بزنیم یا با NOSQL چون من معرفی دیتابیس های NOSQL رو در اختیار داشتم بهم اخظار داده شد که حواسم باشه دچار تکنولوژی زدگی نشم.
در کل خواستم بگم این برای خیلیها پیش میاد مواظب باشید حوزههای جدید گولتون نزنه مثلا بلاکچین یا کامپیوتر کوانتومی یا .
خوبه اینها رو هم دید داشته باشید ولی سعی نکنید هر چیز جدیدی میاد کلا تمرکزتون بره روی اون خوبه به چیزای جدید نگاه داشته باشید ولی این که کلا منتظر چیز جدیدی باشید که بیاد و کل زندگیتون رو روش قمار کنید اصلا خوب نیست.
در پناه حق
در زیر نحوه تعریف تابع سمت سرور در دیتابیس MongoDB را مشاهده میکنید :
لازم به ذکر است اگر authorization فعال باشد برای استفاده از عملگر eval که برای اجرای کد در سمت سرور به کار میرود نیاز است کاربر دسترسی کامل به تمامی action ها بر روی تمامی منابع (resources) دارد داشته باشد.
برای نوشتن پروژه راههای اصولی هست مثل این که اول تمام نیازهای پروژه رو بدونیم و تمام نیازها و راههای رسیدن بهش رو بررسی کنیم معماری رو مشخص کنیم و بعد شروع به کد زدن کنیم.
اما حقیقت اینه که توی پروژه معمولا به این شکل پیش نمیریم و مشتری هم نمیتونه در اول کار تمام نیاز های خودش رو به صورتی که توی ذهن خودش هست بیان کنه و یا بعد از بیان کردن ممکنه با تکمیل پروژه تصمیم بگیره قسمتی رو تغییر بده و بهتر یا بدترش کنه به تصمیم خودش بستگی داره ولی این کار هزینه رو میبره بالا چون مجبور میشیم یک راه جدید رو برای اعمال نیاز بریم.
من نمیخوام بهتون درس مهندسی نرم افزار بدم برعکس من یک عمر از همه مواردی که توی زندگیم و توی بقیه مشاغلی که داشتم برام پیش اومده بود توی برنامه نویسی استفاده کردم و به نظرم رسید که الان وقت اینه یه چیزایی هم از این شغل یاد بگیرم و وارد زندگیم کنم البته توی این پست میخوام از این اصل مهندسی نرم افزار در تحقیق و یادگیریم استفاده کنم. الان که به گذشته نگاه میکنم از وقتی شروع به یاد گیری کردم خیلی موازد و موضوعات رو دنبالش رفتم تا سطح مقدماتی یا متوسط یا بعضا پیشرفته ولی خیلی از این موضوعات حتی یک بار هم به کارم نیومد مثلا من رفتم سراغ انیمیشن سازی یاد گرفتم تا حدی وقت گاشتم براش ولی من انیمیشن ساز نیستم و قرار هم نیست بشم البته علاقه دارم ولی علاقه تنها عنصر مهم برای این که شغلم رو انتخاب کنم نیست و این رو میدونستم که انیمیشن سازی قرار نیست شغل اصلی من باشه ولی باز براش وقت گذاشتم و الان که نگاه میکنم یجورایی این علمم دور ریز شده چون ازش استفادهای نمیکنم.
ادامه مطلبپستی در زومیت مرا به نوشتن وادار کرد :
یادداشت: چرا یک ضد استارت آپ هستم؟
و اما این پست قسمتی از حرفهای دل من رو زد و داغم رو تازه کرد و دستم رو روی کیبورد برد.
خب کلیت پست بالا اینه که میگه این استارتاپهایی که توی ایران باب شده به درد دنیا و آخرت کسی نمیخوره و بعد از یک بازه یکساله استارتاپنما شکست میخوره و از حباب در میاد.
و حرف مهم دیگه ای که گفت این بود که استارتاپ باعث از بین رفتن روحیه همکاری توی ایران شده و این هم کاملا درسته کم نیستند کسانی که میبینیم توانایی تا حد قابل قبولی دارند سعی میکنی ازشون توی یک پروژه که خیلی به درد جامعه میخوره استفاده کنی یا معرفی میکنی به یک شرکت بزرگ که باهاش همکاری کنند و پروژه های واقعی و واجب بزنند ولی اینها به دلیل این که یک سایت زدند و توش فروم داره و خبر میذارند فکر میکنند صاحب استارتاپ هستند و حاضر به همکاری با هیچ کس نیستند چون فکر میکنند شرکتشون و استارتاپی که هیچ خروجی نداره از همه دنیا مهمتره و از اون مهم تر مدام از نبود حمایت مینالند .
وقتی این سایت و وبلاگ ها رو میبینم که اسم خودشون رو گذاشتند استارتاپ و مقایسه میکنم با مثلا استارتاپ موفق در حوزه محاسبات کوانتومی یا مثلا با استارتاپی که به دلیل پرتاب بدون مجوز ماهواره به فضا جریمه 900 هزار دلاری شده واقعا شرمم میگیره خیلی بده که افراد نیمه قوی و یا حتی قوی تک تک به اسم استارتاپ گوشه گیر بشند و روی کارهای با ارزش پایین کار کنند.
وقتی بهشون میگی چرا هیچ کار بزرگ و بدرد بخوری نمیکنید سریع میگند داریم پروژه میزنیم خرجون در میاد و یا میگند نیرو کم داریم بیا کمک تا بزنیم. اخه خب عزیز من بیام کمکت پست بزنم روی سایت اسم خودمم بذارم استارتاپی ؟ بشین فکر کن یه کار بدرد بخور بکن الان ایران توی همه زمینه ای پیشرفت کرده فقط جا ندارند دانشمنداش اظهار نظر کنند که اومدی وبلاگ زدی و فروم برای بحث ؟ نیاز رو بشناسید بزرگ فکر کنید و کوچک شروع کنید سعی نکنید فقط برای این که همه چیز دست خودتون باشه و خودتون رییس باشید پشت پا بزنید به همه دنیا.
منتظر نظرات شما دوستان هم هستم با تشکر
یه پیشنهاد کوچیک
حتما دیدید کسانی رو که مدام دنبال این هستند که چرا این زبان بهتره و باید کار بکنند و .
مهم هم نیست چه زبانی باشه اونها همیشه دنبال جواب این سوالند توی مدتی که من توی حوزه برنامه نویسی مشغولم سعی کردم با روش های مختلف جواب بدم بعضی وقتا باهاشون مخالفت میکردم و دلایل خودم برای بهتر بودن سی پلاس پلاس رو میگفتم.
بعضی وقتا براشون توضیح میدادم که برای هر کاری توی هر حوزهای که وارد میشید ممکنه یک زبان برتری داشته باشه با توجه به سطح کار و مدت پروژه و نیروی در اختیار برای کار و .
بعضی وقتا باهاشون موافقت میکردم و میگفتم اونی که شما میگید درسته ولی الان میفهمم اشتباه میکردم نه برای این که میگفتم سی پلاس پلاس بهتره یا این که میگفتم هر حوزه زبان خودش رو میطلبه با توجه به فاکتور های بالا و حتی نه برای موافقت باهاشون بلکه .
به داستان زیر گوش بدید :
خر و گرگ سر یه موضوع دعواشون شد و حق با گرگ بود ولی خر قانع نمیشد رفتند پیش شیر که ریش سفیدی کنه و مشکلشون رو حل کنه شیر تا شنید خر و گرگ دارند بحث میکنند گفت گرگ مقصره گرگ وا رفت و به شیر گفت : چرا ؟
شیر گفت : چون با خر بحث میکنی و توقع داری بفهمه
خلاصه میشناسم کسانی رو که تمام مدتی که من مشغول برنامهنویسی بودم مشغول این بودند که ببینند کدوم زبان بهتره و البته بعضیهاشون هنوزم دنبال جواب سوالشونند و شروع نکردند کار رو .
ببینید همیشه به توازنی بین بحث کردن و بحث نکردن برقرار کنید بعضی وقتا انجام کار به چند روش هزینه میبره خب باید با دلایل منطقی بحث کرد اما بعضی وقتا بجای بحث میشه کار رو انجام داد و اجازه داد نتیجه حرف بزنه یا حتی توی موقعیت های دیگه که قطعا خودتون متوجه شدید که بحث کردن فقط داره شما رو از هدف دور میکنه و نمیذاره کار پیش بره پس شاید بهتره خیلی وقتا بحث رو کنار بذاریم و دست به کد بشیم.
البته الان در حال بحث با کسی نبودم برداشت شخصی نکنید چون من خیلی وقتا وقتی با کسی بحث میکنم پست میزنم که جواب اونو بدم ولی الان واقعا با کسی در حال بحث نبودم یه ایمیل از کوئرا برام اومد که یکی باز در مورد این که چرا باید سی پلاس پلاس کار کنه سوال کرده بود بعد یاد رفقایی افتادم که بعد از 4 سال سوال کردن الان مشغول سایت زدن با ASP هستند
موفق باشید.
برای آشنایی با UML میتوانید به لینک های بالا مراجعه کنید.
می توانید از ویرایشگر مدل برای ایجاد مدل های سبک جهانی مدل سازی (UML) با نمودارهای ساختاری و رفتاری استفاده کنید که دیدگاه های مختلفی از سیستم شما ارائه می دهد. با این حال ، ویرایشگر از نوع UML استفاده می کند و فقط زیر مجموعه ای از خواص برای مشخص کردن ظاهر عناصر مدل ارائه شده است.
QtCreator برای مدلسازی UML ابزاری توسعه داده که میتوانید در لینک زیر با آن آشنا شوید.
با آرزوی موفقیت روز افزون در مسیر درست
خیلیا رو دیدم که میخواند تیم بسازند خیلی هم انقلابی و پر شور فکر میکنند و به همه دری هم میزنند ولی به نتیجه نمیرسند.
خودم هم قبلا سعی کردم ولی مشکلات زیاد بود بعضی وقتا مشکلات خارجی بود مثل تحریم و عدم امکان عرضه محصول به بیرون از کشور بعضی وقتا مشکل یک مقدار داخلی تر بود مثل ایده هایی که دولت یا سازمانها دست گذاشته بودند روش یا منافعشون رو به خطر مینداخت و بعضی وقتا مشکل داخلی تر بود یعنی داخل خود تیم و نمیشد کنار هم نگهشون داشت
یکم با خودم فکر کردم دیدم شاید بهتره اول بجای این که بیام تیم بسازم دنبال این باشم که بتونم یه عضو خوب از یک تیم باشم شاید مهره گم شده تیمهای ایرانی همین هست که بلد نیستیم چطور یک عضو خوب باشیم فقط دنبال این هستیم تیم رو تشکیل بدیم و به عنوان سازنده و بنایان گذار اسممون عنوان بشه جدای از این که چه ارزشی تابحال ایجاد کردیم
الان کم نیستند کسانی که وقتی رزومه ازشون میخوای آدرس سایت شخصیشون رو میدند و توش پره از عنوانهایی مثل بنیان گذار و
ولی هنوز بلد نیستند چطور یک عضو خوب باشند چطور وقتی عضو یک تیم هستند بتونند نیازها و خواسته هاشون از دیگران رو مدیریت کنند و چطور به خواسته های دیگران به عنوان یک عضو پاسخ بدند.
حد اقل میدونم که خودم این مشکلات رو دارم و در صدد رفعشون هستم.
برای اعمال تم روی برنامههای Qt Widget کافیست یک فایل qss تم را برنامه بخوانید و به عنوان استایلشیت برنامه تنظیم کنید
برای مثال:
برای نوشتن فایل استایل ( یا همان تم ) میتوانید از مستندات موجود در لینکهای زیر استفاده کنید :
1. https://doc.qt.io/Qt-5/stylesheet-syntax.html
2. https://doc.qt.io/qt-5/stylesheet-reference.html
و در صورتی که میخواهید از فایلهای آماده استفاده کنید کافیست در نت جستجو کنید تا به مثال های آماده برسید برای مثال در لینک زیر چندین تم موجود است که میتوانید استفاده کنید :
https://github.com/GTRONICK/QSS
در پناه حق
باسلام
اگر پروژههای بزرگی تحت دسکتاپ نوشته باشید که لایه های زیادی داشته باشند و توی لایه های مختلف پردازش داشته باشید یا به هر دلیل دیگهای نیاز به نشان دادن لاگ به کاربر باشید براتون پیش اومده که نیاز به یک لاگر پیدا کنید.
ادامه مطلبتقریبا از وقتی رفتم دانشگاه شروع شد یعنی حدودا سال 1393 بود که شروع کردم به یادگیری و خود آموزی چیزای زیادی یاد گرفتم و روشهای مختلفی رو امتحان کردم از بعضی ها نتیجه گرفتم و از بعضی ها نه و بعضی ها هم غیر مستقیم روم اثر گذاشتند.
اوایل با کتاب فارسی شروع کردم و خیلی زود تموم کردم یعنی حتی یه کتاب فارسی رو هم در زمینه تخصصی کامل نخوندم اواسطش بود که فهمیدم اونطور که باید توضیح نداده بعد کم کم به ویدئو رو بردم نتایج خوبی هم داشت البته حوزه یادگیریم هم یک مقدار آبکی تر شده بود یعنی اون کتاب اول آموزش سی پلاس پلاس بود بعد با کمی جستجو و کد زدن تکمیل کردم آموزشم رو و بعد وقتی رفتم سراغ ویدئو که دیگه میخواستم پایتون یاد بگیرم و نتیجه خوبی هم داشت سریع شروع کردم و یاد گرفتم و باز دست به کد شدم و با جستجو چاله چوله ها رو پر کردم روند پیشرفتم هم سریع بود چون هر مشکلی رو میدیدم سریع در موردش جستجو میکردم و به نتیجه میریدم و سعی میکردم برای بقیه هم منتشر کنم یادمه یه گروه تلگرام بود با حدود 500 نفر اعضا که مشکلات تقریبا همشون رو من سعی میکردم حل کنم برای خودم که خیلی خوب بود چون زیاد بودند افرادی که توی پروژشون به مشکل خوردند و وقتی من مشکلاتشون رو حل میکردم باعث میشد خودم هم یاد بگیرم توی پروژه های واقعی چه مشکلاتی هست و پیشرفتم رو هم جهت میداد یعنی چیزای پر کاربرد رو یاد میگرفتم بجای این که بشینم کلی چیز یاد بگیرم که ممکنه یکیشون به کارم بیاد.
ادامه مطلب
درباره این سایت