Register  Login
 
    05 Feb 2012      
 เรียนรู้ ASP.NET Minimize

  

 Source Code Minimize
สำหรับหนังสือ ASP.NET 2.0 ของสำนักพิมพ์ Success Media

ภาษา C#
ภาษา VB.NET
ฐานข้อมูล

  • โครงการหนังสือ ASP.NET 2.0 ฟรีสำหรับโรงเรียน

    แจกไปหมดแล้ว 15 เล่มครับ


  •   

     เว็บ .NET ในไทย Minimize

      

     เว็บ .NET ของฝรั่ง Minimize

      

     UsersOnline Minimize
    Membership Membership:
    Latest New User Latest: khomkhay
    New Today New Today: 1
    New Yesterday New Yesterday: 0
    User Count Overall: 1695

    People Online People Online:
    Visitors Visitors: 2
    Members Members: 0
    Total Total: 2

    Online Now Online Now:

      

     คุยกันซักหน่อยนะ ยินดีต้อนรับเพื่อนๆ ทุกคนที่ชอบคุยเรื่อง ASP.NET Minimize
    Zubzib Black Coffee #7.5 ASP.NET MVC Practice and Guideline Refresh! - Saturday, January 14, 2012

    Event ดีที่ยำใหญ่หลายหัวข้อครับ
    วันอาทิตย์ที่ 15 มกราคม 2012 นี้แล้วครับ อาจจะโพสต์ช้าไปหน่อย ใครสนใจดูได้ที่นี่ครับ
    http://www.facebook.com/events/317882901567092/

    รายละเอียดจากคุณนาย

    เป็นการบรรยายเพื่อให้จบ Silde ที่ค้างไว้ครับ รวมไปถึงตัวอย่างต่าง ๆ
    ซึ่งรอบนี้จะเพิ้่มเติมในส่วนของ ASP.NET MVC 4 เข้ามาด้วย

    ปรับปรุง slide และอัดเนื้อหาเต็มเวลา 5 ชม ครับ เฮือกกกก
    //*** edit on 11/1/12 ***//
    ...

    New Agenda :

    1. Basic ASP.NET MVC Programming
    2. NuGet Package Manager
    3. Entity Framework 4.x Code First Introduce
    4. EF Migration
    5. Deep in Model, Controller, View
    6. UI JavaScript Framework
    7. Application Layer Architecture
    8. Repository Pattern
    9. Dependency Injection
    10. Security
    11. ASP.NET MVC 4 Preview

    รอบนี้จะเจาะจงลงลึก+ซักถามตอบ
     

    ไอเดียเกี่ยวกับ Pattern ที่ใช้กันใน .NET: MVC, MVP, PM และ MVVM (ตอนที่ 1) - Tuesday, June 01, 2010
    บางคนอาจจะเพิ่งเข้ามา ก็ขอทบทวนอีกทีนะครับที่มาของ MVP (และรวมถึง MVC, PM และ MVVM) มันเกิดจากปัญหาตอนแรกๆ ที่เรามีการเขียนโปรแกรมสไตล์ดั้งเดิมของโมโครซอฟท์คือเราจะเริ่มจาก User Interface ก่อนโดยการสร้าง WebForm หรือ WinForm ขึ้นมาก่อน หลังจากนั้นก็ลากคอนโทรลนู่น คอนโทรลนี่มาวาง พอสวยงามแล้วก็ค่อยลงมือร่ายมนต์สร้าง Procedure ที่ผูกเข้ากับเหตุการณ์ “Click” ของปุ่ม (คอนโทรล หรือฟอร์ม) โดยการดับเบิ้ลคลิกไปที่ตัวปุ่ม ส่วนข้างใน Procedure จะมีอะไรบ้างนั้นค่อยคิดละเอียดกันต่ออีกที…แล้วกันนะ <<อ่านบทความต่อ>> 


      

          
     หัวข้อสนทนา และคำถาม Minimize
    New ThreadMy SettingsMy PostsSearchForum Home
         
      มาคุยเรื่อง .NET กัน  Web Application ASP.NET  ช่วยด้วยค่ะ.......
     ช่วยด้วยค่ะ......
     
     1/10/2010 9:12:51 PM
    User is offlineisavahi
    60 posts


    ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    Could not establish a connection to the database. If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.
    ทำให้ถึงจะติดต่อ กับ database ได้อ่ะค่ะ ช่วยสอนทีค่ะ แก้มาหลายวันแล้ว
    setup C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql
    แล้วก้อไม่ได้อ่ะค่ะ ขอบคุนค่ะ
     1/10/2010 10:37:27 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (N/A) Modified By nas  on 1/10/2010 10:39:18 PM)
    QuoteReply
    ดูเหมือนว่าได้ error นี้มาจากหน้า Website Admin Tool ใช่มั้ยครับ

    ลองดูการกำหนด Providers จากด้านล่างๆ ของบทความจากลิงค์นี้ครับ

    http://www.aspnetthai.com/LinkClick.aspx?link=98&tabid=62&mid=410

    ว่าได้ถูกกำหนดเป็น AspNetSqlProvider หรือเปล่าครับ
    อ้อ แล้วอีกเรื่องคือได้ลง SQL Server Express ไว้เรียบร้อยแล้วหรือยังครับ
     1/10/2010 11:06:38 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ขั้นแรกค่ะ กด ASP.NET Configuration ใน microsoft visual studio อะค่ะ
    ขั้นสอง เข้ามาที่เว็บเพจ welcome to the web site admin
    - application:/
    - current user name:HOME-9E434234\SQL
    security
    app config
    provider config
    ขั้นสาม พอกดเข้า provider config
    - Use this page to configure how Web site management data such as membership is stored.
    You can use a singleprovider for all the management data for your site or you can specify a
    different provider for each feature.

    Your application is currently configured to use the provider: AspNetSqlProvider
    แล้วก้อมีให้กด เลือก
    1.)Select a single provider for all site management data
    2.)Select a different provider for each feature (advanced)

    ขั้นสาม มีให้เลือก
    Use this page to select a provider for each feature.
    Membership Provider
    AspNetSqlMembershipProvider Test <----กดเข้าไป
    ขั้นสี่
    Provider Management
    Could not establish a connection to the database.
    If you have not yet created the SQL Server database,
    exit the Web Site Administration tool,
    use the aspnet_regsql command-line utility to
    create and configure the database, and then return
    to this tool to set the provider.

    แล้วก้อมีปุ่มกด OK อะค่ะ T______________T
     1/10/2010 11:12:03 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ส่วนเรื่อง Database ใช้ของ SQL Server 2008 Management Studio ไม่มี Express อะค่ะ
    ขนาด 4 GB ก่า
    เข้าปายอ่านที่ให้ลิ้งมา หลายรอบแล้วค่ะ มันติดตอนแรก เลย ไปต่อไม่ได้อะค่ะ
    แล้ว สร้างสมาชิกระบบจากเครื่องมือ WAT ดูจากตรงไหน ค่ะ ใน SQL server

    Database ใช้แบบ Authenticaion Windows Authenication ม่ายมี password อ่ะค่ะ
    สร้าง database อย่างเดียวค่ะ ไม่ได้แตะต้องอะไรอย่างอื่นเลย

    เรียกใช้ ใน visual อย่างดียวอ่ะค่ะ
     1/11/2010 9:45:37 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (N/A) Modified By nas  on 1/11/2010 9:51:41 PM)
    QuoteReply
    ASP.NET configuration กับ WAT (Website Administration Tool) คือตัวเดียวกันครับ ปกติแล้ว WAT จะทำงานกับ SQL Server Express โดยค่า default ครับ ที่นี้เครื่องคุณ isavahi ไม่ได้ลง SQL Server Express ไว้มันก็เลยหาไม่เจอ และขึ้น error ตามที่เห็นครับ

    สำหรับกรณีที่คุณ isavahi เราจะใช้ SQL Server ตัวธรรมดา ซึ่งก็สามารถใช้งานระบบสมาชิก (Membership) และบทบาท (Role) ได้เหมือนกัน แต่จะมีขึ้นตอนที่มากกว่าดังนี้

    1. เตรียมฐานข้อมูลให้รองรับ Role กับ Membership ด้วยการรัน aspnet_regsql ด้วยสองคำสั่งนี้ครับ
    - aspnet_regsql -S MyServer -d MyDatabase -U sa -P XXX -A r
    - aspnet_regsql -S MyServer -d MyDatabase -U sa -P XXX -A m

    ปล. ให้เปลี่ยนชื่อของ MyServer, MyDatabase, sa และ XXX ให้สอดคล้องกับชื่อเซิร์ฟเวอร์ ชื่อฐานข้อมูล ชื่อ user และรหัสผ่านที่เครื่องเราครับ

    2. กำหนดค่าใน web.config เพื่อใช้ระบบ Role & Membership ชี้ไปยังฐานข้อมูลที่เตรียมไว้ในข้อ 1
    - กำหนด connection string ไว้ในส่วนของ <connectionString> ดังนี้

    <connectionStrings>
    <add name="MyMembershipConnection"
    connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=sa;Password=test"/>
    </connectionStrings>

    - ในส่วนของ <system.web> ให้กำหนด provider สำหรับ Role & Membership ให้ไปใช้ connection string ที่กำหนดไว้ก่อนหน้าแบบนี้

    <system.web>

    <membership defaultProvider="MyProvider">
    <providers>
    <add name="MyProvider"
    type="System.Web.Security.SqlMembershipProvider"
    connectionStringName="MyMembershipConnection" />
    </providers>
    </membership>

    <roleManager enabled="true" defaultProvider="MyRoleProvider">
    <providers>
    <add name="MyRoleProvider"
    connectionStringName="MyMembershipConnection"
    type="System.Web.Security.SqlRoleProvider" />
    </providers>
    </roleManager>

    หลังจากนั้น เราก็คลิกที่ไอคอน ASP.NET Configuration เพื่อเปิด WAT มาใช้งานได้แล้วครับ ลองดูครับ
     1/12/2010 12:48:10 AM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ขอบคุนค่า จาลองไป ปฎิบัติ ดู


    ^-^


    จุ๊พๆ
     1/18/2010 11:55:38 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    พอดี นั่งแก้มา 2-3 วันแล้วค่ะ ก็ยังไม่ได้
    ทำตามที่พี่บอกไป มันขึ้นว่า

    start adding the following
    memvership
    .
    an error has occrred.
    login failed for user 'XXX'.

    unable to connect to SQL Server database.

    ทั้งสองอันเลยค่ะ


    ใส่ aspnet_regsql -S MyServer -d MyDatabase -U sa -P XXX -A r

    ถูกต้องครบถ้วนแล้วค่ะ



    ขอคำแนะนำ ด้วยนะค่ะ



    ขอบคุนค่ะ ^^
     1/20/2010 9:57:11 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ทามม่ายอะ ค่า



    ช่วยทีๆๆๆ
     1/25/2010 9:30:27 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    โทษทีครับ เพิ่งมาเห็น
    จาก error มันบอกว่า user ที่ชื่อ XXX ไม่สามารถ login ได้

    ให้เช็ค 2 จุดครับ คือจุดแรกคือหลัง -U นั้นต้องเป็น username ที่ใช้ login ฐานข้อมูล และอีกจุดคือหลัง -P ต้องเป็นรหัสผ่าน ตามตัวอย่างที่ผมแสดงนั้นสมมติว่ารหัสผ่านคือ XXX แต่จริงๆ แล้วคุณ isavahi ต้องใช้ username กับ password จริงที่สามารถใช้ในการ login ฐานข้อมูลได้

    อืม และอีกอย่างครับตามหลัง -S ต้องเป็นชื่อเครื่องของฐานข้อมูล จะไม่ใช่ MyServer ซึ่งผมสมมติขึ้นมาครับ

    และหลัง -d ต้องเป็นฐานข้อมูลที่คุณ isavahi สร้างไว้ก่อนหน้าแล้ว และจะให้มันเก็บข้อมูล membership ครับ ส่วนตัวอย่างที่ผมใช้เป็น MyDatabase นั้นเป็นชื่อสมมตินะครับ เราต้องใช้ชื่อฐานข้อมูลจริงที่คุณ isavahi มีครับ
     1/25/2010 10:52:27 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ค่า ทำตามแล้ว ก็ไม่ได้อ่ะค่ะ


    aspnet_regsql -S HOME-9E4AD08269\GOLD -d testdb -E -A r

    Start RoleManager
    ...
    Finished.

    aspnet_regsql -S HOME-9E4AD08269\GOLD -d testdb -E -A m

    Start Membership
    ...
    Finished.

    แล้วใน ASP.NET Provider มันขึ้นว่า


    Could not establish a connection to the database.
    If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.


    ค่ะ ทำไงดีค่ะ ติดมาเป็นอาทิต แล้วค่ะ T^T~
     1/26/2010 1:20:52 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    คือหนู จะบอกว่า ในหน้าต่าง server Explorer หนูใช้ data Connections home-9e4ad08269\gold.testdb.abo
    ซึ่งใช้ในการ ทำ sqldatasource ค่ะ ใน configure data source ตั้งชื่อเป็น testdbConnectionString ค่ะ

    add app_data ใน solution explorer ของ testdb.mdf
    อีกอันมันขึ้น testdb.mdf มันใช้ไม่ได้ เป็นรูปกากบาท ค่ะ
     1/26/2010 6:56:16 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    สร้าง Project ใหม่ ลอง connectดู
    ลาก database .mdf มาที่ app_data
    มันก็ขึ้นว่า Connect to SQL Server *.mdf require SQL Server Express 2005 to Funtion property.
    and install of the component or download

    http:go.microsoft.com/fwlink/?linkID=49251.

    อ่ะค่ะ
     1/26/2010 7:29:44 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    instance name database ของ visual studio คือ SQLEXPRESS อ่ะค่ะ

    แก้ไข ยังไงค่ะ ตอนนี้เปลี่ยนเป็น SQL Server 2008 ก็ยังไม่ได้ค่ะ

     1/26/2010 8:29:57 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (N/A) Modified By nas  on 1/26/2010 8:31:03 PM)
    QuoteReply
     isavahi wrote
    ค่า ทำตามแล้ว ก็ไม่ได้อ่ะค่ะ


    aspnet_regsql -S HOME-9E4AD08269\GOLD -d testdb -E -A r

    Start RoleManager
    ...
    Finished.

    aspnet_regsql -S HOME-9E4AD08269\GOLD -d testdb -E -A m

    Start Membership
    ...
    Finished.

    แล้วใน ASP.NET Provider มันขึ้นว่า


    Could not establish a connection to the database.
    If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.


    ค่ะ ทำไงดีค่ะ ติดมาเป็นอาทิต แล้วค่ะ T^T~


    จากตรงนี้ ให้เปลี่ยน connection string เป็นตามนี้ครับ


    <add name="MyMembershipConnection"
    connectionString="Data Source=HOME-9E4AD08269\GOLD;Initial Catalog=testdb;Integrated Security=True;User Instance=True"/>
    </connectionStrings>
     1/26/2010 8:36:23 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
     isavahi wrote
    instance name database ของ visual studio คือ SQLEXPRESS อ่ะค่ะ

    แก้ไข ยังไงค่ะ ตอนนี้เปลี่ยนเป็น SQL Server 2008 ก็ยังไม่ได้ค่ะ



    ถ้าพยายามจนลง SQLEXPRESS ไปแล้ว แบบนี้อาจจะใช้ default database ที่ ASP.NET จะสร้างให้เองชื่อว่า ASPNETDB.MDF มาลงไว้ใน APP_DATA โดยอัติโนมัติเมื่อเปิดเครื่องมือ WAT ก็ได้ครับ

    แต่แบบนี้เราต้องเคลียร์ค่า role กับ membership ที่เราเคยกำหนดไว้ในไฟล์ web.config ออกให้หมดก่อนครับ หรืออาจจะสร้างเว็บไซต์ใหม่เพื่อเคลียร์ไฟล์ web.config ก็ได้ครับ
     1/26/2010 11:13:52 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ขึ้นตามนี้เลย ค่ะ

    The user instance login flag is not supported on this version of SQL Server. The connection will be closed.
    ตอนเปลี่ยน
    connectionString="Data Source=HOME-9E4AD08269\GOLD;Initial Catalog=testdb;Integrated Security=True;User Instance=True"/>


    ในหน้า web.config ของหนู เป็น


    ค่ะ

    ส่วนอีกอันนึง คือ ใช้ sql server 2008 เหมือนเดิมค่ะ แต่ลองไปเช็คใน tools->option->database tools->data connection->sql instance name มันเป็น SQLEXPRESS ในตอนแรก ค่ะ

    T^T ช่วยหนูด้วยนะค่ะ อย่าเพิ่งท้อแท้
     1/27/2010 9:56:45 AM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (Sweden)
    QuoteReply
     isavahi wrote
    ขึ้นตามนี้เลย ค่ะ

    The user instance login flag is not supported on this version of SQL Server. The connection will be closed.
    ตอนเปลี่ยน
    <add name="testdbConnectionString" ***ต้องใช้ อันนี้ค่ะ เพิ่มต่อกับ database ใน sql datasource***
    connectionString="Data Source=HOME-9E4AD08269\GOLD;Initial Catalog=testdb;Integrated Security=True;User Instance=True"/>
    </connectionStrings>

    ในหน้า web.config ของหนู เป็น
    <connectionStrings>
    <add name="testdbConnectionString" connectionString="Data Source=HOME-9E4AD08269\GOLD;
    Initial Catalog=testdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings> ค่>

    ส่วนอีกอันนึง คือ ใช้ sql server 2008 เหมือนเดิมค่ะ แต่ลองไปเช็คใน tools->option->database tools->data connection->sql instance name มันเป็น SQLEXPRESS ในตอนแรก ค่ะ

    T^T ช่วยหนูด้วยนะค่ะ อย่าเพิ่งท้อแท้


    อ้อ ถ้าเราเปลี่ยน instance name ของมันเป็น SQLEXPRESS แล้ว เราต้องไปแก้ connection string ด้วยให้เป็นแบบนี้ครับ

    <connectionStrings>
    <add name="testdbConnectionString" connectionString="Data Source=HOME-9E4AD08269\SQLEXPRESS;
    Initial Catalog=testdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
     1/27/2010 1:16:29 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ก็ไม่ได้ค่ะ ขึ้นเหมือนเดิม
    แล้วถ้าจะใช้ SQL Server 2008 เป็น instance ต้องทำยังไง ค่ะ
    หนูลอง สร้าง File ใหม่ ก็ connection ไม่ได้อ่ะค่ะ

    Could not establish a connection to the database.
    If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider.


    T^T
     1/27/2010 1:21:15 PM
    User is offlineisavahi
    60 posts


    Re: ช่วยด้วยค่ะ......
     (N/A)
    QuoteReply
    ปัจจุบัน database ใช้ของ SQL Server 2008
    แล้วถ้าเกิดหนูลง SQL Express (SQLEXPR32)ทับเข้าไปจะได้ไหมค่ะ
    หรือ ลง SLQ Server 2005 (SQLServer2005_SSMSEE) ทับเข้าไปจะได้ไหมค่ะ หรือลงของเก่า แล้วลงใหม่
    หรือถ้าลง IIS เพิ่ม ซึ่งปัจจุบันไม่ได้ลง
    แล้วตอนนี้ localhost ก็เข้าไม่ได้
    จำเป็นต้องมี localhost ไหมค่ะ


    ช่วยแนะนำทางออก หรือ ทางแก้ ด้วยค่ะ

     1/27/2010 4:46:10 PM
    User is offlinenas
    886 posts
    1st


    Re: ช่วยด้วยค่ะ......
     (Sweden)
    QuoteReply
     isavahi wrote
    ปัจจุบัน database ใช้ของ SQL Server 2008
    แล้วถ้าเกิดหนูลง SQL Express (SQLEXPR32)ทับเข้าไปจะได้ไหมค่ะ
    หรือ ลง SLQ Server 2005 (SQLServer2005_SSMSEE) ทับเข้าไปจะได้ไหมค่ะ หรือลงของเก่า แล้วลงใหม่
    หรือถ้าลง IIS เพิ่ม ซึ่งปัจจุบันไม่ได้ลง
    แล้วตอนนี้ localhost ก็เข้าไม่ได้
    จำเป็นต้องมี localhost ไหมค่ะ


    ช่วยแนะนำทางออก หรือ ทางแก้ ด้วยค่ะ



    ลง SQL Server 2005 Express เพิ่มเข้าไปได้ครับ
    แต่ก่อนอื่นต้องแก้ instance name ของ 2008 ที่มีอยู่ให้เป็นชื่ออื่นก่อนที่ไม่ใช่ SQLEXPRESS ครับ หลังจากนั้นค่อยลง SQL 2005 Express
    พอลงเสร็จก็สร้างเว็บไซต์ใหม่ จากนั้นก็เข้าไปใช้ WAT พอทำการเพิ่มสมาชิก เราควรจะได้ฐานข้อมูล ASPNETDB เข้ามาอยู่ใน APP_DATA โดยอัตโนมัติครับ

    สำหรับ IIS นั้นไม่จำเป็นครับ เพราะใน Visual Studio มีเว็บเซิร์ฟเวอร์จำลอง (WebDev) อยู่ในตัวแล้ว
      มาคุยเรื่อง .NET กัน  Web Application ASP.NET  ช่วยด้วยค่ะ.......

    My SettingsMy Settings  My PostsMy Posts  SearchSearch  Forum HomeForum Home     

     Links Minimize

      

    Home  |  เรียนรู้ ASP.NET  |  หัวข้อสนทนา และคำถาม  |  เครื่องมือที่น่าสนใจ  |  เกี่ยวกับเว็บมาสเตอร์  
    Copyright 2007 by Narate Nantaburom   |  Privacy Statement  |  Terms Of Use
    Powered by ASP.NET for Thai Student and Thai developer