کتاب راهنمای جامع برنامهنویسی VBA در پراجکت چاپ شد. بعد از صفحهبندی شد 422 صفحه.
لینک بالا صفحه این کتاب رو تو سایت ناشر باز میکنه. فهرست مطالب و بقیه مشخصات اونجا هست.
کسایی که بخوان کتاب رو تهیه کنن علاوه بر کتابفروشیها، میتونن از سایت دیباگران هم خرید کنن. ظاهرا سیستم کامل و بیدردسری برای فروش دارن؛ حالا اگه آزمایش کردین نتیجش رو به من هم بگین.
کتاب اتوکد 2009 تموم شد و فرستادمش برای ناشر. کتاب حدود 1100 صفحه شد.
همونطوری که گفتم، این کتاب بهروز شده اتوکد 2007 خودم هست. اون کتاب دو جلدی بود و هر دو جلدش با کمی فاصله چاپ دوم هم شدن. این بار دو جلد رو تو یه جلد ترکیب کردم. کار بهروز کردن کتاب خیلی بیشتر از اونی که انتظار داشتم ازم کار برد، چون اینترفیس نرمافزار عوض شده بود و عملا میبایست تمام شکلها رو جایگزین کنم (کتاب 2044 شکل داره که یا شکلهای شمارهدار، یا شکلهای داخل متن هستن). از طرف دیگه، دلم نمیومد که فقط قابلیتهای جدید رو به نرمافزار اضافه کنم؛ بعضی جاها که به نظرم میومد قبلا به اندازه کافی توضیح ندادم رو اضافه کردم. چند جا هم احساس کردم زیاد از حد توضیح دادم (از اون مدلایی که میگن به خواننده بی احترامی شده)، توضیحاتشون رو کم کردم. در نهایت ساختار کتاب رو هم کامل عوض کردم. فصلها جابجا شدن، بعضی فصلها خورد شدن و بعضیهای دیگه با هم ترکیب شدن. الان به نظرم ساختار کتاب خیلی منطقیتر و کاربردیتره. مشکل اصلی این بود که برای نسخه 2007 اول جلد یک رو تهیه کردم و دادم به انتشارات و بعد رفتم سر جلد دو، تا کار زودتر به بازار بره. وقتی جلد دو رو تموم کردم، اولی چاپ شده بود. به این خاطر امکانش رو نداشتم که چیزی رو بین این دو جلد با هم هماهنگ کنم.
به هر حال… کتاب بعدی پریماورا 6 هست. فعلا قرارداد رو نبستم و کار رو هم …
امروز میبایست یه برنامه رو خیلی سریع بنویسم. وقتی داشتم روابط رو وارد میکردم، که میدونین چقدر تکراریه و حتا با ترفندهای مختلفی که سرعت انجام این کار رو زیاد میکنن باز هم به اندازه کافی زیاد نمیشه، به این فکر افتادم که یه برنامه برای پراجکت بنویسم که با یه ترتیبی قاعده دریافت کنه و روابط رو بر اساس اون قواعد بسازه. هر وقت هم قواعد تغییر کنن، روابط رو بازسازی کنه.
مثلا فرض کنین تو پروژهای خاص تعدادی از قواعد اینها باشن:
کانال کشی هر ناحیه، بعد از لوله کشی فاضلابش انجام میشه.
لوله کشی آب بعد از کانال کشی انجام میشه.
لوله کشی گاز، بعد از لوله کشی آب انجام میشه.
و روابط دیگهای از این نوع. حالا کافیه چنتا فیلد داشته باشیم که یکیشون ناحیهها رو مشخص کنه و یکی دیگه نوع فعالیت رو. میشه یه فیلد سوم هم در نظر گرفت که استثناها رو مشخص کنه. مثلا روابطی که گفتم ممکنه تو ناحیه موتورخونه برقرار نباشه، در این حالت میشه استثنا بودن رو تو فیلد سوم مشخص کرد تا قاعده به اونها اعمال نشه.
منظورم اینه که منابع روی زمان بندی تاثیر بذارن. من یه طرفدار شدید این شیوه برنامهریزیم. تو این روش فقط روابط اجتناب ناپذیر توی برنامه تعریف میشن (مثلا گچ و خاک بعد از سفت کاری باید انجام بشه، چون سفت کاری اگه نشده باشه چیزی نیست که روش گچ و خاک بشه)، و روابطی که نشون دهنده سلسله مراتب کاری باشن، وارد نمیشن (مثلا گچ و خاک این طبقه بعد از طبقه بالا یا پایینش). در عوض منابعی قابل تسطیح برای فعالیتهای مشابه تعریف میشه و در صورت لزوم اولویتهای اونها هم مشخص میشه و بعد از اینکه منابع رو تسطیح کنیم، سلسله مراتبی که لازم داشتم به وجود میاد.
امتیاز بزرگ این روش اینه که برنامه خیلی انعطاف پذیر میشه. مثلا خیلی راحت میشه تعداد اکیپها رو کم و زیاد کرد و برنامه را تسطیح کرد تا تاثیرش رو دید؛ در حالی که تغییر تعداد اکیپ تو حالتی که از روابط برای پیاده کردن اونها استفاده شده باشه یه فاجعه تمام عیاره.
با وجود تمام امتیازهای این روش که واقعا الان وقتش رو ندارم که بیشتر از این بنویسم چون همین الان باید برگردم سر برنامهای که دارم تهیه میکنم که فردا تموم شده باشه، یه نقطه ضعف خیلی بزرگ هم وجود داره:
تو این حالت برنامهریزی، هیچ راهی برای پیدا کردن عناصری که به زمانبندی حاکم شدن وجود نداره. مثلا وقتی از روابط استفاده شده باشه، یه مسیر بحرانی هست که آدم با اون میتونه زمان رو کم و زیاد …
یکی از ویژگیهای مهم کاری من تو این هشت سالی که مشغول هستم، اینه که تو شرکتهای متعددی کار کردم. معمولا همزمان تو سه شرکت کار میکنم و تا الان با هفت شرکت مختلف کار کردم، که یکیشون هم عملا دو اکیپ کاملا متفاوت از یه شرکت بوده که میشه مشابه هشت شرکت. بین اینها، همکاری یک ساله تا پنج ساله رو تجربه کردم.
تو این مدت یه چیزی که کاملا متوجه شدم، اینه که طرز برخورد سازمان با افراد، طوریه که بعضی از شرکتها در پرسنلشون حس دلسوزی ایجاد میکنن و بعضی دیگه نه. خود من در مقابل شرکتهای مختلفی که باهاشون همکاری میکنم حسهای مختلفی دارم. در مورد بعضیشون اگه مشکلی پیش بیاد، واقعا ناراحت میشم، طوری که انگار مشکل برای خود من پیش اومده (در حالی که اون مشکل تاثیر مستقیمی برای من نداره)، در حالی که بعضیهای دیگه اگه دچار مشکل بشن، ناراحت نمیشم و حتا ممکنه با خودم بگم “به درک”.
خیلی به این فکر کردم که چه چیزی میتونه اینطور جبههگیری رو به وجود بیاره. جدیدا به این نتیجه رسیدم که سازمان شرکت حرف اول رو نمیزنه، بلکه مدیریت اونه. یکی از شرکتهایی که واقعا براش دل میسوزونم، اصلا سازماندهی خوبی نداره و به این خاطر مشکلات خیلی زیادی پیدا میکنم؛ ولی، چون مدیرش آدم بسیار محترم، دلسوز، خوشفکر و قدرشناسیه، چنین حسی رو در من به وجود آورده. در عین حال، شرکت دیگهای هست که سازماندهی خیلی بهتری داره، ولی …
این کتاب هم چاپ شد. از نظر من مکمل جلدهای اول و دوم راهنمای جامع اتوکد هست که چند وقت پیش چاپ شده بود و الان جلد اولش چاپ دوم هم شده.
کتاب کلا یه ورک شاپ (کارگاه؟) هست. اولش کمی تمرینهای کاربردی گذشتم که بعضی تکنیکهای مهم رو توضیح میده و بعد از اون ورک شاپ اصلی شروع میشه. هدف این ورک شاپ، تهیه کل نقشههای معماری، تاسیسات مکانیکی و تاسیسات برقی یه تیپ واحد کوچیکه، که از اولین قدم شروع میشه و تمام مسایلی که میتونه پیش بیاد رو توضیح میده. نوشتن این کتاب باعث شد که برای اولین بار تو عمرم یه سری نقشه ساختمانی رو به طور کامل بکشم!
حساسیت اصلی من در مورد این کتاب، تصاویرش بود، که هم من و هم بقیه زحمت خیلی زیادی براش کشیدیم. هنوز کتاب رو ندیدم… امیدوارم تصاویر اون طوری باشه که دلم میخواست.
به نظر من باید کسایی که تو کار برنامهریزی هستن یه سری کار فرهنگی بکنن، برای اینکه جا بیفته که برنامه زمانبندی چیزی نیست که تو چند روز نوشته یا تجدید نظر بشه.
یه هفته وقت داشتم که برنامه زمانبندی یکی از پروژهها رو با شرایطی خاص تجدید نظر کنم. این کار دقت زیادی میخواست. متاسفانه تو پروژههای دیگه هم کارهای فوری پیش اومد و در نهایت فقط دو روز برام وقت موند که روی تجدید نظر برنامه زمانبندی کار کنم. تو این فرصت کم، خواستم یه منبع مصرفی جدید هم برای پروژه تعریف کنم تا کنترلهایی روش انجام بدم. بعد از اینکه همکارهای دیگه مقدارهای اون رو برام استخراج کردن (اولین باری بود که خودم مجبور نشدم برم سر و وقت نقشهها)، مدت کمابیش زیادی صرف وارد کردن اونها شد. وقتی بعد از تموم شدن کارها خواستم برم نمودارش رو ببینم، پراجکت هنگ کرد. دوباره رفتم تو پراجکت، برنامه رو باز کردم و سعی کردم نمودار رو ببینم، باز هم هنگ کرد. کامپیوتر رو ریست کردم و دوباره آزمایش کردم… هنگ کرد. فایل رو برای کس دیگهای فرستادم تا آزمایشش کنه، اونجا هم هنگ کرد. برگشتم به برنامه و چیزهای مختلفی رو تغییر دادم؛ تنها کاری که باعث میشد برنامه هنگ نکنه، حذف کردن اون منبع مصرفی جدید بود!
راه حل مسخرهای که در آخر مجبور شدم استفاده کنم و هنوز هم راه دیگهای به نظرم نرسیده که بهتر از اون باشه، این بوده که چون عملا از هزینهها …