وبلاگ شخصی مهراد مظاهری

از دیروز بیاموز برای امروز زندگی کن و امید به فردا داشته باش .

از دیروز بیاموز برای امروز زندگی کن و امید به فردا داشته باش .

وبلاگ شخصی مهراد مظاهری

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

امیدوارم از مطالب این وبلاگ استفاده لازم را ببرید.

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

آی دی یاهو:
mdn4.1995@ymail.com

ایمیل:
mehrad-mz@london.com
mehrad_mazaheri@engineer.com

آخرین نظرات

۵ مطلب در مرداد ۱۳۹۲ ثبت شده است

-API چیست؟
حروف A.P.I. در واقع مخفف عبارت Application Programming Interface است. اگر در دایرکتوری سیستم ویندوز نگاهی بیاندازیم (در ویندوزهای برپایه ۹۵/۹۸ در آدرس \Windows\System و در ویندوزهای مبتنی بر NT در آدرس \WinNT\System32) تعدادی فایل کتابخانه ای dll (Dynamic Link Library) مشاهده میکنیم. این فایلها مجموعه توابعی را تشکیل میدهند که برای اجرای سیستم عامل، تامین رابط کاربر (User Interface) و محیط کاربری استفاده میشوند. این مجموعه فایلها در واقع Windows API را تشکیل میدهند.
هدف Windows API این است که به برنامه نویسان اجازه داده شود تا برنامه هایی مبتنی بر سیستم عامل ویندوز و رابط کاربری آن تولید گردند. در واقع به جای اینکه هر کس با توجه به سلیقه های شخصی کدهایی جهت تولید اجزاء اصلی ویندوز همچون فرمها، کلیدها، منوها و … تنظیم کند، همه برنامه نویسان میتوانند توابع اختصاص داده شده مرتبط را که در Windows API وجود دارند صدا کنند و به سیستم عامل اجازه دهند تا آن اجزاء را ایجاد کند.
اهداف توابع API و نحوه استفاده از آنها در پلت فرم SDK (Software Development Kit) آمده است (دوستانی که شیوه های قدیمی برنامه نویسی برای ویندوز را میشناسند حتما با این کیت آشنا هستند) و از طریق اسناد مربوطه قابل دسترسی هستند. به عنوان مثال در پکیج MSDN (MicroSoft Developer Network) ویا در کمک دلفی بخش Windows SDK میتوانیم لیست این توابع را مشاهده کنیم. علاوه بر اینها امکان دستیابی به این اطلاعات از طریق آدرس زیر نیز وجود دارد:

http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/msdownload/platformsdk/setuplauncher.htm

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

- چرا از Windows API استفاده میکنیم؟
برنامه نویسان اصولا با هدف اجرای عملیاتی فراتر از آنچه که محیطهای مختلف در حالت استاندارد خود ارائه میکنند به استفاده از توابع API روی می آورند.
به عنوان مثال فرض کنیم زمانی که بخواهیم به محض ایجاد فوکوس بر روی یک Edit Box زبان نوشتاری به فارسی تغییر کند و به محض اینکه فوکوس تغییر کرد زبان کاربری هم به حالت عادی بازگردد. استفاده از این توابع در مسائل پیچیده تر گاهی بسیار مفید میباشد.

- چگونه توابع API را صدا کنیم؟
با توجه به اینکه این مطلب به زبان برنامه نویسی خاصی اختصاص ندارد از این جهت در این بخش تنها اشاره ای به نحوه کار با توابع Windows API میشود.
به همراه کلیه کامپایلرها و مترجم های ارائه شده در بازار که قابلیت استفاده از توابع Windows API را دارند اسنادی در رابطه با نحوه استفاده از این توابع وجود دارد که برنامه نویس میتواند با مراجعه به آنها با شیوه کار و صدا زدن توابع مورد بحث آشنا شود.
نکته مشترک بین محیطهای مختلف اینست که برای استفاده از این توابع ابتدا نیاز به وجود بخشی جهت تعریف این توابع هست و سپس امکان صدا زدن آنها در بین برنامه ایجاد میگردد. یعنی کار با این توابع دو مرحله دارد:
- تعریف مشخصات تابع مربوطه
- صدا زدن تابع مورد نظر در هر جای برنامه درست همانند دیگر توابع استاندارد

- API Wrappers
شاید بیان چنین عنوانی به صورت مستقل چندان منطقی و قابل قبول نباشد اما چون چنین کلماتی در متون مختلف مورد استفاده قرار گرفته و میگیرند، توضیحاتی که به درک این مفاهیم کمک کنند میتوانند مفید باشند.
همانگونه که گفته شد امکان تولید کلیه اجزاء استاندارد سیستم عامل ویندوز از طریق صدا زدن توابع Windows API وجود دارد، اما صدا زدن مستقیم این توابع کد برنامه را پیچیده میکند و امکان تولید خطاهای غیرقابل پیش بینی را افزایش میدهد که ایجاد خطاهای سیستمی میکنند و حتی احتمال ضربه زدن به سیستم نیز وجود دارد.
از این رو در نرم افزارهای برنامه نویسی محیطهایی تولید شده اند تا برنامه نویسان را در این امر یاری دهند. کامپایلرهای Delphi و CBuilder و همچنین مترجم Visual Basic و … همراه خود محیط رابطی دارند که کاربر از طریق آنها به اجزاء استاندارد طراحی دسترسی دارد.
به این صورت برنامه نویس برای تولید اجزاء در برنامه خود نیاز به نوشتن کدهای طولانی ندارد. در این محیطها توابع مورد نیاز برای ایجاد یک جزء کامل یک جا جمع شده اند و در یک مجموعه قرار گرفته اند و کاربر به راحتی تنها به این مجموعه اشاره میکند.
این مجموعه یک API Wrapper است.
اصولا Wrapperها اختصاصا به اجزاء گرافیکی آنگونه که در بالا گفته شد اشاره نمیکنند. هر مجموعه ای مانند: یک ActiveX، یک Component یا یک تابع ایجاد شده در یک فایل dll و … میتواند یک API Wrapper باشد.
در حالتی که چنین مجموعه هایی در دسترس باشند پیشنهاد میشود که در کد برنامه ها از آنها استفاده شود.

نکته: دقت شود تفاوتهایی میان نسخه های مختلف API وجود دارد، مثلا هنگام کار با ویندوز۲۰۰۰ باید دقت کرد گاهی تفاوتهایی بین توابع API مرتبط با آن و توابع ویندوز ۹۸ وجود دارد.

۰ نظر موافقین ۱ مخالفین ۰ ۱۳ مرداد ۹۲ ، ۱۲:۴۹
مهراد مظاهری

عبارت not null  موجب میشود تا ستون مورد نظر نتواند مقدار null  را بپذیرد

not null  باعث میشود تا فیلد مورد نظر همیشه دارای مقدار بوده به این معنا که شما نمیتوانید یک record جدید بدون value یا یک record موجود را بدون مقدار(value) ,  به روز کنید(update).

عبارت SQL زیر موجب میشود تا ستون های “P_Id” و “LastName” مقدار null را نپذیرند(یعنی نمیتوان این دو فیلد را خالی بگذاریم).

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName mehrad(255) NOT NULL,
FirstName mehrad(255),
Address mehrad(255),
City mehrad(255)
)
۰ نظر موافقین ۱ مخالفین ۰ ۱۳ مرداد ۹۲ ، ۱۲:۴۷
مهراد مظاهری
برای نمایش مطلب باید رمز عبور را وارد کنید
۱۳ مرداد ۹۲ ، ۱۱:۳۵
مهراد مظاهری

مهندسی معکوس به معنی بدست آوردن سطح بالایی از نمایش برنامه‌ها و سیستمهای نرم‌افزاری است. معمولاً مهندسی نرم‌افزار بوسیلة یک نمایش سطح پایین از یک سیستم (مثل مقادیر باینری، کدهای ساده، و یا اجراهای قدم به قدم ) شروع می‌شود و سعی در بدست آوردن نمایش بهتر از موارد مطروحه را دارد. بعنوان مثال بدست آوردن سورس برنامه، نماهایی از معماری، یا use caseها و ترتیب اجرای آنها در یک سیستم نمونه‌ای از این موارد است. روشهای مهندسی معکوس و تکنولوژی نقشی مهمی در بسیاری از وظایف مهندسی نرم‌افزار ایفا می‌کنند. می‌توان اداراک بهتر نرم‌افزاری، مهاجرت سیستمها رو به نسلهای جدید و تکامل نرم‌افزار را نمونه‌هایی از کاربردهای مفید مهندسی معکوس نامید. در تعریفی دیگر مهندسی معکوس تفهیم یک سیستم از شناسایی اجزاء یا مصنوعات سیستم که موجب یافتن روابط میان آنها و ایجاد اجزاء انتزاعی از اطلاعات یک سیستم می‌شود را گویند. البته باید بخاطر داشته باشیم که هدف مهندسی معکوس تغییر اهداف سیستم به سمتی دیگر نمی‌باشد . تعریفی دیگر از مهندسی معکوس داریم که مهندسی معکوس عبارت است از توانایی گرفتن اطلاعات از کد منبع و ایجاد یا ارتقاء مدل سیستم در زبان برنامه‌نویسی مورد نظر تیم مهندسی معکوس؛ یکی از موانع موجود بر سر راه پروژه‌های علم فناوری اطلاعات سازگار نگاه داشتن مدل آبجت با کد است. با تغییر نیازها، تغییر مستقیم کد می‌تواند وسوسه‌انگیز باشد، تا اینکه مدل را تغییر داده شود و سپس کد تغییر یافته را از مدل سیستم تولید نمائیم. مهندسی معکوس به ما امکان می‌دهد تا همیشه مدل سیستم را با کد، همسان نگاه داریم.
البته تعاریفی که در اینجا مطرح گردید تعاریف مثبتی از مسئلة مهندسی معکوس نرم‌افزار را مطرح کرده‌اند. در اینجا ما نیز یکی دیگر از کاربردهای مهندسی معکوس که بوسیلة سارقان نرم‌افزار بکار برده می‌شود را ارائه می‌دهیم. سارقان نرم‌افزار با در دست داشتن سیستم نرم‌افزاری تولید شده و اجرای فرآیندهای مهندسی معکوس بر روی آنها به کدهای سیستم و تمامی اجزاء آن خواهند رسید و به تغییر آنها می‌پردازند. از جملة این تغییرات می‌توان به حذف قفلهای نرم‌افزاری، تغییر عناوین و نشانهای مالکین سیستم به عناوین سارقان نرم‌افزار، تغییر روند اجرای سیستم طبق خواستة سارقان و مواردی از این قبیل اشاره نمود.
مهندسی معکوس سیستمهای نرم‌افزاری بزرگ به علت حجم بزرگ و پیچیدگی‌های آنها مشکل است. هرچند که این امر پیش‌نیازی برای نگهداری، مهندسی مجدد، و تکامل نرم‌افزار می‌باشد. چیکوفسکی مهندسی معکوس را چنین تعریف می‌کند:« فرآیند تجزیة یک سیستم برای شناسایی اجزاء سیستم و روابط میان آنها و ایجاد نمایشهایی از سیستم در شکلی دیگر یا در یک سطح بالاتر از اجزاء انتزاعی آن است». نگهداری و توسعه دادن سیستمهای نرم‌افزاری امروزی به چند دلیل مشکل می‌باشد. از جمله این موارد بالا بردن سرعت تغییر و تحول کار تولیدکنندگان، افزایش اندازه و پیچیدگی سیستمهای نرم‌افزاری، و تغییر احتیاجات ثابت سیستمهای نرم‌افزاری می‌باشد. بعنوان مثال سیستمهای قدیمی بزرگ، کامل و متشکل از سیستمهای نرم‌افزاری پیچیده‌ای هستند که نتیجة یک سرمایه‌گذاری بلند مدت توسط یک شرکت و بیشتر به همین دلیل نگهداری و پشتیبانی شده‌اند پس ملزومات جدید می‌بایست اتمام گشته و سرمایه‌گذاری شرکت باید بازگردد. پارنِس تخمین زده است که بیشتر سیستمهای قدیمی از مشکلات متنوعی مانند اینکه تولیدکنندگان اصلی ممکن است تا مدت زیادی در دسترس نباشند، روشهای پیشبرد منسوخ و یا زبانهای قدیمی، و یا مستندسازی‌های گمشده و یا غیرکافی و منسوخ می‌باشند است .
دلایل جدا بودن از دشواری‌های تکنیکی و گران بودن نگهداری و تکامل بعضی از سیستمها بدین ترتیب است: سامرویل و دویس تخمین زده است که هزینة حسابهای نگهداری نرم‌افزار 50 تا 75 درصد از کل هزینة یک سیستم نرم‌افزاری است. بازنویسی این سیستمها از روی چکنویس همیشه مسئله‌دار بوده است زیرا این قضیه حجم بزرگی از زمان، پول و منابع انسانی را نیاز دارد .
از زمانی که سیستمهای قدیمی به سمت حجیم شدن توسط هزاران خط کد نویسی بدلیل وجود مستندسازی‌های ناقص رفته است، نیاز به راهنمایی‌های خاصی که در فهمیدن و رفع نقص نرم‌افزار کمک کند احساس می‌شود. تمرکز ما بر روی سیستمهای شئ‌گرا قدیمی بوده که اساساً بدلیل وجود بسیاری سیستم متفاوت که با این روش نوشته شده‌اند و بدلیل اینکه عمر مسبب تغییر قسمتی از یک سیستم نرم‌افزاری در سیستمهای قدیمی نمی‌شود، اما سرعت در هر کدام توسعه و تغییر یافته است .

۰ نظر موافقین ۱ مخالفین ۰ ۰۹ مرداد ۹۲ ، ۱۵:۳۷
مهراد مظاهری

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

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

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

ما در این دوره آموزشی شما را با قابلیت access آشنا کرده و شاید اگر اغراق نکرده باشم شما را استاد این برنامه بی نظیر خواهیم کرد شما نیز لحظه به لحظه به آشنایی با قابلیتهای این برنامه مطمئنا مشتاق یادگیری هرچه سریع آن خواهید شد.


شناسایی اصول ابزارهای لازم برای اجرا نرم افزار ACCESS

- برای مطالعه این دوره آموزشی نیاز است کاربران محترم آشنایی با محیط ویندوز و SQL داشته باشند.

- جهت نصب و اجرای نرم افزار های Office که اکسس نیز شامل آن می شود، نیاز به سیستمی با مشخصات ذیل می باشد:

- حداقل سیستم مورد نیاز کامپیوتری با پردازشگر PENTIUM 3 یا بالاتر

- میزان حافظه RAM بسته به سیستم عاملی که از آن استفاده می کند دارد


هارد دیسک
فضای حافظه هارد دیسک بسته به پیکر بندی انجام شده متفاوت خواهد بود و با نصب سفارشی برنامه OFFICE ممکن است فضای مورد نظر افزایش یا کاهش یابد

- 245 مگابایت از فضای آزاد موجود در هارد دیسک که 115 مگابایت از آن در محلی قرار داشته باشد که در سیستم عامل خود را در آن نصب نموده اید، 50 مگابایت فضا دیگر دیسک برای کاربرانی که از سیستم هایی به غیر از Windows 2000 و windows me استفاده می کنند.

- سیستم عامل

برنامه Access 2003 قابل نصب روی سیستم عامل هایی چون Windows 2000 و WINDOWS98 و windows me و Windows 2002 و بالاتر می باشدآموزش بانک اطلاعاتی اکسس (Access)

۰ نظر موافقین ۱ مخالفین ۰ ۰۹ مرداد ۹۲ ، ۱۵:۲۵
مهراد مظاهری