顯示具有 技術-軟體開發-Web 標籤的文章。 顯示所有文章
顯示具有 技術-軟體開發-Web 標籤的文章。 顯示所有文章

2015年8月2日 星期日

[筆記] SSL 檢驗與設定



最近再跟廠商串接服務,結果廠商通知我們的SSL不夠安全!?於是趕緊去找了網路上的SSL檢查服務發現我們等級只有C ,的確有很多修改空間。

有興趣的人可參考以下這兩個服務:

經過掃描發現我們的設定有幾個地方需要改進:

2014年4月16日 星期三

[Troubleshooting] Magento The requested URL was not found on this server.



當使用Bitnami 版本 Magneto 遇到The requested URL /opt/bitnami/apps/magento/htdocs/index.php was not found on this server. 該如何處理?

原因是因為開啟Web Server Rewrite,但是後台Apaceh沒有做相對應的修改。


2014年1月27日 星期一

各種語言熱門 CMS(Content Management System) 整理一覽表

圖片來源:enterprisedojo


不會寫程式也可以輕鬆架網站?這應該就是CMS(Content Management System) 最吸引人的地方吧,而且老實說很多時候就算你會寫程式和網站,也不一定真的需要自己重頭刻一個,如果能Based on CMS 上面在去客製化速度也比較快。(以接案或Time to Market 的Startup?) 

對於長時間都寫後端的工程師也算是一種救贖吧?Orz...

PHP版


大家最耳熟能響的CMS應該就是以下這三個,我想也不需要特別在介紹

Java版


Java 界一如往常的,Solution 多的眼花撩亂,隨手列出幾個比較熱門的Solution


NodeJS版

那現在最火紅的NodeJS呢?Google 了一下也真不少耶...不知道會不會有全面取代PHP的一天
  • keystonejs
    • Node.js content management system and web application platform built on express and mongo
  • calipso
    • Calipso is a simple content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple ... and of course this site is running on Calipso!
  • Hatch.js 
    • Hatch is an open source CMS platform, fast, flexible and extendable, built from the ground up to support today's expectations – simple, beautiful, responsive and social.
  • Apostrophe 2
    • Apostrophe is a content management system designed for maximum flexibility with a minimal learning curve.The interface is ergonomic. All content editing is performed in context.
  • Nodize
    • Nodize is an open source Content Management System for Node.js, written in CoffeeScript.
  • ghost (比較像 Blog 平台)
  • jslardo
    • jslardo is a sort of a social cms, based on node.js and mongodb. users are able to register to the application, create their own models (mongoose schemas), views, controllers, websites and pages. all management is done without writing code, and all user contents (the data, but also models/views and controllers) are shareable between registered users.

Ruby on Rail 版


  •  Adva-cms
    • adva-cms lives in vendor directory and keeps your main app directory clean and dandy. So you can reclaim app directory and use it
      only for your own application files.
      
  • Browsercms
    • BrowserCMS supports larger teams of editors, has a robust set of features as part of its core, allows for varied permission models, and is customizable via modules.
  • Casein
    • Casein is an open-source CMS for Ruby on Rails, originally developed by Spoiled Milk.
  • Locomotivecms
    • LocomotiveCMS is designed to save your time and help you focus on what matters: front-end technology, standard development process and no-learning time for your client
  • Radiant CMS
    • Radiant is a no-fluff, open source content management system designed for small teams
  • refinerycms
    • Refinery CMS is perfect for creating custom content manageable websites. We use "The Rails Way" where possible so you have to learn as little as possible to get started!
 看到了這麼多種選擇,下一步就是選擇自己擅長的語言,然後找個好上手和修改的來用摟..:P

2013年9月1日 星期日

Restful JSON API 文件產生器整理

寫程式最痛苦的就是寫文件,更痛苦的就一旦程式或介面有修改,也要立即找到相對應的文件修改,也就是這樣才會有文件產生器的誕生,對於一般Java 程式最方變得當然是使用java doc 來產生文件。

但是只要是一談到跨系統跨語言的整合就沒有這麼簡單了,舉例來說 Web service,常見的Web Service 有兩種,一種是XML based 的 SOAP 本身就有一套嚴謹的文件產生規則,所以問題到不大,但是另一種 RESTful Service  就不是這樣了,因為它通常使用JSON的格式在交換訊息,而JSON又是一種很隨性鬆散的結構,這時候如果沒有專門為了 RESTful API的文件產生器那就會很痛苦了....

為了減輕這方面的痛苦,所以特別去找了目前市面上專門為了Java Solution的RESTful service 文件產生器。

不過絕大部分都是針對springmvc 去設計的.....

SpringDoclet


SpringDoclet is a Javadoc doclet that generates documentation on Spring Framwork artifacts in a project. The detection of Spring artifacts is based on the presence of Spring annotations on Java classes and methods.

RESTdoclet


IG Group’s RESTdoclet  is a Maven Doclet plugin for generating REST service documentation from Spring 3 REST implemented services. (必須使用 Spring 3 REST annotations)

Wsdoc


WsDoc is a documentation generator for Spring MVC REST services. Multi modules/war and unified report.

Swagger


Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services.e overarching goal of Swagger is to enable client and documentation systems to update at the same pace as the server. The documentation of methods, parameters and models are tightly integrated into the server code, allowing APIs to always stay in sync. With Swagger, deploying managing, and using powerful APIs has never been easier. swagger-springmvc

JsonDoc


JSONDoc  has a set of completely MVC framework agnostic annotations


雖然知道使用Spring mvc 在java solution 佔大宗,但難道不是使用Spring mvc 開發就不行嘛!? 我想用Jersey 或是 resteasy呢?

後來我找到了Enunciate 它支援標準JAX-WS和 JAX-RS的 annotation,所以不一定要綁定在Spring mvc上 (不過他也有支援),不過他產生的介面算是裡面比較醜的...Orz..

Enunciate


Enunciate is an engine for dramatically enhancing your Java Web service API. (@javax.ws.rs.Path) It’s simple. You develop your Web service API using standard Java technologies and attach Enunciate to your build process. Suddenly, your Web service API is boasting some pretty impressive features:
- Full HTML documentation of your services, scraped from your JavaDocs.
- Client-side libraries (e.g. Java, .NET, iPhone, Ruby, Flex, AJAX, GWT, etc.) for developers who want to interface with your API.
- Interface Definition Documents (e.g. WSDL, XML-Schema, etc.)


2012年12月8日 星期六

[筆記] 利用Google Analytic 追蹤內部連結點擊情況

圖片來源:masternewmedia

這一陣子因為都有努力逼自己在寫Blog,所以每天打開電腦一定都會先到blogger看一下昨天的訪客數和瀏覽量,然後再到Google Analytic 去看一下其他數據比如說不重複瀏覽量,訪客是從哪裡來的?使用哪種瀏覽器?對哪些題目的文章有興趣,以及用什麼關鍵字搜尋來的...等。

不過Google Analytic的功能真的太多了,雖然可以產生非常多的數據報表 (幾乎把各種類型網站會需要追蹤的功能都加進去),但是如果不懂那些數值的意義,縱使產生出許多漂亮的報表,似乎也沒有辦法對自己的網站和部落格進行優化動作。

所以看樣子應該要多了解一下每個數據的意義,以及有哪些功能可以使用,剛好最近我想要了解我blog文章和網站裡面的連結點擊狀況,但是怎麼樣找都玩不出這個功能,所以上網Google了一下發現了幾篇參考的文章:

[1] Event Tracking Tracks clicks on internal links and Submit Button
[2] How To Track Internal Links as Goals in Google Analytics

看完後也順便解決我另一個問題:就是Google Analytic 裡面的Event是怎麼產生的?用來作啥的? (因為平常看這個報表都是空的,也不知道該怎麼去產生Event)


原來我們可以在網站內,針對連結(不管是聯內或是聯外),或是Submit button,可以加入一段Javascript去triger Google analytic 的Event,這樣一來,就可以透過Google Analytic 的Event 報表觀察到點擊狀況 ,有以下兩種作法:

1. 在你的連結後面增加一段js


a href="http://www.example.com/" onclick="_gaq.push(['_trackEvent', 'Category', 'Action']);"

其中  Category 代表你要追蹤物件的群組,比如說內部網站連結,Action則是這個群組裡面的動作描述或名稱。


2. 在你的submit button 後面加東西

onSubmit="_gaq.push(['_trackEvent', 'Contact Form', 'Submit']);"

加完之後,大概24hr左右,就可以去觀察Event那個報表有沒有資料啦~:D

2012年7月30日 星期一

[筆記] HAL-Hypertext-Application-Language

Source: HAL


HAL 的用意是要提供 JSON or XML 一種簡單的Linking 機制,另外意圖就是想要變成HTML的API:
A standard linking format that general-purpose libraries and tooling like 'API browsers' can be built against.It provides a set of conventions for expressing hyperlinks to, and embeddedness of, related resources - the rest of a HAL document is just plain old JSON or XML.


延伸閱讀:

Reference:
[1] GitHub : hal_specification
[2] GitHub : hal_specification.md 
[3] Internet-Draft: JSON Hypertext Application Language



2010年7月18日 星期日

Portal vs Open Social vs Facebook

目前類Portal的技術主要有三種

  1. 一般所說得Portal 和 Portlet 是指JSR-168 和 JSR-286
  2. Open Social 目前最有名的就是iGoogle、JIRA、Myspace...等
  3. 最後就是霸主Facebook

不過網路上Facebook和JSR-168 、和JSR-286 相關的資訊很多了,所以這篇還是以收集Open Social的資訊為主。

Open Social


特殊案例:


負面批評:

探討:
技術:

不過資料收集到現在,真的有點懷疑open socail的發展,感覺都靜悄悄的?
之所以會注意到open socail除了iGoogle的關係,最主要是發現JIRA這套軟體的portal作法就是以open socail的上實做...hmm...



2009年8月1日 星期六

使用Wicket 開發 Facebook

最近Facebook非常火熱,尤其是他上面的小遊戲
老實說我覺得facebook很不好用,很多功能都很不直觀,那位什麼最近會暴紅呢?

我覺得主要是靠小遊戲暴紅,這些小遊戲都有幾個特點:

1. 讓使用者主動去幫你拉更多使用者 (同儕壓力)
如果你不想花真錢買東西(食物,配件,小狗...等),那你要做的事就是拉更多朋友近來玩在剛開始大家可能都是礙於人情或是趕流行,就來註冊一下,於是註冊的人數就開始增加。

2. 競爭心態
亞洲人,尤其是台灣人,從小就是生活在競爭的環境裡,所以只要有所為排名,分數,比賽都會特別熱衷,這個現象在online game 特別容易觀察到 (為了部落!! XD) ,所以大家就會卯起來玩,甚至還發生一些社會新聞 [忘幫男友開心農場收菜 情侶分手女孩墮胎]
(不過根據陰謀論,以及文章出處,我覺得搞不好是開發遊戲的廠商散佈的消息..XD)

3. 簡單,容易上手
比起前面兩個事social game 的特性外,這個應該是所有小遊戲必要成功的條件吧?

講了那麼多,但這都是題外話...XD

我有興趣的是在Facebook上開發一些小東西,他可以輕易的讓你得到許多現成的使用者耶!!
至於可以做什麼...這還在構思...

利用Social network 的特性,把一個現實生活中的問題,設計成一個遊戲,讓大家去幫忙(玩)?

anyway...這篇重點應該是這個.....

Facebook app 開發指引
Facebook java API
如何在Facebook 上使用wicket 開發