پایگاه داده MySQL

نحوه بازیابی رمز عبور MySQL

مقدمه

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

تغییر رمز MySQL بدون داشتن رمز فعلی

مراحل زیر را به ترتیب برای تغییر رمز MySQL انجام دهید.

۱- متوقف کردن سرویس MySQL

دستور زیر را برای متوقف کردن سرویس MySQL در خط فرمان گنو/لینوکس اجرا نمایید:

sudo /etc/init.d/mysql stop

۲- راه‌اندازی سرویس MySQL در حالت غیر فعال کردن رمز عبور

دستور زیر را برای راه‌اندازی سرویس MySQL در حالت غیر فعال کردن رمز عبور در خط فرمان گنو/لینوکس اجرا نمایید:

sudo mysqld_safe --skip-grant-tables &

۳- ورود به محیط MySQL

دستور زیر را برای ورود به محیط MySQL بدون نیاز به رمز عبور در خط فرمان گنو/لینوکس اجرا نمایید:

mysql -u root

۴- تغییر رمز کاربر root

دستورات زیر را در خط فرمان MySQL برای تغییر رمز عبور کاربر root وارد نمایید. به جای عبارت NEW-ROOT-PASSWORD رمز مورد نظر خود را جایگزین نمایید. همچنین شما میتوانید رمز سایر کاربران را نیز با دستورات مشابه تغییر دهید.

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

۵- متوقف کردن سرویس جاری MySQL

دستور زیر را برای متوقف کردن سرویس جاری MySQL در خط فرمان گنو/لینوکس اجرا نمایید:

sudo /etc/init.d/mysql stop

۶- راه‌اندازی سرویس MySQL و ورود با رمز جدید

دستور زیر را برای راه‌اندازی سرویس MySQL در خط فرمان گنو/لینوکس اجرا نمایید:

sudo /etc/init.d/mysql start

در نهایت با استفاده از رمز عبور جدید و دستور زیر وارد محیط MySQL شوید:

mysql -u root -p

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.

برنامه Homebrew برای مدیریت بسته‌های نرم‌افزاری در OS X

برنامه Homebrew برای مدیریت بسته‌های نرم‌افزاری در OS X

مقدمه

من از سیستم‌عامل اوبونتو برای انجام کارهای شرکت و پروژه‌های گنو/لینوکسی استفاده می‌کنم و در کنار آن، از مک‌بوک پرو (OS X) برای انجام سایر کارها و پروژهای شخصی بهره می‌برم. به صورت پیش‌فرض در اوبونتو و سایر گنو/لینوکس‌ها ابزارهایی مانند APT و RPM برای مدیریت بسته‌های نرم‌افزاری وجود دارند که OS X از آن‌ها بی‌بهره است. ابزار‌های زیادی برای رفع این کمبود وجود دارند. از جمله Fink، Gentoo/Alt، MacPorts، Pkgsrc، RudixH و Homebrew. من شخصا Homebrew را بدلیل راحتی در استفاده و زیاد بودن بسته‌ها در مخازن نرم‌افزاری آن به سایر ابزارها ترجیح می‌دهم.

نصب Homebrew

برای نصب Homebrew کافیست دستور زیر را در خط فرمان ترمینال وارد و اجرا نمایید:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

سپس دستور زیر را برای اطمینان از نصب صحیح Homebrew اجرا نمایید:

brew doctor                # check everything is ok

Homebrew بسته‌های نرم‌افزاری را در پوشه /usr/local/Cellar نصب کرده و symlink آن‌ها را برای اجرا در /usr/local/bin ایجاد می‌نماید. دستورات زیر نحوه نصب بسته wget و محل نصب آن را مشخص می‌کنند:

$ brew install wget
$ cd /usr/local
$ find Cellar
Cellar/wget/1.15
Cellar/wget/1.15/bin/wget
Cellar/wget/1.15/share/man/man1/wget.1

$ ls -l bin
bin/wget -> ../Cellar/wget/1.15/bin/wget

دستور زیر را برای بررسی وجود /usr/local/bin در $PATH اجرا نمایید:

if [ -n "`echo $PATH | grep '/usr/local/bin'`" ]; then echo "true"; else echo "false"; fi;

در صورتیکه خروجی دستور بالا false بود، دستورات زیر را برای اضافه کردن /usr/local/bin به $PATH اجرا نمایید:

echo -e "\n# Homebrew bin dir path." >> ${HOME}/.bash_profile
echo "PATH=/usr/local/bin:\$PATH" >> ${HOME}/.bash_profile
source ~/.bash_profile

دستورات Homebrew

دستورات Homebrew بسیار شبیه به سایر نرم‌افزارهای مشابه‌اش است. برای اجرای دستورات Homebrew نیازی به دسترسی ریشه و sudo ندارید. در زیر مهم‌ترین دستورات Homebrew را مشاهده می‌نمایید:

دستور توضیح
brew list
نمایش فهرست نرم‌افزار‌های نصب شده
brew search
نمایش فهرست نرم‌افزار‌های قابل نصب
brew search pkg-name
جستجو برای نرم‌افزار pkg-name
brew info pkg-name
نمایش اطلاعات بسته نرم‌افزاری pkg-name
brew install pkg-name
نصب بسته نرم‌افزاری pkg-name
brew uninstall pkg-name
حذف بسته نرم‌افزاری pkg-name
brew update
بروزرسانی فهرست نرم‌افزار‌های قابل نصب
brew upgrade
بروزرسانی تمامی نرم‌افزارها
brew upgrade pkg-name
بروزرسانی نرم‌افزار pkg-name

پیوندها

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.

لینوکس

آزاد کردن فضای RAM با پاک‌کردن Cache در لینوکس

مقدمه

مدتی قبل در حال بررسی عملکرد پایگاه داده MySQL و پارامترهای مختلف کش (Cache) کردن اطلاعات آن بودم. قطعه کدی به زبان سی پلاس پلاس (++C) وظیفه خواندن محتوای فایل‌ها و انتقال مقادیر محاسبه شده و دریافتی از آن‌ها را به MySQL داشت. مشکلی که بوجود آمد، پر شدن حافظه رم (RAM) بعد از چند دقیقه و کندی سیستم برای انجام سایر کارها بود.

بررسی وضعیت رم

در لینوکس دستوری به نام free وجود دارد که اطلاعات وضعیت رم و فضای swap را نشان می‌دهد.

$ free -h
             total       used       free     shared    buffers     cached
Mem:          7.5G       7.4G       163M         0B        76M       4.1G
-/+ buffers/cache:       3.2G       4.3G
Swap:         7.7G       4.9M       7.7G

با توجه به خروجی دستور free مشخص می‌شود که از مجموع 7.5G فضای رم، فقط 163M خالی است. همچنین 4.1G به Cache اختصاص داده شده است. من نیاز داشتم که فضای کش شده را به صورت دستی خالی کنم.

منظور از Cache و Buffer در اینجا چیست؟

Cache شامل اطلاعات محتوای فایل‌ها و اطلاعاتی است که از دیسک خوانده شده اند.
‌Buffer شامل اطلاعات وضعیت رم و Cache و همچنین اطلاعاتی که هنوز ذخیره نشده‌اند.

پاک کردن Cache

در لینوکس فایلی به نام drop_caches وجود دارد که نوشتن در آن به کرنل (Kernel) دستور لازم برای آزاد کردن فضای cache از حافظه را می‌دهد. مقدار عددی 3 باعث پاک کردن تمامی اطلاعات کش شده می‌شود. در نظر داشته باشید که قبل از پاک کردن کش باید دستور sync را اجرا نمایید. دستور sync، اطلاعاتی که نیازمند نوشتن شدن بر روی دیسک هستند ولی هنوز در cache و buffer می‌باشند را بر روی دیسک می‌نویسد. ترکیب دستورات sync و پاک کردن cache در زیر آماده است.

$ sync; sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"

بد نیست دوباره دستور free را اجرا کرده و وضعیت رم را بررسی کنیم:

$ free -h
             total       used       free     shared    buffers     cached
Mem:          7.5G       3.5G       4.0G         0B       7.6M       433M
-/+ buffers/cache:       3.0G       4.5G
Swap:         7.7G       4.9M       7.7G

خوب،‌ براحتی حدود 3.4G از فضای RAM را خالی کردیم. شما می‌توانید این دستورات را توسط crontab به صورت دوره‌ای و خودکار بر روی سرور ویا کامپیوتر شخصی خود اجرا نمایید. البته بهتر است مدیریت رم را به سیستم عامل واگذار کنید.

برای مطالعه بیشتر

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.

جاوا (Java)

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

هفت سال قبل اولین مطلبم در مورد جاوا را با عنوان «تاریخچه زبان جاوا» نوشتم. مطلبی که در ادامه مشاهده می‌فرمایید، ادامه آن مقاله و راهنمایی برای شروع برنامه‌نویسی به زبان جاوا است.

معرفی JDK

JDK که مخفف کلمه Java Development Kit می‌باشد، مجموعه‌ای از کلاس‌ها و ابزارهاست که با استفاده از آن می‌توان یک برنامه جاوا را کامپایل و اجرا کرد. JDK از اجزای زیر تشکیل شده است:

  1. مجموعه‌ای از کلاس‌ها (که در واقع کتابخانه یا Library جاوا محسوب می‌شوند.)
  2. کامپایلر
  3. دیباگر یا اشکال‌زدا (Debugger)
  4. محیط اجرایی جاوا JRE

JDK همچنین حاوی ابزارهایی است که با استفاده از هریک از آن‌ها می‌توانید عملیات مختلفی که در زبان جاوا وجود دارند را انجام دهید. برخی از این ابزارها (دستورات) عبارتند از:

  • javac: ابزاری برای کامپایل کردن کدهای جاواست. این ابزار از روی فایل‌های *.java فایل‌های *.class می‌سازد.
  • java: این ابزار، برنامه‌ای را که کامپایل شده است را اجرا می‌کند.
  • jar: از روی مجموعه‌ای از فایل‌ها، یک فایل jar می‌سازد. فایل‌های jar، فایل‌های بسته‌بندی شبیه zip هستند که در جاوا استفاده می‌شوند. این فایل‌ها پسوند *.jar دارند.
  • javadoc: از این ابزار برای تولید مستندات کلاس‌های جاوا استفاده می‌شود.
  • jdb: ابزاری برای اشکال‌زدایی (debug) برنامه‌هاست.
  • appletviewer: ابزاری برای تست و مشاهده اپلتهاست. زمانیکه در حال نوشتن یک اپلت هستید، با استفاده از این ابزار می‌توانید آن را اجرا نموده و عملکرد صحیح آن را بررسی کنید.

نصب JDK

ابتدا نسخه متناظر با سیستم عامل خود را از صفحه Java SE Development Kit 7 Downloads دریافت نمایید. در مراحل نصبی که در ادامه مشاهده می‌فرمایید، <version> زیر نسخه مرتبط با بروزرسانی JDK است. همچنین در تمامی مراحل از نسخه 64bit جاوا استفاده شده است.

نصب JDK در گنو/لینوکس

بسته deb برای اوبونتو و توزیع‌های مشابه

دستورات زیر را برای اضافه کردن مخزن ppa و نصب جاوا به ترتیب در خط فرمان وارد نمایید:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default
sudo update-java-alternatives -s java-7-oracle

در صورتیکه هنگام دانلود جاوا با خطای Forbidden 403 مواجه شدید، دستور نصب چندین بار تکرار نمایید تا نهایتا به یک mirror باز دست یابید. برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:

java -version

خروجی دستور بالا باید مشابه زیر باشد:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

بسته rpm برای RHEL، CentOS 6/5 و Fedora 18-12

بعد از دریافت فایل rpm از سایت اوراکل دستور زیر را در خط فرمان وارد نمایید:

rpm -Uvh jdk-7u45-linux-x64.rpm

برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:

java -version

خروجی دستور بالا باید مشابه زیر باشد:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

سایر توزیع‌هایگنو/لینوکس

وارد خط فرمان (ترمینال) شده و با دستور cd به پوشه‌ای که قصد نصب جاوا در آن را دارید بروید. با دستور mv فایل jdk-7u<version>-linux-x64.tar.gz را به این پوشه منتقل نمایید. در نهایت با دستور tar فایل را از حالت فشرده خارج نمایید:

tar zxvf jdk-7u&lt;version&gt;-linux-x64.tar.gz

نصب JDK در ویندوز

برای نصب حداقلی JDK کافیست فایل jdk-7<version>-windows-x64.exe را اجرا کرده و مراحل نصب را طی نمایید.

نصب JDK در مک

برای نصب JDK در مک بر روی فایل jdk-7u<version>-macosx-x64.dmg دوبار کلیک نموده و در پنجره جدید بر روی فایلی که پسوند pkg دارد دوبار کلیک نمایید تا برنامه install اجرا شود. مراحل نصب را تا انتها ادامه دهید تا جاوا به طور کامل رو روی سیستم عامل شما نصب شود.

عناصر پایه زبان جاوا

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

کلمات کلیدی (Keywords)

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

abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

توضیحات کد (Comments)

منظور از توضیحات، عباراتی هستند که کامپایلر آن‌ها را هنگام کامپایل نادیده می‌گیرد. دلایل نوشتن توضیحات در کد عبارتند از:

  • خواناتر کردن کد برنامه
  • مشخص کردن مواردی که نیاز به رسیدگی دارند (TODO)
  • مشخص کردن کلی اطلاعات نگارش کد مانند نسخه، برنامه‌نویس، زمان نگارش، تاریخ بروزرسانی، محیط برنامه‌نویسی مورد استفاده و…
  • تعریف نحوه استفاده از یک تابع (Method)، پارامتر‌ها و خروجی آن
  • استفاده از ابزارهایی مانند javadoc برای ساخت خودکار مستندات از توضیحات موجود در کدها

برای نوشتن توضیحات (Comment) در زبان جاوا، با توجه به توضیح مورد نظر می‌توان آن را به یکی از سه نوع خطی، چند خطی (بلوکی) و مستنداتی (Documentation) نوشت. مانند:

خطی
// This is an end-of-line comment
چند خطی
/* This is a multi-line comment.
It may occupy more than one line. */
با هدف تولید مستندات (Documentation)
/**
 * This is a documentation comment.
 * 
 * @author Saeid Zebardast
 * @see <a href="http://zebardast.ir">Docs</a>
 * @since       1.0
 */

انواع داده (Data Types)

در زبان جاوا ۸ نوع داده اولیه (Primitive Data Type) تعریف شده است. توضیحات ۸ نوع داده اولیه جاوا در جدول زیر آماده است:

نوع حاوی پیش‌فرض اندازه محدوده قابل استفاده و نمایش
boolean true یا false false 1bit NA
char کاراتر یونیکد \u0000 16bits \u0000 to \uFFFF
byte داده عددی صحیح 0 8bits -128 .. 127
short داده عددی صحیح 0 16bits -32,768 .. 32,767
int داده عددی صحیح 0 32bits -2,147,483,648 .. 2,147,483,647
long داده عددی صحیح 0 64bits -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807
float داده عددی اعشاری 0.0 32bits 3.40282347 x 1038, 1.40239846 x 10-45
double داده عددی اعشاری 0.0 64bits 1.7976931348623157 x 10308, 4.9406564584124654 x 10-324

برای تعریف متغیر می‌توان از این نوع داده‌ها یا نوع داده‌های پیچیده‌تر استفاده کرد. نوع داده‌ها پیچیده‌تر با استفاده از داده‌های اولیه تعریف می‌شوند. به عنوان مثال نوع داده رشته (String) از یک یا ترکیب چند کاراکتر تولید می‌شود. هر کاراکتر در زبان جاوا داخل یک quote قرار می‌گیرد در حالیکه یک رشته داخل double quote قرار می‌گیرد:

char myChar = 'a';
String s = "Hello guys";

عملگرها (Operators)

عملگرها در زبان جاوا مشابه زبان سی پلاس پلاس می‌باشند. در جدول زیر فهرست عملگرهای زبان جاوا را مشاهده می‌نمایید:

اولویت عملگر توضیحات
1 () فراخوانی متد
[] دسترسی به آرایه
. انتخاب یک عضو کلاس
2 ++ -- افزایش و کاهش پسوندی
3 ++ -- افزایش و کاهش پیشوندی
+ - علامت منفی و مثبت اعداد
! ~ NOT منطقی و NOT بیتی
(type) val تبدیل نوع val به type
new ایجاد یک instance از کلاس یا ساخت آرایه
4 * / % ضرب، تفریق و باقیمانده تقسیم
5 + - جمع و تفریق
+ پیوست دادن رشته‌ها به یکدیگر (String concatenation)
6 << >> >>> Bitwise left shift, signed right shift and unsigned right shift
7 < <= رابطه کوچکتر و کوجکترمساوی
> >= رابطه بزرگتر و بزرگترمساوی
instanceof مقایسه نوع یک آبجکت
8 == != رابطه برابری و نابرابری
9 & AND بیتی و منطقی
10 ^ XOR بیتی و منطقی
11 | OR بیتی و منطقی
12 && شرط AND منطقی
13 || شرط OR منطقی
14 c ? t : f شرط (if) یک خطی
15 = انتساب یک مقدار
+= -= انتساب افزایش و کاهشی
*= /= %= انتساب با عملگر ضرب، تقسیم و باقیمانده تقسیم
<<= >>= >>>= انتساب با bitwise left shift, signed right shift and unsigned right shift
&= ^= |= انتساب با AND, XOR و OR بیتی

گرامر و نحو کدنویسی (Syntax)

به منظور فراگیری اولیه گرامر و نحو کدنویسی در زبان جاوا قطعه کد زیر، معروف به Hello World را در نظر بگیرید:

/****************************************
 *  Compilation:  javac HelloWorld.java
 *  Execution:    java HelloWorld
 *
 *  @author Saeid Zebardast
 *  Prints "Hello, World". By tradition, this is
 *  everyone's first program.
 *
 *  % java HelloWorld
 *  Hello, World
 *
 ****************************************/

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}
  • خط 1 تا 12: توضیحات برنامه هستند که شامل نحوه کامپایل، اجرا و خروجی تولید شده آن می‌باشند.
  • خط 14: تعریف کلاس و نام آن. این کلاس به صورت public تعریف شده. دقت کنید که هر فایل .java فقط میتواند یک کلاس public داشته باشد و نام این کلاس باید با نام فایل برابر باشد.
  • خط 16: تعریف متد main برای اجرا. با توجه به ضرورت متد main باید به صورت public و static و بدون خروجی (void) تعریف شود. دقت کنید که زبان جاوا به کوچک و بزرگ بودن حروف حساس است (case-sensitive).
  • خط 17: چاپ عبارت Hello, World در خروجی (کنسول)

محیط‌های برنامه‌نویسی برای جاوا

شما می‌توانید از هر ویرایش متنی مانند Notepad، Notepad++، Sumblime و Vi برای نوشتن و ویرایش کد‌های جاوا استفاده نمایید. با این حال محیط‌های یکپارچه توسعه نرم‌افزار (IDE) مانند IntelliJ IDEA، NetBeans و Eclipe نیز استفاده نمایید. من IntelliJ IDEA را نسبت به سایر نرم‌افزار‌ها ترجیح می‌دهم.

چند نکته

  • این راهنما براساس نسخه ۷ جاوا نوشته شده است.
  • این مطلب فقط شروعی برای برنامه‌نویسی جاوا بوده و دربرگیرنده موارد ابتدایی در این زمینه است.
  • من متوجه تحریم بودن ایران از سوی شرکت اوراکل هستم ولی از طرفی بر این باورم که مطمئنا شما راهی برای دور زدن این تحریم خواهید یافت.

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.

آفریقای جنوبی

تجربه سفر به آفریقای جنوبی، شهرهای ژوهانسبورگ و کیپ تاون

مقدمه

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

معرفی آفریقای جنوبی


جمهوری آفریقای جنوبی کشوری در جنوب آفریقا و در سواحل دو اقیانوس اطلس و هند است. این کشور سه پایتخت متفاوت دارد. قوهٔ مجریه در پرتوریا، پارلمان در کیپ تاون و قوهٔ قضائیه در بلوم فونتین مستقر است. پرجمعیت‌ترین شهر آن نیز ژوهانسبورگ است. به دلیل مهاجرت آفریقای جنوبی از لحاظ نژادی بسیار متنوع است. بزرگ‌ترین جمعیتهای دورگه و اروپایی و هندی در آفریقا در این کشور مستقر هستند. سیاه‌پوستان آفریقای جنوبی کمتر از ۸۰ درصد جمعیت این کشور را تشکیل می‌دهند.
آفریقای جنوبی ۱۱ زبان رسمی دارد؛ ۹ زبان از زبان‌های آفریقایی خانوادهٔ بانتو و دو زبان اروپایی؛ یکی زبان آفریکانس که از هلندی ریشه گرفته و زبان اکثریت سفیدپوستان و دورگه‌های این کشور است و دیگری زبان انگلیسی که در تجارت و عرصهٔ عمومی استفاده زیادی دارد.
به علت تنوع نژادی در کشور آفریقای جنوبی، فرهنگ «واحدی» در این کشور نمی‌توان یافت. امروزه تنوع غذایی در این کشور که متأثر از فرهنگ‌های مختلف حاضر در آن است باعث شده جهانگردان و حتی به سرمایه گذاری در تهیه آن دست بزنند. علاوه بر غذا، موسیقی و رقص هم از نمادهای فرهنگی این کشور هستند.
این کشور از معدود کشورهای آفریقایی است که در آن هیچ وقت کودتا نشده و انتخابات منظم در طول یک سده اخیر در آن برگزار شده‌است. با این حال اکثریت سیاهپوستان تا سال ۱۹۹۴ دارای حق رای نبود.
این کشور بزرگ‌ترین صادر کننده طلا , که معمولا حدود ۴۰% صادرات افریقای جنوبی را تشکیل می‌دهد – در جهان است و از تولید کنندگام عمده اورانیوم، کرومیت، سنگ سرمه، پلاتین و زغال سنگ (که سه چهارم نیاز کشور به انرژی را تأمین می‌کند) است. بخش صنعتی شامل صنایع شیمیایی، غذایی، نساجی، وسایل نقلیه موتوری و مهندسی برق است. کشاورزی و دامداری یک سوم صادرات افریقای جنوبی راتشکیل می‌دهد و تولیدات آن شامل میوه، شراب، پشم و ذرت است. سطح زندگی در این کشور در قاره افریقا بالاترین است ولی توزیع آن میان سفیدپوستان و غیر سفیدپوستان بسیار نابرابر است.

آفریقای جنوبی از نگاه توریستی

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

توصیه‌های عمومی برای مسافرت به آفریقای جنوبی

در صورتی که تصمیم گرفتید به آفریقای جنوبی سفر کنید، لطفا موارد زیر را حتما در نظر بگیرید:

  • با توجه به قرارگیری آفریقای جنوبی در نیم‌کره‌ی جنوبی وضعیت جوی آن دقیقا برعکس کشورهایی از جمله ایران است که در نیم‌کره‌ی شمالی قرار دارند. یعنی در صورتی که در ایران فصل زمستان باشد، آنجا فصل تابستان است.
  • کشور آفریقای جنوبی بسیار ناامن می‌باشد. به طوری که فروشگاه‌های اصلی حتی در مراکز توریستی بعد از ظهرها ساعت ۶ قبل از تاریک شدن هوا بسته می‌شوند. آمار تجاوز و ایدز در این کشور بسیار بالاست. مهم‌ترین دلایل آن اختلاف طبقاتی و مهاجرت افراد بسیاری از سایر کشورهای آفریقایی به این کشور است.
  • همانند مراکز توریستی، رستوران‌ها نیز زودتر از زمانی که ما توقع داریم تعطیل می‌شوند. بین ساعت ۹ تا ۹:۳۰ شب زمان تعطیلی بیشتر رستوران‌ها می‌باشد.
  • تا جایی که می‌توانید به صورت دسته‌جمعی به گردش بپردازید. از جابجایی مقدار زیاد پول نقل و در معرض دید قرار دادن آن شدیدا بپرهیزید.
  • برای حمل و نقل تا جایی که می‌توانید فقط از Gautrain استفاده نمایید.
  • کمتر از ۵٪ مردم آفریقای جنوبی مسلمان هستند. با این حال برای تهیه گوشت حلال می‌توانید از مراکز معتبر اقدام نمایید. مانند سایر کشورها، شعبات مک‌دولاند و KFC اقدام به ارائه غذا با گوشت حلال نیز می‌نمایند.
  • ما برای سفر هواپیمای القطر را انتخاب کردیم. مسیر ما از تهران به دوحه و از آنجا به ژوهانسبورگ بود. من شخصا از خدمات القطر بسیار بسیار راضی هستم.

شهرهای مقصد سفر

ژوهانسبورگ (Johannesburg) و کیپ‌تاون (Cape Town) مهم‌ترین شهر‌های توریستی آفریقای جنوبی هستند. هر دو این شهرها مراکز توریستی زیبایی دارند ولی از نظر طبیعت شهر کیپ‌تاون بسیار فوق العاده است. فاصله بین این دو شهر حدود ۱۴۰۰ کیلومتر است. برای مسافرت بین این دو می‌توانید از شرکت‌های هواپیمایی داخلی آفریقای جنوبی استفاده نمایید.

مراکز دیدنی و توریستی ژوهانسبورگ (Johannesburg)


یکی از مهم‌ترین مناطق توریستی ژوهانسبورگ منطقه Sandton است که علاوه بر دارا بودن مراکز خرید بزرگ و رستوران‌های مختلف (آفریقایی،‌ ایتالیایی و…) از امنیت بیشتری نسبت به سایر مناطق برخوردار است. میدان نلسون ماندلا نیز در این منطقه قرار دارد. این میدان در ژوهانسبورگ بسیار معروف بوده و از جاذبه‌های توریستی این شهر به شمار می‌آید.

در زیر فهرست مهم‌ترین جاذبه‌های توریستی شهر ژوهانسبورگ را مشاهده می‌فرمایید:

  • مرکز تفریحی Monte Casino:
    این مرکز یکی از دیدنی‌ترین مراکزیست که من در طول سفرهایم دیده‌ام. در داخل Monte Casino یک شهر ساختگی، یک آسمان ساختگی، اتومبیل‌های مصنوعی و… وجود دارد. از امکانات این مرکز می‌توان به کازینو، رستوران‌ها، کافی شاپ‌ها، صنایع دستی، سینما، کتاب‌فروشی و… اشاره نمود. همچنین در کنار این مرکز، محل بالون سواری و مرکز نمایش پرندگان وجود دارد.
  • باغ وحش. البته باغ وحش شهر پرتوریا بسیار دیدنی‌تر و بزرگ‌تر است. پرتوریا حدود ۴۰ دقیقه با ژوهانسبورگ فاصله دارد.
  • مراکز خرید. مهم‌ترین مرکز خریدی که در کشور آفریقای جنوبی هستند عبارتند از:
  • میدان نلسون ماندلا
  • تور و روستای فرهنگ‌شناسی Lesedi: در این روستای زندگی مردم آفریقای جنوبی قبل از مهاجرت سفیدپوستان به صورت قبیله‌های سنتی به نمایش درآمده است.
  • مرکز تفریحی Gold Reef City: این مرکز تفریحی شامل شهربازی، تور معدن طلا، کازینو و.. می‌باشد.
  • موزه Apartheid
  • مرکز انسان‌های اولیه Origins Centre: این مرکز که در داخل دانشگاه Witwatrersand قرار دارد، محل نگهداری استخوان‌هایی از انسان‌های اولیه، نقاشی‌های مردم غارنشین و مواردی از این قبیل است.
  • بنای یادبود Voortrekker: متاسفانه ما نتوانستیم از این بنا بازدید کنیم ولی اگر شما فرصت کردید حتما از این شاهکار هنری بازدید نمایید.

مراکز دیدنی و توریستی کیپ تاون (Cape Town)

شهر کیپ تاون بیشتر دارای جاذبه‌های طبیعی می‌باشد. آب و هوای این شهر ساحلی شرجی نبوده ولی از جوی ناپایدار برخوردار است. سواحل کیپ تاون به دلیل داشتن موج‌های قوی و وزش باد مناسب برای ورزش‌هایی مانند موج سواری فوق العاده می‌باشند. غذاهای دریایی تازه در کیپ‌تاون بسیار خوشمزه و لذت هستند. این شهر در کنار ساحلی بودن، یک شهر کوهستانی نیز می‌باشد. مهم‌ترین جاذبه کیپ‌تاون کوه تیبل (Table Mountain) است.

در زیر فهرستی از مهم‌ترین مناطق توریستی شهر کیپ تاون را مشاهده می‌فرمایید:

  • کوه تیبل (Table Mountain): کوه تیبل که در لغت به‌معنای کوه میز است در کیپ غربی در آفریقای جنوبی واقع شده و ۱٬۰۸۷ متر ارتفاع دارد. قلهٔ مسطح این کوه که گستره‌ای ۳ کیلومتری را در بر می‌گیرد، اغلب توسط ابر یا مه سفید غلیظی موسوم به «رومیزی» که به هنگام وزش باد از سمت جنوب شرقی ایجاد می‌شود پوشیده شده‌ است. برای بالا رفتن از این کوه می‌توانید به صورت پیاده و یا توسط تله کابین مجهز آن اقدام نمایید.
  • جزیره رابن (Robben Island): جزیره رابن بدلیل زندانی کردن مخالفان آپارتاید در آن مشهور است. نلسون ماندلا و احمد کاظیم (از فعالان شیعه آفریقای جنوبی) در آن زندانی بودند. زندان‌های این جزیره هم اکنون تبدیل به موزه شده و گردشگران فراوانی از آنها بازدید می‌نمایند.
  • منطقه تفریحی Victoria & Alfred Waterfront: این منطقه که به واتر فرانت (Waterfront) مشهور است، شامل مراکز خرید، رستوران‌ها، صنایع دستی، تور هوایی با بالگرد، تور دریایی با کشتی‌های تفریحی، ورزش‌های ساحلی و… می‌باشد.
  • ساحل پنگوئن‌ها (Boulders Penguin Colony): در این ساحل تعداد بسیاری پنگوئن آفریقایی زندگی می‌کنند. این پنگوئن‌ها به صورت آزاد در دریا و سواحل اطراف آن وجود دارند و شما می‌توانید توسط مسیری که میان لانه‌ها و محل زندگی آنها تا ساحل وجود دارد، از نزدیک نحوه فعالیت آن‌ها را مشاهده فرمایید.
  • مزرعه شترمرغ‌ها (Cape Point Ostrich Farm): این مزرعه محل نگهداری شترمرغ‌عا و عرضه محصولات آنها می‌باشد. با توجه به قرارگیری از مزرعه در مسیر دماغه امید نیک، پیشنهاد میکنم که حتما سری به این مزرعه بزنید.
  • سواحل کیپ تاون برای شنا و انجام ورزش‌هایی ساحلی و دریایی بسیار عالی هستند.
  • آکواریم دو اقیانوس (Two Oceans Aquarium)
  • قلعه امید نیک (Castle of Good Hope)
  • دماغه امید نیک (Cape of Good Hope): این دماغه پایین ترین نقطه آفریقا و نزدیکترین منطقه آفریقا به قطب جنوب است. این دماغه و سواحل اطراف آن بسیار دیدنی است.

تصاویر

من ۵۰ تصویر از آفریقا جنوبی را در سایت فلیکر به اشتراک گذاشته ام. در زیر اسلاید شو این تصاویر را مشاهده می‌فرمایید. در صورتی که این تصاویر را نمیبینید، به احتمال قوی به خاطر فیلتر بودن سایت به اشتراک گذاری تصویر فلیکر است!

پیوندها و منابع

سفر خوبی داشته باشید :)

درباره سعید زبردست

من برنامه نویس Java و PHP هستم. در کنار برنامه نویسی اطلاعات خوبی در زمینه پایگاه ‌های داده بخصوص MySQL دارم. برای اطلاع بیشتر به صفحه درباره سعید زبردست مراجعه کنید.