又LAG隨性筆記
  • 關於我
  • 作品集
  • 生活隨筆
  • 與我聯絡
  • 隨手扎

隨手扎

August 29, 2019

[讀書心得] 設計的心理學 小筆記

在讀這本書的時候,我腦內不斷的出現過去上UI/UX課程內容與以前看過的影片。雖然我確定是第一次看這本書,因為剛買時看書評說並不是非常好懂,就一直放著,真不知道放了多久。這回看下來,收穫頗多,加深了很多知識點。

內容短介

當代知名認知心理學先驅 唐納諾曼 的著作–設計的心理學。帶讀者瞭解生活上各種事物背後的設計與心理。人的行爲模式、心理與設計方法、流程。為何人會犯錯?是錯誤還是失誤?

「人為過失?錯了,是設計不良」透過欲設功能、意指、使用局限降低人犯錯的機會。 「五個為什麼」探討深層目的與原因1。 「一個產品開發的那一天,就已經進度落後」如何在商業環境與設計達到平衡?

推薦指數:★★★★☆

設計的心理學封面1

May 5, 2019

圖片格式-[PBM]

前言

稍早前寫過一篇 圖片格式-[XPM] ,朋友們可以先去找來看看。這篇內容會比較短一點,部分東西會帶過去。

PBM格式簡單說明

PBM全名為: portable bitmap format,光是從字面意義上就可以知道,這是一個可攜的(portable)圖片格式。 與XPM相同,PBM支援存文本模式。不過比起只分版本,不如說PBM是一系列家族–PPM/PGM/PBM/PNM。不囉說,直接附上維基的表格:

檔案描述子類型編碼副檔名
P1點陣圖ASCII.pbm
P2灰度圖ASCII.pgm
P3像素圖ASCII.ppm
P4點陣圖二進位.pbm
P5灰度圖二進位.pgm
P6像素圖二進位.ppm

Linux可能會對pbm檔案這麼描述:

Netpbm image data, size = 33 x 32, bitmap, ASCII text

迷之音:“嘿,為什麼XPM就不給size了?”

二進位格式

Netpbm image data, size = 40 x 40, rawbits, bitmap
May 5, 2019

圖片格式-[XPM]

前言

之所以會去瞭解XPM,其一是這是我最早在一本與 C語言 相關書籍中看到解釋的圖片格式,基本上完全相融於C的語法,這意味著完全可以使用文字編輯器進行編輯。

同樣的PBM作爲一個可攜式的圖片格式,一樣有純文字版本。因此,特別去瞭解這兩個圖片格式。

Linux可能會對XPM檔案這麼描述:

X pixmap image, ASCII text

當然,他應該也有二進位格式吧….

XPM格式簡單說明

XPM正式全名為:X PixMap,自1989年發展起,歷經3個版本,第三個版本–XPM3完全相融於C語言的格式,這也是為什麼C語言書籍會拿它來說明,並當作事窗的icon範例程式。 不過又LAG於自己的電腦環境測試(LinuxMint 18.3),只有版本3能被作業系統正常識別(還有一點規則需求),版本1和版本2只會被認爲是純文本。不過3個版本都會略微提到。

April 30, 2019

Python在3.6後幾個便利的新變化

前言

這幾天又看了/試了不少東西喔。雖然也開始往下一個階段進行, 但興趣的事情,還是添加不少東西能來寫下隨筆。

這次的話題與前幾篇–JShell?-程式語言越來越像Lisp有關。 在那篇我留下了不少以後可能回來談談的話題,包含:

  1. JAVA版本之謎。
  2. 為什麼不使用LISP?

關於第一點,我打算去編譯看看幾個我挺喜歡的軟體再來說說感想, 但幾日前在Medium看到一篇文章。裡面有張圖片這麼形容JAVA:

JAVA騎士要去救城堡裏的公主,他很快的完成裝備前往救援,但是 他發現竟然有兩個 不同版本的城堡,重點是裡面沒有公主 。

Python 3.6之後LAG覺得有用的幾個新特性

已經忘記原因了齁,但數天前又LAG跑去看Python Whtat's news。 今天來分享幾個又LAG覺得非常有用的新特性。

不過很可惜的,又LAG主要的電腦還停留在 Python 3.5.2 。要更新到新版本需要自行編譯,還好目前沒有這樣特別的需求, 並且筆電與虛擬機都是使用 3.6 或之後的版本,可以說如果你是安裝 Ubuntu 16.04 之後或其衍生版,應該內建的都是 3.6 之後的版本了。 至於Windows的用戶應該可以直接在官網下載安裝包。

April 20, 2019

實現Python裏面的classmethod和staticmethod

在Python裏面存在著兩個用於定義物件方法的內建函式(built-in function) – classmethod和staticmethod。其實我一開始在學的時候根本沒用過他們(´・ω・`),先不管他們常不常用,雖然應該就是常用所以才會被放進內建函式,不過因爲常見的特殊語法–修飾器,使得隨後定義的方法與實際作用變得不同,常讓初學的人摸不著頭緒。今天就來以實現說說這兩個函式。

預備知識

首先你要先有基本的Python概念。接著最好已經很瞭解 修飾器 的作用。如果不瞭解修飾器,強烈建議先閱讀函式修飾器。 雖然本文在最後也爲實現一個相似於修飾器的函式版本 – [wrap](#修飾器的作用與實現 – wrap) ,不過其又涉及到其他知識,並不建議直接閱讀。

Check List

  • 我瞭解最基本Python
  • 我知道Python裏面修飾器的作用

實現classmethod和staticmethod – MyClassmethod, MyStaticmethod

在實現之前,必須先瞭解classmethod和staticmethod有甚麼特性?在使用後會發生什麼事情?

一般而言,在定義物件方法時會給與def methodName(self, *args, **kargs),其中self表示物件實例本身。如果你瞭解 Lua 會發現是同樣的顯式引用發法,並且Lua中的語法糖instance:method(...)(相當於class.method(instance, ...)),幾乎就對應於Python裏面的Instance.method(*args, **kargs)(相當於Class.method(Instance, *args, **kargs))。

相較之下,C++、Java裏面的this,或是VB裏面的Me,就是隱式用法。我自己是比較喜歡顯式引用,比較明確。

April 13, 2019

嘗試localhost的HTTPS伺服器

前言

因為一些原因,在區域網路開發環境的時後,還是需要HTTPS伺服器來做一些測試(最近瀏覽器實在太嚴格了Orz,不是HTTPS有些東西就無法做…)。 爲此,我主要參考了如何在五分鐘內建立SSL憑證和SSL是什麼鬼(方便起見,我改過標題,還請自己連回去看看原文)。前者甚至在GitHub建立了腳本可直接拿來使用,不過我決定還是親自嘗試一下。
除了上述兩篇以外,其實還有找到許多不錯的文章,還自徑往下看看參考資料。不過這兩篇,前者的CA與伺服器的私鑰、憑證是正式分開的, 此次我只想要建立一個自我簽署的憑證,能在區域網路使用就好。而後一篇足夠簡單,但應付我所需要的情況還需要做些調整。

快開始吧

使用環境:

  • Linux
  • OpenSSL
  • Node.js
    • express.js

建立伺服器私鑰(同時也是CA私鑰)

openssl genrsa -des3 -out server.key 4096

這邊我改成4096。雖然是區域網路使用,我還是想要高一點安全性。

  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 32
  • 33
  • 34
  • »
  • »»
© 又LAG隨性筆記 2025