Planet Linux of Taiwan

08月17日

whatup's face
whatup


縮小 展開

Enable HTTPBuilder debug message

在用 groovy & cucumber 寫 API test 時,如果發生問題只會噴個 error 的 body 而已,這樣非常難 debug 。而且有一些參數是設在 http header 上,如果把每個 API 的 header 都印出來,要到處塞 debug logger。如果是 https 的話,也沒辦法使用 tcpdump 來看。

這時可以用下列方法簡單的把 logger 設定打開,就可以直接噴在營幕上了,這樣比較好 debug。

mvn -B integration-test -Dcucumber.options="--tags @test_only" \
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog \
-Dorg.apache.commons.logging.simplelog.showdatetime=true \
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG

還有其他的參數可以參考後附的文章內容。

reference

08月16日

瘋狂帽客's Blog's face
瘋狂帽客's Blog


縮小 展開

How to deploy Ubuntu Core from KVM to VirtualBox?

Steps:
1. Download Ubuntu Core of KVM image from URL below:
https://developer.ubuntu.com/core/get-started/kvm

2. To decompress xz.

3. To convert the format of img to the vdi via VBoxManage command below:

VBoxManage.exe convertdd ubuntu-core-16-amd64.img ubuntu-core-16-amd64.vdi
4. Import vdi file above to the VirtualBox without issue.



08月15日

sakananote's face
sakananote


縮小 展開

VMware Horizon ICM Day 2

Day 2

9:30 ~ 11:00
Lesson 5: Managing Users and Groups

Global Policies
  • MMR
  • USB 重導向
  • PCoIP Hardware 加速

Overriding Policies at the User Level

Group Policy Administrative Templates


Module 5: Horizon Client Options

SSO Timeout Configuration

Horizon Client SSL Connectivity

Common Login Issues

URL Content Redirection
  • Client 端只限定  Windows 平台與 IE 瀏覽器

Creating a White List

VMware Horizon Client Configuration ( vdm_client.adm )

Client System Information Sent to the Desktop

Lab Time

== Class break ==

11:30 ~ 12:30

Lesson 2: Virtual Printing with Horizon Client

Virtual printing
  • 所見即所得
  • Location Based

Lab 5: Configuring and Using Virtual Printing

== Class break ==

13:30 ~ 3:30

Module 6: Creating Automated Desktop Pools

Automatic Pool
  • Full-clone ( Template )
  • Linked-clone (Composer)
  • Instant clone
    • 必須是 Automatic Desktop Pool
    • 必須是 Floating-Assignment

Provisioning Setting
  • 手動命名
  • 自動產生

Floating-Assignment Pool Settings

Lab 6: ( Optional ) Creating and Using an Automated Pool


== Class break ==

3:30 ~ 5:00

Module 7: Configuring and Managing Linked-Clone Desktop Pools

View Composer

Key Concepts
  • Parent Virtual Machine
  • Snapshot
  • Replica
    • Base on 快照產生的 VM, Read only, 用來產生 Linked Clone
    • Linked Clone
      • 磁碟類型有 3 種
        • OS Disk
          • 針對 OS 的變動都會寫入到這邊
        • Persistent Disk
          • Optional disk for each user profile
          • 存放使用者的檔案
        • disposable disk
          • Disposable data: Paging file and temp-file folder
          • 存放 page file, 不要讓 OS disk 肥大

Tiered storage for three disk is supported
  • 可以把不同的磁碟放在不同的 datastore

Storage Overcommitment Levels
  • None
    • 不可以 over commit
  • Conservative
    • 4 倍實體空間
  • Moderate
    • 7 倍實體空間
  • Aggressive
    • 15 倍實體空間
  • Unbounded
    • 不限制

Files for a Linked Clone
  • sdd 資料夾: 用來產生初始化的 disposable disk, 因為如果關機 disposable disk 就會被刪除, 開機之後再從 sdd 資料夾複製出來

View Composer Limitations
  • Linked-clone virtual machines must not be managed in vSphere Web Client
    • The vCenter Server system has no knowledge of linked clones
    • 使用 Composer 來管理

Lesson 2: Installing Composer

Lab time:

08月14日

sakananote's face
sakananote


縮小 展開

VMware Horizon ICM Day 1

9:30 ~ 11:15

Day 1

Module 1 課程介紹

架構

Client
  • Horizon Client

Horizon Connection Server

Desktop Pool
  • Horizon Agent
  • Desktop 產生方式
    • Manual 5 - 10 mins
    • Full clone ( Template )
    • Linked clone ( 2 - 3 mins )
    • Instant clone ( 30 secs )

文件

Module 2 Introduction to VMware Horizon

VMware Horizon Architecture Layers
  • User
  • Client Access Devices
  • Access Infrastructure
  • Profile / Session / Application Provisioning
  • Virtual Desktop
  • VMware Infrastructure

View Connection Server
  • Desktop connection broker
  • Support TrueSSO, RSA SecurID, RADIUS and smart card authentication
  • Use VMware vCenter to provision virtual machines as needed
  • Support multiple Windows OS for VMware Horizon desktop
  • Support multiple Linux OS for VMware Horizon desktop ( from 6 )

Horizon Client System
  • VMware Horizon desktop access
    • HTML 5 client
    • Horizon Client for multiple os and devices
    • VMware Horizon API: Embedded in certain thin-client devices
  • SSO to remote desktop session

Instant Clone
  • 必須要 ESXi 配合
  • 更快速的部署方式
  • A desktop is destroyed every time a user logs out. A new, refreshed instant clone is created the next time the user logs in. ( 使用者登出就會清除 VM )

View Composer
  • Can be install on a standalone system( 5.1 版以後 ) or on the vCenter system.
  • Features
    • Uses linked-clone technology
    • Image separation
    • QuickPrep or Sysprep for user personalization
    • Supports vCenter Server
    • VMware vCenter Server Appliance

App Volumes Architecture

Managed Application Containers
  • 安裝 App Volumes Agent
    • AppStack
      • 唯讀的應用程式
    • Writable Volume

ThinApp and Virtual Printing
  • ThinApp
    • 綠色程式, 單一執行檔
  • Virtual Printing
    • 讓使用者可以安裝印表機( 一般使用者沒有權限安裝印表機 )

Extensibility to Third-Party Management Tools
  • Windows powershell

Required Active Directory Components
  • Domain membership is required for
    • All virtual machines
    • View Connection Server

Required vSphere Components
  • VMware ESXi
  • vCenter Server
  • 不同功能需要不同版本以上支援

== Class break ==

11:30  ~ 12:30

Lesson 2: Defining the Use Case

Use-Case Information
  • Current and projected workload details
  • Access scenario
  • Key applications
  • User activity
  • Category of user

透過 Use-case 來規劃相關的環境

Module 3: View Connection Server

View Connection Server Prerequisites
  • A supported version of vSphere
  • At least one ESXi host
  • At least one vCenter Server instance
  • Host systems that are running View Connection Server must be members in AD

Preinstallation Checklist

初始化 View Connection Server
  • https://FQDN/admin

== Class break ==

13:30 ~  14:00
Lab Time

14:00 ~ 15:30

Monitoring PCoIP Session Statisitics

Windows Management Instrumentation
  • 透過 WMI 來監控 PCoIP session statistics

Module 4 VMware Horizon Pools and Desktops

Desktop Pool type
  • Manual Desktop Pool
  • Automatic Desktop Pool
  • RDS Desktop Pool

Remote Enabled Users

Firewall Port
  • TCP / UDP 4172 for PCoIP
  • TCP 3389 for RDP
  • TCP 32111 for UsB redirection
  • TCP 9427 for MMR and client drive redirection
  • 安裝時會自動設定

Windows Power options
  • 建議停用, 使用最高效能

調整 Windows
  • 分頁檔設定手動調整
  • 停用還原點
  • 電源選項調整為全效
  • 使用 VMware OS Optimization Tool

VMware OS Optimization Tool

Disabling the Themes Service

vCenter Server Resource Pools

Remote Display Protocol
  • PCoIP Remote Display Protocol
    • 使用 Progressive Build ( 漸進式成像 )
  • Blast Extreme
    • 基於 H.264
  • RDP

PCoIP Administrative Template

Configuring Image Cache Size on the Client System
  • Default enable

Blast Extreme Remote Display Protocol
  • 基於 H.264

Blast Extreme Networking
  • 使用 TCP / UDP, 如果 UDP 無法使用會切換 TCP

Remote Desktop Protocol


== Class break ==

15:45 ~  16:00

Lesson 3: Horizon Agent

Configuring the Desktop for HTML Access
  • 以下 3 各部分都要設定
    • Connection Server
    • 桌面池
    • 桌面

Windows Media Multimedia Redirection ( MMR )
  • 針對 Windows 7 以後的版本支援

Horizon Agent on Desktop with Multiple NICs
  • 如果 VM 有多網卡, 要指定哪一張網卡跟 Connection Server 連線, 要修改 Register key

16:00 ~ 16:30

Lab time : Lab 2

16:30 ~ 17:15

Lesson 4: Configuring Desktop Pool

Desktop Pool type
  • Manual Desktop Pool
  • Automatic Desktop Pool
  • RDS Desktop Pool

User Assignment
  • Dedicated Assignment
  • Floating Assign

Configuring 3D Graphic-Intensive Applications
  • Hardware-base
    • Virtual Dedicated Graphics Acceleration ( vDGA ): vSphere 5.5 or later
    • NVIDIA GRID vGPU ( virtual graphics processing unit ): vSphere 6.0 or later
  • Software-base
    • ESXi host uses software 3D graphics rendering
    • vSphere 5.0 or later
  • Automatic

Adobe Flash Bandwidth Reduction
Adobe Flash Throttling
  • Throttling mode does not affect audio
  • Throttling is disabled in full-screen mode

Reclaiming Virtual Machine Disk Space
  • In vSphere 5.1 and later, you can enable the disk space reclamation feature for VMware Horizon
    • 2 components
      • Space-efficient disk format
        • 達到要求的空間量就回收
      • Space reclamation operations
        • vShpere 5.1 版以後就可以

Enable View Storage Accelerator

Native NFS snapshots
  • The View Composer Array Integration (VCAI) feature uses native NFS snapshots

Entitling Users and Groups
  • 桌面池建立好之後, 要經由授權才能被使用
    • 新增授權可以針對 Domain 內的群組或是使用者來進行授權

Restricted Entitlements ( 限定存取 )
  • 限制指定的 Connection Server 只能看到特定的 Pool ( 使用 Tag 識別 )
  • Normally, all pools are accessible through any connection server
    • Entitlements are assigned to pools
  • Using restricted entitlements, you associate one or more pools with a specific connection server.
    • 如果有多標籤( Tag )用逗號 ( , ) 分隔

Tagging a Pool

Tag-Matching Rules


Connection Server
Pool
Access Permitted?
No tags
No tags
Yes
No tags
One or more tags
No
One or more tags
No tags
Yes
One or more tags
One or more tags
Only when tags match

17:15 ~ 17:30

Lab time

將檔案內的 /r 替換為 /r/n

在 Linux 檔案系統內的換行通常是以 /r  做為結尾,  因此當你在 Linux 系統底下處理過的檔案搬遷到 Windows 作業系統中會發現( NotePad 之類的文字編輯器)無法換行, 因此我們有幾種做法可以處理:

  1.  在 Windows 作業系統中安裝 unix2dos (http://www.bastet.com/uddu.zip),透過 PowerShell 來處理這些文檔:

    foreach ( $file in dir -include(‘*.csv’) -recurse )
    {
    ../uddu/unix2dos $file.FullName
    }

    $file – 目錄內的檔案
    dir 是 PowerShell 中Get-ChildItem 的一個別名, 不是我們指令所下的 dir 意思
    -recurse 表示會遞迴子目錄搜尋

  2. 在 Linux 作業系統中可以安裝  tofrodos 這個套件來處理轉檔:

    find . -name *.csv -exec dos2unix -v ‘{}’ \;

08月12日

COSCUP's face
COSCUP


縮小 展開

萬里雲:GOOGLE 機器學習系統 TENSORFLOW LITE 離線辨識圖片效率大增

之前,臉書「垃圾文界的一位美少年」粉專上瘋傳一張辨識女星的驗證圖片,難倒一票夏于喬、宋芸樺傻傻分不清網友;隨後跑出一堆惡搞驗證圖,甚至還有辨識透抽的版本出現,讓參戰的網友們玩得不亦樂乎。


近期大家會發現,在 Google 填寫表單或臉書身份認證時,CAPTCHA 驗證方式變得越來越多元,文末將補充精彩的演進史。其中最常出現的就是以上的圖片辨識九宮格,要使用者指認出不同圖片中的物件,而這個功能其實就是TensorFlow 應用之一。
前年Google發佈了TensorFlow物件辨識API,讓開發者更容易在同一張圖片中辨識及定位多個不同物件。TensorFlow目前採開放架構設計,並開源提供開發者取用,希望能提升物件、人臉或影像品質等深度學習的速率與準確度。

上個月Google I/O 2017年會上,深度學習系統又進一步邁向了本次的重頭戲--輕量版的TensorFlow Lite。此版本在Android行動裝置上也能發揮人工智慧功能,藉由行動處理器進行裝置端的端點運算,甚至能夠支援離線操作。根據Google測試結果,在MobileNets系統運算下,離線準確率在70.7%~89.5%之間,雖然相比還是不及連上雲端的94%,但也已經十分出色,且在速度與方便性上更勝一籌。

TensorFlow發表近兩年來,已經幫助研究人員、醫療人員、工程師、藝術家、學生等各行各業增進工作效率,應用範圍包含更精確的機器翻譯、早期皮膚癌檢測、防止糖尿病的失明併發症等,族繁不及備載,如今已被用於超過六千個開源資料庫,未來應用的層面勢必更廣泛,深度學習將帶來的效益值得期待。
目前的機器深度學習技術其實不只有 Google TensorFlow,Facebook 去年推出的手機版新功能--創意效果相機,可偵測人臉及變換相片材質的互動式玩法,靠的也是他們專為手機設計的機器學習框架 Caffe2Go。而上個月蘋果 WWDC 2017 發表會上推出Core ML,開始在 iOS 11內導入裝置端的端點運算學習模型,試圖降低在 iOS裝置運行機器學習的困難度,期待iPhone、iPad等行動裝置在效能上能有更高效的表現。

CAPTCHA 小教室


CAPTCHA

Completely Automated Public Turing test to tell Computers and Humans Apart,俗稱驗證碼,是一種區分用戶是電腦或人的公共全自動程式。

reCAPTCHA

提供「有意義」的驗證碼讓使用者辨識,可能是 Google 地圖街景中的模糊文字、掃描古籍中的文字片段等等,這樣的驗證碼可以讓使用者在輸入的同時,幫助典籍或資料庫數位化建檔,也就是讓每一個用戶幫忙做數位校稿的工作。

No CAPTCHA reCAPTCHA

使用者只要在「我不是機器人」(I’m not a robot)的方框中打勾,就可以完成判別。新的API也在行動裝置上進行實驗,例如要求使用者選擇和範例圖片中物體相同的所有圖片。Google表示,在手機上點選簡單的動物圖片會比輸入一串枯燥扭曲的文字更為容易。

Invisible reCAPTCHA

無需用戶互動,利用演算法便可分辨人類和程式,詳情可以參考 Google reCAPTCHA 官方網頁。

參考資訊


CAPTCHA 又有新突破,Google 正準備「Invisible reCAPTCHA」
https://security.googleblog.com/2014/12/are-you-robot-introducing-no-captcha.html
Android O beta is available today
https://techcrunch.com/2017/05/17/android-o-beta-is-available-today/
Google釋出全新TensorFlow物件辨識API:不僅可在手機運作,甚至不用聯網
https://www.bnext.com.tw/article/44980/google-tensorflow-object-detection-api
Supercharge your Computer Vision models with the TensorFlow Object Detection API
https://research.googleblog.com/2017/06/supercharge-your-computer-vision-models.html
Google 開源機器學習系統 TensorFlow 1.0 正式發表
https://technews.tw/2017/02/18/google-announcing-tensorflow-1-0/
Caffe2go:Facebook最新的深度學習框架
https://kknews.cc/zh-tw/tech/jvr3zmy.html

sakananote's face
sakananote


縮小 展開

openSUSE Leap 42.3 Beta 安裝小記

openSUSE Leap 42.3 Beta 安裝小記
這次是使用 USB 來進行安裝, 上次裝 42.2 是 2016年11月 :)


中文輸入法問題:


因為就算安裝 中文輸入法也沒有出現( 預設沒有輸入來源, 就算選了也是沒用 ), 所以就用之前的方式
移除 ibus
#yast2  sw_single


取消 ibus  套件


取消 USB 為安裝來源
# yast2  repositories


Freemind:
使用one click install 安裝 http://software.opensuse.org/package/freemind
我是使用 editors 那個來源的 ymp 檔案安裝


.mm 的檔案指定用 freemind  開啟


新增 Packman 套件庫:


使用 #yast2  repositories 手動加入 NCHC Packman 套件庫


#yast2  repositories


URL 為


Firefox Sync:
登入 Firefox Sync, 會處理之前有下載的 Plugin

flash-player:
# zypper   install   flash-player


播放器:


又回到 smplayer 懷抱, 疑似 codec 關係 :p
#zypper  install  smplayer

# zypper  install   vlc
因為 mplayber 與 smplayer 不知道為何播放 .mp4 有點問題, 但是使用 VLC 就沒有問題
所以我就安裝 VLC Media player


並將 .rmvb 以及 .mp4 預設播放器設定為  VLC


Skype:
目前的版本是 5.4.0 的版本




官方網站說
重要通知事項:所有 Linux 版 Skype 用戶端 4.3 版及較舊版本將於 2017 年 7 月 1 日停止服務。若要繼續使用聊天功能,請安裝最新的 Linux 版 Skype。


下載 RPM 版本用軟體安裝就裝好了 :)


使用 #yast2 sound 調整音效


Dropbox:


目前版本 2.10.0
使用 # zypper install dropbox 來安裝


安裝完之後在終端機下 dropbox  start  -i  來安裝


安裝 GNOME Control center
# zypper  install  yast2-control-center-gnome


然後修改 /etc/sysconfig/yast2
改為
WANTED_GUI="gtk"


修改 LS_OPTIONS 變數
# vi   /etc/profile.d/ls.bash
把 root 的 LS_OPTIONS 的 -A 移除


.7z 支援:
# zypper  install  p7zip


以下為個人記事


rdesktop 安裝與測試:
#zypper  install  freerdp


執行方式
#xfreerdp  -g  1280x1024  -u administrator  HOST_IP



VMware workstation Pro 12:


安裝目前有問題


要使用 VMware workstation 連線 VMware vCenter ( Conect to Server ) 卻發現會造成程式閃退.


先說結論 目前只有 VMware workstation pro 12.5.2 才有辦法連線到 vCenter




安裝 kernel-default-devel  
# zypper   install   kernel-default-devel
# ./VMware-Workstation-Full-12.5.2-4638234.x86_64.bundle


Yubico Key:
如果 linux 沒有抓到 Yubico 的 U2F Key可以使用以下步驟
讓 linux 支援 Yubico , 我是參考 https://www.yubico.com/faq/enable-u2f-linux/  
作法
存到 /etc/udev/rules.d/70-u2f.rules
將 linux 重開機, 接下來就可以使用了 :-)


Google Chrome:

設定 Google Chrome Sync


smartgit 安裝:


下載 17.0.4


解壓縮到 /opt
# tar  zxvf   smartgit-linux-17_0_4.tar.gz  -C   /opt/


建立 link 讓一般使用者也能使用
# ln  -s   /opt/smartgit/bin/smartgit.sh   /usr/local/bin/smartgit


安裝 git
# zypper  install  git


建立 個人的 ssh key
> ssh-keygen  -t  dsa


將 ssh 的公鑰 id_dsa.pub 新增到 Github 的 Settings -- >  SSH and GPG Keys


接下來就是以一般使用者的身份執行 smartgit 指令
> smartgit


按照上面的參考設定


設定 smart git icon 使用 alacarte


在設定好之後發現無法直接開啟資料夾 ( 資料夾上面按右鍵 -- > Open )
Edit -- > Preferences --> 點選  Tools -- > 點選 Re-Add Defaults 得到解決
2016-11-24 15-48-28 的螢幕擷圖.png


ansible 安裝:


目前版本 2.1.1
#zypper  install  ansible


安裝 pysphere:


為了 ansible and VMware Module




# zypper  install  python-pysphere


Docker 安裝:


目前版本 1.12.6-31
#zypper  install  docker


#systemctl  start  docker
#systemctl  enable   docker


Franz 安裝:


GNOME Extension:


參考調校小記
裝了
  • TopIcon
  • NetSpeed


Forticlient SSL VPN 安裝:
Dropbox 內2017/packages 的 source code


現在使用 forticlientsslvpn_cli
使用 方式


> forticlientsslvpn_cli  --server vpnserveraddress:vpnport  [--vpnuser vpnuser]


GUI 後面一直有問題, 這個是之前嘗試裝的
# zypper install libgthread-2_0-0-32bit
# zypper install gtk2-engines
# zypper install gtk2-theming-engine-adwaita-32bit
# zypper install libSM6-32bit

# zypper install gnome-themes


印表機安裝:
# yast2  printer

~ enjoy it


參考

08月11日

AppleBOY's Blog's face
AppleBOY's Blog


縮小 展開

用 Go 語言打造微服務架構

68747470733a2f2f7261772e6769746875622e636f6d2f676f6c616e672d73616d706c65732f676f706865722d766563746f722f6d61737465722f676f706865722e706e67 今年在 ModernWeb 講『用 Go 語言打造微服務架構』,蠻開心看到底下很多 Go 開發者,希望未來能有更多公司導入 Go 語言,底下是會議大綱:


  • Microservices vs. Monolithic 差異
  • 微服務核心架構 (Go 工具專案)
  • Go 語言核心高並發
  • 為什麼選用 Go 語言
  • 微服務代價跟準備

有像 AWS 雲端,為什麼要自己搭建微服務?

我在現場介紹了很多用 Go 語言搭建的工具跟服務,讓開發者可以不依靠任何雲端產品來架構微服務系統,但是相信大家一頭霧水,為什麼需要這些服務工具,不是已經有 AWS 或 GCP 了嗎?這邊我的回答是,很多客戶都有自己的機房,如果服務都擺到雲端,客戶的資料都是機密,不可能全部的客戶都想要把服務搭建但現有雲端平台,所以我會準備一套完全不需要雲端的方案,方便讓客戶可以在自己的機房搭建。

如何拆分微服務

會後有朋友問到,現在全部的功能都寫在一起,怎麼知道哪些功能可以拆出來當作微服務。在會議上我提到了底下幾點給大家參考:
  • 依照業務區分
  • 自動化部署
  • 高度容錯
  • 快速置換
  • 獨立開發
  • 易擴充
而我自己在團隊內拆分的標準是:如果很多專案都需要共用一個功能或需求,那就是可以拆出來,舉例來說,每個專案都需要後端伺服器串接 Google FCM 或 Apple 來發送手機訊息,這部分就可以直接拆成一個微服務,專門發送手機訊息。只要寫一次,就可以讓多個專案同時支援,當然服務跟服務之間的溝通方式要事先定好。

導入微服務代價

  • 系統複雜度提升
  • 系統資料一致性
  • 維運工作複雜化
導入微服務並不是只有優點,也是有很多代價的,除非有強大的 DevOps 團隊,否則當服務越來越多,系統複雜度提高,維運工作只會越來越複雜的。

微服務事前準備

  • 快速建置 (Develop)
  • 監控機制 (Monitor)
  • 快速部署 (Deploy)
準備微服務前,請先有內部系統監控機制,以及 CI/CD 的串接,讓開發者可以專心開發,不用擔心部署問題,另外由於微服務肯定會越來越多,所以一定要監控每個服務,達到機器管理機器,而不是增加人力去管理越多台服務,而在導入初期肯定無法完全做到,還是需要一些人為操作,但最終還是要全部自動化。

後記

微服務架構並不適合每個團隊,請依照團隊目前狀況以及業務需求,再來拆微服務,而不是聽到別人說微服務很潮,就開始建議主管或者是導入。最後附上投影片: