ラベル Programming の投稿を表示しています。 すべての投稿を表示
ラベル Programming の投稿を表示しています。 すべての投稿を表示

2011/05/01

herokuに続け! 各種PaaSプラットフォーム


HerokuというRuby on Railsが動作するRuby専用のPaaSプラットフォームがSalesforceに買収された。

何がおもしろいってRuby on Railsを動作させるためのハードやOSというレイヤーはプロバイダーであるHerokuが面倒を見る。開発者はコードを書いてGit経由でHerokuにアップロードするだけでHEROになることができる。
面倒な部分を全部プロバイダーが面倒見てくれるのがPaaSの強み。

そのPaaSプラットフォームもRubyのHeroku以外にも色々出来ていたので備忘録。

Heroku | Ruby Cloud Platform as a Service
 Ruby on Railsを提供するPaaS
 無料プランからニーズに合わせてサイジング可能

Google App Engine - Google Code
 JavaおよびPythonを利用可
 データベースが特殊。無料枠+従量課金

Windows Azure
 .Net系のPaaSなのかクラウドOSなのか…

Tiny Flock - Django Hosting
 Python/Djangoを提供するPaaS
 無料プランあり。情報がないってレベルじゃねーぞ!

PHP Fog - Reliable Cloud Platform. Built for PHP.
 PHPのPaaS
 デプロイはGit。PHPで作られたアプリケーション(WordPress等)なら何も心配なく動くらしい。

DotCloud
 何でもうごくPaaS
 PHP/Python/Ruby/Java… データベースも選べる。

こんな所でしょうか。
実際にはまだまだたくさんありますが、AzureやGAEは別にすると標準的な技術で構築されているので、万が一の際に他のプラットフォームに移行が出来なくは無いです。

手に職じゃないですが、プラットフォームがあっても言語を使いこなせないと…


2010/02/14

Python版Processing “NodeBox”

NodeBoxというものがあるらしいので使ってみた。
これはPythonでコーディングできるProcessingのようなもの。

NodeBox | Home

MacのCore Imageなどを非常に簡単に読み出せる代わりにMac依存な面もあるので、現在はMac専用です。
ひじょーに簡単にビジュアライゼーション出来るので、Python知っててなんかこういう風なもをさっと作りたい人には向いているかも。
ただ、この分野で手軽に作るというとProcessingがメジャーなのでこれからがんばってやろうと思うなら、ProcessingかFlashかopenframeworksかメジャーなものを使用した方が良いと思います。
Pythonベースでコーディング出来るので、手を抜きやすくて簡単っちゃ簡単。

上のやつもNodeBox 1.9系で作ってみました。
直接movやPDFで書き出しも出来るのでそのあたりの小回り具合は良い感じです。ただし、その書き出したmovファイルを直接Youtubeにアップロードしてもエラーが出るので、一度別のソフトで変換してあげる必要があります。

最新のNodeBox 2系はWelcome | NodeBox 2はUIそのものも大きく変更されているみたいです。
チャンスがあったら触って見たいかも。
逆にPython云々なので、重たくなりそうな処理の場合はちゃんと考えて実装してあげないとすぐ落ちちゃいます;p


2009/11/12

Ubuntu 9.10 に新言語 Go を入れてみた

まさかのGoogle が突然のオープンソースで新言語Goを公開。
C言語の血を色濃く引く新しい言語で特徴となるのは

Goのオフィシャルサイトの記述によれば、シンプルで高速、安全、そして並列処理が可能な点が特徴として挙げられている。C言語風の記述形式ながら異なる文法体系を持ち、ポインタが利用可能なものの、バッファオーバーフローの遠因となる複雑なポインタ演算を排除。

文法体系はシンプルで、ガベージコレクションが用意されているほか、並列実行を考慮して軽量なプロセス間通信を行う手段が提供され、簡易なプログラミングで大規模処理が可能なシステムが構築できるという。
シンプルで高速、Googleの新プログラミング言語「Go」 | エンタープライズ | マイコミジャーナル

へー。
と言うことなので入れてみたくなったので、Ubuntu 9.10に入れてみました。
入れてみたくなりましたが、さすがにインストーラーで簡単にとはいかず…

 

今回自分の試した環境は32bit Mac OS X 上で動くVirtualBox 3 の中に入れたUbuntu 9.10となりますので、32bit版です。Python等と違って厳密にコンパイル時に32/64bitの指定をする必要があるみたいです。

 

手順はほぼUbuntu9.04でGoを動かす! - 4403 is writtenにあったのと同じ。
違う部分は太字にしてあります。

$ cd ~
$ mkdir bin
$ export GOROOT=$HOME/go
$ export GOOS=linux
$ export GOARCH=386
$ export PATH=$PATH:$HOME/bin
$ source .bashrc
$ sudo apt-get install python-setuptools
$ sudo apt-get install mercurial
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
$ sudo apt-get install bison gcc libc6-dev ed
$ cd $GOROOT/src
$ ./all.bash
$ cat >hello.go <<EOF
package main
import "fmt"
func main() {
  fmt.Printf("Hello, Go!\n")
}
EOF
$ 8g hello.go
$ 8l hello.8
$ ./8.out
Hello, Go!
$

まずはGOARCHの部分。
32bitCPUの場合は386、64bitCPUの場合はamd64と変更して下さい。

引っかかったのは実行の部分。
32bitCPUの場合は8g/8l/.8等 とにかく8。64bitCPUの場合は6g/6l/.6等とにかく6。

 

CやObjectiv-Cより分かりやすいけどCらしいCじゃない言語的な感じ。
後はがんばり次第でいかようにでも;p

 

The Go Programming Language

2009/03/09

コンパイラーによって性能が変わってくる!

gcc update? by k0a1a.net.
gcc update? on Flickr

当たり前かもしれませんが、こう言ったことがよくわかっていない人にはそれなりに衝撃的でした。コンパイルなんてHelloWorld程度しかね;p

「インテル コンパイラー」で高速に動作するバイナリを作成しよう - SourceForge.JP Magazine

このどう見ても宣伝記事にしか見えないですけど、インテルコンパイラーでコンパイルしたソフトウェアはgccなどと比べると頭一つ抜き出る性能が出ているという事だそうです!

さすがにCPUメーカーだけあってIntelプロセッサを利用する場合はすごい性能が出るそうですが、さすがにCPUメーカーだけあってAMDプロセッサには最適化は…

この記事の中ではVC++との比較になっていますが、gccとの性能差が気になるところ。

 

ちなみに30日間という期間限定で機能制限なしで利用できる(XLsoft エクセルソフト : Intel アプリケーション・パフォーマンス最適化ツール - 体験版/日本語マニュアル ダウンロード)そうですが、個人利用・非商用なら無料で配布されています。プラットフォームはLinux限定です。

Non-Commercial Software Development - Intel® Software Network

何かしら登録する必要があるみたいですが、評価版のような30日制限はありません。
(ダウンロードしたわけではないので詳しくは分かりかねます)

Q. 非商用版とは何ですか?
A. 非商用版とは、開発した製品やサービスが営利目的ではなく、いかなる金銭の授受に関与しない活動にのみご利用いただけるインテル ソフトウェア製品です。大学等の学術機関、企業等での利用、研究目的には使用できませんのでご注意ください。

via しげふみメモ : 個人利用、非商用なら高性能なIntelコンパイラが無償で使える

非商用と言っても学術研究もダメみたい。
それでも個人利用限定だとしても最適化ビルドを自分向けに作るってなんだかロマン:-)

2009/02/18

Rubyが大人気な新興国


Rubyについてまつもと氏が英語で解説して下さっています!!

なぜRubyなのか!?

と言う事で、米Evans Dataの調査によると新興国の開発者の5人に1人はRubyを使用していると言うことです。
自分はPythonをすこ~し触った程度なのでRubyの食感がどの様なものか実はあまり分かりません。Pythonはとりあえずみんな同じようなコードになると言うのが印象的です。

「新興市場ではスクリプト言語の利用率が高い。新興市場の開発者の平均年齢が若く,Web開発に集中していることが理由」
新興国の開発者の5人に1人がRubyを利用,北米と西欧の2倍:ITpro

失礼な話、意外です。
それこそPythonが人気とばかり思っていました。

ちなみにRubyで人気のサービスと言えば楽天やTwitterなどが上げられます。クックパッドもかな。

RubyというよりもRailsの存在が非常に大きいのでは無いでしょうか。
それでも、メジャーなフレームがあるというのが素晴らしい。

 

ちったぁ~ 勉強しないとね。

2009/02/01

Ruby 1.9.1が正式登場

Ruby 1.8(.6) vs. Ruby 1.9 by sporras.
Ruby 1.8(.6) vs. Ruby 1.9 on Flickr - Photo Sharing!

これがRuby1.9の安定版です。

Ruby 1.9はRubyの新しい系統です。近代的に、高速に、文法も明確に、多言語化
され、多くの改善がなされました。Ruby 1.8系統は2003年以来利用され、多くの
素晴らしい製品を生み出しました。本日、1.9の歴史が始まります。
Ruby 1.9.1 リリース!!

当面は1.8系と並行して開発が進められるようです。

1.9系はプログラムの実行エンジンを刷新し高速化を図った。まつもとゆきひろ氏が開発した構文木インタプリタに変わり,東京大学大学院情報理工学研究科特任助手の笹田氏が開発した仮想マシンYARV(Yet Another Ruby VM)を標準採用した。 「Ruby 1.9の歴史が始まる」1.9系初の安定版1.9.1正式リリース:ITpro

処理系を根本的に見直して「Ruby自体の実行性能はコア性能で最大50倍,ベンチマークで2倍から10倍と大幅に高速化された。」とのこと。
単純なインタプリタの時代は終わりを告げるのでしょうか…

と言うか、最近はハードウェアの高性能化も手伝ってきたのでLL言語でもかなりローカルなコードを実装することも出来るのでは?

 

上の画像は1.8系と1.9系のベンチマークです。
確かに5倍から10倍処理が高速化しています。

 

元々のスケジュールだと2007年末には登場予定でしたから、1年遅れのペースでしょうか。
それにしてもするりとVMを書けちゃうことがすごいよね!!

言語的にも一部修正が必要な部分があるので、Rubyプログラマの方は注意して下さい。

2008/05/08

Java 2008

JavaOne 2008 でなんだか色々なフューチャーが発表されているみたいです!

 

 

平凡でもフルーツでもなく、、、 > JavaFXもイイ感じですよ~~! : ITmedia オルタナティブ・ブログ
http://blogs.itmedia.co.jp/yasusasaki/2008/05/javafx-4983.html

これはAdobe AirとJavaFXは直接競合するんでしょうか??

本音としては、何か一種類に一本化して欲しいなぁ~

 

 

【レポート】LiveCDに対応した「OpenSolaris」で新規層の開拓にチャレンジするSun | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/articles/2008/05/08/opensolaris/index.html

画像ファイル

ロゴマークがどこかで見たことあるようなないような物に変化しましたが、LiveCDに対応し手軽に試すことが出来るようになったみたいです。

見た目はまんまLinux

別にSolarisが使いたわけじゃないからなぁ~

 

 

サン、「OpenSolaris」をリリース--アマゾンのEC2で利用可能に:ニュース - CNET Japan
http://japan.cnet.com/news/ent/story/0,2000056022,20372665,00.htm

本当のところはこれによるLinuxとの違いが気になるところ。

Amazon EC2(Amazon Elastic Compute Cloud)は,Amazonが運用するコンピュータ資源を「仮想マシン」単位で利用できるサービスである。1.7Gバイトのメモリーと仮想プロセッサ・コアを2個,160Gバイトのストレージを備えた仮想サーバーであれば,1時間当たり10セントで利用できる。これまで利用できるOSはLinux (Red Hat Enterprise Linuxが正式サポート)とWindowsだったが,そこにさらにOpen Solarisが加わった。

 

 

ソフトの値札で許されるのは「無料」だけ、サンCEO - @IT
http://www.atmarkit.co.jp/news/200805/08/jonathan.html

オープンソースか、お金を払うことによる満足感か・・・どっちが良いのかなぁ

 

 

2,000カ所以上改良された仮想化ソフト「Sun xVM VirtualBox 1.6」 | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/05/07/038/

そしてついにSunの製品群となったVirtualBoxのバージョンアップ

自分が使ってきた仮想マシンの中だと一番使いやすかったです!!

Macも正式サポート(ホストの場合)されているので、他の仮想マシンに数万出す必要はないんじゃなかろうか。

 

 

すごいなぁ

最近Sunの話題が多いですし実際がんばってるなぁ~と思いますが、つい先日のAdobeのオープンソース化の方が実際うれしかったな。

2008/03/05

Flex 3 丁寧解説

via 【速報】RIA構築ツールFlexは最新版 Flex 3 でここが変わった:ITpro

zu01

ITproにすごく詳しいFlex Builder 3の紹介がありましたの紹介。

何よりも目玉な機能はAdobe Airへの対応だと思います。

 

というか、もう日本語対応していたんですね。

 

あと、Adobeのおもしろいサイトがオープンしていました。

Home - Adobe Open Source - Confluence
http://opensource.adobe.com/wiki/display/site/Home

Flex SDKなどのソフトをオープンソースで公開ししているサイトです。

2007/09/04

Ruby Logo Contest

via Rubyの公式ロゴ募集中! 腕に覚えがあるグラフィックデザイナは挑戦を | マイコミジャーナル Ruby on Railsで一躍有名になった国産プログラミング言語のRubyですが、このたびロゴマークを新たに募集するそうです。
これが現在のロゴマーク。 何が問題かというと、ルビーとしては認識できますがプログラミング言語の「Ruby」としては分かりにくいという事らしいです。 確かに・・・ そこで腕に覚えのあるデザイナーの皆様はチャレンジしてみてはいかがでしょうか:P 賞金は10万円と、日本は国産言語の推進として教育機関で導入が進んでいるらしいので一躍有名になれるかも!? 最近話題になっているので勉強したいと思ってはいるのですが、ループとかをいちいち「end」で終わらせるのが嫌い。
It is Ruby of the domestic programming language which with Ruby ON Rails suddenly has become famous, but this each time the logographic mark is collected anew, so is. This present logographic mark. When you say, as a ruby you can recognize, but as “Ruby” of programming language the notion that where it is difficult to understand something problem it seems, is. Certainly… Everyone of the designer who has remembering in the arm trying challenging, how, probably will be then?: P As for the prize 100,000 Yen, as for Japan introduction is advanced with the education system as a promotion of domestic language, because it seems, it is accustomed to famous suddenly whether!? Recently, because it has become topic, thinking, that we would like to study, it is to enter, but the loop it is disliked to be able to finish one by one with “end”. by Google Translate