React Native教學 Part 2.5 - 選擇Navigation Library

在Web app中,router負責處理url的改變,redirect頁面去各個page。在Mobile app的世界,這種功能更常稱為navigation。

Read more   2018/04/30 posted in  React Native

在React Native處理Shadow

在React Native想要顯示陰影(Shadow)是一件意想不到的麻煩事,因為陰影以原生的方式產生,各平台的各Version各有不同。

以下簡單解釋如何處理跨平台的Shadow。

Read more   2018/04/25 posted in  React Native

React Native教學 Part 2 - Project Structure

在開始開發任何專案前,最好先決定如何structure整個專案。沒有好的structure,日後規模漸大,開發起來只會越來越困難。

Read more   2018/04/01 posted in  React Native

React Native教學 Part 1 - 詳盡新手入門

React Native近年相當熱門,很多人說可以取代傳統寫App的方法。以下是安裝和開始使用的新手入門、以及需要知道細節、工具的選擇等等。知道多一點,免得大家走上不歸路

Read more   2018/03/28 posted in  React Native

React Native - 處理User Permission

在Apps上取用user的資料或硬件前,都必先得到user的同意(Permission)。但iOS和Android的取得都不同,所以在React Native上要小心處理。

Read more   2018/03/18 posted in  React Native

在iOS app裡加入Google Maps (Swift 4)

相信很多App都需要用到地圖功能,除了Apple原生的MapKit之外,功能齊全的Google Map SDK也是不錯的選擇。
本篇blog介紹如何開始使用Google Map SDK,和一些常用但官方沒有教的功能。

Read more   2018/03/18 posted in  iOS

由零建立Vue.js WebApp及專案結構解釋

Read more   2018/03/18 posted in  vuejs

在Django裡處理One-To-Many Relation

建立Relational Database的時候常常會用到One-To-Many Relation,一般都是以Foreign Key的形式儲存。

Django功能十分齊全,但它的model inheritance設計令所有功能都非常"implicit",一些功能如果不知道要到哪裡define的話根本無從入手。
所以這篇就來紀錄一下如何用Django的ORM處理One-To-Many的Model吧

Read more   2018/03/18 posted in  Django

建置eslint開發環境

1. 前言

對於所有Project來說,"Coding Style"都很重要,尤其是多人協作時,應該大家一起follow某些共同的coding style,才方便互相查看及修改其他人的code。

這時候我們可以使用eslint,來規範整個project的code,雖不能統一各人的個人風格,但它可以確保所有code都consistently follow某些syntax,不會亂糟糟。

Read more   2018/03/18 posted in  nodejs

解決nodejs的relative import地獄

nodejs和npm是很模組化(modular)的framework,經常需要import其他package和檔案,但隨著專案規模越來越大,一不小心就會進入relative import的地獄:

import { Something } from '../../../../../../../../../HelloWorld';

以下是這個情況的解決良方。

Read more   2018/03/18 posted in  nodejs

入門理解WSGI

WSGI全名是"Web Server Gateway Interface",就是一個規範python server的interface。

傳統Web server如Apache+php會直接在runtime處理請求並return response,但python server通常只能長run一個python process,這樣會造成server脆弱,容易crash等等壞處。

但要配上Apache/nginx這些server,它們不會知道你的application怎樣運作,必須有個統一規範:WSGI。

簡單來說在WSGI架構底下,你的python server(WSGI Application)不會直接接收requests,而是會有多一層server(WSGI server)。

Read more   2018/03/18 posted in  python

Git的常用指令和工作流程

Read more   2018/03/18 posted in  Git

將本地Project放到Github

TL;DR

$ git init
$ git add .
$ git commit -m "First commit"
$ git remote add origin https://github.com/NAME/REPO.git
$ git push -u origin master
Read more   2018/03/18 posted in  Git

git pull或push不用再打密碼

快速設置Git,以後git pull git push都不用再打帳號密碼了。

Read more   2018/03/18 posted in  Git

Hugo的專案結構

完成Hugo的基本setup後,我們來看看Hugo的project structure吧。

(強烈建議花點時間理解Hugo的整個結構,不然遇上問題會很迷茫)

Read more   2018/03/18 posted in  Hugo

選擇個人Blogging工具

作為一隻IT狗(程序猿),經常都要研究一堆新技術、新框架,很多時候花一整天折騰了出來,過一陣子就全忘了。所以我決定開個blog來記錄我踩過的坑,也希望幫助其他人不用步我的後塵。

第一篇就先記錄一下我建置前的Research吧。

Read more   2018/03/18 posted in  Hugo

透過Hugo快速建置個人Blog

Read more   2018/03/18 posted in  Hugo

Swift和Objective-C的前世今生

要充分了解Swift的出現意義,就先要從Objective-C的歷史開始說起。

Read more   2018/03/18 posted in  swift

理解Python的 relative 和 absolute import

在開發python project時,通常都會以package分開各部件,貫徹"Separation of concerns"。可是如果對python modules的概念不清晰,各部件之間的import可以成為project的大問題。

以下會以case study的形式解釋python import的常見問題:

Read more   2018/03/18 posted in  python

建置python虛擬環境(Virtual Environment)

多人共同協作一個project的時候非常需要各人的開發環境統一,才不會發生「我run不了你的code」這些情況。

「python的pip」不像「node js的npm」那樣有node_modulespackage.json這些規範,所以統一開發環境需要比較low level地做,一般都是使用virtualenv這個pip package。

Read more   2018/03/18 posted in  python