close

文字翻譯2. 用 isset($var[0]) 取代 0 < strlen($var)

行使預載的體式格局:(推薦利用)
比來碰到需要結合二個設定的情況,在,在 PHP 時 array 是 key-value 的情勢,所以可使用 array_merge() 結合二個 array;不外在 JavaScript 中 key-value 算是物件翻譯要如何結合二個物件呢?後來在網路上蒐尋到 jQuery 就有供給很好用的函式 $.extend()翻譯簡單的利用體例如下:
自由軟體的原始概念立意良善,是為了不讓程式撰寫人員憑空捏造;假如已有人發現了輪子,就沒有需要自己再從頭設計!拜網際網路發財之賜,讓來自世界各地的程式設計師群策群力,能更自由的應用前人的聰明,成長更好的功能、更不亂的程式,這不是很棒的一件事嗎!^^


taikobo0揭橥於 樂多 │10:57 │回應(0) │援用(0) │新知

April 9,2009

January 20,2010

[PHP] PDO 的使用方式

PHP 從 PHP5 入手下手,在資料庫操作方面新增了 PDO(PHP Data Objects)的 extension,哄騙物件導向的體式格局與資料庫進行溝通。捨棄以往透過單一函式的體例,而是透過物件導向程式設計的抽象化概念,操作時使用同一的方式,如果需要替換資料庫時,只要在成立物件時給予資料庫的情勢,而不消更動到本來的程式碼。這也是物件導向程式設計具有良好天真性的最佳體現!
$id = $dbh->quote(2);

},
    ->where('id = :id', array(':id' => 1))
PHP 是一種弱型此外說話,所以在面臨外部傳進來的變數時,我們通常會在作一次型另外轉換處理;PHP 內建供給型其余強迫轉換,如:(int)、(string)、(array),強制型別轉換比函式如:intval()、strval() 來的有用率。

  • ELK 並非單一程式,而是別離由 Elasticsearch, Logstash, Kibana 所組成
  • Elasticsearch 擔任資料貯存,可以把它當作是資料庫的一種,同時他也可以實現全文檢索
  • Logstash 搜集並處置資料,可以透過正規式將 log 的字串構造化
  • Kibana 則是提供網頁的顯現,串接 Elasticsearch 以後可以表現出簡練美觀的視覺化報表

Installation

  • 傳統安裝體式格局是一個一個來,不過要串聯三個程式並調劑環境設定,非常輕易卡關;一最先裝到一半我就遇到各種堅苦…後來忽然想到這種需要安裝分歧程式的情況,必然已經有人提供整合後的 docker images,後來一找公然有!網路上保舉使用:docker-elk
  • 基本情況需求:
  • ubuntu 16.04 Docker & Docker Compose 安裝(1.15.0 是寫文章時 Docker Compose 的最新版本,請依安裝時釋出的最新版本號自行改換)
  • sudo apt-get update
    sudo apt-get install docker.io
    sudo usermod -aG docker $USER
    sudo curl -L "https://github.com/docker/compose/releases/download/1.15.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 
    
  • 調整系統參數
  • sudo sysctl -w vm.max_map_count=262144
    
  • git clone 並建立 docker container
  •   'id = :id',
        $dbh = new PDO($dbtype_sql . ':host=' . $host_sql . ';dbname=' . $dbname_sql翻譯社 $username_sql, $password_sql);
    // 利用 execute(),會主動 quote $where 的參數
    (3)因為強制繼承的關係,GPL 也引來一些攻讦,所以在 PTT 才會引發想要規避的討論。畢竟公司發售軟體,目標固然是為了賺錢;在遇到這種有「沾染性」的授權體式格局時,難免會感到困擾...

    );
    setcookie('variable', $value, 0, '/');
    ?>
    3. Apache License:
           string = string.replace(/\'/g, '&#039;');

    // 獲得 tbl_user 資料表中,id = 1 的資料列
    }
       if (quote_style == 'ENT_QUOTES') {

    foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row) {
    } catch (PDOException $e) {

    var foo = {
    var htmlspecialchars = function (string, quote_style) {
    (3)五種開源和談的對照(BSD翻譯社Apache,GPL,LGPL,MIT) - 整頓(中文)

    3. 用 strpos($var, 'str') !== FALSE 庖代 preg_match('/str/', $var, $matches)
    $typeId = (int) $typeId;
    sudo apt-get update
    sudo apt-get install vsftpd -y
    • vsftpd 設定
    sudo vi /etc/vsftpd.conf
    # 封閉 ipv6,這個問題卡好久,找好久才發現解決方式;不肯定是否是 vsftpd 版本的問題
    # https://www.centos.org/forums/viewtopic.php?t=52408
    listen=YES
    listen_ipv6=NO
     
    # 允許當地用戶登錄
    local_enable=YES
     
    # 允許上傳
    write_enable=YES
     
    # 讀寫履行權限
    local_umask=022
     
    # 允許家目次變為根目錄
    chroot_local_user=YES
    chroot_list_enable=YES
     
    # 答應家目錄變為根目次後具有寫入權限
    chroot_list_file=/etc/vsftpd.chroot_list
    allow_writeable_chroot=YES
    • 建立利用者 test
    sudo useradd -m -s /usr/sbin/nologin test
    sudo passwd test
    # 以後輸入二次密碼
    • nologin 插足 shells 最後
    sudo vi /etc/shells
    /usr/sbin/nologin
    • 假如利用者要可以看到所有目次,新增帳號到這個檔案;若是不需要也要豎立一個沒有內容的檔案
    sudo vi /etc/vsftpd.chroot_list
    • 重啟 vsftpd
    sudo service vsftpd restart

    利用 TSL 連線(SSL)

    若是沒有憑證可以自簽

    • 操縱 openssl 產生憑證檔案
    # 產生一個刻日為 3650 天的自簽憑證
    sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 3650 -newkey rsa:2048
    • 自簽規範參考
    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:California
    Locality Name (eg翻譯社 city) []:Los Angeles
    Organization Name (eg翻譯社 company) [Internet Widgits Pty Ltd]:example.com
    Organizational Unit Name (eg, section) []:Linux and Open Source
    Common Name (e.g. server FQDN or YOUR name) []:example
    Email Address []:info@example.com

    點竄 vsftpd 設定檔

    • 自簽設定
    sudo vi /etc/vsftpd.conf
    #rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    ssl_enable=YES
    ssl_ciphers=HIGH
    • 若是 EC2 上已有憑證
    #rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    rsa_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem
    rsa_private_key_file=/etc/letsencrypt/live/example.com/privkey.pem
    ssl_enable=YES
    ssl_ciphers=HIGH
    • 重啟 vsftpd
    sudo service vsftpd restart

    利用被動模式

    • 有樂趣可以詳讀 FTP 主/被動模式
    • 天成翻譯公司自己的理解是:當 Client 端在 NAT 架構下,利用被動模式比較不輕易有問題(若是有錯請再見告)
    • 修改 vsftpd 設定檔
    sudo vi /etc/vsftpd.conf
    pasv_enable=YES
    pasv_min_port=40000
    pasv_max_port=50000
    port_enable=YES
    pasv_address=[Public IP]
     
    # 利用 domain name 時
    #pasv_address=[Domain Name]
    #pasv_addr_resolve=YES
    • 重啟 vsftpd
    sudo service vsftpd restart
    • AWS EC2 Security Group 要開啟被動模式的 port range

        } else if (string.indexOf('%0D') > -1) {
    (3)與 BSD 同屬限制少又寬鬆的授權方式;唯一的分歧點在於 MIT 的內容可遵照程式著作權者的需求而更改翻譯
    // 組合 SQL 語法,獲得符合 id = 2、name = 'John' 的資料
        ->select('username, password')
           string = string.replace(/"/g, '&quot;');
    (1)在利用此授權方式的軟體或程式碼時,必須保存版權宣佈、三條件表列以及免責聲明。


    ?> 2. PHP 伺服端回傳變數,由 JavaScript 寫入 cookie:
    },
       string = string.replace(/</g, '&lt;');
    自由軟體,具有六大特性、四大自由
    $where = array(':id' => 2翻譯社 ':name' => 'John');

    <?php

        } else if (string.indexOf('%0A') > -1) {