خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SHOW FULL COLUMNS FROM `wp_options`

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format', 'hashtags') AND tr.object_id IN (2577) ORDER BY t.name ASC

آموزش قدم به قدم جاوا - قسمت دهم - Hive | مجله توسعه‌دهندگان وب
  • شاخه: دسته‌بندی نشده    ::    بازدید: ۷۹۵
  • ۲

آموزش قدم به قدم جاوا – قسمت دهم

در قسمت دهم از آموزش جاوا با مفهوم پکیج آشنا خواهیم شد.

پکیج‌ها (Packages)

پکیج‌ها راهی برای دسته‌بندی کلاس‌های مرتبط به هم هستند. برای استفاده از پکیج دو دلیل اصلی وجود دارد:

  1. دسته‌بندی و سازمان‌دهی کلاس‌های مرتبط به هم. در برنامه‌های بزرگ که ممکن است از صدها کلاس تشکیل شوند نیاز به پکیج کاملا احساس می‌شود.
  2. جلوگیری از تداخل نام کلاس‌ها. گاهی اوقات لازم است که دو یا چند کلاس با یک نام داشته باشیم. این کار در یک پکیج امکان‌پذیر نیست اما می‌توان در پکیج‌های مختلف کلاس‌هایی با نام‌های یکسان داشت.

تا حالا کلاس‌های خود را درون پکیج خاصی قرار نمی‌دادیم و کلاس‌های ما درون پکیجی به نام default package یا global package قرار می‌گرفتند.

به فولدری که پروژه‌های خود را در آن ایجاد می‌کنید (Workspace ای که در eclipse مشخص کردید) رفته و سپس در فولدر مربوط به پروژه خود فولدری به نام src می‌بینید که کلاس‌های شما درون آن قرار دارند.

ایجاد یک پکیج

برای ایجاد یک پکیج در eclipse به صورت زیر عمل کنید:

jpack1

روی فولدر src راست‌کلیک کرده و از منوی New گزینه Package را انتخاب کنید. در فیلد Name نام پکیج خود را انتخاب کنید. طبق قرارداد نام پکیج باید تماما از حروف کوچک تشکیل شود. من نام myclasses را انتخاب کردم.

حالا درون پکیج جدیدی که ساختید کلاسی با نام دلخواه ایجاد کنید. (با نحوه ایجاد کلاس در قسمت قبل آشنا شدید) من کلاسی به نام Apple درون پکیج جدیدی که ساختم ایجاد کردم.

jpack2

همانطور که در تصویر مشخص است در قسمت Package Explorer هم پکیجی که ساختیم نمایش داده شده است و هم کلاسی که درون آن پکیج ایجاد کردیم.

در سمت راست تصویر درون کادر قرمز رنگ دستور زیر را می‌بینید:

به این کد دستور پکیج (Package Statement) گفته می‌شود. این کد قبل از شروع کد کلاس قرار دارد و به کامپایلر می‌گوید که این کلاس درون پکیج myclasses قرار دارد. این کد به صورت خودکار همراه با کد کلاس توسط eclipse برای ما ایجاد شده است.

نکته: کلاس‌های موجود در defualt package فاقد دستور پکیج هستند چون عملا در پکیج خاصی قرار ندارند.

کتابخانه کلاس‌های جاوا (Java Class Library)

کتابخانه کلاس‌های جاوا مجموعه‌ای از کلاس‌های از پیش‌نوشته‌شده است که می‌توانیم در برنامه‌هایی که می‌نویسیم از آن‌ها استفاده کنیم. به این مجموعه Java API نیز گفته می‌شود. این کلاس‌ها در پکیج‌های مختلف قرار دارند. در جدول زیر چند پکیج مهم و پرکاربرد از کتابخانه جاوا را می‌بینید:

این پکیج شامل ضروری‌ترین کلاس‌های موردنیاز است که در ادامه با آن آشنا خواهید شد.

java.lang

در این پکیج هم کلاس‌های پرکاربردی وجود دارند. مثل کلاس کار با تاریخ و ساعت.

java.util

کلاس‌های مربوط به ورودی و خروجی که برای کار با منابع داده خارجی (مثل فایل‌ها یا اینترنت) به کار می‌روند.

java.io

کلاس‌های شبکه که برای کار با شبکه و ارسال و دریافت اطلاعات در سطح شبکه به کار می‌روند.

java.net

کلاس‌های مربوط به تکنولوژی Swing که برای ایجاد رابط کاربری گرافیکی استفاده می‌شود.

javax.swing

البته این‌ها پرکاربردترین پکیج‌ها از کتابخانه کلاس جاوا بودند و پکیج‌های دیگری نیز وجود دارند.

نکته قابل توجهی که در نام این پکیج‌ها وجود دارد وجود نقطه در آن است. این نقطه‌ها بیانگر یک فولدر هستند. یعنی مثلا در java.util فولدری به نام util درون پکیج java (که خود یک فولدر است) وجود دارد و بقیه هم به همین ترتیب. پس فولدر اصلی java است و util و io و … فولدرهای دیگری درون این فولدر اصلی هستند.

استفاده از کلاس‌های موجود در پکیج‌های دیگر

برای استفاده از کلاس‌هایی که در پکیج‌های دیگر قرار دارند باید آن‌ها را import کنیم.

مثال: می‌خواهیم از کلاس Date که در پکیج java.util قرار دارد استفاده کنیم. از اشیا ساخته شده از این کلاس می‌توان برای دریافت اطلاعات مربوط به تاریخ و زمان سیستم استفاده کرد:

همانطور که می‌بینید قبل از شروع کد کلاس دستور import قرار گرفته است. (چون کلاس Main درون default package قرار دارد بنابراین فاقد دستور پکیج است.)

با دستور import کلاس Date موجود در پکیج java.util را وارد برنامه خود کردیم و حالا می‌توانیم در کلاس خود از آن استفاده کنیم. نکته‌ای که باید به آن توجه داشته باشید این است که وقتی یک کلاس را درون کلاسی دیگر import می‌کنیم فقط می‌توانیم در همان کلاس از آن استفاده کنیم نه در کل برنامه. به عبارت دیگر در هر کلاسی که قصد استفاده از یک پکیج را داشته باشیم باید آن را import کنیم.

در عبارت java.util.Date واضح است که منظور از Date فولدری درون فولدر util نمی‌باشد چون همانطور که گفتیم نام پکیج‌ها از حروف کوچک تشکیل می‌شود و Date با حرف بزرگ شروع شده بنابراین Date یک کلاس است.

در متد main شیئی از کلاس Date به نام d ایجاد کرده و در خط بعد در دستور چاپ متد toString از کلاس Date را فراخوانی کرده‌ایم. این متد عبارتی را برگردانده که معادل روز هفته و ساعت دقیق سیستم است و سپس این عبارت با متد println چاپ خواهد شد.

نکته: اگر بخواهیم تمام کلاس‌های موجود در یک پکیج را import کنیم می‌توانیم به جای نام کلاس از * استفاده کنیم (البته این کار توصیه نمی‌شود مگر آن‌که واقعا به تمام کلاس‌های یک پکیج نیاز داشته باشیم):

پکیج java.lang

در جدولی که مربوط به پکیج‌های مهم کتابخانه کلاس جاوا بود پکیجی به نام java.lang قرار داشت که همانطور که گفتیم از ضروری‌ترین کلاس‌های موردنیاز در هر برنامه تشکیل می‌شود به همین دلیل برای استفاده از کلاس‌های موجود در این پکیج نیازی به import کردن آن‌ها نیست و کلاس‌های این پکیج در هر برنامه به صورت خودکار import می‌شوند.

مصطفی نصیری

دانشجوی نرم افزار هستم و علاقه شدیدی به برنامه نویسی مخصوصا با زبان جاوا دارم! در حال حاضر تمرکزم روی اندرویده. دوست دارم چیزایی که یاد میگیرم رو با بقیه به اشتراک بگذارم :)

همچنین ممکن است دوست داشته باشید ...

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (934) ORDER BY t.name ASC

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (934) ORDER BY t.name ASC

خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (934) ORDER BY t.name ASC

class="post-934 post type-post status-publish format-standard has-post-thumbnail hentry">
۲
  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_format') AND tr.object_id IN (490) ORDER BY t.name ASC

  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (490) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (490) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (490) ORDER BY t.name ASC

    class="post-490 post type-post status-publish format-standard has-post-thumbnail hentry">
    ۱۳
  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_format') AND tr.object_id IN (220) ORDER BY t.name ASC

  • خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category') AND tr.object_id IN (220) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('post_tag') AND tr.object_id IN (220) ORDER BY t.name ASC

    خطای پایگاه‌داده وردپرس: [Got error 28 from storage engine]
    SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('hashtags') AND tr.object_id IN (220) ORDER BY t.name ASC

    class="post-220 post type-post status-publish format-standard has-post-thumbnail hentry">
    ۳

    ۲ واکنش

    1. vm گفت:

      بسیار عالی و کاربردی می نویسید این آموزش ها رو. ممنون

    2. ایمان گفت:

      سلام

      خیلی خوبه آقا دستت درد نکنه خدا قوت

    پاسخ دهید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *