مشاوره و پشتیبانی #پایگاه داده #هوش تجاری

معماری جاوا

در زبان C سورس (SRC = Source) میاد تو کامپایلر و خروجی یک کد ماشین میده کد با OS درگیره و در نهایت سیستم‌عامل اجراش میکنه

جاوا اسکریپت‌ها: سورس میاد داخل یک مرورگر اینترنت توسط مفسر جاوا اسکریپت اجرا میشه مفسر با OS درتعامله و کد درنهایت اجرا میشه (حالت کد تغییر نمیکنه، چیزی به اسم کد ماشین وجود نداره)  تمام زبان‌های اسکریپتی غالباً free platform هستن چون کد ماشینی وجود نداره ولی چندتا ضعف دارن

شما نمیتونید مطمئن بشید که برنامه‌تون درسته چون تو زبان‌های برنامه‌نویسی کامپایلر جلوی شما رو میگیره (امنیت ساختاری ندارن)

اسکریپت‌ها RO بیس هستن چون همون سورس کد اجرا میشه ولی در C حتماً باید کد رو دوباره کامپایل کنی

اسکریپت‌ها معمولاً کندتر از کامپایلری‌ها هستن

 

جاوا: JDK همون کامپایلره جاواست و بعد کامپایل بایت کد میده. بایت کد میاد داخل JRE و توسط OS اجرا میشه

جاوا ترکیبی از مفسر و کامپایلر هست | JRE مفسر و JDK کامپایلر

 

برنامه‌هایی که با جاوا نوشته میشن فقط برای بار اول کنده پس واسه همین برای وب خوبه

بایت کد توسط JRE یک دفعه خونده میشه میره توی RAM دیگه جاوا refrence با لایه فیزیکی با لایه هارد نمیکنه ولی چون بار اول میخونه بایت کد رو و اون بایت کد رو نگه میداره و اسم اون بایت کد دیگه XCODE چون تو RAM هست واسه همین جاوا بار اول که میخواد بایت کد رو بیاره روی RAM کنده چون بایت کد روی هارده

 

حالا .net و cpp هربار که کدتون به کد ماشین وابسته باشه میره و کد ماشین رو از روی هارد لود میکنه C# و CPP کل کد ماشین رو CACHE نمیکنن تیکه تیکه میارن روی RAM و CACHE میکنن

 

بخش بعدی دیتابیس: ۲ رنک اول دیتابیس در جهان اوراکل و DB2

قطعاً لایسنس SQL Server قیمتش معادل ۱ میلیون تومنه ولی اوراکل عددی معادل ۱ میلیارد و ۲۰۰ تومان هزینه داره (برای پشتیبانی فقط) قیمت دلالی ۵۰ تا ۱۰۰ میلیون | واحد پژوهشاتی CIA و SUN هم واحد پژوهشاتی NASA | پدر جاوا: جیمز گاسرینگ (بنیان گذار زبان جاوا و با C نوشته شده)

 

هیچ انسانی وقتی به دنیا اومد برنامه‌نویس نبود به مرور کار میکنی دستت میاد

 

SQL Server با DB2 مقایسه میشه نه با Oracle

 

SQL Server دیتابیس نیست تو رنکینگ بین‌المللی به خاطر لایه زیریش میگن دیتابیس نیست همون flat file با SQL

 

۱ داره از JDK کم کم حذف میشه و همون ۷ است => ۱.۷ = ۷

۲۸ شهریور ۹۳ ، ۱۷:۲۶
مهدی غفاری

زبان برنامه‌نویسی جاوا

زبان برنامه‌نویسی جاوا چند سالی است که رتبه اول رو داره، زیان برنامه‌نویسی C بیشتر برای پیاده‌سازی برنامه‌های کاربردی سطح پایین استفاده میشه ولی جاوا برای پیاده‌سازی برنامه‌های کاربردی سطح بالا، زبان‌برنامه‌نویسی C# رو میشه به وانت تشبیه کرد و جاوا رو به خاور از این جهت که:

زمان تولید نرم‌افزار در C# نسبت به جاوا بسیار پایینه، ما زمانی از جاوا استفاده میکنیم که فاز توسعه نرم‌افزار برای ما خیلی اهمیت داشته باشه خب بهتره بدونید بسیاری از پروژه‌های نرم‌ازفاری در ایران اصلاً فاز توسعه ندارن

نکته: هر ابزاری جای خودش رو داره، مثلاً پراید رو کسی نمیبره تو فرمانیه گلگریش رو رنگ کنه، این که ما بیایم زبان‌ها رو باهم مقایسه کنیم اصلاً‌ در اندازه ما نیست و ضمناً هر زبان و تکنولوژی‌ای جای خودش رو داره

اوراکل سان ماکرو سیستم رو خرید و جاوا الان ماله اوراکله

جاوا یکسری خواص عالی داره

    1. Object Oriented
      1. (RO (Reflect Oriented

       بدون اینکه برنامه رو بیاریم پایین میتونیم برنامه رو توسعه بدیم

      ( پروژه بالاست و کاربران دارن باهاش تعامل میکنن همون بالا بهش میخوایم متد اضافه کنیم)

      اکثر زبان‌های اسکریپتی این خاصیت رو دارا هستن

      جاوا و جاوا اسکریپت هیچ ربطی باهم ندارن اسم اصلی‌اش لایو اسکریپت بوده ماله شرکت netscape

      جاوا اسکریپت یک زبان اسکریپت نویسی‌ است و جاوا یک زبان برنامه‌نویسی

      به زبانی که کامپایلر نداره و مفسری هستن زبان اسکریپتی میگن

      جاوا زبان کامپایلری است که خاصیت RO رو داره

        1. AO (Aspect Oriented)

        یه متد داریم n1 چاپ میکنه سلام یه متد داریم n2 چاپ میکنه خداحافظ یه متد دارم متد main چاپ میکنم n1 و n2 این خاصیت AO است خروجی امیرسام سلام خداحافظ چطوری؟ بدون اینکه به روال و کلاس دست بزنم تو یه فایلی میتونم بنویسم هرگاه متد n1 صدا شد قبلش چاپ کن امیرسام و هرگاه متد n2 صدا شد بعدش چاپ کن چطوری؟

        یعنی ساختار رو تغییر نمیدی از بیرون ساختار رو کنترل میکنی | این ساختار رو قبل از OO داشتیم (در C و CPP حذف کرد AO رو) یعنی دیدگاه AO رو داشتیم (کنترل برنامه در جایی دیگه) | کاربرد: یکسری از پروژه‌ها که مستند هم ندارن و زمان مهندسی معکوس هم نداریم که معکوس کنیم بدون دست زدن به ساختار برنامه میایم توسط یک فایل خارجی میایم و برنامه رو کنترل میکنیم چون مطمئن نیستم کجاها متد n1 صدا زده شده فقط میگیم هرگاه متد n1 چاپ شده باشه فلان کارو کن | زمانی بدرد میخوره که میخوایم بدون مهندسی معکوس پروژه رو توسعه بدیم

         

        خلاصه: جاوا ۳ تا خاصیت داره OO& RO & AO

         

        جاوا native قبول میکنه یعنی در جاوا میتونید از زبان C استفاده کنید یعنی یه متد رو با C بنویسید و یه متد رو با جاوا البته دچار یک نقص اساسی می‌شید (جاوا native سی قبول میکنه و C اسمبلی)

        خاصیت بعدی FP (Free Platform) روی همه‌ی پلتفرم‌های معروف دنیا قابلیت اجرا داره (بایت کد | جاوا کد ماشین بیرون نمیده)

        جاوا امنه | جاوا امن نیست | هیچ زبان برنامه‌نویسی امن نیست | امنیت به زبان برنامه‌نویسی مربوط نمیشه | شعور امنیت میخواد

        ( امنیت زبانی راجع به امنیت ساختاری صحبت میکنه )

         

        انواع نرم‌افزار

            • سیستمی (سیستم‌عامل‌ها)
            • کاربردی (دسته‌بندی‌های مختلف میشن) (نسبت به نوع سکوی اجرایی)
        1.  (دسکتاپ اپلیکیشن‌ها)
        2. (ماکرو اپلیکیشن‌ها)
        3. (وب اپلیکیشن‌ها)
        4. (وپ اپلیکیشن‌ها)
        5. (کارت اپلیکیشن‌ها)
        6. (آندروید اپلیکیشن‌ها)
        • دسکتاپ اپلیکیشن‌ها روی کامپیوتر مجری سوار میشن (یا نصب یا کپی) و پردازش روی کامپیوتر مجریه
        • ماکرو اپلیکیشن‌ها مثل برنامه‌هایی که رو موبایل سوار میشه یا ماشین لباسشویی یا تلوزیون‌های قدیمی یا مثل برنامه ماکروویو یا برنامه موشک
        • یه تفاوت عمده با دسکتاپ اپلیکیشن دارن ماکرو اپلیکیشن‌ها بیشتر روی یک ماکروکنترلر نصب میشن
        • وب اپلیکیشن مثل سایت گوگل (تفاوت وبسایت با وب‌سرور اپلیکیشن: وب سرور اپلیکیشن بهتون سرویس میده ولی سایت فقط یه صفحه بهتون نمایش میده(محتوای خام)) وب بیس اپلیکیشن: نرم‌افزار کاربردی تحت وبی که به کاربر سرویس میده حالا یا سرور ساید یا کلاینت‌ ساید | مجموعه خدمت‌هایی که در یک راستا دارن به شما خدمات ارائه میکنن
        • وپ اپلیکیشن (گوشی‌های خیلی قدیمی توانمندی اتصال به اینترنت رو نداشتن ولی توانایی اتصال به وپ رو داشتن (تو ایران فعال نشد) برنامه‌ای که تو شبکه وپ است رو میگن وپ اپلیکیشن | فرقش با وب اپلیکیشن: وب html است برای بی‌سیم و پیجر قابل فهم نیست زبان وپ wml است که خیلی سبکتر از html است)
        • CGI: زبان برنامه‌نویسی نیست یک تکنولوژی برای زبان برنامه‌نویسی C
        • کارت اپلیکیشن‌ها، ما ۲ نوع کارت داریم یک کارت بی‌شعور (مغناطیسی‌ها دارای یک رشته است و فقط دارای یک اطلاعات خاص هست (مثل شماره حساب) اینو ATM میخونه و تمام اطلاعات شما درون سرورهای بانکه)

        و کارت هوشمند (دارای چیپ و میتونه تو اون قسمت روش یک نرم‌افزار سوار بشه یعنی خود کارت نرم‌افزاره و اطلاعات مختلفی میشه رو سوار کرد) کارت سوخت (چرا هوشمند شد؟ بجز بالا رفتن هزینه، چون کاربردی نداره(مگر کیف پول الکترونیکی))، کارت پایان خدمت، کارت ملی هوشمند (نرم‌افزار رای‌گیری برای مجلس و ریاست جمهوری، پیگیری بیمارستان)

            • آندروید اپلیکیشن‌ها: نرم‌افزاری برای سیستم‌عامل آندروید، نرم‌افزارهایی که مخصوص سیستم‌عامل آندروید نوشته میشه
              • فرقشون با نرم‌افزارهای ماکرو و کارت: یا شبیه به دسکتاپ اپلیکیشن هستن یا شبیه به کارت اپلیکیشن یا شبیه ماکرو اپلیکیشن، تفاوت اصلی اینها باهم یک چیزه، دسکتاپ اپلیکیشن تفاوتی با آندروید اپلیکیشن نداره، گوشی‌های آندروید دارای یکسری سنسور هستن اگه بخواین دسکتاپ با این سنسورها کار کنی خیلی کار سخت میشه اومدن یه ویرایشی تولید کردن که راحتتر بتونید کار کنید
        1. J2SE
        2. J2ME
        3. J2EE
        4. J2EE
        5. Java Card (Smart Card)
        6. Android SDK

        (جاوا ابزار خوبی برای دسکتاپ اپلیکیشن نیست)

         

          • اسم کلاس دلالت بر اسم فایل داره
          • اسم پکیج دلالت بر اسم دایرکتوری داره
          • Javac name.java
          • Java package.nameclass

          • اسم کلاس باید با اسم فایل و ... کلاً‌باید یکی باشه چون جاوا کلاً حساسه case senstivy
          • تازمانی که خطای برنامه رفع نشه کامپایل انجام نمیشه و فایل class اجرا نمیشه
          • Openjdk واسه زمانیه که میخوای از jdk‌اون سورس استفاده کنی (بیشتر تو لینوکس)
          • IDE مورد استفاده Intellij IDEA
          • Netbeans استفاده نشه شما جاوا کارید نه C#
        ۲۸ شهریور ۹۳ ، ۱۷:۲۵
        مهدی غفاری

        مقدمه

          • ارتباط با دیتابیس (با جاوا وصل بشیم به بانک اطلاعاتی و اطلاعات رو داخلش ذخیره کنیم)
          • توزیع برنامه کاربردی در شبکه یعنی برنامه کاربردی رو چند تیکه کنیم و در سطح شبکه بتونن باهم ارتباط برقرار کنن (RMI)
          • دوره اوراکل به عنوان مکمل
          • کسایی که مجموعه این ۴ تا دوره رو بیان و چندتا درس دیگه مثل مهندسی نرم‌افزار و ... رو پاس کنن مدرک کارشناسی ارشد برنامه‌نویسی تجاری دانشگاه شریف رو میتونن بگیرن
          • هر جایی که متوجه نمیشین بگین ( متوجه‌این و نامتوجه‌این )
          • سیستم مدیریت منابع انسانی یک شرکت تولیدی ( نگه‌داری اطلاعات کارمندان | نگه‌داری اطلاعات آموزشی | نگه‌داری اطلاعات تاریخچه‌ای | ورود به شرکت | تاریخ اخراج و استخدام | چارت سازمانی و ... )
          • پروژه بانک الکترونیکی بانک پارسیان ( وارد بانک پارسیان میشی به صورت دسکتاپ اپلیکیشنی )
          • مدیریت اتاق عمل یک بیمارستان (در بیمارستان یک اتاق عمل وجود داره زمانی که یک بیمار مراجعه میکنه یک پرونده به اتاق جراحی ارسال میشه ۲ دکتری که هم تخصص این جراحی هستن انتخاب میشن برای حظور در اتاق عمل یک دکتر uncall خواهد بود یک دکتر حظور واقعی داره حالا دکتر دوم واسه اینه که اگه دکتر اول نیاز به کمک داشت بهش کمک کنه | مسئول بی‌هوشی، پرستار و ... | کل این سیستم + تجهیزات موردنیاز اتاق عمل ( هر اتاق عملی تجهیزات خاصی نیاز داره ) پس باید همه رو ایجاد کنید ( در داخل بانک اطلاعاتی همه تجیزات رو باید نگه دارید) | نکات ریز: مثلاً یه دکتر نمیتونه تو یه ساعت ۲ تا جراحی انجام بده، یه دکتر از ۸ صبح تا ۱۰ صبح نمیتونه چندتا جراحی انجام بده )
          • جلسه آخر دفاعیه است باید دفاع کنید از پروژه‌تون
          • پروژه تحقیقاتی: برنامه‌ای با جاوا بنویسید که از طریق میکروفون کلمات را دریافت کرده و در کنسول متن را نمایش دهد (انگلیسی) (از کتابخانه استفاده کنید)
          • پروژه تحقیقاتی: تشخیص عکس (یک عکس صورت میدیم تو یه عکس دیگه باید تشخیص بده و دورش خط بکشه)
          • پروژه تحقیقاتی: من نسبت‌های خانوادگی‌ام رو مشخص میکنم اگه بپرسم فلانی کی من میشه باید بگه
          • پروژه تحقیقاتی: عکس صورت رو میگیری با یه فیلم که صورت توش مشخصه باید اون قسمت از فیلم رو استاپ کنی اسکرین‌شات بعدی از اون فریم
          • پروژه تحقیقاتی: یه سیستم به صورت هوشمند وروردی بگیره ازش سوال میکنیم مشخصات رو بده  و جواب بصورت هوشمند
          • پروژه تحقیقاتی: روش MD5 را Optimiz کنید (کل pateern رو توضیح میدی و ۳ جای pateern ریجستر شده MD5 احتیاج به Optimize داره)

        پروژه بانک الکترونیکی بانک پارسیان

        • انتقال وجه بین حسابها
        • پیگیری ۱۰ تراکنش آخر حساب
        • مدیریت اطلاعات حساب ( تغییر به صورت آنلاین )
        • عکس دارنده حساب
        • وضعیت آخر حساب
        • جستجوی یک شماره حساب ( موقع واریز باید بعد اوکی اطلاعات حساب باید نمایش داده بشه برای تایید)
        • یه زمان میخوایم بدونیم فلانی به حساب من پول واریز کرده یا نه شماره حساب رو میزنم تمام واریزی‌های انجام شده از اون حساب به حساب من
        ۲۸ شهریور ۹۳ ، ۱۷:۲۴
        مهدی غفاری

        ۱۶ آذر - روحانی مچکریم

        همه چی از چند روز پیش شروع شد اما با روایتی طولانی ...

        http://www.sbu.ac.ir/Lists/News/DispForm.aspx?ID=12812

        ۱۶ آذر ۹۲ ، ۲۱:۱۵
        مهدی غفاری

        نقشه‌ای کامل از مسیرهای صدور مدارک سیسکو CCNA CCNP CCIE CCDE

        تمام اطلاعات لازم برای حرکت بعدیتون رو میتونید تو این پوستر پیدا کنید

        دانلود پوستر به صورت pdf

        منبع

        ۱۱ مهر ۹۲ ، ۱۷:۳۱
        مهدی غفاری

        روز آزادی نرم‌افزار و همایش‌هاش

        امسال هم همایش‌های روز آزادی نرم‌افزار بطور جدی در حال برگزاریه

        اصفهان و تهران رو من خبر دارم ولی اگه تو شهرتون همایش برگزار میشه با بزرگواری بهم لینک بدید، خودم امسال هیچ هدف خاصی واسه شرکت تو همایش بچه‌های اصفهان ندارم، پس شرکت نمی‌کنم ولی اگه به شما نزدیکه یا هدف معلومی دارید حتماً شرکت کنید؛ در کل هم خیلی خوشحالم که ۲۱۸ نفر تا همین لحظه ثبت‌نام کردن.

        همایش تهران هم با اینکه خیلی دوست داشتم جزو برگزار کننده‌ها باشم ولی مشغله‌های فکری، درسی، کاری و اجتماعی مانع از این شد، امیدوارم سال‌های دیگه بتونم بیشتر کمک کنم.

        ۲۸ شهریور ۹۲ ، ۱۳:۳۴
        مهدی غفاری

        روز مهندس نرم‌افزار

        خب واضحه

        مطلب خاصی ندارم بگم

        فقط امیدوارم به زودی به جمعشون بپیوندم

        ۰۳ مرداد ۹۲ ، ۱۸:۰۵
        مهدی غفاری

        تولد ۱۹ سالگی

        آره دیگه امروز ۱۹ سالم تموم میشه :) حال و هوای خاصی جز درس خوندن واسه امتحان فردا (شبکه) نیست.

        خیلی جالبه که این پست نوزدهمین پسته منه البته شاید شما ۱۹ تا پست رو الان نبینید چون همشون تو پیش‌نویس‌ان :) ولی اونایی که میبیننن بدونن که همشون بالاخره منتشر شد :)

        از دوستانی که تولدم رو تبریک گفتن بی‌اندازه ممنونم

        از واحد کنترل کیفیت شاتل هم که لطف میکنه زنگ میزنه ممنونم :)

        ۱۲ خرداد ۹۲ ، ۱۲:۲۴ ۰ نظر
        مهدی غفاری

        مدیریت مسیریابی چند مسیره با استفاده از پیش‌بینی ترافیک بر مبنای شبکه‌های عصبی

        اینم موضوع پروژه دوره کاردانی پیوسته اینجانب بود که ترجمه‌ی مقاله‌ی با همین عنوان در سومین کنفرانس بین المللی شبکههای اطلاعاتی در حال ظهور بود.

        اصل مقاله و ترجمه رو می‌تونید از لینک زیر دانلود کنید:

         

        دریافت
        حجم: 6.14 مگابایت

        ۲۲ فروردين ۹۲ ، ۱۶:۰۲ ۰ نظر
        مهدی غفاری

        ترجمه کتب لیبرآفیس - Getting Started

        Getting Started with LibreOffice

        شنیدید که نردها هر آموزشی که به دستشون میرسه میخونن

        خب انگار این قضیه بیشتر از این که تو نردها رواج داشته باشه تو گیک‌ها رواج داره

        مجموعه کتب لیبرآفیس به صورت کاملا حرفه‌ای و کامل تمام امکانات این آفیس قدرتمند رو پوشش میده

        فعلا واسه نسخه ۴ فقط کتاب Getting Started به صورت کامل در دسترسه

        بعد از خوندن نسبی کتاب خوندنش رو توصیه میکنم همچنین مشتاقانه منتظر کامل شدن کتاب Writer و Impress هستم

        از اونجایی که ترجمه این کتب به احتمال زیاد با استقبال کاربران ایرانی مواجه میشه ترجمه‌شون میتونه ایده خوبی باشه

        فعلا در حد همون ایده میزارمش کنار تا بعدا بیشتر بهش فکر کنم

        https://wiki.documentfoundation.org/Documentation/Publications

        https://wiki.documentfoundation.org/Documentation/Other_Documentation_and_Resources

        ایمان هم دست به کار شده و میخواد یه راهنما درست کنه

        http://emanlog.com/?p=327

        ۱۴ فروردين ۹۲ ، ۲۱:۴۸ ۲ نظر
        مهدی غفاری