Tag Archive Library

Byphunsanit

PowerBuilder: Deploy

การ Deploy โปรเจกต์ powerbuilder ไปยัง user สามารถทำได้โดยมีส่วนประกอบ 2 ส่วนด้วยกัน

  1. ไฟล์ *.exe
    • ชื่อไฟล์โดยปกติจะโดนระบุไว้ในไฟล์ *.pbt
    • ถ้าไม่มีการเพิ่มหรือลด library ใน target ก็ไม่จำเป็นต้องส่งไฟล์นี้ให้ user
  2. ไฟล์ *.pbd
    • เป็นไฟล์ที่เกิดจากการแปลงไฟล์ library ( *.pbl ) โดยจะมีชื่อเดียวกันแต่นามสกุล .pbd โดยจะอยู่ใน path เดียวกัน
    • สามารถนำไฟล์ pbd ไปแทนที่ไฟล์เดิมในเครื่อง user ได้ทันที ตัว .exe จะสามารถใช้ datawindow, function, window และส่วนประกอบอื่น ๆ ที่อยู่ใน library version นั้น ๆ ได้ทันที
    • ไฟล์ pbd อื่น ๆ สามารถเรียกใช้สิ่งที่อยู่ใน pbd อื่น ๆ ได้ ถ้ายังเป็นชื่อเดิม มี parameter เหมือนเดิม ถึงตัวมันเองจะเก่ากว่า หรือว่าใหม่กว่าไฟล์ pbd ตัวนั้น ๆ

ข้อดีจากคุณสมบัติของไฟล์ pbd และ exe ทำให้เวลาที่ส่งโปรแกม update ให้ user สามารถส่งบางฟีเจอร์ ไปให้ user แต่ละกลุ่มได้โดยการส่ง pbd ให้ต่างกัน กลุ่ม a อาจจะได้รับไฟล์ pbd ที่ใหม่กว่าเพื่อทดลองใช้ฟีเจอร์ใหม่ ๆ ในเมนูเดียวกันกับกลุ่ม b ที่ได้รับไฟล์ pbd เวอร์ชั่นก่อนหน้าที่ใช้งานได้ อาจจะไม่ดีนัก แต่ทำงานได้อยู่

Byphunsanit

สร้าง project ใหม่โดยใช้ composer

เดี่ยวนี้ framework ต่างๆก็ใช้ package manager อย่าง composer ติดตั้ง library ต่างๆ รวมทั้งติดตั้ง framework อื่นๆ อย่าง jQuery ถ้าต้องการที่จะสร้างโครงการของเราเองก็ทำได้ง่ายๆ

  1. สร้าง folder ใหม่ขึ้นมา เช่น C:\xampp\htdocs\snippets
  2. พิมพ์
    composer init
  3. ตอบคำถามไปตามละดับ เช่น
    D:\>cd D:\xampp\htdocs\snippets
    
    D:\xampp\htdocs\snippets>composer init
    
    
      Welcome to the Composer config generator
    
    
    
    This command will guide you through creating your composer.json config.
    
    Package name (<vendor>/<name>) [pitt.p/snippets]: pitt/snippets
    Description []: code snippets
    Author [, n to skip]: Pitt Phunsanit <phunsanit@hotmail.com>
    Minimum Stability []: stable
    Package Type (e.g. library, project, metapackage, composer-plugin) []: project
    License []: mit
    
    Define your dependencies.
    
    Would you like to define your dependencies (require) interactively [yes]? yes
    Search for a package: jquery
    
    Found 15 packages matching jquery
    
       [0] components/jquery
       [1] frameworks/jquery
       [2] contao-components/jquery
       [3] yiisoft/jquery
       [4] etdsolutions/jquery
       [5] ovidentia/jquery
       [6] mygento/jquery
       [7] quickapps-plugins/jquery
       [8] intelogie/jquery
       [9] apnet/jquery
      [10] jquery/jquery
      [11] yepsua/jquery4php
      [12] venne/jquery2.0-module
      [13] sonata-project/jquery-bundle
      [14] blueimp/jquery-file-upload
    
    Enter package # to add, or the complete package name if it is not listed: 0
    Enter the version constraint to require (or leave blank to use the latest version):
    
  4. ตอบคำถามไปเรื่อยๆ รูปแบบ packages จะสัมพันกับ url ใน github เช่น https://github.com/jquery/jquery ถ้าไม่ทราบหาได้ขากเว้บ packagist.org จนสุดท้ายจะสร้างไฟล์ composer.json ขึ้นมา
    {
        "authors": [{
            "email": "phunsanit@hotmail.com",
            "homepage": "https://pitt.plusmagi.com",
            "name": "pitt phunsanit",
            "role": "Developer"
        }],
        "description": "snippet",
        "homepage": "https://pitt.plusmagi.com",
        "license": "mit",
        "minimum-stability": "stable",
        "name": "pitt/snippet",
        "require": {
            "ckeditor/ckeditor": "*",
            "components/jquery": "*",
            "components/jquery-migrate": "*",
            "components/jqueryui": "*",
            "phpoffice/phpexcel": "^1.8",
            "twbs/bootstrap": "*"
        },
        "type": "project"
    }
  5. โหลด library โดยคำสั่ง
    composer update

ไฟล์จุถูกเก็บในโฟลเดอร์ vendor/xxx/yyy อย่างเรียบร้อยและเหมือนกันทุกเครื่องถ้าลง package เดียวกัน version เดียวกัน