當程式語言變成車!?

由 andy 發表於 六月 22, 2011 / 尚無評論

原文翻譯   偶而翻譯一些有趣的文章分享

 

Ada :坦克車,一台金剛不壞但很醜的坦克車。如果你告訴別人你開這台車,人們會失控的笑你。這是真的 但實際上!難道你想開著跑車在戰場上嗎?(取自Amit Dubey)

 

Assembly Language(組合語言):原裝引擎,你必須要自己打造你的汽車,而且在行駛的時候你要自己手動加汽油。如果你夠謹慎,就可以讓它風馳電掣跟飛的一樣。

另一個說法:人車一體 =口= You are the car.

 

Basic:簡單的市區用小車,到附近的便利商店買東西用。它曾經在想學開車的駕駛間非常流行。但最近被剝的只剩下殼,主要的製造商正重新設計它,新款式可以用來做長途旅行,和舊款之間只有造型比較像。

繼續閱讀 »

Rails 101 安裝問題排除 & 移除相關安裝

由 andy 發表於 六月 18, 2011 / 尚無評論

 後記

其實這些問題的處理方式都是按照錯誤時產生的參考執行的這裡僅稍微紀錄並提供大家參考若有任何錯誤歡迎指教

 

這篇紀錄是因為在決定好好從頭玩一次RoR之前機器已經照著網路的散落的教學文章亂裝機器導致環境有點混亂所以把相關移除的紀錄和照著XDite大步驟安裝時遇到的問題紀錄一下 另外在安裝ImageMagick時的錯誤請參考 另一篇

移除rvm

1. rvm implode
2. gem uninstall rvm
3. rm -Rf /etc/rvmrc ~/.rvmrc

 

查看下面檔案中是否存在 activate RVM 的指令,有的刪除即可 就是安裝時加入的那串

- .bashrc
- .profile
- .bash_profile

 

移除brew

相關指令查詢   參考資料

 

$> rm -rf ~/Library/Caches/Homebrew

 

 

移除pow 

Pow官網

 

執行mysql_install_db 馬上先Error

FATAL ERROR: Could not find ./bin/my_print_defaults

解決辦法如下

 

 

安裝 gem install mysql 時Error

curl: (7) couldn’t connect to host

原因:pidof 相依套件網址連不到,這裡 提供我剛好有下載的壓縮擋

$> brew edit pidof      #pidof 可改打入無法連結該網址的套件名稱

出現如下

 

class Pidof < Formula

url ‘http://www.nightproductions.net/downloads/pidof_source.tar.gz

homepage ‘http://www.nightproductions.net/cli.htm’

md5 ’663763ee1feb0596fa3731aafa7e1880′

version ’0.1.4′

 

def install

system “make all”

man1.install gzip(“pidof.1″)

bin.install “pidof”

end

end

把url 換成  下載下來的檔案路徑   ex   :   ‘file:///~/Library/Caches/Homebrew/pidof_source.tar.gz’

在執行一次安裝即可

brew 失敗時請善用 brew doctor 和brew missing 會告訴你該怎麼處理

附上查詢Mysql版本指令 mysql -V

繼續Error

 

Enter current password for root (enter for none):

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 85: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 86: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 87: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 89: .my.cnf.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 58: .mysql.4387: Permission denied

/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation: line 60: .mysql.4387: No such file or directory

處理:一般權限問題 就斟酌把/usr/local/Cellar/mysql/5.5.10/bin/  目錄權限開一下

 

後續安裝總算都被炸完了LOL

 

 

 

 

 

 

[問題紀錄]安裝 ImageMagick Error

由 andy 發表於 六月 17, 2011 / 尚無評論

問題 : 使用 Homebrew 安裝ImageMagick 失敗

錯誤訊息 : Error: Failed executing: make install

系統提示:

 

Also try:

  brew doctor to check your setup for common problems.

  brew missing to check installed packages for missing deps.

原因:安裝過其他的程式有 /usr/bin/pkg-config , 可能是python等等 在這裡我被炸的原因是因為安裝了 Mono Framework   (Orz)

解決辦法:

1. 依照提示使用 brew doctor 指令

 

/usr/bin is in your PATH before Homebrew's bin. This means that system-

provided programs will be used before Homebrew-provided ones. This is an

issue if you install, for instance, Python.

2. 系統提供的解決方案 

      A .  考慮 將paths 中的/usr/local/bin 置於 /usr/bin 之前  以Mac來說 路徑在/etc/paths  記得sudo 修改順序。由於本人並非深厚Unix like 系統使用者,所以不清楚這樣修改會衍伸什麼問題,不過經過測試,的確可以解決問題。

      B.  處理系統提示其他 pkg-config 以遭遇到的問題來說可以選擇移除 Mono Framework

            將 /Library/Frameworks/Mono.framework  整個砍掉即可,在/usr/bin/pkg-config的連結會一並被移除。

 

3. 系統提供的其他解決方案

   To resolve this issue, re-brew pkg-config with:

   brew rm pkg-config && brew install pkg-config

不過因為該檔案權限被保護之類的關係,實際測試結果無法解決問題。

 

由於覺得目前的解決辦法實在不是最佳的答案,如果有相關更好的解決辦法歡迎分享指教。

繼續閱讀 »

ASP NET 匯出PDF

由 andy 發表於 六月 13, 2011 / 尚無評論

詳細的教學請參考 這裡  本篇將整個說明的部份範例整合並做詳細的註解,分享給有需要的人。

<%@ Import Namespace="System.IO" %>

<%@ Import Namespace="iTextSharp.text" %>

<%@ Import Namespace="iTextSharp.text.html.simpleparser" %>

<%@ Import Namespace="iTextSharp.text.pdf" %>

<%@ Import Namespace="System.Collections.Generic" %>



protected void Button1_Click(object sender, EventArgs e)

    {

        Document doc = new Document(PageSize.A4,50,50,80,50);//宣告一個文件,設定文件大小(Margin:左,右,上,下)

        MemoryStream Memory = new MemoryStream();//使用記憶體暫存將內容擷取至doc

        PdfWriter PdfWriter = PdfWriter.GetInstance(doc, Memory);//使用PdfWriter 將doc的內容導入Memory 並繪製成pdf

        //各種字型設定 BaseFont設定字型

        BaseFont bfChinese = BaseFont.CreateFont(Request.PhysicalApplicationPath+@"font\MSJH.TTF", BaseFont.IDENTITY_H,         BaseFont.NOT_EMBEDDED);

        //↑中文字須配合中文字型 將中文字抓到目錄下

        //設定字型其他樣式

        Font ChFont = new Font(bfChinese, 12);

        Font ChFont_blue = new Font(bfChinese, 15, Font.NORMAL, new BaseColor(51, 0, 153));

        //Chunk為文字片段簡單說就是string 不會自行斷行 ("內容",字型物件)

        Chunk c0 = new Chunk("<c0>第一句</c0>",ChFont);

        //Phrase為句子 可以將chunk彙整至Phrase 但Phrase也是句子也不會斷行需透過 \n 或 Environment.NewLine

        Phrase p1 = new Phrase(c0);

        

        Chunk c1 = new Chunk("<c1>第二句</c1>", ChFont);

        Chunk c2 = new Chunk("<c2>第三句 </c2>", ChFont);

        //透過chunk將個別的文字先寫入後再透過Phrase 的Add將個別的chunk加入

        Phrase p2 = new Phrase(c1);

        p2.Add(c2);

        //段落 可以設定樣式如下

        Paragraph pg = new Paragraph();

        pg.Add(p1);

        pg.Add(p2);

        pg.Alignment=1;//設定左右對齊 0:左 1:置中 2:右 

        pg.FirstLineIndent = 20f;//段落首句縮排

        pg.SetLeading(0.0f, 2.0f);//設定行句

繼續閱讀 »

ASP.NET GridView,ListView 超連結 Get 兩個以上參數

由 andy 發表於 六月 12, 2011 / 尚無評論

 

1. 使用string.Format 來將Eval的資料繫結帶到網址後面對應的位置

<ItemTemplate>
<asp:HyperLink ID="HyperLinkTitle" runat="server" Text='<%# Bind("title") %>' NavigateUrl='<%# string.Format("getpage.aspx?i={0}&l={1}", Eval("欄位_1"), Eval("欄位_2")) %>' ></asp:HyperLink>

</ItemTemplate> 

2. 使用HyperLinkField欄位

<Columns>
    <asp:BoundField DataField="date" DataFormatString="{0:d}" HeaderText="時間"  SortExpression="date" />
   <asp:HyperLinkField DataNavigateUrlFields="欄位_1,欄位_2" 
          DataNavigateUrlFormatString="news.aspx?l={1}&i={0}" DataTextField="title"  HeaderText="標題" />
</Columns>

 

繼續閱讀 »

jQuery Formly 註冊表單

由 andy 發表於 六月 2, 2011 / 尚無評論

今天在逛網站時剛好發現這個還不錯的表單jQuery 花了一點時間把JS 中文化(提示等相關訊息)  分享出來

教學

DEMO

下載完整範例

繼續閱讀 »

[問題紀錄]Rubygem mysql 問題

由 andy 發表於 五月 31, 2011 / 2 則評論

環境
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]
mysql2 (0.2.7)
Rails 3.0.7

問題
啥都還沒做光把資料庫預設為mysql 指令rails new webstie -d mysql
開完controller 馬上出現下面


Error

TypeError 
can't convert Fixnum into String

原因:因為你的Mysql 密碼是數字! (驚)

解決辦法


1. 修改mysql 密碼 (治標)
mysqladmin -h localhost -u root password

2. 更改Gem程式碼(治本) 
Git上討論的解法
https://github.com/krekoten/mysql2/commit/68795e295e64faee357a56947b5cf09a2de397c1
中文步驟
編輯 

lib/mysql2/client.rb (+增加該行程式碼 – 刪除)

Mac的話在~/.rvm/gems/ruby-1.9.2-p180/gems/ 底下
ssl_set(*opts.values_at(:sslkey, :sslcert, :sslca, :sslcapath, :sslciper))

user = opts[:username]
- pass = opts[:password]
+ pass = opts[:password] ? opts[:password].to_s : nil
host = opts[:host] || 'localhost'
port = opts[:port] || 3306

spec/mysql2/client_spec.rb  備註:+號不要放啊 第一行 那是程式 不用怕XD


}.should raise_error(Mysql2::Error)
end
end

+ it 'should convert password to string' do
+ lambda do
+ client = Mysql2::Client.new(:password => 12345)
+ end.should_not raise_error(TypeError, "can't convert Fixnum into String")
+ end

it "should accept connect flags and pass them to #connect" do
klient = Class.new(Mysql2::Client) do
database = opts[:database]

[問題紀錄]Ruby安裝dbi錯誤 on Mac

由 andy 發表於 五月 29, 2011 / 尚無評論

錯誤訊息:.rvm/gems/ruby-1.9.2-p180/gems/dbi-0.4.3/lib/dbi/utils/date.rb:57:in <class:Date>': undefined method deprecate' for DBI::Date:Class (NoMethodError)

透過Rubygem 安裝dbi
 
請補上 sudo gem install dbd-mysql

 

測試用rb

 

 

# simple.rb – simple MySQL script using Ruby DBI module

require "dbi"

begin

    # connect to the MySQL server

    dbh = DBI.connect("dbi:Mysql:mysql:localhost", "root", "")

 

    # get server version string and display it

    row = dbh.select_one("SELECT VERSION()")

    puts "Server version: " + row[0]

rescue DBI::DatabaseError => e

    puts "An error occurred"

    puts "Error code: #{e.err}"

    puts "Error message: #{e.errstr}"

ensure

    # disconnect from server

    dbh.disconnect if dbh

end

 

執行 $ ruby test.rb  出現下列訊息即成功

Server version: 5.1.51