Posts filed under 'مهندسی نرم افزار'
OAuth چیست و چرا باید به عنوان یک برنامه نویس به آن توجه کنیم ؟
Oauth چگونه کار می کند؟
به جای اینه شما مدارک احراز هویت جی میل تان را به فوتوباکت بدهید , فوتوباکت شما را به صفحه ی لاگ این login جی میل هدایت می کند و شما آنجا شناسایی می شوید آنگاه به فوتو باکت اجازه می دهید به فایل های شما دسترسی داشته باشد .
اهمیت آن برای برنامه نویسان
هنگامی که شما به عنوان یک برنامه نویس وب۲ ای می خواهید تا برنامه تان اطلاعاتی را از برنامه های دیگر وبی دریافت کند در حالی که شما به امنیت کاربرانتان اهمیت می دهید این موضوع از اهمیت خاصی برخوردار است زیرا در مرحله اول کاربر با وارد کردن کلمات عبور در برنامه شما احساس خوشایندی نخواهد داشت در صورتی که اگر در محیط آشنای قبلی این کار را انجام دهد احساس امنیت خواهد کرد .
پشتیبانی
در حال حاضر برای همه زبان های محبوب از قبیل c#,java,javascript,perl,python کتابخانه هایی نوشته شده که می توانید از Google code یا سایت رسمی oath آن را دریافت کنید .( php )
منابع :
http://pankap.com/tpt07/2008/06/29/four-minutes-introduction-to-oauth
http://www.dzone.com
http://blog.bittercoder.com/PermaLink,guid,83488336-290d-4c4b-a314-14fe255e5b4e.aspx
Add comment جولای 1, 2008
برترين انجمن هاي برنامه نويسي

برنامه نويس محبوب ترين و در عين حال حرفه اي ترين انجمن برنامه نويسي است كه در تمام زبان هاي برنامه نويسي فعاليت مي كند و در آن مديراني فعال و با تجربه پاسخگوي سوالات سايرين هستند . عضويت در اين انجمن بزرگ را به شما پيشنهاد مي كنم .

Developer Center هم يكي ديگر از انجمن هاي تخصصي برنامه نويسي است كه مانند برنامه نويس به تمام زبان هاي برنامه نويسي مي پردازد .
Dot net Source از انجمن هاي برنامه نويسي است كه همانطور كه از اسمش پيداس بيشتر در زمينه ي زبان هاي تحت فريمورك دات نت ((.Net فعاليت مي كند .
همچنين دز زير چند سايت و انجمن ديگر در زمينه برنامه نويسي ذكر شده است :
AjaxIran.com ,aachp.ir , nofa.ir
انگليسي زبان :
Programmersheaven , cprogramming.com , Developers.net , microsoft.com Develper و در نهايت سايت بسيار معروف SorceForge.net
اين رده بندي غير رسمي بوده و فقط نظر شخصي نويسنده است . خوانندگان محترم مي توانند نسبت به ويرايش اين مطلب مرا ياري كنند .
Add comment آوریل 17, 2008
100 اصل در تولید نرم افزار
1- کیفیت حرف اول را میزند.
2- کیفیت در چشمان بیننده است.
3- کیفیت و کارائی دو جز، جدا نشدنی هستند.
4- بالاترین کیفیت در نرمافزار امکان پذیر است.
5- قابلیت اعتماد کم، بدتر از کارایی کم است.
6- محصول را هر چه زودتر به مشتری/کاربر بدهید.
7- دائما با مشتری/کاربر در ارتباط باشید.
8- محرکهایی را برای برنامهنویسان و مشتریان ایجاد کنید.
9- یک نمونه اولیه درست ارائه نمائید(ProtoType).
10- قابلیتهای عملیاتی را در نمونه اولیه بسازید.
11- نمونه اولیه را خیلی سریع بسازید.
12- سیستم را به صورت افزایشی تولید کنید.
13- بیشتر ببینید تا احساس ضرورت بیشتری کنید.
14- تغییرات در زمان توسعه نرمافزار اجتناب ناپذیر است.
15- در صورت امکان، بجای تولید اجزا، آنها را بخرید.
16- بعد از تولید نرمافزار نیاز به یک راهنمای کاربری کوچک دارید.
17- هر مسئله پیچیده ای راه حلی دارد.
18- فرضیاتتان را ثبت کنید.
19- تکنولوژی قبل از ابزار اهمیت دارد.
20- از ابزارها استفاده کنید اما واقع بین باشید.
21- همیشه ابزارهای خوب را به مهندسین خوب بدهید.
22- دانستن «چه موقع» مهم تر از دانستن «چطور» است.
23- زمانی که به اهدافتان رسیدید پروژه را متوقف کنید.
24- روشهای مرسوم توسعه نرمافزار را خوب بشناسید.
25- تکنولوژی را هرگز فراموش نکنید.
26- از استانداردهای مستندسازی استفاده نمائید.
27- هر مستندی به واژه نامه نیاز دارد.
28- هر مستندی به یک فهرست نیاز دارد.
29- برای مفاهیم یکسان از اسامی یکسان استفاده نمائید.
30- مفاهیم را جستوجو کنید و سپس انتقال بدهید.
31- مسئولیت پذیر باشید.
32- نیازمندیهای ضعیف زمینه برآورد هزینه اشتباه است.
33- قبل از ثبت نیازمندیها، مسئله را تعریف کنید.
34- خطاها را در توضیحات نیازمندیها شناسایی و برطرف نمائید.
35- نمونه اولیه، ریسک انتخاب UI مناسب را کم می کند.
36- اینکه نیازمندیها شامل چه چیزهایی هستند را به خوبی ثبت نمائید.
37- زیرسیستمها را به خوبی شناسایی کنید.
38- نیازمندیها را بازبینی نمائید.
39- از طراحی در مرحله شناخت نیازمندیها اجتناب کنید.
40- به نیازمندیها از زوایای مختلف نگاه کنید.
41- نیازمندیها را اولویت بندی کنید.
42- خلاصه نویسی کنید.
43- ابهام را در نیازمندیها برطرف نمائید.
44- قبل از تبدیل به هرگونه مدل رسمی، نیازمندیها را به صورت توضیحات زمان طبیعی بنویسید.
45- انتقال از مرحله شناخت نیازمندیها به طراحی آسان نیست.
46- طراحی بدون مستندسازی طراحی نیست.
47- چرخ را دوباره اختراع نکنید.
48- خطاهای مفهومی بسیار مهم تر از خطاهای Syntax می باشند.
49- طراحی کنید که تغییرات داشته باشید.
50- طراحی را به گونه ای انجام دهید که نگهداری آن امکان پذیر باشد.
51- طراحی بایستی به نحوی باشد که خطاها به راحتی قابل تشخیص باشند.
52- از الگوریتمهای با کارایی بالا استفاده نمائید.
53- به کاربر فقط اطلاعاتی را نمایش دهید که مورد نیاز وی می باشد.
54- طراحی بایستی چند بعدی باشد.
55- نرمافزاری که قصد تولید آن را دارید به خوبی بشناسید.
56- « ورود اطلاعات نادرست –- خروج دادههای غلط » را در پی دارد.
57- از به کار بردن متغیرهای غیر محلی خودداری نمائید.
58- به شکلی کدنویسی نمائید که بتوان آن را از بالا به پائین خواند.
59- مراقب اثرات جانبی کدی که می نویسید باشید.
60- از اسامی با مفهوم در نامگذاری ها استفاده نمائید.
61- قبل از اینکه به فکر سریع اجرا شدن کد باشید به فکر درست کارکردن آن باشید.
62- قبل از اینکه کد را به پایان برسانید توضیحات آن را بنویسید.
63- هر بخش از کد را جداگانه هم اجرا کنید.
64- کد نوشته شده را ممیزی کنید.
65- از زبان برنامه نویسی مناسب استفاده کنید.
66- کد نویسی را خیلی زود شروع نکنید.
67- تست را از نیازمندیها شروع کنید.
68- نرمافزار را خودتان تست نکنید.
69- طرح تست را خودتان ننویسید.
70- نیمی از خطاها در 15 درصد از کدها می باشند.
71- همیشه از تست فشار استفاده نمائید.
72- قبل از تست واحدها یکپارچه سازی را اعمال نکنید.
73- مدیریت قوی بسیار مهمتر از تکنولوژی قوی می باشد.
74- هر چه را که می خوانید باور نکنید.
75- نیروی انسانی راه رسیدن به پیروزی می باشد.
76- نیروی انسانی خوب ولی کم بهتر است از نیروی انسانی زیاد ولی ضعیف.
77- به پرسنل تان گوش دهید.
78- به نیروهایتان اطمینان کنید.
79- مهارتهای ایجاد ارتباط بسیار مهم می باشند.
80- به پرسنل تان بوسیله ابزارهای مختلف روحیه دهید.
81- محیط کاری تان را آرام و ساکت نگه دارید.
82- دو چیز قابل برگشت نیستند یکی نیروی انسانی و دیگری زمان.
83- هر چیزی را که در حال انجام آن می باشید می توان به بهترین شکل به اجرا در آورد.
84- موارد غیر ممکن را کنار بگذارید.
85- کار تیمی را هرگز فراموش نکنید.
86- برنامه زمانی پروژه ها را به ریز نگه دارید و همیشه آن را به روز نگه دارید.
87- 10 ریسک اول را شناسایی کنید.
88- برای پروژه حتی در حین اجرا نام و شماره نسخه در نظر بگیرید.
89- همه چیز را ثبت و مستندسازی نمائید.
90- سعی نکنید علائم مربوط به مشکلات را حذف کنید، بلکه آنها را حل کنید.
91- هرچه از عمر نرمافزار بیشتر می گذرد پشتیبانی آن سخت تر خواهد بود.
92- برای کنترل پیشرفت نرمافزار جلسات بررسی پیشرفت کار را به شکل دائمی برگزار کنید.
93- برنامه نویسانتان را به دو گروه تقسیم کنید : گروه اول برنامه نویسانی که بر روی منطق و الگوریتم نرمافزار کار می کنند، گروه دوم آنانی که برروی کارهای روتین و تکراری کار می کنند.
94- برای نوشتن نرمافزارهای جدید حتما از مشاور مرتبط با موضوع در تیم تحلیل استفاده نمائید.
95- به افراد تیم تان بیاموزید که این مشتری است که قرار است از نرمافزار استفاده نماید نه آنان.
96- استانداردهای لازم جهت مراحل مختلف از قبیل تحلیل، طراحی و برنامه نویسی را قبل از شروع به کار در هر یک از مراحل تدوین نمائید.
97- با توجه به محدوده و بزرگی یا کوچکی نرمافزار، متدلوژی توسعه نرمافزار را به درستی انتخاب نمائید.
98- قبل از شروع کردن هر پروژه ای، تیم اجرایی آن را به دقت تشکیل دهید.
99- در ابتدای پروژه مسئولیتها و وظایف هر یک از افراد تیم را به روشنی به آنها توضیح دهید.
100- در صورت امکان یک نفر را به عنوان مشاور فنی در تیم در نظر بگیرید.
منبع : سایت برنامه نویس
Add comment مارس 28, 2008







