XAMPP ไม่สามารลงบน Ubuntu Linux แบบ 64 Bits ได้

สำหรับท่านใดที่ลง XAMPP บน Ubuntu หรือ Linux 64 bits  แล้วไม่สามารถสั่ง start ได้ จะต้องลง package เพิ่มนะครับ วิธีลงก็ตามนี้เลยครับ

สำหรับสาย Debian

sudo apt-get install ia32-libs

หรือหากเป็นสาย Redhat หรือ CentOS

sudo yum install glibc*

 

 

บันทึกความเข้าใจเกี่ยวกับเครื่องหมายเท่ากับ (=)

เครื่องหมายเท่ากับ(=) มีหน้าที่กำหนดค่า address ไม่ใช่กำหนดค่าในทุกกรณี

เป็นต้นว่ากำหนด a=b หมายถึง ให้ตัวแปร a ชี้ address ไปที่ตำแหน่งของตัวแปร b ดังนั้นตัวแปร a กับ b เป็นตัวเดียวกัน

โดยโปรแกรมจะไม่ไม่สร้าง object ใหม่ให้หากเราไม่กำหนด ในกรณีที่ตัวแปรอื่นมีค่าซ้ำกับอีกตัวแปรหนึ่ง มันจะชี้ไปที่เดียวกันเช่น
a=3
b=4
c=a+1
จากคำสั่งข้างต้นจะได้ว่า b จะมี address เท่ากับ c เพราะค่าเท่ากัน

แล้วทำไมกรณีที่สั่ง
a=3
b=a
a=4
ทำไม b ถึงไม่เป็น 4 เพราะตามลำดับจะทำจากขวามาซ้ายคือ สร้างตัวเลข 4 ใน ram ก่อน(หรือหาจากใน ram) แล้วให้ a ชี้ไปตำแหน่งนั้น โดยไม่ไปยุ่งกับตัวแปร b ดังนั้นค่า b จึงชี้ที่เดิม คือ 3

การติดตั้ง AppLocale และใช้งาน AppLocale เบื้องต้น

AppLocale คืออะไร

AppLocale เป็นโปรแกรมที่ไว้จำลองสภาพแวดล้อมของ Windows ให้เป็นเหมือน Windows ของประเทสอื่น ส่วนมากมักใช้กับโปรแกรมหรือเกมส์ของญี่ปุ่น ที่บางทีมันจะล็อคประเทศไม่ให้เปิด หรือไม่ก็ไม่สามารถอ่านภาษาญี่ปุ่นได้อย่างถูกต้อง เลยต้องใช้โปรแกรมนี้ช่วย

สำหรับท่านที่หลงเข้ามา เราขอแนะนำโปรแกรมที่ใช้แทน AppLocae ได้ และยังช่วยดึงข้อความจากเกมส์ไปใส่ Translation Service ต่างๆ เช่น Google Translate แล้วนำมาแสดงให้ท่านอ่านอัตโนมัติ เพื่ออรรถรสในการเล่มเกมส์ โปรแกรมนั้น คือ Visual Novel Reader ครับ สามารถกดที่ลิงค์เพื่อเข้าดูได้เลยครับ

วิธีติดตั้ง

ในกรณีที่เป็น Windows XP ให้ทำข้อ 1 แล้วข้ามไปข้อ 4

  1. ดาวโหลดตัวติดตั้งจากที่นี่ (ดาวโหลด AppLocale ตรงนี้ได้เลย แก้ลิงค์แล้ว)  ให้วางไว้ที่ C:\ (ไดร์ C อ่ะแหละ แต่ไม่ต้องไว้ในโฟลเดรอ์ใดๆนะครับ)
  2. กด Start พิมพ์ CMD แล้วคลิกขวาที่ cmd.exe แล้วเลือก Run As Administrator
    How to run as administrator
  3. พิมพ์ cd \ แล้ว Enter แล้วพิมพ์ apploc.msi แล้ว Enter
    How to Install Apploc.msi As Administrator
  4. ทำการติดตั้งตามปกติ Next ไปเรื่อยๆ ยาวๆจนจบก็ใช้ได้ครับ

วิธีใช้เบื้องต้น

  1.  เปิดตัวโปรแกรม
    How to run as administrator
  2. จะได้หน้าต่างนี้มา ให้กด Next
    Applocale Windows
  3. จากนั้นกด Browse แล้วเลือกโปรแกรมที่จะจำลองสภาพแวดล้อม จากนั้นกด Next
    Browse Program for AppLocale
  4. จากนั้นเลือกภาษาที่ต้องการ จากตัวอย่างนี้คือภาษาญี่ปุน แล้วกด Next
    Select Languages for Programs
  5. จากนั้นมันจะถามว่าจะให้ตั้ง Shortcut สำหรับโปรแกรมนี้ไหม แนะนำให้ตั้ง(ให้ทำเครื่องหมายถูก) แล้วกด Finish ตัวแปรแกรมที่เราต้องการก็จะถูกเปิดขึ้นมาอัตโนมัติ
    Are you want to create shortcut?
  6. คราวหลัง หากต้องการจะใช้ก็ให้ไป Folder ของ AppLocale ถ้าตั้ง Shortcut ไว้มันก็จะมีมาให้ครับ
    Example. Shortcut for programs

ผลจากการใช้

จากรูป เกมส์ PricessMaker 4 นะครับ ก่อนใช้ตัวหนังสือเป็นตัวยึกยือ ไม่สามารถอ่านได้เลยนะครับ
Pricess Maker 4 Before use AppLocaleแต่หลังใช้เราจะเห็นว่าเป็นภาษาญี่ปุ่นที่สามารถอ่านได้ปกติ(ถ้าอ่านออกนะครับ)
Pricess Maker 4 After use AppLocale

อยากเขียนโปรแกรมเริ่มจากภาษาอะไรดี?

วันนี้เรามาคุยกันเรื่องการเขียนโปรแกรม เราควรเริ่มจากภาษาอะไรดีนะครับ โดยในปัจจุบันภาษาที่ใช้เขียนโปรแกรมมีอยูมากมายเช่นเวลาเขียนโปรแกรมทั่วไป ก็ C, C++, C#, Java, Visual Basic, Delphi และอื่นๆเป็นต้น ถ้าเขียนบนใช้บนเว็บก็มีพวก PHP, ASP, Python, Ruby, Javascript เป็นต้น

โดย ทั่วไปถ้าเราไปถามตามเว็บบอร์ดหรือใครๆมักได้รับคำแนะนำว่าควรเริ่มจากภาษา C เพราะในปัจจุบันภาษาใหม่ๆ มักจะมีรูปแบบ syntax เป็น C-Style คือมีความคล้ายคลึงภาษา C ดังนั้นเมื่อเราศึกษาภาษา C จนเชี่ยวชาญแล้วการไปเรียนต่อภาษาอื่นจึงไม่ใช่เรื่องยาก ยกเว้น Visual Basic กับ Delphi ที่ 2 ภาษานี้จะเหมือนกัน แต่ไม่เหมือนภาษา C ซึ่งผมเห็นว่าไม่จำเป็นเท่าไหร่นัก เพราะภาษา C นั้นค่อนข้างจะยุ่งยากพอสมควร ซึ่งภาษาใหม่ๆที่พัฒนามามีการพัฒนาให้ลดการยุ่งยากในเรื่องนี้ไปได้ เช่นตัวแปรชนิด String(สายอักขระ หรือข้อความต่างๆ) ที่มีใน Java, C++, C# แต่ใน C ไม่มี มีแต่ตัวแปรชนิด char(ตัวอักษร 1 ตัว) แต่ประกาศแบบ Array(แถวลำดับหรืออะไรหว่า ลืมชื่อภาษาไทย แต่ลักษณะคล้ายๆสายอักขระ แต่จำกัดขนาด) ซึงยุ่งยากต่อการใช้ เพราะมีการจำกัดขนาดเช่น เราประกาศตัวแปรรับได้แค่ 200 ตัว แต่ผู้ใช้ดันใส่มา 300 ตัว โปรแกรมก็มีโอกาศพังสูง ซึ่งภาษาใหม่ๆได้มีการแก้ปัญหานี้ด้วยตัวแปร String

แต่การเรียนภาษา C มีข้อดีคือ ฝึกกระบวนการคิดได้ดี เช่นการเขียนโปรแกรมหาคำๆหนึ่งในข้อความที่ได้รับเข้าไป โดยสมมุติว่าคำที่หามีขนาดไม่เกิน 10 ตัว และข้อความทั้งหมดมีขนาดไม่เกิน 200 ตัว

ภาษา C# เขียนดังนี้

 using System;
 namespace C_TEST{
     class Program{
         public static void Main(string[] args){
             string input;
             string find; 
             Console.Write("String: ");
             input = Console.ReadLine();
             Console.Write("Find: ");
             find = Console.ReadLine();
             if(input.IndexOf(find) > -1){
                 Console.WriteLine("Found.");
             }else{
                 Console.WriteLine("Not found.");
             }
         }
     }
 }

แต่ถ้าเป็นภาษา C จะเขียนแบบนี

#include <stdio.h>

int my_strlen(char *str){
    int i = 0;
    while(str[i] !='\0'){ //ใช้ str[i] == 0 ก็ได้
        i++;
    }
    return i;
}

int main(){
    char str[201]; //ใช้กี่ตัว ต้องประกาศเพิ่ม 1 ตัว เพราะช่องสุดท้ายจะใช้เก็บ \0 เพื่อบอกว่าจบ String
    char find[11];
    int len_str;
    int len_find;
    int i,j;
    int found = 0;
    int bool_in_loop = 0;

    printf("String: ");
    gets(str);
    printf("Find: ");
    gets(find);

    len_str = my_strlen(str);
    len_find = my_strlen(find);
    //ใช้ strlen ของ string.h ก็ได้ เป็นการนับว่ามีกี่ตัวอักษร

    for(i = 0;i<len_str;i++){        // วนให้ครบทุกตัว
        bool_in_loop = 1;             //กำหนดให้ผ่านเงื่อนไข
        for(j=0;j<len_find;j++){   // วนเพื่อตรวจว่ามีคำที่หาไหม
            if(i+j >= len_str){         //ตรวจว่าไม่เกินความยาวของ String หลัก
                bool_in_loop = 0;    //ถ้าเกิน ไม่ผ่าน
                break;                      //จบ Loop นี้
            }
            if(str[i+j] != find[j]){     //ตรวจว่าตรงกันไหม
                bool_in_loop = 0;    //ถ้าไม่ตรง กำหนดให้ไม่ผ่าน
                break;                      //จบ Loop นี้
            }
        }
        if(bool_in_loop == 1){    //ตรวจว่าผ่านไหม
            found++;                   //ถ้าผ่าน ให้เพิ่มตัวนับ
        }
    }

    if(found == 0){                  //ถ้าเจอไม่เจอ
        printf("Not found.");
    }else{                                 //ถ้าเจอ
        printf("Found.");
    }
    return 0;
}

 

จะเห็นได้ว่า Code ยาวและยุ่งยากกว่ามาก ซึ่งถ้ามองในแง่การใช้ถือว่าเสียเวลาเขียน แต่ในแง่ของการฝึก เป็นการฝึกให้คิดได้ดีพอสมควร ต้องใช้ loop 2 ชัั้นเพื่อตรวจเลยทีเดียว แถมยังต้องกำหนดขนาดของ char array ด้วย

ดังนั้นผมเห็นว่าการที่เราจะเลือกเรียนภาษาใดๆ ควรเลือกให้เหมาะสมกับงานไปเลยดีกว่าครับ เช่น

  • Java งานที่ต้องใช้แบบ Cross Platform(ใช้งานได้ทั้ง Windows Linux หรืออื่นๆ) และเขียนโปรแกรมบน Android ภาษานี้ผมว่ามันมีข้อเสียคือถ้ามี GUI มันจะทำงานได้ค่อนข้างช้า(หรือผมเขียนแย่เองหว่า)
  • C# เขียนโปรแกรมใช้บน Windows เท่านั้น ทำงานได้เร็วกว่า Java ที่มี GUI แต่ถ้าต้องการเขียนแบบข้าม Platform ต้องใช้ GTK+ ช่วย ซึ่งทำให้ช้าลง
  • C, C++ ใช้สำหรับงานที่ต้องการประสิทธิภาพสูงมากๆ เช่นพวกเกมส์ หรือโปรแกรมคำนวนใหญ่ๆ
  • PHP, ASP, Javascript สำหรับเป็น Web Programmer โดยเฉพาะเลย
  • ภาษาอื่นๆ ไม่รู้ครับ ที่ใช้หลักๆมีแค่นี้

ส่วนภาษา Visual Basic, Delphi นั้นไม่แนะนำให้เรียนครับ เพราะมันไม่ค่อยคล้ายภาษาอื่นๆ เวลาไปเรียนรู้ใหม่มันจึงยาก

อนึ่ง การเขียนโปรแกรมบน iOS (พวก iPhone, iPad) นั้นต้องใช้ภาษา Objective-C ซึ่งผมได้ยินมาว่า เหมือนต้องเรียนใหม่หมด คิดว่าไม่คล้าย C-Style แต่เท็จจริงเป็นอย่างไรไม่ทราบ

วิธีแก้ไวรัสทำให้เปิดเข้าโฟลเดอร์ไม่ได้

โปรด อย่าติดต่อทาง FB ทาง Message นะครับ ถ้าไม่ได้ Add friend ผมไม่เห็นว่ามีข้อความมา แล้วผมไม่รับเพื่อนหากไม่มีเพื่อร่วมกันอย่างน้อย 10 คน ยกเว้นช่วงที่นั้นผมเพิ่งเข้าค่ายหรือมีกิจกรรม ถ้ามีข้อสงสัย comment ด้านล่างได้เลยครับ

เคยเป็นไหม เวลาเสียบแฟลชไดร์ใส่เครื่องแล้วไม่สามารถเปิดเข้าโฟลเดอร์ใดๆได้เลย หรือมันหายไปเลยทั้งๆที่ไม่ได้ลบ ถ้าหากคุณกำลังเป็นอยู่ขอบอกว่าแฟลชไดร์คุณโดนไวรัสเล่นงานเข้าแล้ว วันนี้เรามีวิธีแก้มานำเสนอ วิธีแก้นี้สามารถใช้กับไวรัสเกือบทุกตัวที่เป็นไวรัสซ่อนโฟลเดอร์อีกด้วย

เข้าใจสาเหตุที่โฟลเดอร์เปิดไม่ได้ก่อน

ที่เปิดไม่ได้นั้นเป็นเพราะไวรัสซ่อนโฟลเดอร์จริงๆเอาไว้ จากนั้นสร้างทางลัด Shortcut ขึ้นมา โดยมันจะไปบังคับเปิดตัวไวรัส แต่เนื่องจากว่าที่อยู่ ของไวรัสเปลี่ยนไป เพราะเปลี่ยนเครื่อง ชื่อไดร์จึงเปลี่ยนไป ทำให้ไม่สามารถเปิดไวรัสได้ วิธีแก้คือทำให้โฟลเดอร์หายซ่อน แล้วลบทางลัดออก

วิธีแก้ไวรัสเปิดโฟลเดอร์ไม่ได้

  1. กด Start แล้วพิมพ์ cmd แล้วกด cmd.exe (หากใช้ Window XP ให้กด Run แล้วพิมพ์ cmd แล้วกด OK)
  2. พิมพ์ชื่อไดร์ของแฟลชไดร์ ตามด้วย : แล้ว  Enter เช่น G: แล้ว Enter
  3. หากทำถูกต้อง มันจะขึ้นบรรทัดใหม่แล้วมีรูปแบบเป็น ชื่อไดร์:/>  เช่น D:/>
  4. พิมพ์ del /F /Q *.lnk เพื่อลบตัว Shortcut ทั้งหมด
  5. รอจนกว่าจะมีข้อความขึ้นตามข้อ 3
  6. พิมพ์ attrib -s -h -r /S /D * 
  7. รอจนกว่าจะมีข้อความขึ้นตามข้อ 3

หากจำไม่ได้ เรามีวิธีง่ายกว่านั้น คือทำเป็น Bat File เพื่อง่ายต่อการใช้งาน

การสร้างโปรแกรมเพื่อแก้ให้โฟลเดอร์ที่เปิดไม่ได้เพราะไวรัสซ่อนโฟลเดอร์สามารถเปิดได้

  1. เปิด Notepad ขึ้นมาครับ
  2. พิมพ์ Code ดังต่อไปนี้ครับ (คัดลอกไปก็ได้)
    del /F /Q *.lnk
    attrib -s -h -r /S /D *
  3. จากนั้นกด File > Save As แล้ว Save ชื่อ “ShowHidden.bat” (พิมพ์ฟันหนูด้วยนะครับ) ไว้ที่ Desktop หรือที่ไหนก็ได้ที่คุณจำได้

การใช้โปรแกรมที่เราสร้างเพื่อให้โฟลเดอร์ที่ซ่อนจากไวรัสซ่อนโฟลเดอร์อยู่สามารถเปิดได้

  1. Copy ตัว ShowHidden.Bat ไปไว้ในไดร์ของแฟลชไดร์ที่มีปัญหา
  2. เปิดตัว ShowHidden.bat รอจนกว่าหน้าจอดำๆจะดับไป
  3. ลองเปิดได้เลยครับ

กรณีที่ทำตามขั้นตอนการทำให้โฟลเดอร์ที่ถูกซ่อนจากไวรัสซ่อนโฟลเดอร์ปรากฏแล้วยังไม่สามารถเปิดได้

หมาย ความว่าเครื่องคุณมีไวรัสแล้ว ทำให้เมื่อแสดงโฟลเดรอ์แล้วไวรัสแปลงกลับในทันทีครับ แต่ไม่ต้องห่วงเรามีวิธีนำเสนอ โดยทำตามขั้นตอนดังนี้

  1. เปิด Notepad ขึ้นมา
  2. พิมพ์ข้อความตามนี้ (หรือคัดลอกไป)
    Option Explicit 
    Dim objFSO,oWS,objFolder,objColFolders
    Dim tfolder,oLink
    Dim strPath
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set oWS = WScript.CreateObject("WScript.Shell")
    Set objFolder = objFSO.GetFolder(".")
    Set objColFolders = objFolder.SubFolders 
    
    For Each tfolder In objColFolders
    	strPath = "./" & tfolder.Name & ".lnk"
    	'MsgBox strPath
    	Set oLink = oWS.CreateShortcut(strPath) 
    	oLink.TargetPath = "%windir%/explorer.exe"
    	oLink.Arguments = tfolder.Name
    	oLink.Save    
    Next
    MsgBox "Complete"
  3. Save File ชื่อ “CreateShortcut.vbs” (พิมพ์ฟันหนูด้วยเหมือนเดิม)
  4. วิธีใช้คือกอปไปไว้ในแฟลชไดร์ที่มีปัญหา จากนั้นเปิดตัวนี้ครับ รอจนกว่าจะมี MessageBox ขึ้นมาบอกว่า Complete ครับ

ท่านสามารถดาวโหลดตัวแก้โฟลเดอร์เปิดไม่ได้เพราะไวรัสซ่อนโฟลเดอร์จากลิงค์ด้านล่างครับ

ChangeLog

  • 02/07/2013 – 10:30 แก้ไขตัว VBS ให้ถูกต้องยิ่งขึ้นสามารถใช้กับ Windows 8 ได้