2017年4月24日 星期一

Java NetBeans Glassfish設定MySQL JDBC

在NetBeans上,如果你直接在EJB專案上加入DataSourcePool基本上不會成功(至少我沒成功過...)
目前環境:NetBeans 8.2 + Glassfish 4.1
(別用Glassfish 4.1.1,那是個坑! 至少對我來說很坑)

首先要搞定Driver問題,第一步跑到MySQL官網去抓Driver
接著解壓縮之後把.jar檔copy到以下位置:
[glassfish_install_directory]/domains/domain-name/lib/ext/
然後到以下目錄位置:
[netbeans_install_directory]/ide/modules/ext/
找到mysql-connector-java-[version]-bin.jar
將名字複製起來,砍掉檔案,把你抓的jar檔copy進來,將名稱修改為原本的檔案名稱
以上,就是有關Driver的部分。

第二步驟,建立 JDBC Connection Pool / Resources
我懶得翻譯了,按照原文說的做理論上就沒問題了。
  • Go to your Glassfish server administration panel (Link should look like this: http://localhost:4848/common/index.jsf (Under Additional Properties tab)
    • Click on Services in Netbeans
    • Click on Server
    • Right-click on your server name [A pop-up contextual menu appears]
    • Click on View Domain Admin Console [Note: Your server must be running in order to see that feature. A browser tab is automatically launched, if the server is running. You know that your server is running if you see a greenish arrow pointing to the right on the right of the server instance]
  • Click on resources
  • Click on JDBC
  • Click on JDBC Connection Pools
  • Add the following properties by clicking every time on the button Add Property (After selecting the pool name and editing it):
    • driverClass: com.mysql.jdbc.Driver
    • URL : jdbc:mysql://localhost/your_database_name
    • password : your_password to the database management system
    • serverName : localhost or your_server_name
    • user : root or your_username to access the database management system
    • databaseName : your_database_name
  • Set up your JDBC Resources [jdbc/your_pool_name]
  • Point to the specific connection pool you just setup by selecting it in the drop down box.

參考資料:


2017年3月16日 星期四

IOS 如何讓production跟dev同時存在裝置上

並不是一套BundleID

首先,要說明的是沒有辦法透過同一個bundleID做到這件事情,只能用兩套bundle id來完成dev與product同時存在,然後透過Build-Setting去設定參數,讓build dev/store時採用不同的bundle id,如此就能讓兩套同時存在手機上了。

作法:

1. target-> build-setting -> + -> add User-Defined :
  new BUNDLE_ID
  new BUNDLE_NAME

2. target-> info :
  set Bundle name : $(BUNDLE_NAME)
  set Bundle id : $(BUNDLE_ID)


打完收工。

參考資料:
http://blog.xebia.com/run-your-ios-app-without-overwriting-the-app-store-version/




2015年11月9日 星期一

NSLayoutConstraint Error : UIView-Encapsulated-Layout-Height UITableViewCellContentView

在使用SizeClass做UI配置的時候,明明就已經把Constraint都設定好了卻還是會看到Console跑出一堆Error Message勒? 其實大部分都是有些小細節沒修好,僅有少部分是因為Constraint本身上的一些問題.今天要說的就是其中一個:UIView-Encapsulated-Layout-Height


2015年11月6日 星期五

iOS 9 Split View 分割螢幕

再iOS 9當中有兩個比較受關注的新功能,上篇文章已經介紹了[3D Touch],另外一個重點就是多工處理,分割螢幕[Split View],本篇將主要介紹如何完成這個設定.

首先,如果想要你的App支援再分割螢幕使用的話,有個前置條件就是你的UI設計必須使用AutoLayout / SizeClass這兩種方法其中一種,不管你是用code build UI / storyboard,都必須達成這兩個條件其中一個,這是最重要的,完成這一項之後其他的才有意義.


2015年10月26日 星期一

iOS 9 3D Touch simple Demo

隨著iPhone 6s現世,新功能也隨之而來, 其中對於開發者來說影響最深的有兩件事,第一是3D Touch應用,以及iPad Air的子母畫面應用,本篇主要針對3D Touch來做介紹.


2015年8月18日 星期二

Apple WatchKit 相關資料

前段時間很夯的Apple Watch因為工作上的需求最近開始詳細的了解整個運作機制,
試圖在Watch上加入合適的功能項目,為此尋找了些相關Apple Watch的資料,大致上寫個筆記心得讓自己Review一下.

首先Apple Watch在UI上分為三個部分:
1. Interface        - WatchKit Apps
2. Notification  - Receive APNS
3. Glance           - Something like Newstand

2015年5月12日 星期二

UITableViewCell selfSize 愛恨情仇

再iOS提供了一項功能叫做selfSize Classes,multi device UI Design變得簡單起來了
不像以往要做一堆 x/y position calculate,真心覺得這是佛心來著

但如果你的開發版本在iOS 8以下你會發現 TableViewCell沒有selfSize作用?!
是的,沒錯! 這是個Apple已承認的Bug, 所以...恩 iOS 8以下cell還是默默地算吧...

2015年4月22日 星期三

iOS BIG5 TO UTF8 OR UTF8 TO BIG5

最近需要用到傳big5 encoding給server.
但問題是,iOS的string是個UTF8Encoding, 所以要找個方法來把他轉換一下

之前做的都是把抓到的big5 encoding data 轉 NSUTF8Encoding,做法約:


    NSStringEncoding big5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5_HKSCS_1999);
    NSString *str = [[NSString alloc] initWithData:input encoding:big5];

如此就可以得到一個UTF8編碼的String

2015年3月1日 星期日

Library not loaded: @rpath/libswiftCore.dylib 在Swift專案中匯出IPA檔有可能會遇到的問題

會碰到這個問題大約是你已經準備要將你的App IPA(類似於Android apk)匯出來用

想要知道怎麼匯出IPA其實很簡單, 在此不再敘述.
本篇主要想討論的問題是在Swift中匯出IPA檔後,安裝到時機上總是會閃退
查看Log就會發現到
Error: Library not loaded: @rpath/libswiftCore.dylib

這其實只會發生在你用舊的Devolper ID去做匯出才會碰到,起碼我碰到的是這樣
如果你有Google些英文資料應該會看到這篇:

https://www.airsignapp.com/ios-apps-using-swift-crash-when-signed-with-inhouse-certificate/


2015年2月11日 星期三

CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS x.x'

有時候去抓別人專案下來看一下,想要build到實機的時候會發生這種情況,因此找了一下解決的方法,在Stack Overflow就有人解答了:
http://stackoverflow.com/questions/26109851/code-signing-is-required-for-product-type-unit-test-bundle-in-sdk-ios-8-0

其實主要應該是project build to device時,不是使用IOS Developer所造成的錯誤
因此解決辦法就是將project的 code sign change to IOS Deleloper.

2015年2月5日 星期四

在IOS7上奇怪的storyboard Bug: this class is not key value coding-compliant for the key keyPath.

在IOS7中使用storyboard偶爾會發生些莫名其妙的錯誤,而這些錯誤通常在IOS7中又是正常的,這有時候會造成debug上的困擾.

例如:
如果有在使用User Defined Runtime Attributes的話,其實要小心些,
在IOS8如果隨便加了個keyPath就算沒做任何設定其實也沒任何問題,
但在IOS7就會crash掉,而且你還不知道怎麼crash的


2015年1月19日 星期一

IOS Navigation Bar subview tree might get corrupted.

這是個轉向沒有正確執行的錯誤,基本上應該是由viewWillAppear時就執行push ,

會導致轉向失敗,因此應該將轉向作業寫在viewDidAppear內或者之後

這是個.... IOS8沒問題但是IOS7會出現的錯誤.

2015年1月13日 星期二

Camera Library

https://github.com/omergul123/LLSimpleCamera

待研究中

(內建的太醜了,醜翻了)

2015年1月5日 星期一

尋找我的模擬器目錄

最近在寫硬碟記憶體與Cache進行交叉使用,在寫的過程中code基本沒太大困難
就只是I/O而已

主要在尋找模擬器目錄的時候一直沒找到,網路資料大約都是這串:
/Users/登入帳號名稱/Library/Application Support/iPhone Simulator/iOS版本/Applications/應用程式ID

2014年12月26日 星期五

ViewController到底有沒有被Deinit?

在Swift當中大部分時間是不用理會記憶體分配的,理論swift自己會重新釋放沒有被使用的記憶體區塊
而釋放的依據則是根據該區塊是否有被強參考指向,有則不釋放,否則釋放
在這個大前提底下存在著一些陷阱導致ViewController本身在Dismiss or PopViewController的時候根本就沒有deinit
(可以在ViewController加入下列來做確認
 deinit{ println("\(self.classForCoder.description()) be deinit"); }
)

2014年10月31日 星期五

IOS APNS

IOS並不允許ANDROID Service這種東西的存在,因此如果有需要跟Server做溝通的時候就需要透過APNS (Apple Provide Notification Service)

簡單來說他就是幫所有的apps跟各自的Server溝通,進行統一規劃,不然像ANDROID那樣每個app都開一個Service就會耗電耗很兇

2014年10月28日 星期二

xCode 6.1 智能提示失效解決辦法

再有中文的情況下xCode好像有點容易變得詭異
例如智能提示完全消失不見了 ...
這對coding的人來說根本噩夢啊....Orz..
網路上大約解法是:
1. go to window -> Organizer -> yourProject -> Derive Data  delete.


IOS with Swift + Google Analytics

使用swift建立的專案加入Google Analytics

這篇是官網的介紹:
https://developers.google.com/analytics/devguides/collection/ios/v3/

做完後我發現不能用,有些問題產生,因此我將自己成功的方式記錄下來


首先申請Google Analytic的使用:
http://www.google.com/intl/zh-TW/analytics/