วันพฤหัสบดีที่ 14 ธันวาคม พ.ศ. 2566

วันศุกร์ที่ 8 ธันวาคม พ.ศ. 2566

Yii2 Spinner

html

<div id="loading-spinner" style="display: none;">

    <!-- Add your spinner image or loading text here -->

    Loading...

</div>

หรือ

<div id="loading-spinner" style="display: none; color: purple; font-size: 20px;">

    <!-- Customize the text and style as needed -->

    <strong>Loading...</strong>

</div>


<javascript>

<script>

$(document).ready(function() {

    $('.popup-link').click(function(e) {

        e.preventDefault();

        var url = $(this).data('url');

        openModalWithData(url);

    });

    $('#selectAll').click(function() {

        // Show the spinner when the button is clicked

        $('#loading-spinner').show();

    });


    // Assuming you have a form with the class 'your-form-class'

    $(document).on('beforeSubmit', 'form[name="frmMain"]', function() {

        // Show the spinner before form submission

        $('#loading-spinner').show();

        return true;

    });

    // If you're using Pjax, hide the spinner on successful Pjax response

    $(document).on('pjax:success', function() {

        $('#loading-spinner').hide();

    });


    // If you're not using Pjax, hide the spinner on any AJAX request completion

    $(document).ajaxStop(function() {

        $('#loading-spinner').hide();

    });

});

function openModalWithData(url) {

    $.ajax({

        url: url,

        method: 'GET',

        success: function(response) {

            $('#myModal .modal-body').html(response);

            $('#myModal').modal('show');

        },

        error: function() {

            alert('An error occurred while fetching data.');

        }

    });

}

</script>


วันพุธที่ 6 ธันวาคม พ.ศ. 2566

Smart Refer EMR

 git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

https://gitlab.com/smartrefer/smartemr-web.git

https://gitlab.com/smartrefer/smartemr-api.git

 npm i -g typescript

npm i -g ts-node

npm i -g nodemon

npm i --force

http://localhost:10021/services/visit/2023-10-01/2023-10-01


แจ้งหน่วยบริการทุกแห่งที่ใช้ smart refer

ขณะนี้ทางทีมพัฒนา ได้พัฒนาเวอร์ชั่น 5.1 (เวอร์ชั่นนี้แยกออกจากเขต8) เสร็จเรียบร้อยแล้ว 

*หมายเหตุ ให้ทุกแห่ง down server docker smart refer client และ smart emr ก่อน

แล้วจึงทำตามขั้นตอนการติดตั้งด้านล่างค่ะ


การติดตั้งโปรแกรม R10 Smart Platform

1. cd smartrefer-client 

2. docker-compose down

3. cd ..

4. remane smartrefer-client เป็น  smartrefer-client_old

5. git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

6.  cd smartrefer-client

7. แก้ไข ไฟล์ config.api , config.emr , config.pharmacy การเชื่อมต่อ ฐาน his รพ.

8. สั่ง docker system prune -a  แล้วตอบ y 

9. docker-compose  up แล้วลองเข้าระบบ เช่น http://192.168.1.2:8080/    , http://192.168.1.2:8080/smartemr/ ,http://192.168.1.2:8080/coc/

   9.1 ถ้าสั่ง docker-compose  up แล้ว ERROR: Network kong-network declared as external, but could not be found. Please create the network manually using docker network create kong-network and try again. **ให้สั่ง docker network create kong-network ใหม่ครับ

10. ระบบเข้าได้ปกติ ให้กดคีย์บอร์ด Ctrl + C

11. docker-compose  up -d

วันศุกร์ที่ 1 ธันวาคม พ.ศ. 2566

HAIT

 thcc.or.th/index  หนังสือ
http://thcc.or.th/ebook_shelf.html  Ebook
https://drive.google.com/drive/folders/1fWBOu9mff8O463-fiPt9BW1NqQvUmxIF///TMI
การขอรับการตรวจเยี่ยมและตรวจประเมินHAIT รบกวนศึกษาจาก file ใน folder  https://fileserv.moph.go.th/index.php/s/NN3hTcgPocIubgi  

https://tmi.or.th/wp-content/uploads/2023/12/HAIT_Plus_Guideline.pdf
https://drive.google.com/drive/folders/1rvfYS7Io7agyqYgOqbsPgv4987D_tGoE?usp=sharing?? รพ.มะเร็ง
https://pdpa.moph.go.th/pdpa/law_ict.php
https://drive.google.com/drive/folders/1CYZ2sh6LhIUjRuToCZ9pGR_aeEb-Lwj1?usp=sharing?50พรรษา
https://docs.google.com/forms/u/0/d/e/1FAIpQLScqTJbgHvzNL662lhvQ6yGXJJCKkcMEounqRS2eA61Z_jbu-g/formResponse??ประเมิน HAIT ระดับเขต

Proxmox

 https://blog.limitrack.com/proxmox-basic/

วันอังคารที่ 28 พฤศจิกายน พ.ศ. 2566

Jhcis-SQL

 https://jhcismuanglampang.blogspot.com/p/blog-page.html
https://drive.google.com/drive/folders/0B2hokdFdQRsxT2pxb1VyaGdUS2M?resourcekey=0-ctji3-1c-TioO1ao8fvcMA //ไฟล์คิวรี่

https://www.facebook.com/JhcisBetong/?locale=th_TH

โค้ดรายชื่อประชากรอายุ 20-50 ปี เป้าหมายการฉีดวัคซีน dt (เกิดตั้งแต่ 1 ม.ค.08-31 ธ.ค.38)


SELECT person.pid AS pid, concat(ctitle.titlename,person.fname,' ',person.lname)as pname, person.birth AS pbirth, GetAgeYearNum(person.birth,CURRENT_DATE)as age, person.idcard AS pcid, person.sex AS sex, person.hnomoi AS hno, person.mumoi AS mu, village.villno AS village_villno, village.villname AS village_villname FROM person INNER JOIN ctitle ON person.prename = ctitle.titlecode INNER JOIN house ON person.pcucodeperson = house.pcucode AND person.hcode = house.hcode INNER JOIN village ON house.pcucode = village.pcucode AND village.villcode = house.villcode WHERE person.typelive IN ('1','3') and person.pid not in (SELECT persondeath.pid FROM persondeath) and person.birth between '1965-01-01' and '1995-12-31' and SUBSTRING(house.villcode,7,2)<>'00' AND nation='99' order BY village.villno,person.hnomoi*1;
* สปสช.ออนไลน์
https://www.nhso.go.th/page/online_service
* Facebook สปสช.
https://www.facebook.com/NHSO.Thailand/
* Web NEW Authen
https://authenservice.nhso.go.th/authencode/#/login
* Web NEW E-Claim บันทึกข้อมูลเบิก
https://eclaim.nhso.go.th/Client/login
* Web E-claim
https://eclaim.nhso.go.th/webComponent/main/MainWebAction.do
* OP/PP Individual Records
https://op.nhso.go.th/op/main/MainWebAction.do
* รายงานระบบบริหารการเบิกจ่ายกองทุนหลักประกันสุขภาพแห่งชาติ (Smart Money Transfer)
https://smt.nhso.go.th/smtf/#/home/budget/summary
* ระบบข้อมูลพื้นฐานหน่วยบริการ (สำหรับสร้าง QR Code ในการ Scan เพื่อ Authen)
http://cpp.nhso.go.th/CPP/
* KTB
https://www.healthplatform.krungthai.com/healthPlatform/login
* ระบบบูรณาการติดตามข้อมูลการจ่ายชดเชยโรคเฉพาะ (Seamless for DMIS)
https://seamlessfordmis.nhso.go.th/seamlessfordmis/faces/login.jsf
* Drug Catalogue
http://drug.nhso.go.th/drugcatalogue
* Moph-IC
https://cvp1.moph.go.th/dashboard
* Moph Claim
https://claim-nhso.moph.go.th/nhso/
* สกส. SSOP
https://cs5.chi.or.th/ssopupload/Main
* หมอพร้อม Digital ID
https://mohpromt.moph.go.th/mpc/mp-pf/mohprompt-did/
* MOPH IDP Center (สำหรับกำหนดรายชื่อและอุปกรณ์ผู้พิสูจน์ตัวตนสำหรับหมอพร้อม)
https://phr1.moph.go.th/idpadmin
* หมอพร้อม Moph ID
https://moph.id.th/login

วันอังคารที่ 24 ตุลาคม พ.ศ. 2566

SmartEMR Smart Refer

 git clone https://gitlab.com/smartrefer-ubonratchathani/docker-server/smartrefer-client.git

https://gitlab.com/smartrefer/smartemr-web.git

https://gitlab.com/smartrefer/smartemr-api.git
http://192.168.200.92:8081/#/login   
http://192.168.200.92:8081/allergy/
http://192.168.200.92:8081/api/smartemr/
http://192.168.200.92:8081/smartemr/#/main

 docker-compose pull

 docker-compose up -d
ทดสอบ http://localhost:10021/services/visit/2023-10-01/2023-10-01

npm i -g typescript

npm i -g ts-node

npm i -g nodemon

 npm i --force

pm2 start nodemon --name xxxx
pm2 save
######## Smartemr-web๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒

npm i  ถ้าไม่ได้ npm i --force
npm start  รอจนกว่า Compiled เสร็จ

ng serve --host 0.0.0.0 --port 4200 
----- EMR ---
smartrefer_client

.การอัพเดทโปรแกรมเพื่อดึง images ใหม่ใชค ้ า สั่งดงัน ้ ี
docker-compose down
docker-compose pull
docker-compose up -d
คำสั่ง down = docker-compose down
คำสั่ง รัน = docker-compose up -d
คำสั่ง รันและดูError  = docker-compose up 
GET::http://192.168.200.92:8081/api/smartemr/
GET::: http://192.168.200.92:8081/api/smartemr/services/visit/2022-10-02/2022-10-30













วันอังคารที่ 10 ตุลาคม พ.ศ. 2566

ClaimDT

 {

    "statusCode"200,
    "results": {
        "seq""0002982975",
        "hn""031416",
        "pid""2341400019081",
        "id_type""1",
        "title""น.ส.",
        "fname""จรงค์ทรัพย์",
        "lname""พันธุ์วรรณ",
        "marriage""1",
        "dob""1993-07-20",
        "sex""2",
        "nation""099",
        "hcode""10953",
        "hospital_name""โรงพยาบาลม่วงสามสิบ",
        "visit_date_time""2023-10-08T20:25:39.000Z",
        "vaccine": [
            {
                "code""106",
                "lot_number""233L7002B",
                "dose_quantity""1",
                "manufacturer""",
                "expiration_date""2024-07-31",
                "occurence_time""2022-06-27  13:00",
                "site_code""",
                "route_code""IM",
                "license_no""ว.20812",
                "name""นพ.ประจักษ์ สีลาชาติ ",
                "note"""
            }
        ]
    },
    "results_claim": {
        "error""unauthorized",
        "message""JWT Expire",
        "message_th""ยืนยันตัวตนไม่สำเร็จ",
        "status"401
    }
} ##########################################################################
SELECT distinct o.visit_id as seq ,o.hn ,p.cid as pid ,'1' as id_type ,CASE WHEN p.PRENAME not in('') THEN TRIM(p.PRENAME) WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) < '15' AND p.sex='1' THEN 'ด.ช.' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) >= '15' AND p.sex='1' THEN 'นาย' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) < '15' AND p.sex='2' THEN 'ด.ญ.' WHEN TIMESTAMPDIFF(year,p.BIRTHDATE,NOW()) >= '15' AND p.sex='2' AND p.MARRIAGE ='1' THEN 'น.ส.' ELSE 'นาง' END as title ,trim(p.fname) as fname ,trim(p.lname) as lname ,oc.oc_name as nameoccptn ,CASE WHEN p.marriage = '1' THEN '1' WHEN p.marriage = '2' THEN '2' WHEN p.marriage = '3' THEN '3' WHEN p.marriage = '4' THEN '6' ELSE '9' END AS marriage ,p.birthdate as dob ,p.sex ,timestampdiff(year,p.birthdate,o.reg_datetime) as age ,concat('0',n.natn_id) as nation ,h.hospcode as hcode ,concat('โรงพยาบาล',h.hospname) as hospital_name ,DATE_FORMAT(o.reg_datetime,'%Y-%m-%dT%T.000Z') as visit_date_time ,'' as code_status ,d.drug_id ,d.drug_name FROM address_hosp h, opd_visits o INNER JOIN cid_hn c ON o.HN=c.HN AND o.IS_CANCEL=0 INNER JOIN population p ON p.CID=c.CID LEFT JOIN opd_diagnosis dx on dx.visit_id= o.visit_id AND dx.is_cancel=0 LEFT JOIN icd10new i on i.icd10=dx.icd10 INNER JOIN prescriptions pr ON pr.visit_id = o.visit_id and pr.IS_CANCEL = 0 LEFT JOIN drugs d ON d.drug_id = pr.drug_id LEFT JOIN occupation_new oc ON oc.oc_id = p.oc_id LEFT JOIN nations n ON n.natn_id = p.natn_id LEFT JOIN ipd_reg ipd ON ipd.visit_id = o.visit_id AND ipd.is_cancel = 0 where o.visit_id = ${info.vn} #o.reg_datetime BETWEEN CURDATE()-2 AND NOW() AND ipd.adm_id is null AND TIMESTAMPDIFF(year,p.birthdate,o.reg_datetime) >= 25 AND d.drug_id = '1850' ตามด้วย SELECT DISTINCT CASE WHEN cv.dose_time = '1' THEN '106' WHEN cv.dose_time = '2' THEN '107' WHEN cv.dose_time = '3' THEN '108' ELSE '109' END as 'code' ,max(od.lot_no) as lot_number ,'1' as dose_quantity ,'' as manufacturer ,DATE_FORMAT(max(od.exp_date),'%Y-%m-%d') as expiration_date ,DATE_FORMAT(cv.vac_datetime,'%Y-%m-%d %H:%s') as occurence_time ,'' as site_code ,'IM' as route_code ,'ว.20812' as license_no ,'นพ.ประจักษ์ สีลาชาติ ' as 'name' ,'' as note FROM opd_visits o INNER JOIN cid_hn c ON o.HN=c.HN AND o.IS_CANCEL=0 INNER JOIN population p ON p.CID=c.CID LEFT JOIN cid_vaccinate_v2 cv ON o.visit_id = o.visit_id LEFT JOIN vaccinecovid vc ON vc.vaccine_id = cv.vaccine_id LEFT JOIN order_details od ON od.ivt_id = vc.drug_id #LEFT JOIN invoices v ON v.ivs_id = od.ivs_id where o.visit_id = '0002982975' #o.visit_id = ${info.vn} AND vc.drug_id = '1850' LIMIT 1

วันศุกร์ที่ 29 กันยายน พ.ศ. 2566

InnoDB กับ Lock wait timeout exceeded!

 ผมใช้ innoDB  ใน MySQL แล้วเจอข้อความ error นี้

Lock wait timeout exceeded; try restarting  transaction

1 thought on “InnoDB กับ Lock wait timeout exceeded!”

  1. ubuntu
    Path::::: /etc/mysql/my.cnf
    sudo nano /etc/mysql/my.cnf

    วิธีแก้คือไปเพิ่มใน my.cnf หรือ my.ini
    innodb_log_file_size = 100M
    file นี้มันเก็บ transaction ไว้ default ของมันแค่ 5mb
    มันไม่พอต้องเพิ่ม

    สมมุติสเปกเครื่องเซิร์ฟเวอร์ CPU 4 core  RAM 4 GB)

    # InnoDB Settings
    default_storage_engine          = InnoDB
    innodb_buffer_pool_instances    = 1     # Use 1 instance per 1GB of InnoDB pool size
    innodb_buffer_pool_size         = 1G    # Use up to 70-80% of RAM
    innodb_file_per_table           = 1
    innodb_flush_log_at_trx_commit  = 0
    innodb_flush_method             = O_DIRECT
    innodb_log_buffer_size          = 8M
    innodb_log_file_size            = 256M
    innodb_stats_on_metadata        = 0
    

    คำสั่งคิวรีที่ใช้ตรวจสอบค่าที่เหมาะสมของ innodb_buffer_pool_size

    SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
    (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
    FROM information_schema.tables WHERE engine='InnoDB') A;
    

    เมื่อใช้ดาต้าเบสไปได้ 1-2 สัปดาห์ ให้ใช้คำสั่งคิวรีนี้เพื่อใช้ตรวจสอบว่าหน่วยความจำ GB จริงที่ถูกใช้โดย InnoDB Data ใน InnoDB Buffer Pool ในขณะนี้ถูกใช้งานไปเท่าไร

    SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
    (SELECT variable_value PagesData
    FROM information_schema.global_status
    WHERE variable_name='Innodb_buffer_pool_pages_data') A,
    (SELECT variable_value PageSize
    FROM information_schema.global_status
    WHERE variable_name='Innodb_page_size') B;
    

    และมีค่าอื่นๆ อีกเช่น

    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 1M
    

    เสร็จแล้วให้บักทึก และ Restart การทำงาน MySql/Mariadb ใหม่อีกครั้ง

    แนะนำบทความเพื่อศึกษาเพิ่มเติม : Tuning MySQL : สำรวจตัวเองและเข้าใจตัวแปร



วันเสาร์ที่ 9 กันยายน พ.ศ. 2566

Backup VMware ESXI6.7

 Custom Pocy Regis  ///เป็นวิธีที่เสถียรมากที่สุด
--Datastore---> .VMDK.File----->Regis.VMX
https://www.youtube.com/watch?v=qU5HMZveN9E

--ไปที่เก็บ Datastore  Browser
--เลือกโฟลเดอร์ที่เก็บ vm
--หา 2 ไฟล์ 
   * 1.  .vmdk
   * 2. . vmx   // ไฟล์ Rergister


--สร้างโฟลเดอร์ ที่จะเก็บ Image

วันอังคารที่ 22 สิงหาคม พ.ศ. 2566

New E-claim API 16F

 โครงสร้าง API 16 แฟ้ม
เอกสารประกอบการพัฒนา API SPEC สำหรับผู้พัฒนานะครับ รายละเอียดทั้งหมด อยู่ในลิงค์ >> https://www.nhso.go.th/downloads/208
https://drive.google.com/drive/folders/1-WaEEfFtHknVwADgD9Y2WseC9SQ96ifR
1330 กด 5 กด 3 นะคะ 

วันพุธที่ 16 สิงหาคม พ.ศ. 2566

ไฟฟ้าดับ

วันที 24 กันยายน 2566 เวลา  16.00  น.  การไฟฟ้าม่วง  จะขอดับไฟ  ทุกระบบ  เพื่อทำการเปลี่ยนสายที่เสื่อมสภาพ  ตรงบริเวณข้างห้องคลอด      เป็นเวลา  20  นาที  


มีมีการแก้ไขไฟฟ้าจากการไฟฟ้า  เมื่อวันศุกร์ที่ 7 พฤษภาคม 2564 เวลา 16.00 น.

เพื่อเปลี่ยนเครื่องกำเนิดไฟฟ้าในโรงพยาบาล งดการจ่ายไฟฟ้าทุกจุด รวมใช้เวลาประมาณ 1 ชั่วโมง

- ก่อนการเชื่อมต่อ ทางช่างและผู้รับเหมาจะทดสอบระบบปั่นไฟฟ้าสำรอง ให้มั่นใจว่าเมื่อเชื่อมต่อระบบแล้วจะสามารถรองรับโหลดเครื่องใช้ไฟฟ้าและใช้งานได้ปกติ

- กำหนดการเชื่อมต่อระบบคือ วันศุกร์ที่ 7 พ.ค.2564 เวลา 16.00 น.

- ผู้รับเหมารับปากที่จะเชื่อมต่อให้เสร็จภายในเวลา 30 นาที 

- การเตรียมการของหน่วยงาน

o ก่อนดับไฟฟ้า บริหารจะประกาศให้ทุกหน่วยงานทราบ เพื่อเตรียมตัวล่วงหน้า 30 นาที

o ในช่วงเวลาที่ดับไฟฟ้าเพื่อเชื่อมต่อ ระบบ Mbase และ Internet จะใช้การไม่ได้

o หากไฟฟ้าดับเกินเวลา 30 นาที จะใช้ระบบบริการโดย OPD card ตามที่เคยฝึกซ้อม

** วันที่ 9 ตุลาคม 2565 ปิดระบบการจ่ายไฟฟ้าทั้งหมด

ตั้งแต่เวลา 11.30 น. -14.00 น  ใช้เวลา 2 ชั่งโมง 30 นาที

คุณชิตพันธ์ พิสุทธิโกศล ขึ้นเวร 

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ



**วันที่ 13 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่

ตั้งแต่เวลา 11.30 น. -13.00 น  คุณศุภมิตร สุทโธ  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง 30 นาที

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


**วันที่ 14 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่  เปลี่ยนสายไฟที่เชื่อมเข้าตึกเวชปฏิบัติใหม่

ตั้งแต่เวลา 10.00 น. -11.00 น  คุณชาตรี บุญทา  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


ตัวชี้วัด:ระบบเครือข่ายล่มเกิน15 นาที่โดยไม่ได้ตั้งใจ ตัวชี้วัดให้เป็น 0 คือไม่ไห้เกินขึ้น จากการเปรียบเทียบ5ปี

ทุกอย่างเป็น 0 เท่านั้น


วันพฤหัสบดีที่ 22 มิถุนายน พ.ศ. 2566

ตรวจสอบการจองห้อง

 https://www.thaicreate.com/php/forum/136259.html
http://sunzandesign.blogspot.com/2013/05/php-mysql-booking-room.html  คิวรี่ตรวจสอบ

โดยจะเขียน SQL เพื่อหาห้องว่างแบบเต็มๆ ได้ดังนี้

SELECT *
FROM tb_room
WHERE room_number NOT IN
(
SELECT
tb_booking_detail.room_num
FROM
tb_booking
INNER JOIN
tb_booking_detail on tb_booking.id = tb_booking_detail.ref_booking_id
WHERE
(date_start BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(date_end BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(‘2018–07–18’ BETWEEN date_start AND date_end)
OR
(‘2018–07–22’ BETWEEN date_start AND date_end )
)

วันพฤหัสบดีที่ 18 พฤษภาคม พ.ศ. 2566

Cancer Anywhere2023

 Cancer Anywhere2023

 รพ. ที่ติดปัญหาเข้าใช้งาน tcb2023 ติดต่อผ่านตรงนี้นะครับ

 https://canceranywhere.com/webindex/
https://drive.google.com/drive/folders/1tuPZSWoB7L1xWWUbwROlak4ZQMx3FHRK
https://canceranywhere.com/documents/caw_api_20230115.pdf
คู่มือ ลองใช้ postman รันดูครับ

วันศุกร์ที่ 17 กุมภาพันธ์ พ.ศ. 2566

แปลงวันที่ พ.ศ ให้เป็นไทย ของ Yii2

 #แปลงวันที่ พ.ศ ให้เป็นไทย ของ Yii2

<?php
function thai_date($time){
global $thai_day_arr,$thai_month_arr;
$thai_date_return="วัน".$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์")[date("w",$time)];
$thai_date_return.= "ที่ ".date("j",$time);
$thai_date_return.=" เดือน".$thai_month_arr=array(
"","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน", "พฤษภาคม",
"มิถุนายน", "กรกฎาคม", "สิงหาคม","กันยายน", "ตุลาคม",
"พฤศจิกายน", "ธันวาคม"
)[date("n",$time)];
$thai_date_return.= " พ.ศ.".(date("Yํ",$time)+543);
// $thai_date_return.= " ".date("H:i",$time)." น.";
return $thai_date_return;
}
?>


วันจันทร์ที่ 9 มกราคม พ.ศ. 2566

Mimio-Ubuntu

 

จะติดตั้ง Minio บน Ubuntu ได้อย่างไร?

เพื่อใช้บริการที่ยอดเยี่ยมนี้ เราจะพิมพ์คำสั่งต่อไปนี้เพื่อให้สามารถใช้งาน Minio ในระบบของเราได้

Primero เราจะดาวน์โหลดและติดตั้งไบนารีบนระบบ:

sudo useradd --system minio-user --shell /sbin/nologin
curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio
sudo mv minio /usr/local/bin
sudo chmod +x /usr/local/bin/minio
sudo chown minio-user:minio-user /usr/local/bin/minio

ตอนนี้ Minio ต้องเริ่มต้นด้วยการรีบูตระบบ และได้รับการยอมรับจาก OS ว่าเป็นบริการที่ทำงานอยู่

1
2
3
4
sudo mkdir /usr/local/share/minio
sudo mkdir /etc/minio
sudo chown minio-user:minio-user /usr/local/share/minio
sudo chown minio-user:minio-user /etc/minio

ภายในไดเร็กทอรี / etc / default เราต้องสร้างไฟล์ minio เพื่อระบุตัวแปรสภาพแวดล้อม เช่นหมายเลขพอร์ตที่เราจะฟังและไดเร็กทอรีที่ควรบันทึกข้อมูล

Vamos เพื่อสร้างไฟล์ใน / etc / default / minio และเพิ่มเนื้อหาต่อไปนี้ภายใน:

1
2
3
sudo nano /etc/default/minio
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address tu-dominio.com:443"

คุณต้องแก้ไข "your-domain" สำหรับโดเมนหรือโดเมนย่อยที่คุณจะกำหนดให้กับ minio โดยเฉพาะ:

1
2
3
4
5
6
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/minio
curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/
minio.service
sudo mv minio.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable minio

ตอนนี้ เรากำลังจะนำใบรับรอง TLS ไปใช้กับ certbot:

01
02
03
04
05
06
07
08
09
10
11
sudo apt update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot
sudo certbot certonly --standalone -d tu-dominio.com --staple-ocsp -m
tu@correoelectronico.com --agree-tos
cp /etc/letsencrypt/live/minio.ranvirslog.com/fullchain.pem /etc/minio/certs/public.crt
cp /etc/letsencrypt/live/minio.ranvirslog.com/privkey.pem /etc/minio/certs/private.key
chown minio-user:minio-user /etc/minio/certs/public.crt
chown minio-user:minio-user /etc/minio/certs/private.key

ในที่สุด มาเริ่มบริการและตรวจสอบว่าทุกอย่างทำงานถูกต้อง:

1
2
3
sudo service minio start
 
sudo service minio status

https://ubunlog.com/th/crea-tu-almacenamiento-privado-al-estilo-aws-s3-con-minio-en-ubuntu/
https://ciksiti.com/th/chapters/11752-a-complete-guide-to-install-minio-server-and-client-on-ubunt