详情

全站展示位

[API-d14][Javascript 番外篇] Javascript function scopes 和 closures

這幾天會探討 javascript 的特性,由於比較少在寫 js ,因此有錯請指正 Scope 例子: function hi() { var greetings = "hi"; console.log("Say: " + greetings); function sayYa(newInput) { greetings = newInput; console.log("Say: " + greetings); } function sayCool(newInput) { var cool = newInput; console.log("Say: " + cool); } sayYa("Yo"); sayCool("Cool"); console.log("Say: " + greetings); } hi(); 很簡單的概念 greetins 在 sayYa 方法中被覆寫掉了 如果要定義 local 變數必須在 function 裏用 var 定義 例如 sayCool function Closure 例子: function person(){ var name = 'default'; return { greetings: function() { console.。。。

推荐

心灵鸡汤

006、《老人与乌龟》

有个老人到了90岁还觉得没活够,于是去山神庙求山神,山神问:“你只是祈求长寿吗?”他说:“是的。”山神说:“那么你就放心地回去吧。”老人往回走的时候,身子逐渐缩小,变成了一只乌龟,这个龟慢腾腾往回爬行的时候碰见石缝里的另一只龟,那只龟对他说:“我原先也是一个祈求长寿的人,山神把我变成乌龟后度过了漫长的三百年,除了僵硬的躯壳和微弱的呼吸外,一点生活乐趣都没有,想死也死不了,看来痛痛快快做人过三天也比没有意义的三百年强啊。”

列表展示

主站展示位

[Swift-d10] 延伸閱讀

今天算一算也來到第十天了, 前面講了 8 天的語法,其實會有些枯燥 不過有些語法又很有趣 我不懂 Objective-C, 如果想從 Objectiv-C 轉換到 Swift 的話,最好查查一些比較的文章 最好的文件就是官方文件了 以 UILabel 為例 官方網站會列出兩種不同寫法: // SWIFT var text: String? // OBJECTIVE-C @property(nonatomic, copy) NSString *text 如果要從 Swift 基本概念開始,當然是首推官方的 The Swift Programming Language 是英文苦手的話,強國人有 翻譯文件 這群人非常厲害,發表後沒幾天就翻譯完成了 不過因為技術用語還是以中國為主,因此建議英文優先,或是對照著看 前面幾天都基本介紹前半部而已,屬於一般學習程式語言的基本練習而已 後半部是更詳細的部分,有空的話還是可以多看看~ 另外,官方還出了一本 Using Swift with Cocoa ad Objective-C 就是在介紹如何使用 Swift 加上 Cocoa framework 開發 App 不過書的內容不多,算入門級,有興趣也可看看這本~ 接下來會開始用 Swift 寫簡單的界面 由於筆者從沒寫過 iOS app,因此也是會用大約十天的時間來簡單練習一些常用的 Cocoa Touch framework 的元件 順帶一提前面沒講到的,Objective-C 有個東西叫作 Catagory,在 Swift 裏是 extension

[Java] Bouncy Castle Cryptography

這是為了ECT作業所作的筆記 Bouncy Castle Cryptography 這次作業用到了密碼學的技術,助教給了這個網站的library讓大家方便實作 作業內容是:可讀取文字, 圖片, 聲音 先初始化轉成byte後,利用SHA512進行訊息摘要, 再對檔案做RSA加密, 解密,接著是 AES 加密, 解密, 最後使用解密後的內容作還原的動作, 若input的檔案與output的檔案內容一樣表示成功。 以下是這次作業會用到的class * SHA512Digest 產生訊息摘要MD * AESEngine (對稱式加密) * RSAEngine (非對稱式加密) * RSAKeyParameters ,用來產生RSA的公鑰、私鑰 * KeyParameter * BigInteger p.s. 以下是在寫作業時遇到的問題解決網址 其實用到了什麼class也是google後從學長的部落格看來的XD SHA512: SHA512 ouput 問題 發現除了 SHA 的 out 外 其他的加解密產生 output 值要印出時都可以用到: 用: String.format("%0128x", new BigInteger(1, byteData)); 來取代 Hex.encode(byteData); RSA: JavaWorld - 在RSA 解密時的問題 使用Java進行RSA加解密 RSA using BouncyCastle (有問題 不過解決了 –> JavaClassCastException)

[Ubuntu] [RoR] install with rvm

以下都是以 Ubuntu 11.10為操作環境 主要目標為使用 rvm (Ruby Version Manager)來管理 ruby 版本並安裝 ruby 和 rails 先安裝一些必要套件 ( ex. openssl, zlib1g-dev ….etc. ) $sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev nodejs 安裝完基本套件後, 有兩種選擇: 直接在系統上安裝 ruby ( sudo apt-get install ruby ) 使用 rvm 來管理 ruby 版本 基本上有 rvm 來管理 ruby 版本是比較方便的, 可以隨時切換不同的 ruby 版本 (不過在使用一些套件上會有一些問題需要排解, 本篇最底下有 trouble shooting)

[API-d6][Server 番外篇] 建立自己的本機虛擬伺服器 2Ubuntu 基本設定與安裝 Node.js, MongoDB

[Server 番外篇] 建立自己的本機虛擬伺服器 2 - Ubuntu 基本設定與安裝 Node.js, MongoDB 嗨又到了 Server 時間了! 接下來我們都會做一些指令操作, 如果進一步有興趣的可以 Google 鳥哥的私房菜, 完整的 Linux 操作教學,淺顯易懂,想學習操作 linux OS 的話必看! 今天我們要稍稍整理一下昨天剛安裝完的 Ubuntu 作業系統,以及安裝一些我們需要用到的東西 首先我們的第一步就是先開啟終端機,到昨天放 Vagrantfile 的資料夾: $ cd ~/ithome/ 開啟 Ubuntu $ vagrant up 順帶一提,有時候開機時可能會卡在一個地方: default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... 這個就稍微等一下吧~ 如果電腦性能比較差的話可能會卡比較久,不過應該不至於會卡超過 10 分鐘 如果卡超過十分鐘可能要強制中斷,並且尋找解決辦法了~ 開機完成後就登入吧! $ vagrant ssh ... vagrant@vagrant-ubuntu-trusty-64:~$ Ubuntu 套件, 設定時區 今天就要來幫 Ubuntu 安裝一些東西,

[Swift-d8]PlaygroundEnumerations

Playground - Enumerations 通常會使用來定義一組相關的值 也是很方便的東西 列舉語法 enum SomeEnumeration { // enumeration definition goes here } 比方說,車子 enum Car { case toyota case benz case BMW } 也可以這樣寫 enum Car { case toyota, benz, BMW } 使用: var car = Car.benz 和 Switch 的搭配 enum Car { case Toyota, Benz, BMW } var car = Car.Benz switch car { case .Toyota: println("Toyota") case .Benz: println("Benz") case .BMW: println("BMW") } Associated Values 以 Barcode 來舉例子

[API-d6][Server 番外篇] 建立自己的本機虛擬伺服器 2Ubuntu 基本設定與安裝 Node.js, MongoDB

[Server 番外篇] 建立自己的本機虛擬伺服器 2 - Ubuntu 基本設定與安裝 Node.js, MongoDB 嗨又到了 Server 時間了! 接下來我們都會做一些指令操作, 如果進一步有興趣的可以 Google 鳥哥的私房菜, 完整的 Linux 操作教學,淺顯易懂,想學習操作 linux OS 的話必看! 今天我們要稍稍整理一下昨天剛安裝完的 Ubuntu 作業系統,以及安裝一些我們需要用到的東西 首先我們的第一步就是先開啟終端機,到昨天放 Vagrantfile 的資料夾: $ cd ~/ithome/ 開啟 Ubuntu $ vagrant up 順帶一提,有時候開機時可能會卡在一個地方: default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... 這個就稍微等一下吧~ 如果電腦性能比較差的話可能會卡比較久,不過應該不至於會卡超過 10 分鐘 如果卡超過十分鐘可能要強制中斷,並且尋找解決辦法了~ 開機完成後就登入吧! $ vagrant ssh ... vagrant@vagrant-ubuntu-trusty-64:~$ Ubuntu 套件, 設定時區 今天就要來幫 Ubuntu 安裝一些東西,

[Android] 移除 Activity的 Title bar

<activity android:name=".MyMainClass" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> </activity> style/Theme.NoTitleBar

[PHP] 簡單的資料庫連結

我是PHP新手,超級嫩,所以就寫寫簡單的東西,今天來寫關於資料庫的連結。 環境同之前寫的,就是 FreeBSD、MySQL、phpMyadmin 啦~ 我將他分成兩個檔案來寫: 一個是負責連結資料庫:connectDB.inc.php 另一個則是測試的 php :test.php 在 connectDB.inc.php 中設定好 SQL 主機的 IP、使用者名稱密碼等等資料, 然後由 test.php 來呈現資料,直接看 code 最快: connectDB.inc.php <?php $cfgDB_HOST = "localhost"; //主機名稱或ip位址 $cfgDB_PORT = "80"; //主機開放連線的port $cfgDB_USERNAME = "account"; //登入主機帳號 $cfgDB_PASSWORD = "password"; //登入主機密碼 $cfgDB_NAME = "db_name"; //資料庫名稱 //建立資料庫連線 $link = mysql_connect($cfgDB_HOST . ":" . $cfgDB_PORT, $cfgDB_USERNAME, $cfgDB_PASSWORD) or die("Could not connect MySQL"); //選擇資料庫 mysql_select_db($cfgDB_NAME, $link) or die("Could not select database"); //讓中文正常顯示 mysql_query("SET NAMES 'utf8'"); ?> test.

[API-d10]ExpressHello World!

Express - Hello World! 今天就要來安裝主角之一的 Express 了! 一樣開啟虛擬機器我應該是可以不用多說了 XD 先確認自己的 node 是不是 NVM 的 node 喲 建立專案 $ cd /vagrant/ $ mkdir API $ cd API/ $ npm init 自己輸入專案的相關內容吧,不知道的就直接按 enter 空白丟給他~ 就會產生 package.json 了! 安裝 Express // 在專案目錄底下 (/vagrant/API/) $ npm install express -save 下 -save 的原因是要將 express 加入 package.json 中 離開虛擬機,其實我們也可以在虛擬機資料夾看到剛剛建立的專案了, 現在開始就可以使用自己喜歡的編輯器來開啟這個專案資料夾,我個人偏好使用 Sublime Text 要執行專案時再回終端機即可 Express Hello World! 在 API 資料夾中建立一個 app.js 內容是: javascript var express = require('express'); var app = express(); app.

[Codeigniter] Disallowed Key Characters

Codeigniter 顯示 Disallowed Key Characters 我的情況是: 表單(form)名稱型態不符合格式。 不得使用中文。 <input name="姓名" type="checkbox" value="1" /> 改掉就好了 ref: Codeigniter 顯示 Disallowed Key Characters

[Swift-d20]Basic捨棄 Storyboard 使用純程式碼 的方式撰寫 ViewController

今天專案的 Github link 其實哦 寫 Swift 也有幾個禮拜了 我一直覺得使用 Interface Builder 的確很方便 但是在程式面與視覺面之間的溝通常常會漏東漏西的 比方說如果要設定 reusable identifier 時 除了程式裡面的字串要設定以外,還要再到 storyboard 裡設定同樣的字串 一個簡單的小程式可能不超過 20 個 View 的情況下 還可以這樣做,當程式長得非常大的時候,好像就很難注意到這件事, 而且 View 太多 storyboard 就會開始變慢…. 因此今天要來試著在 Swift 中 如何不用 Storyboard,來打造我們的程式 (當然 xib/nib 還是會用到,只是我們單純捨棄 storyboard,用程式來控制流程) 首先,一樣先建立一個測試專案 接著我們要動到的程式碼是 AppDelegate.swift: 編輯它: @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var viewController: ViewController? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch.

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。