صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

رزومه های سرگردان !

چند وقتی است که می خواهم این مطلب را بنویسم آن هم به دلایل تجربیات خودم و از جمله گله های برخی دوستان از این موضوع

اما موضوع چیست ؟

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

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

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

 

جالبترین نکته اینجاست که چند سال پیش برای شرکتی معروف رزومه فرستادم و این شرکت یک هفته یعد برای مصاحبه دعوت کردن ، من هم مراجعه کردم و مصاحبه انجام شد ، قرار شد بعدا نتیجه را اعلام کنند ( همه میگویند بررسی می کنیم و خبر می دهیم در حالی که هیچ خبری نیست ) خلاصه ما هم یکی دو هفته منتظر شدیم ، خبری نشد ، در نتیجه با جای دیگری قرارداد بستیم و مشغول کار شدیم . تا اینکه دقیقا بعد از 10 ماه بخوانید ده ماه بله درست متوجه شدید 10 ماه آن هم شرکتی معروف دوباره با من تماس گرفتن برای مصاحبه در مورد قرارداد ، حسابی خنده ام گرفته بود که این دوستان واقعا چگونه فکر می کنند آیا فکر می کنند ما یک مشت اراذل بدبختی هستیم که به انتظار ترحم آنها نشسته ایم تا بعد از 10 ماه تماس بگیرن .

حالا که وقتی متوجه شدن که من خیلی وقته که در جای دیگری مشغول شده ام کلی ناراحت هم شدن که چرا من بی تعهد هستم . (نمی دانستم باید 10 ماه به انتظار آن معشوق بمانم ).

 

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

این شجاعت را داشته باشیم که به فردی جواب نه بگوییم تا بیهوده به انتظار ننشیند ، نه اینکه بعد از 10 ماه تازه یادمان بیفتد که دوباره تماس بگیریم .


منتظر نظرات دوستان وبلاگ نویس و خوانندگان هستیم .

نمی دانم آیا انتظار من خیلی زیاده ؟

 

مفاهیم تست و خصوصیات تست .

تصمیم دارم که اگر توفیقی حاصل شود مطالبی را در مورد تست نرم افزار بنویسم .


بخش 1

مفاهیم تست و خصوصیات تست .

 

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

 

تعریف تست واحد  unit test

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

چیزی که این وسط اهمیت فراوانی دارد . نحوه نوشتن تست خوب .

 

اهمیت نوشتن یک تست خوب تا بدان جا ست که اگر تست بدی انجام شود ، همانند آن است که هیچ تستی انجام نشده است .

خصوصیات تست خوب :

 

1-باید خودکار و قابل تکرار باشد . شما هر وقت اراده کنید باید بتوانید تست خود را دوباره اجرا کنید.

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

3-یکبار نوشته شود و در آینده فقط اجرا شود ،

4-توسط هر فردی قابل اجرا باشد ، از آنجا که ممکن است پروژه گروهی باشد لذا تست ما باید بگونه نوشته شود که هر توسعه دهنده دیگری بتواند براحتی آن را اجرا کند .

5-زمان تست کوتاه باشد ، نباید تست ما زمان بر باشد . چون در این حالت دیگر هیچ کس حاضر به اجرای آن تست نخواهد بود .

 

ادغام تستها

در بحث بالا گفتم که تست واحد برای هر واحد نوشته می شود اما نرم افزار ما ممکن است از صدها و هزاران واحد کوچکتر دیگری تشکیل شده باشد .تستها باید بگونه ای نوشته شوند که قابل ادغام با یکدیگر باشند ، ما می دانیم نرم افزار از واحدهای به هم متصل و زنجیرواری تشکیل می شود .

لذا باید تستهای ما هم این امکان را داشته باشند که با هم ادغام شوند و در مواقع لزوم با هم اجرا شوند . فراموش نکنیم که اهمیت نوشتن تستهایی که زمانبر نباشد در ادغام تستها کاملا مشخص است .


ادامه دارد...

Entity Framework 4 part ۱۴

در بخش قبل در مورد ساختار و نحوه لود شدن اشیا در cash  صحبت کردم اکنون در این بخش در مورد سه عمل ، حذف ،اضافه و تغییر در داده ها صحبت می کنم .

Updating Entities

به مدل کلاسها مثالهای قبل نگاهی بیندازید تا بر اساس آن دستورات آپدیت را اعمال کنیم ، روال کار بسیار ساده است .فرض کنیم در جدول  order  برای رکوردی که Id  آن برابر شماره 43680  می خواهیم مقادیر فیلدهای Status  و فیلد RevisionNumber  را تغییر دهیم . روال کار بسیار ساده است به ه مثال زیر دقت کنید که چگونه ابتدا رکورد مورد نظر ما بازیابی می شود و سپس مقادیر آن تغییر می کند .

int orderId = 43680;

 

            using (AdventureWorksEntities context =

                new AdventureWorksEntities())

            {

                var order = (from o in context.SalesOrderHeaders

                             where o.SalesOrderID == orderId

                             select o).First();

 

                order.Status = 6;

                order.RevisionNumber = 123;

                context.SaveChanges();

 

            }

 

Adding Entities

اضافه کردن رکورد نیز مشابه روال بالا است با این تفاوت که شما اینجا باید یک متغیر از نوع کلاس مورد نظر ایجاد کنید مثلا اگر می خواهیم رکوردی را به جدول Address اضافه کنیم ابتدا باید متغیری از نوع کلاس Adress تعریف کنیم و پس از مقدار دهی به عناصر این کلاس باید متغیر نوع کلاس را به مجموعه addresses  از شی objectContext اضافه کنیم مانند مثال زیر :


using (AdventureWorksEntities context =

                new AdventureWorksEntities())

            {

                Address ad = new Address();

                ad.AddressLine1 = "add11";

                ad.AddressLine2 = "add21";

                ad.City="tehran2";

                ad.StateProvinceID=79;

                ad.PostalCode = "98011";

                ad.rowguid = Guid.NewGuid();

                ad.ModifiedDate = DateTime.Now;

                context.Addresses.AddObject(ad);

             

                context.SaveChanges();

 

            }

 

 

Deleting Entities

عمل حذف نیز بسیار شبیه به عمل ثبت تغییرات است ، ابتدا رکورد یا مجموعه رکوردهایی مشخص را بازیابی می کنیم و سپس دستور حذف را بر روی شی ObjectContext اعمال می کنیم .

در مثال زیر می خواهیم رکوردی را از جدول address را که addressed=325  را حذف کنیم .

 

using (AdventureWorksEntities context =

                new AdventureWorksEntities())

            {

                var add = (from o in context.Addresses

                           where o.AddressID == 325

                             select o).First();

 

                context.DeleteObject(add);

                context.SaveChanges();

 

            }

 

ادامه دارد...