「yum」を含む日記 RSS

はてなキーワード: yumとは

2017-03-09

Docker盲信してる皆様へ

そもそも便利なのかちゃんと考えてる?

「日々Dockerfileをメンテして開発環境がこんなに楽になります!」

Dockerなので本番とも開発者同士でも同じになります!」

馬鹿じゃねーのかw?

Dockerfileメンテなんて手順書メンテとかシェルスクリプトメンテしてんのと大して変わらねーよw

そのDockerfileから作ったものが本番と同一だなんて保証はねーって気づけボケ

本番と同じものを作りたかったら本番からコンテナ作れよ

なんでビルド始めちゃうの?無駄じゃん馬鹿じゃん

それと「同じDockerfileから作ったものから環境差異はありません」なんて寝言まだ言ってるの?

yumaptリポジトリセキュリティアップデートやらで変化する以上

いつも同じ結果になるわけじゃねーだろが、(バージョンロックする方法はあるけどめんどいだろ)

本番でもコンテナを使ってますってやつら以外無理してDocker使う必要ないんじゃねーか?

お前らが欲しいのは軽いVMであって細切れのコンテナじゃねーだろ?

initを潰して,supervisor入れてプロセス管理して・・・ってどう考えてもお前らが望む世界じゃないんじゃねーか?

流行りのコンテナぽくしたいならLXDやらsystemd-nspawnの方がよっぽど筋がいい

というわけでよく考えなおせ

みんながDocker言ってるから無理やり使うって運用やめろ

2017/04/22 追記

続き書いた

http://anond.hatelabo.jp/20170422000230

2016-09-20

PHPでComposerって流行ってるじゃないですか

ぐぐると使わないなんてあり得ない!なんてキータの記事とかも出てきますけども。正直、エラーばっかり出て余計に手間増えません?書いてある通りにやってるのに。

せめてCentOSyumぐらいには安定して使えるようになってから広めて欲しい。

2015-03-18

Fedoraパッケージマネージャ名前が変わるのか

http://fedoraproject.org/wiki/Changes/ReplaceYumWithDNF

Fedora18の頃から試験的に入ってたdnf(Dandified Yum)だけど、

Fedora22からは本格的にyumを置き換えるものになるのか…

(去年の今頃ぐらいの記事っぽいし今更感…)

yumの遅さとメモリ食いを解決する予定らしいけれど、

別名はyum4になっているし、

使用感も特には変わらず、

大したyumの使い方をしてなかったせいか、

自分のところでは「s/yum/dnf/」するだけで済んでる…。

yumから移行するほどのメリットがあるのか分からなかったけれど、

RHELとかCentOSでも使われたりするのかなー…。

ドキュメントhttp://dnf.readthedocs.org/en/latest/index.html

ソースコードhttps://github.com/rpm-software-management/dnf

2014-07-22

http://anond.hatelabo.jp/20140722001658

有益な話だし、GPL関係でググってこのページを見た人のために勝手に補足と個人的な疑問を放流してみる。

適当に調べてた知識を記憶をたよりに書いているので、間違いがあれば容赦なく指摘して欲しい。

# どうでもいいけど、元増田の話でOSLinuxだったりしたら笑うw

WEBシステムを閲覧した人がソースコードをよこせと言えるライセンスはAGPL

GPL元増田で書かれている通りで、WEBシステムを閲覧しただけではソースコードを請求することはできない。RMSらもこれには気づいていて、この穴を塞ぐためにAGPLというライセンスができた。このライセンスソフトウェアを利用した場合WEBシステムであろうと利用できる人はソースコードの請求を行えるようになる。

これは別にWEBシステムに限らず、ユーザーが何らかの形で利用できるシステムなら、ソースコードの請求が行える。

MySQLを利用したからといって、スクラッチ開発したソフトウェアライセンスGPLになるわけではない

申し訳ないが詳しい所は知識不足でよくわからない。だけど、下記の記事の通り現在の開発元のOracle見解である。すなわち、MyODBC(GPLMySQLODBCドライバ)を使わずGPLでないドライバを用いて接続してしまえば、開発したソフトウェアGPLにならない。

http://plaza.rakuten.co.jp/matsunopage/diary/201011300000/

# 個人的にGPLRMS著作権Hackなら、OracleのコレはGPL Crackだと思っている。「GPL汚染が嫌なら有償ライセンス契約しろ」と言われた話を聞いた事があるからだ。

GPLライセンスされたソフトウェアの改変に関わったプログラマコードを持ち帰れるかという問題

おそらく持ち帰れないのではないかと思う。なぜそう思うかというと、普通プログラマが書いたコード著作権会社に取られるし、GPLライセンスされたソフトウェアを受け取ったのは会社であってプログラマ個人ではない。GPLライセンスされたソフトウェア物理的にもっていく事は可能でも、きちんとライセンスを受けた訳ではないので機密情報漏洩しかならないと思う。

GPLライセンスしたソフトウェアプロプライエタリに戻せるか

単純な興味なのだけど、例えば最初GPLだったが途中からプロプライエタリ(ないし、GPL互換ライセンス)に変更可能なのか知りたい。個人的な考えでは、著作権者全員の合意がとれれば可能という結論。著作物GPLに書かれた通りに扱ってよいとしただけで、著作権者によって著作物の扱い方は変更可能だという考えから。無論、GPLライセンスされたプログラムを受け取った人はソースコードの請求は依然として可能。

参考

http://nippondanji.blogspot.jp/2010/06/gpl.html

http://d.hatena.ne.jp/karasuyamatengu/20110126/1296004598

おやすみ

追記

http://anond.hatelabo.jp/20140722142248

なんで、グレーなのか。なんで、無理なのか。どのような考えでグレー、無理という結論を出しているのかきちんと書いてもらえますか? 私の考えが間違っているならなぜ間違っているか指摘していただけますか? あるいは、下記の増田さんのように具体事例を出してもらえますか? プロプライエタリに戻せないというのなら下記の具体事例はどのようにお考えですか?

http://anond.hatelabo.jp/20140722071548

http://anond.hatelabo.jp/20140722143245
FOSS除外規定のところ

開発したシステム<ー>PHP<ー>MySQL

とした場合に、PHPを飛び越えて(間接的にしか接続していないにも関わらず)開発したシステムGPL適用されるということですか? その場合PHPにもGPL汚染が発生するということになると思いますが、間違いありませんか?(FOSS除外規定を設けているのはMySQLであって、FOSS除外規定無関係な開発したシステムGPLになってしまうと、開発したシステムからGPL汚染が発生するという考えから。)

失礼、下記のパラグラフには誤りがあったので修正しました。

元のパラグラフは下記の通りです。

あと、MySQLデータベースサーバ接続しただけではGPL汚染は発生しません(AGPLはそのためのものなのは前述の通り)。また、PHP接続するクライアントになりますよね。ということは、MySQLと一緒に開発システムを一つのパッケージとして納品しない限りはGPL汚染は発生しないのではないでしょうか?(WEBシステムでそんなこと普通しませんよね。yumとかでインストールするし)

根本的な問題として、FOSS除外規定GPLソフトウェアと他のFLOSSをリンクする際の問題を解決する物であって、MySQLデータベースサーバ接続する場合には関係のない話だと思います。おそらく、問題だとお考えなのはPHPドライバOracle製のGPLプログラムリンクしていたためPHPドライバを利用すればそのような問題が発生するという事だと思います(さらに追記。この通り書かれていますね。よく読んでおらず、失礼いたしました)。現状、PHPライセンスとなっているMySQL Native Driverを利用すればそのような問題は発生しないはずです。

http://php.net/manual/ja/mysqlnd.overview.php


かりに、おっしゃる通り、開発システムもFOSS除外規定に含まれるFLOSSにしなければGPLになってしまうとした場合、それはMySQL独自の問題であり、他のFLOSSに一律で当てはまる問題ではないということでよいでしょうか? なぜこのような質問をするかというとMongoDBが同じような問題を抱えているからです。下記のURLの通り、MongoDBのコアサーバはAGPLですが、ドライバApache licenseを適用し、開発システムにAGPL感染が発生しないようにしています

http://www.mongodb.jp/mongo/licence

上記の様なケースにも実用的に対応する為、(AGPL採用しつつも)我々はあなた方の(MongoDBを利用する)クライアントアプリケーションは(MongoDBとは)別物扱いする事を約束します。これを円滑に行う為、mongodb.orgサポートドライバーあなたアプリケーションリンクする部分)はApache licnese(コピーレフト)の元公開します。


返信お待ちしております

冒頭に書いた通り、間違いがあれば容赦なく指摘してください。

また、具体事例を上げていただいた増田さんありがとうございました。

2013-12-21

http://akiradeveloper.hatenadiary.com/entry/2013/12/21/184119

> Githubアクセス出来ないと言ってもイマドキのエンジニアは誰も信じないだろう

え、事業部は数年前からはてダアクセス禁止だったし、yumapt-getとかもっての他でパッケージ一つ毎に上司承認必要でしたが?

横浜研究所がなんなのかあんま把握してない(元シ研かな?)けど、Linuxストレージ関係部門とは・・

自分は優秀じゃなくて落ちこぼれで外に出ていきましたが、ほんと所員に外見てきてほしいとは思う。

ところで自分がやめるとき周りの人全然Hadoopとか知らなかったんだけど、ビッグデータ周りの推進は研究所主体ということで合ってます

(高速独自DBの可能性もあるけど)

2013-10-23

ワードサラダを作ってみよう

mecabっていう日本語構文解析プログラムがあります

今日は、それを使って「日本語自動解析して用語を抜き出し、コピペ文を自動生成するスクリプト」の作り方を学習します。

必要もの

root権限で動かせるlinux/unixマシン

ターミナルで動作します。面倒くさいGUIなんか作りません。シェルスクリプト万歳

yumapt

mecabインストールするのに必要になります

レポジトリとかは知らんけど、yum install mecabとかapt-get install mecabとかしてmecabを入れてください。

1. mecabを使って日本語から固有名詞っぽいものを抜き出す

1行シェルスクリプト。超簡単です。コピペでも動く多分。

これをmecab_extract.shって名前で保存して実行属性を付けよう。

#! /bin/bash

cat /dev/stdin |mecab|egrep "[^代]名詞,一般"|cut -f 1|sort|uniq ;

使い方。適当日本語文字列mecab_extract.shにぶち込みます

echo "新しいMac Proの開発を始める時、私たちグラフィックスストレージ拡張性、処理能力メモリといったプロコンピュータ定義するすべての要素を見つめ、その一つひとつ設計するための、可能な限り最良、かつ最も先見性のある手法を見つけ出そうと自らに挑みました。そしてこれらすべてが一つになった時、今までにない、完全に新しいものが生まれたのです。それは従来のものとは過激なまでに異なる存在であり、これまで当たり前だと思われていたことに対する極めて力強い挑戦状のようなものです。"|masda_extract.sh

すると、以下のような固有名詞リストが得られます

Mac

Pro

グラフィックス

コンピュータ

ストレージ

プロ

メモリ

一つ

一つひとつ

最良

手法

先見

能力

要素

これを、適当テキストファイルに保存しておきましょう。後でワードサラダ生成に使います

echo "{文章}"|mecab_extract.sh > word.list

こんな感じ。

2.コピペから置換するべき文字列だけ抜いた文章を生成するスクリプト

スーパーpre記法バグってるので、実体参照は適宜置き換えてください。

#! /bin/bash

message=`cat /dev/stdin`;

replace_list=`echo "$message"|mecab -O chasen|cut -f 1,4|egrep "[^代]名詞-一般"|cut -f 1`;

#replace_list=`cat /dev/stdin|mecab -O chasen`;

IFS=$'\n';

for line in `echo "$replace_list"`

do

message=`echo "$message"|sed "s/${line}/\{_REPLACE_\}/g"`;

done;

echo "$message";

これをmecab_spoil.shって名前で保存。実行属性つけよう。

で、コピペする文章を食べさせてみよう。

echo "新しいiPad Airは、信じられないほど薄く、軽くつくられています。それなのに、

これまでにないほどのパワーと能力を持っています。新しいA7チップ先進的なワイヤレス接続機能

生産性創造力のための優れたアプリケーションiPad Airは、そのすべてをiOS 7に美しく統合しました。

これまで想像もしなかったことを、想像もしなかった場所でできるように。"|mecab_spoil.sh

そうすると、以下のような文字列になる。

新しい{_REPLACE_} {_REPLACE_}は、信じられないほど薄く、軽くつくられています。そ れなのに、

これまでにないほどの{_REPLACE_}と{_REPLACE_}を持っています。新しいA7チップ、{_REPLACE_}的な{_REPLACE_}接続機能

生産性創造力のための優れた{_REPLACE_}。{_REPLACE_} {_REPLACE_}は、そのすべてを{_REPLACE_} 7に美しく統合しました。

これまで想像もしなかったことを、想像もしなかった{_REPLACE_}でできるように。

この文字列は、後述する「置換するスクリプト」に食べさせるため、今は何もしない。

3.コピペ用の穴あき文章を、特定の固有名詞で埋めよう!

1.で作成した固有名詞リストファイルが役に立ちます

2.のスクリプトも使用します。

まず、以下のスクリプトmecab_replace.shって名前で保存して実行属性つけよう。

#! /bin/bash

message=`cat /dev/stdin`;

if [ "$1" = "" ]

then

echo "リストファイル指定せよ…";

exit;

fi;

IFS=$'\n';

list=(`cat $1`);

size=${#list[*]};

for line in `echo "$message"`

do

while [ 0 -lt `echo "$line"|grep -c "{_REPLACE_}"` ]

do

item="${list[$((RANDOM % size))]}";

line=`echo "$line"|sed "s/{_REPLACE_}/$item/"`;

done;

echo "$line";

done;

このスクリプトは、2.で生成した文字列を1.で生成したリストで置換するためのものだ。

なので、以下のようにして使う。

echo "文章"|mecab_spoil.sh|mecab_replace.sh word.list

さあ、どんな文章が出力されたかな?

いろんな固有名詞を集めて、いろんなコピペで。試してみてくれたまえ。

http://anond.hatelabo.jp/20131023205616

2013-09-24

文系大学生夏休みエロサイトを作った、そのまとめ(結構長文)

こんばんは、都内大学に通う文系大学生です。

夏休み彼女もおらず暇なので、わかりやすエロサイト自分用に作ってみることにしました。

なお作者はプログラムに関しては、一般教養の授業でC言語に軽く触れた程度の素人です。

最初iPhoneアプリを作ろう!と意気込んていたのですが、ふぇぇメモリ管理が難しいよう、となりやめました。やっぱりWebだよね。

作成サイト

Xvideos動画

http://av-sexvideos.com/

コンセプトとしては、AV女優リストからエロ動画自動収集し、掲載するサイトとなっております

開設してまだ1週間ほどしか経っておらず、まだほとんど人は来てません。

まぁ自分用だしいいかなと思っております

なお、リンク切れ自動で検出するようにできております

エロサイトを作るにあたってやらなきゃいけないこと

幸いにも作者の周りには、プロデザイナーSEがいたので助けていただきました。

動作環境の選定

まずは素人なんだし、言語を選ばなきゃ話にならんだろJK、ということで知人のSEから話を聞き、言語Ruby1.9.3、フレームワークRuby on Rails3.2.13を選定しました。

速度はそこまで速くないらしいのだけど、とてもサクサク開発できるとのことです。PHPコードが読みにくいからやめとけとの事でした。


OSwindowsがいいなーと思っていたのですが、「ライセンス料が高いよ。。。」とのことでしたので、Linuxを覚えることにしました。

今回はUbuntuを使っております。他にはCentOSやらFedoraやらがいいらしいのですが、yumよりもaptだなということでこちらは見送りました。


データベースにはMySQL5.5を使用しております無料で使えて速く、クラスタリングにも対応しているので今のところはベストチョイスですね。

内部ではInnoDBを使用していますトランザクションが使えないと困るのでMyISAMは使っていません。全文検索を使う場合には他にいろいろと方法があるのでも特に問題は無いと思っております


WebサーバーAPサーバーにはApache2とPassengerを使っております。今更Apacheを使っちゃう男ってどうなの?なんでNginxじゃないの?と思われるかもしれませんが、Apacheデフォルトのpreforkではなく、workerを使えばなかなか速いです。

workerはマルチスレッドなので、プロセス間でメモリを共有するため、安定性に関してはpreforkに劣るかもしれませんが、速度面では圧倒的に速いです。


これらを設定したサーバー海外VPSの老舗であるlinodeから2インスタンス借り、運用しております。(メモリ4G、8コア)


L4スイッチは設置しておらず、DNSラウンドロビンとマスタスレーブ方式で負荷分散を行っております

データの取得(スクレイピング

とにかく自分が好きな女優エロ動画を欲しかったので、データの取得から始めることにしました。

使用ライブラリはNokogiri、mechanizeです。この2つを用いて、以下の2つのクローラー作成しました。

gsub、scanmapにはお世話になりました。正規表現大事ですね。

デザイン作成

なるべく見やすく、シンプルサイトを心がけました。ふぇぇスマートフォンだと見難いよう、なんてことの無いようにモバイルファーストを心がけ、レスポンシブなサイト作成しました。

今回使用したのは、Twitter Bootstrapというフレームワークです。様々なパーツが最初から揃っているのでサクサクデザインを組み立てることができます

ただ標準だとちょっとダサい(失礼)ので、それなりにカスタマイズして使っています。今回はフラットで、ピンクデザインを目指しました。ポイントは下記。

なおレスポンシブに対応する際に、CSSMedia Queriesだけでは対応できない箇所はenquire.jsを使用しております。表示するwindowのサイズによってJQueryイベントを叩いたりできて便利です。

アプリケーション作成

前述したとおり、Ruby on Railsの3.2を使っておりますRails4でも良かったのですが、バグが起こった時に面倒そうだったので、安定してきている3.2を採択しました。

@amatsudaさんのkaminariが便利でした。

インフラ周りのチューニング

ここはじっくり時間をかけました。Railsは適切にチューニングをしてやらないと遅いです。特にルーティングが遅い。

abでベンチマークをした結果、チューニング前のページだと1サーバー100req/sほどしかさばけません。

Rails側のチューニング
MySQLチューニング

今回、Memcachedは一切使用しませんでした。というのもMySQL自体キャッシュ機能を持っているので、サブクエリなどを使わければあまり効果が無いと判断たからです。

しろMemcachedを使ったほうが、遅くなるケースも多々あるかと思います

my.cnfで以下の項目をいじりました。

今回はページ数もそこまで多くないため、これでなんとかなりましたが、ログイン機能を使ったものだと若干面倒かもしれません。

Apache2のチューニング

前述のとおり、preforkではなく、workerを使いました。DBAPも同じ筐体に入っているので、設定自体は控えめにしました。Apache遅いよーと言う前に、一度workerにしてチューニングをしてみるとApacheへの見方が変わるかと思います

  • StartServers 5
  • ServerLimit 10
  • ThreadLimit 100
  • MaxClients 1000
  • MinSpareThreads 25
  • MaxSpareThreads 75
  • ThreadsPerChild 100
  • MaxRequestsPerChild 0

これだけで、ページにもよりますが、平均して1サーバー1500req/sさばけるようになりました。2台なので3000req/sでしょうか。

SEO


初心者でも夏休みという1ヶ月半くらいで、ここまで作れるようになりました。

このAV女優もっと掲載してほしい!や、ここはダメだなというご意見、お待ちしております

9/25追記

今回読んだ本を抜粋して紹介します。

大規模サーバーチューニング技術が学べます

Amazon.co.jp: 実践 Web Standards Design ~Web標準の基本とCSSレイアウト&Tips~: 市瀬 裕哉, 福島 英児, 望月 真琴: 本

HTMLCSSはこれで

Amazon.co.jp: Ruby on Rails 3 アプリケーションプログラミング: 山田 祥寛: 本

Railsはこれ一冊である程度まかなえます

Railsで困ったときはこれで

MySQLチューニングはこれで

お前のようなシロウトいるか 化けるんならIT土方にでも化けるんだったな

ツッコミありがとうございます

最初はcotEditorを使っておりましたが、知人からemacsを使えよ」と駄目だしされたのでそれを使っております辛いですが頑張ってます

こんなサイトも作ってみました。知人と共同で作っている女性向けサイトです。

http://av-girls.me/

2013-03-22

gentoo学部三年 これからどうすればいいのか分からない

http://anond.hatelabo.jp/20130321232234

学部三年(2013年から)のgentoo系。

しかカーネルハックなどのgentoo系らしい活動をほとんどしてこなかった。というかメンテナも一年のおわりにやめてしまったし、自前ebuildもしたことがない。準FreeBSDのような状態なのかもしれない。

二年次の夏休みあたりから、今いる環境を生かせそうなものを考えた結果、多少興味の沸いたいくつかのgentoo系のアーキテクト分野の参考書勉強してみようとしてみたものの、そんな本ない。というか、カーネルビルドの仕方が未だによくわからない。

大学1-2年で学ぶ基礎的なgccソースリーディングにしても、周囲の同級生比較する中で、自分には適正が無いと感じた。

モチベーションを維持することが出来ない。継続的に他者との交流を得られる場所を見つけられればそれで何とかなるのかもしれない。

ビルド代行等のアルバイトを始められればいいのかもしれない。しかアルバイト面接に持っていけるような、今までの成果物などもとくに無い。

明確な目標を立てるのがまず最初にすべき事であるのはわかるのだが、それもよくわからない。

なにか自分に人並みに適正のあるものを見つけて、それを学び、モチベーションを維持できる環境を見つけたい、それがhomebrewなのであればMac欲しい、そういうぼんやりとした希望けが浮かぶ。学部一年のころから分かっていたそこから進歩していない。

春休みに入ってからは、Windows系の入門書を読んだり、単位はとったがほとんど理解できていなかったportageシステムの復習をしている。

しかしずっと一人でいると、QEMUなど苦手なパッケージ集中力はどんどん落ちるのを感じる。aptyumに逃げてしまう。一日の終わりには周りとの差は開いていく一方なのではないか不安になる。

どうすればいいのかわからない。誰かアドバイスを下さい。

2012-10-26

iphoneで見れて、毎日いっぱい更新されるのエロ動画サイトを作った。【サイト構築詳細メモ

はじめに

なんちゃってプログラマーやってます

「みんなの役に立つサイトを作って、一発大きく儲けたい!」と、

思い続けて、早10年(泣)。。

なかなか画期的アイデアって出てきません。。

とりあえず、エロサイトを作るのってすごく勉強なる?楽しい?らしいので、

誰にも利用されない「へぼツール」作るより必ず誰かの為になるなぁと考え、

エロサイト作りました。(保守不要で完全自動化)

iphoneで見れて、毎日10記事絶対更新

できるだけ、誰でもわかるように、詳細を書いていますので、

これを見るだけで、ノンプログラマーの方でも、

同様のサイトは簡単に立ち上げることができちゃうと思います

つくったサイト

http://iphone-xvideos.info/

サイト名:iphone-xvideos エロ動画H (仮)

デザインデフォルトのまま(そのうち修正しまーす)

作成期間:40時間ぐらい…

iphoneでも見やすくしています

※記事は毎日10更新予定です。つまり毎日このサイトだけ見に行けば困らないってことです。

きっかサイト

http://anond.hatelabo.jp/20101219185436

http://anond.hatelabo.jp/20101203150748

http://d.hatena.ne.jp/inouetakuya/20120331/1333192327

http://anond.hatelabo.jp/20120318122617

http://anond.hatelabo.jp/20120914214121

http://anond.hatelabo.jp/20110804021353

http://anond.hatelabo.jp/20120926165533

レンサバ

saasesのVPS OsukiniサーバーLT メモリ512MB 月450円! アダルトOK

CentOS 64bitを選択。(メモリを食うだけなので、特に用がなければ、32bitにしよう!)

↑一番安いプランしか契約できなかった…

※どこにも書いてないけど、2週間以内なら取り消しできます

契約時、webmin&mysqlの選択は必須にしておいたほうがいいです。私は間違えて、webmin無しにしてしまった。。

から、再インストール(初期化)すれば、再選択することができるようです。。

申し込み後、たったの30分で接続できるようになりました。

ドメイン

iphone-xvideos.info

バリュードメインで取得。280円!安い。

DNSVPSIPに変更。

不要サービスを止める

/sbin/chkconfig auditd off

/sbin/chkconfig autofs off

/sbin/chkconfig avahi-daemon off

/sbin/chkconfig bluetooth off

/sbin/chkconfig cups off

/sbin/chkconfig firstboot off

/sbin/chkconfig gpm off

/sbin/chkconfig haldaemon off

/sbin/chkconfig hidd off

/sbin/chkconfig isdn off

/sbin/chkconfig kudzu off

/sbin/chkconfig lvm2-monitor off

/sbin/chkconfig mcstrans off

/sbin/chkconfig mdmonitor off

/sbin/chkconfig messagebus off

/sbin/chkconfig netfs off

/sbin/chkconfig nfslock off

/sbin/chkconfig pcscd off

/sbin/chkconfig portmap off

/sbin/chkconfig rawdevices off

/sbin/chkconfig restorecond off

/sbin/chkconfig rpcgssd off

/sbin/chkconfig rpcidmapd off

/sbin/chkconfig smartd off

/sbin/chkconfig xfs off

※190MBが150MBぐらいになります

SSHサーバ設定

$ su root

FTP接続できるようにする。

http://support.saases.jp/index.php?action=artikel&cat=63&id=312&artlang=ja

バーチャルホストの設定

# vi /etc/httpd/conf/httpd.conf

NameVirtualHost *:80 ←これを探して、コメントアウトを削除。その下に以下を設定。

<VirtualHost *:80>

DocumentRoot "/home/ユーザーID/iphone-xvideos.info"

ServerName iphone-xvideos.info

<Directory "/home/ユーザーID/iphone-xvideos.info">

order deny,allow

allow from All

Options FollowSymLinks

AllowOverride All

</Directory>

</VirtualHost>

apache再起動

# /etc/rc.d/init.d/httpd restart

httpd: Could not reliably determine the server's fully qualified domain name, using...」

再起動時に上記のエラーがでた。

その時はこちらで解決⇒http://d.hatena.ne.jp/uriyuri/20100511/1273575287

で、このままだとIPアドレスでもアクセスできてしまうので、以下もやっておく。

http://fedorasrv.com/memo/log/29.shtml

mkdir /home/ユーザーID/iphone-xvideos.info

chown ユーザーID /home/ユーザーID/iphone-xvideos.info

/home/ユーザーID/以下はpermission errorとなりアクセスできないので、権限を変える。←いいのかな?

chmod 755 /home/ユーザーID/

CentOSAPCインストール

http://blog.verygoodtown.com/2010/02/centos-apc-install-how-to/

# pecl install apc

↑これを実行した際に、「error: expected specifier-qualifier-list before 'pcre'」なんちゃらっていうエラーがでたので、以下を実行。

yum install pcre-devel

再度実行して、無事インストールできた。

# pecl install apc

# vi /etc/php.ini

extension=apc.so ←これを一番最後に追記

APCの設定】

vi /etc/php.d/apc.ini

extension=apc.so

[APC]

apc.enabled = 1

apc.shm_size = 64 ←適当。。

apc.gc_ttl = 3600 ←適当。。

apc.ttl = 3600 ←適当。。

/etc/init.d/httpd restart

  • viの基礎講座】-----

/ ←検索

n ←次の検索文字へ

i ←編集モード開始

Esc ←編集モード終了

]] ←最後尾に移動

:q! ←保存せずに終了

shift押しながらzz ←保存

--------------------------

apache再起動

# /etc/rc.d/init.d/httpd restart

phpinfoの画面でapcの項目があるか確認

vi /home/ユーザーID/iphone-xvideos.info/index.php

phpinfo();

?>

apacheの負荷対策

http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html

↑これを参考に適当に変更してみた

MaxClients 256 ←これを40に

MaxRequestsPerChild 4000 ←これを1000

このサーバは、512MBしかいかもっと小さくしたほうがいいのかも。。

# ab -c 10 -n 100 http://iphone-xvideos.info/

【変更前】

Requests per second: 40.01 [#/sec] (mean)

【変更後】

Requests per second: 137.57 [#/sec] (mean) ←1発目

Requests per second: 552.79 [#/sec] (mean) ←2発目以降(キャッシュ後)

wordpressがらみ

http://ja.wordpress.org/

最新版をやってみるとエラーが発生。

サーバーPHP バージョンは 5.1.6 ですが WordPress 3.4.2 は 5.2.4 以上のみでご利用になれます。」

phpmysqlバージョンアップはやっかいそうなので、

3.1系を選択する。。

http://ja.wordpress.org/releases/

※↑結局、後日phpmysqlバージョンアップをやりました。

ソースをUP

DBを作る

http://自分サーバIP/phpMyAdmin/

ホームの「新規データベース作成する」と書いてある所の下にある、

DB名⇒wp、照合順序⇒utf8_unicode_ci

wp-config.php

を修正する。

プラグイン

WP-DBManager

WP Super Cache

WP to Twitter ←まだ設定してない

WPtouch ←/wp-content/plugins/wptouch/themes/core/core-header.php をちょこっと変更すればiphoneでxvideo再生ができる。

○人気記事一覧

http://the-fool.me/wordpress/plugins/wordpress-popular-posts.html

テーマデフォルトのまま。。

XML-RPC自動投稿

設定⇒投稿設定⇒Atom 投稿プロトコルXML-RPCにチェック

もう1個負荷確認

https://loadimpact.com/

キャッシュが効いていて問題ないことを確認。

クローラーを作る

wikipediaから取ってきた女優名をカテゴリテーブル(wp_terms)に突っ込む。(5,260人でした。)

↑これは月に2回更新。cronで動かすことにした。

googleブログ検索(24時間以内のもの)に女優名をつっこんで、

出てきたサイト情報を取得すればOK。

(とりあえず、引退した人の動画は少ないだろうと考え、現役2,762人分のxvideosを取得してみた。処理時間8時間、192件取得できた。)

双方とも、スクレイピングを使えば簡単に取得できます

http://www.kaasan.info/archives/1457

念のため、巡回するごとに、sleep10秒してます

動画URLを取得したら、削除されていないか調べて、OKだったら投稿

PHPからRPC投稿するやり方は、

http://www.multiburst.net/sometime-php/2009/04/newpost-with-wordpress-xmlrpc-api/

↑ここらへんを参考に

http://pear.php.net/package/PEAR/download

pear自体はここにあるので、「XMLフォルダのみをUP。

だいたい、30分で10記事取得できることがわかったので、

毎日深夜に10記事取得するようにする。

【cron設定】

$ crontab -e

00 04 * * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_X.sh >/dev/null 2>&1

00 03 1,15 * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_XXX.sh >/dev/null 2>&1

http://miya0.dyndns.org/pc/settei/crontab.html

----------------------------------------------------

1日何件の更新とするか?10件ぐらい?

↑旬な情報が取れないが、とりあえず。。

前日のterm_idを記録して、

次の日はそれ以降のデータを取得する。

次のterm_id存在しなかったら、1からやる。

----------------------------------------------------

今後の追加機能予定

jqueryお気に入り作成cookieを使う。(PCのみ?)

☆好きな女優を登録しておけば、記事の更新情報メールで通知。

デザイン修正。。

感想

すぐできるかと思いましたが、結構時間かかりました。

実際、なんとなく勉強になった気もするし、楽しく作業できました。

皆さんもぜひ。毎日が少し充実しますよ。

まったくアクセス無くても、自分用にとても良いものができたと思っているので満足です。

もし繋がりにくくなったりしたら、

別のレンサバに変更しますー。

サイトオープン後のあれこれは、

随時こちらに追記していきますね。

最後まで読んで頂いてありがとうございます

2012/11/8 追記

サイトオープンから10日ほど過ぎたので状況をお知らせします。

はてぶは全くだめだった。。

ページビュー1000/日

(日々増加しているが、検索エンジンからくるようになってもまだこんだけ。。)

メモリは問題なし。512MB中ピークでも300MBぐらいしか使ってない。

30分に一回メモリ監視を仕込んだ。

# vi /usr/local/bin/memrep.sh

date >>$1

free >>$1

echo >>$1

# chmod 744 /usr/local/bin/memrep.sh

本日テスト的にDMM広告を張ってみました。。←すぐ消した。。

また、後日お知らせしますね。

2012/12/3 追記

1か月経ったので。。

topスライダー付けてみました。

ページビュー2500/日

自動更新なのに、きっちりアクセスは日々増えて続けていますエロは強い。

アクセス少ないので、負荷は全く問題なし。

Swapも全く使ってない。

忍者AdMax貼ってみたけど、1日20円とかで、まったく駄目。。

レンサバ代にはなりそうだけど。。なんか良い広告いかな。。

2012-03-18

WEBサイト発注してみた。

アニメゲームキャラクター情報をまとめてるサイトがないから作りたいなぁって

思ってたんだけどhtmlは初歩しかからないしプログラミングもできないので構想するだけで作れなかった。

ゼロから4ヶ月でWEBサービスをリリースした人の記事を見つけて「自分にもできるかな!」なんて思い挑戦してみたけど理解できず挫折・・・orz

WEBサービスを個人で作ってる人達が羨ましいです。

それでもWEBサイトを作りたかったので制作会社発注してみようと思い立った。

ただのキャラクターデータベースだけではつまらないのでコミュニティ要素なども付けて

ネットで見つけた制作会社見積もってもらうと下記のようになった。


合計1,483,125円


以前、SNSウェブカレ」のサイト制作費が1千万円で安く仕上がった(潰れたけど・・・)という話があったか

なんとなく3~400万くらいかかるんじゃないかなと不安だったんだけど予想より安い見積もりだったので、

このくらいの金額ならなんとか出せる!ということで制作してもらうことにしました。

本当は何社かに見積もってもらって比較しようと思ったんだけど面倒だったのでそのまま制作をお願いすることにした。

最初はもう少し高かったけど機能の簡略化とオープンソースライブラリを使用してもらう事で費用を抑えてもらった。)

去年の10月の頭くらいから打ち合わせを始めて第1フェーズワイヤーフレーム作成仕様策定をして第2フェーズhtmlシステム開発

移ったのは中旬だったかな?その段階で前金で4割の580,650円を支払いました。

制作会社には3回くらい打ち合せに行って、あとはメールでやり取りしていました。

当初は12月中にリリースを予定してたんだけど、なんだかんだで伸びてあらかた出来上がったのが2月中旬くらい。

見積もりがちょっと甘かったんじゃないかなぁって思うw

ちなみに僕はヒッキー(どれくらいヒッキーかというと外出は3日に1回くらい)なので制作してもらっている間は

家でずっとサイトに必要なアニメデータを収集していました。

↓作ったサイト

http://neoapo.com/


以下、サイト設計担当してくれた人の製作記。

サーバ設定

サーバさくらVPS 8Gを使用。CentOS5の64bit

設定した項目は以下のとおり

HDDが3つあって、普通に/var/wwwコンテンツを入れていくとHDDが溢れそうだったので、容量の大きいものを使うように工夫したりなど。

メモリもそこそこ積んであるサーバなので、mysqlphpapcに多めにメモリを割り当てる設定をした。

データベース

本当はmyISMやInnoDBエンジンでLIKE "%word%"のようなクエリーを投げて十分なパフォーマンスが出ればいいんですけどね。

それはムリなので、全文検索エンジンとしてgroongaを使用。

groongaを使用するために先にインストールしたのはこんな感じ

この時点でいざ、groonga!と思ってgroongaをインストールしようとすると競合を起こして入らない。

epel、remiレポジトリからインストールしてあったmysqlと衝突してたのでyum remove "mysql*"で

一旦mysqlを消して、groongaレポジトリからmysqlとgroongaをインストール

するとgroongaは入ったものの、今度はphpから使おうとしてもphp-mysqlパッケージが入らない。

あちらを立てればこちらが立たぬ状態で本当にこまった。

どうしようもないので、やりたくないけどyum-downloadonlyを使ってパッケージに含まれる設定やら、soファイルなどを直接とってきて入れた。

mysql.so、mysqli.so、pdo_mysql.soを/usr/lib64/php/modules/にコピーしたり、設定をコピーしたり、少しずついじりながら、なんとか動いてくれた。

状態としてはmysqlとgroongaはgroongaレポジトリからphpと本来php-mysqlパッケージインストールされるmysql.soは手動で置いたことになる。

シェルから直接mysqlログインするときはgroongaレポジトリのやつを、phpからmysqlを呼ぶときは手動で置いたmysql.soを使うことになっている。

ちょっと心境的にしんどい。別の方法があったかもしれないけど、調べても分からず結局1日くらいかかった。

アクセスカウンタ

アクセスは、サイト全体(トータル)、サイト全体(当日分)、各コンテンツ日別、各コンテンツ週間、各コンテンツトータルのアクセスをとるようにしています

高速だとうわさのredisアクセス回数を残しています

検討した候補はmemcaced、apcmysqlredis、fileあたりなんですが、

memcacheはサーバリスタートするとデータが消える。

apcapacheリスタートするとデータが消える。

fileは候補にあがったものの、メンドウ、、どうせなら楽な既製品がいい。と思って候補からしました。

残るはmysqlredisだけど、redisが高速って聞いていたのでredisにしてみました。

最初全部redisに入れて、集計した結果をmysqlに入れるつもりでしたが、週間ランキングなどはINSERT INTO .. DUPLICATE ONを使って、

アクセスした週の月曜日00:00:00のタイムスタンプコンテンツIDキーにしたレコードを作ればそのまま週間ランキングになるなー。と思ってmysqlを使っています

コンテンツのトータルアクセス数コンテンツレコードpvという項目をつくってUPDATE table SET pv=pv+1 WHERE id = ? のようにしました。

最初難しく考えていたけど、こうすることによって大分楽になったなーといった感じ。

まとめ

全文検索エンジンや対話検索、ここにこのリンクがあればなぁ。。という所に何とかしてリンクを作るのが本当に大変だった。

使い勝手を良くするために、ここにこの機能をなど、さくっと思いつくのは簡単でもそれを実現するために、あーでもない、こーでもないと

DBプログラムとにらめっこしながら「あ!こうすればできる!でもそうすると今度はこっちが・・・」みたいなのがあったりでとても大変だった。

そんなに機能がないような感じがしても、このサイトだけでテーブルが20個あって、途中本当に死にそうだった。

2012-01-18

Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1

 

42 : デフォルト名無しさん : 2011/11/12(土) 23:53:51.20

Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ

端末からテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに

PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?

けどまぁ、情弱文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか

45 : デフォルト名無しさん : 2011/11/13(日) 01:41:24.25

数値計算や端末からテキスト処理なんてWeb系じゃ大して使わないからなあ…

43 : デフォルト名無しさん : 2011/11/13(日) 00:04:23.30

PHPが未だに現役なのは、単に歴史的な経緯でしかないだろ

Pythonに関しては、ZopeさえコケていなければWebサーバLLとして大成功していたはずなのに、

Railsなんかが登場したおかげで、すっかり影が薄くなってしまますた....

44 : デフォルト名無しさん : 2011/11/13(日) 00:49:55.28

zopeってコケてたんだ

ってか、railsインスパイアされたフレームワークって今じゃ幾らでもあるよね

djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、

pythonPHPの方がユーザー数は圧倒的に多いと思うんだけど

本家railsって、他を遥かに越えるほど良いものなんだっけ?

48 : デフォルト名無しさん : 2011/11/13(日) 08:30:25.68

44

Zopeが登場した当時、RDB+PHPはもう古い、これからOODB+ZopeWebの中軸になる!」

さかんに宣伝され、雑誌でもZope特集が組まれていた

 

少なくとも自分ZopeからPythonという言語を知ったし、その時点でRubyは知らなかった

そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう

今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい

 

djangoCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう

しかしRailsはRailsコミュニティの活動が活発だし、その進化は異常に早い

 

Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoCakePHPから

何かのイノベーションが提示されでもされない限り、後発のdjangoCakePHPRailsに追いつくのは無理

Railsは決して技術的に完璧Webフレームワークではないんだけどね....(たとえばSeaSideのような.... )

 

からこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

51 : デフォルト名無しさん : 2011/11/13(日) 12:55:40.83

 C a k e P H P は う ん こ   

遅い、設計が古い、動作がおかしいの3重苦

日本では流行ってないけど海外だとYiiが流行ってきてる

55 : デフォルト名無しさん : 2011/11/13(日) 17:31:12.14

CakePHP使ってんの?

可哀そうにw

53 : デフォルト名無しさん : 2011/11/13(日) 14:44:48.55

求人PHPばかりだからPHPやるしかないだろ。

57 : デフォルト名無しさん : 2011/11/13(日) 19:34:04.95

でもやっぱりいつもの使い慣れたLL(Python/Ruby)で

Webサービスを書きたいってのがある

73 : デフォルト名無しさん : 2011/11/15(火) 17:32:46.07

アメリカ言語ユーザー数は

Python>>>>>>>>Ruby

求人数は

Ruby on Rails>>>>>>>>Django

http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=

どういうことなの?

74 : デフォルト名無しさん : 2011/11/15(火) 17:48:15.59

RubyRails以外に使い道がないか

75 : デフォルト名無しさん : 2011/11/15(火) 17:54:35.50

海外ではRubyは昨今のRailsバブルのお陰で

もはやWebスタートアップ共通語になってるらしいからね

求人数が多いのはそのためだと思うよ

76 : デフォルト名無しさん : 2011/11/15(火) 18:03:23.05

なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・

Pythonのほうが使いやすいと思うのだがフレームワークRailsが優位なんだろうか

77 : デフォルト名無しさん : 2011/11/15(火) 18:23:14.33

Djangoは周辺ライブラリ微妙だし本体も鈍くさい感じがする。

でも、FlaskはSinatraより好きだからPythonが嫌いってわけではない。むしろ好き。

 

ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。

78 : デフォルト名無しさん : 2011/11/15(火) 18:38:46.28

同感だ

同じように思っている人が他にもいて安心した

79 : デフォルト名無しさん : 2011/11/15(火) 18:54:37.13

PHPJavaScalaには

Railsみたいなフレームワークあるのに

Pythonはいいのないんだよな

80 : デフォルト名無しさん : 2011/11/15(火) 21:19:09.89

PHPフレームワークが乱立しすぎているから、RailsPHPで実装してみようというやつが出てきた。

Scalaも注目されだしたのはつい最近のことだしな。

それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、

つの間にかフェードアウト

ただ、どうやってもRailsもどきRailsを超えることはできないのは間違いない。

83 : デフォルト名無しさん : 2011/11/15(火) 21:25:38.55

パクリオリジナルを超えられない(キリッ って定型句だけど、

これってキリッって言いたいだけだと思う。

後発品が先に出たものを超えたものなんていくらでもあるから

84 : デフォルト名無しさん : 2011/11/15(火) 21:30:04.39

D言語って超えたって?

85 : デフォルト名無しさん : 2011/11/15(火) 21:31:12.00

B言語って超えたって?

86 : デフォルト名無しさん : 2011/11/15(火) 21:53:33.76

でもRailsRubyの黒魔術を使いまくりから

PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない

90 : デフォルト名無しさん : 2011/11/15(火) 22:50:07.81

スタートアップなんて根無し草の集まりにとって、

googleが囲った言語coolさを見出せないんだろ

123 : デフォルト名無しさん : 2011/11/20(日) 11:32:16.79

まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ

91 : デフォルト名無しさん : 2011/11/15(火) 22:52:42.98

そういう理由じゃなくてRailsのほうが単純に情報プラグインも多いからでしょ

3 : デフォルト名無しさん : 2011/11/15(火) 23:07:07.67

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

わざわざ不合理で不完全な言語を使うなんて

社会からハミ出た奴らの精神的な作用によるものじゃないの?

95 : デフォルト名無しさん : 2011/11/15(火) 23:20:20.21

django情報プラグインが増えないという、

現実に対する鬱憤を吐いてるようにしか聞こえないな

もしも

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

真実であるのなら、今頃はdjango情報プラグインが溢れかえっているはず

104 : デフォルト名無しさん : 2011/11/16(水) 01:20:49.05

Python信者乙。

yumや、gdbgnome拡張pythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。

ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。

94 : デフォルト名無しさん : 2011/11/15(火) 23:15:11.93

というか、世界中Pythonプログラマが Remeber Zope!! を合い言葉

打倒RailsたるWebフレームワークを開発しているはずだけど、

いまだにRailsを超えるプロダクトが登場しないのはナゼ?

Railsも登場してから、かなりの年月が経過しているんだけどなぁ....

その間にもRailsRails 3が登場して、REST/AJAXの強化等の進化継続しているよ

347 : デフォルト名無しさん : 2011/12/09(金) 10:16:35.22

Ruby では

ary.map {|x| x**2}

となるものが、Python では

map(lambda x: x**2, ary)

となり、lambda の本体が1つの式では表現しきれなくなると

def mapper(x):

.....

map(mapper, ary)

書き換える必要があります

348 : デフォルト名無しさん : 2011/12/09(金) 10:24:20.94

Pythonのlambdaを用いた階乗計算

f = lambda x:(x and f(x-1)*x)or 1

RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから

andやorを使った不自然記述をしなくても

f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}

または

f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}

と書けます。lambda内でreturnが使えますから、書きたければ

f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}

でもOKです。

390 : デフォルト名無しさん : 2011/12/10(土) 15:35:41.62

348

これはPythondisっているように見せかけてRubydisっているのか? と一瞬思ってしまったw

だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…

そしてどっちもlambda式の中で束縛変数名前再帰可能、と

350 : デフォルト名無しさん : 2011/12/09(金) 11:12:13.28

要素に対する関数適用と、抽出を組み合わせる場合

Python

print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]

暗号のように見える。

Ruby

puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}

思考の流れと、コードの流れが一致しているので書きやすい。

351 : デフォルト名無しさん : 2011/12/09(金) 11:22:55.04

だれだPythonなら書き方はひとつとか言ってるのは

map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))

354 : デフォルト名無しさん : 2011/12/09(金) 12:22:07.37

pythonて可読性が高いのをうたってる割にはそこいまいちだよね

353 : デフォルト名無しさん : 2011/12/09(金) 12:10:08.46

Ruby場合には、左から右へと無名関数データフローあるいは

パイプラインのように並ぶからコードが読みやすい

 

関数型プログラミングに不慣れな初心者でも、参照透明性のあるコード自然に書ける

プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby

 

それと比較すると、Pythonコードは、関数型プログラミングというもの

いかに高度で難解なものであるかという事をもったいぶってプログラマ押し付け

 

もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう

356 : デフォルト名無しさん : 2011/12/09(金) 12:53:45.66

階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す

result_list = source_list.map { |elem|

  x = foo(elem.x)  # ここが局所宣言を書く部分

  y = bar(elem.y)  # ここも局所宣言の続き

  x + y       # 最後に評価された式の値が、無名関数のリターン値になる

}

Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから

x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける

このポイントは、実用的なプログラム関数型風で書こうとした時に、威力を発揮する

357 : デフォルト名無しさん : 2011/12/09(金) 12:59:21.07

余計分かりづらくなった

358 : デフォルト名無しさん : 2011/12/09(金) 13:17:26.54

リスト内包表記が暗号みたいと言ってる奴は

高卒ドカタなんだろうなぁと可哀想になる

大学数学に触れる機会があれば

集合の表記に似せてることが分かるから

386 : デフォルト名無しさん : 2011/12/10(土) 01:41:34.46

数学とかで慣れてるし区切りが関数のがわかりやすい

359 : デフォルト名無しさん : 2011/12/09(金) 13:46:31.97

355

map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。

関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね

Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ

360 : デフォルト名無しさん : 2011/12/09(金) 13:53:28.85

Rubyだと直感的に書けるコード

[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')

Pythonだと読みにくい。

'-'.join(map(str, reversed(sorted([1,4,3,2]))))

361 : デフォルト名無しさん : 2011/12/09(金) 14:07:17.88

360

Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....

364 : デフォルト名無しさん : 2011/12/09(金) 14:28:55.99

カッコだらけのコードを分かりやすくする基本的な方法静的単一代入じゃないか

Rubyのやり方は基本ではなく玄人のやり方だろ

372 : 369 : 2011/12/09(金) 16:21:03.82

Pythonでは組み込みの型でメソッドチェインはやって欲しくないな

listにmap,filterメソッドができたとしても、

似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。

シーケンスプロトコルの利点が活かせない。

383 : デフォルト名無しさん : 2011/12/10(土) 01:17:28.39

372

外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてます

Rubyユーザーは列挙可能なものmapselectできて当然だろって思ってる気がしま

377 : デフォルト名無しさん : 2011/12/09(金) 18:41:51.79

Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる

得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない

Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い

379 : デフォルト名無しさん : 2011/12/09(金) 18:48:52.27

Pythonユーザー調教っぷりは異常

「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く

387 : デフォルト名無しさん : 2011/12/10(土) 13:40:40.74

リストの内包表記はシンプルに書けるときは使うけど

基本その場でdefするのがPython風なんだと思う。

389 : デフォルト名無しさん : 2011/12/10(土) 14:40:31.04

無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像

384 : デフォルト名無しさん : 2011/12/10(土) 01:23:49.48

outer(center(inter( arg )))

これを読みづらいと感じるのは、左から右に流れる

日本語文に慣れているからだと思うが、

もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?

385 : デフォルト名無しさん : 2011/12/10(土) 01:34:57.89

なるほど、ということは右から左、左から右どっちでも行ける言語が最高ですね

F#パイプライン演算子最高ということで

2011-12-15

cent osでのphp5.3環境のセットアップ with "yum"

FuelPHP Advent Calendar 2011 の 15日目。

FuelPHP の URL とコントローラの関係から続いて寄稿します。

@eifukuです

早速ですが本題。

といって、そもそもの経緯を先に。

fuelphpを試そう!ってなもんで既存サーバPHP5.3にしよう〜という所が発端。

既にyumPHP5.2ベース環境が構築してあったせいで、色々とconflictしてインストールに手間取る。。。

案外、環境構築ってはまると手間よねーといった意味合いも込めて、

今後の参考迄に割とストレートにいける様にセットアップ手順をログます

今回はせっかくなので、色々と最新パッケを用意します。

LES RPM DE REMIのリポジトリ登録

そもそも、yum提供しているのはPHP5.2。

なので、fuelphpを動作させるために、今回は最新のRPMパッケからPHP5.3をインスコ

最新のrpmを確認してインストール

$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

apache2をインストール

$ sudo yum install apache2

mysql(v5.5)をインストール

既存mysqlを使う人は飛ばして次項へ。

(PHPを先にインストールすると色々こけるので先にmysqlをセットアップ)

$ sudo yum --enablerepo=remi install mysql mysql-server

で起動テスト

$ sudo /etc/init.d/mysqld start

いや、こけた。

起動せず。。

ふむ。repositoryをremi-testにしなければダメな模様。

再度インストール場合には依存関係のパッケージconflictするのでとにかく消す。

ごっそり消す!!

$ sudo yum remove -y mysql*

インストール

$ sudo yum --enablerepo=remi-test install mysql mysql-server

$ sudo /etc/init.d/mysqld start

Starting MySQL: [ OK ]

いった!

自動起動設定だけ済ませて次へ。

$ sudo /sbin/chkconfig mysqld on

php諸々をインストール

既存php5.2以前がある場合は、やはりとにかく、ごっそりremove!!

で以下に続く。

$ sudo yum --enablerepo=remi install -y php php-mysql php-xml php-mbstring php-common

以上でfulephp動作前の環境構築準備は完了!

ほんとはハマった辺りのログとかも入れた方がいいんでしょうが、今回はこれでご勘弁。

ソースから入れた方が楽だよなぁ・・・と何度か方向転換しかかりましたが・・・なんとか。

明日16日目は@madmamorさんの「FuelPHPのcoreクラスを拡張してみる。ですね!

おたのしみに!

2011-08-04

独学のプログラムエロ動画検索作ってみた

【お知らせ】2011/09/07

新しいエロWEBサービス作りました

http://d.hatena.ne.jp/uniqueweb/20110906/1315285545

プログラムは全く得意じゃないけれど最近よく見かけるようになったエロ動画検索自分でも作ってみたくて頑張ってみました。

近年、インターネットの普及によりエロ動画が自宅で簡単に見れるという素晴らしい時代になりました。

自分が若い頃はインターネットなんてものはなくエロビデオが主流でドキドキしながらレンタルビデオ屋に行き、可愛い女の子レジにいない隙を見計らってお兄さんにパッケージを伏せて空箱を渡しビデオを借りたものでした。

お兄さんにビデオ空箱を渡そうとした時に可愛い子がレジに戻ってきて焦って渡すのをやめてものすごく変な動きをしながらエロビコーナーに引き返していくなんてことも多々ありましたw

僕のお気に入りといえば「白石ひとみ」や「あいだもも」といった女優でよく借りてました。エロビを借りるということがものすごく恥ずかしい時代?年頃?でカモフラージュ普通ビデオと一緒に借りるということもしていました。それはそれは大変な思いでオナニーしてたんです

しかも、ビデオデッキ自体が貴重な時代でリビングに一台しかないのが当たり前でした。

深夜家族が寝静まってからヘッドフォンビデオを抱えリビングに行き暗がりの中でヘッドフォンテレビ差し込んでビデオ再生ボタンを期待に胸をふくらませながら押したものです。いいシーンを何回も見るためにビデオを巻き戻すんですが、ビデオを巻き戻すガチャガチャンという機械音で家族が起きてこないか?とかそれはそれはドキドキしながら見てました。一仕事終えたあとヘッドフォンを外したらジャックが外れていて大音量で喘ぎ声が響き渡っていたなんてこともありました。誰も起きてこなかったのは優しさなんでしょうか?w

さて、大分前置きが長くなりましたがエロというものものすごい技術発展させるものだと思いますエロのおかげで日本ビデオは普及しエロのおかげで日本インターネットものすごく普及したと言っていいと思います自分エロを通して技術の発展に貢献し自分自身のスキルアップになれば。という高い志を持ってこのサイト制作しました。決して自らのオナニーライフの充実と性癖を充たすため作ったわけではありません・・・

※2011.08.07 利用中のサーバーに障害が発生しているようで現在サーバー接続できない状態となっています・・・

※2011.08.07 23:53 復帰した模様です

サイト名:ヌキネーター

サイト名の由来は抜きネタからきています。抜きネーター、ヌキネーターという感じです

エロサイト制作工程日記にしてみたんで良かったら読んで下さい。そしてこのサイトを使って夜いろいろと励んでくれたら嬉しいです

では制作日記を書いていきたいと思います

サーバー選び

まず前提条件としてお金ほとんどかけたくない。アダルトサイトであるということから

サーバー選びからはいりました。

月の予算は5000円以内で考えていたのでけっこう探すのが大変でした。

日本アダルトサイトを許可している所はかなり限られていてさらにやりたいことができるのは

専用サーバーVPSしかないのでそうなると専用サーバー予算オーバーなので

VPSで探すことになり検索しまくってはじめに見つけたVPSはKAGOYAのVPSだったのですがβ版で募集を締め切っていて泣く泣く諦めました。

KAGOYAはかなり評判がいいみたいなので使ってみたかった。

次に見つけたのが○○○VPS海外サーバー日本語サポートがあり転送量の制限なしディスク容量100G

月1300円程度で借りれるということで初期設定費用に5000円程度かかりましたが借りてみました。

結果、ここは最悪でした。

  • 通信が頻繁に切れる
  • 激重
  • 借りて一ヶ月もしないうちにサービス継続が困難になりそうなのでIPが変わるとかメールがくる
  • まりに通信環境が悪すぎるとメールすると環境調査に協力してくれとメールがくる
  • 時間をかけて沢山の項目を調べて返信するも全く返答がない。

まりの酷さに1ヶ月で解約。

よく調べてみたら評判がものすごく悪い某VPS再販らしいです

お金時間をドブに捨てました・・・

もう失敗したくないと思い今度は比較的有名な海外サーバーLINODE

日本語サポートはないけれど抜群のサポートです

iptablesの設定でどうしてもうまくいかなくて拙い英語メールしてみたら

10分しないうちに返信がきました!

メールに書かれているとおりにコマンド入力したらあっさり解決。

素晴らしい!はじめからLINODEにすればよかった。

担当ブライアンはなぜか分からないけどとてもフレンドリーで親切に感じましたw

サーバー設定

LINODEは複数のディストリビューションから好きなものを選択できるので

とりあえず、64bit版を選択。

サーバー設定はほんとに面倒ですね。

一番面倒だけど重要だということで

SSH

Tripwire

chkrootkit

Clam AntiVirus

iptables

Apache

SSL

その他各種監視ツールの導入をしました。

ほんとに面倒でした。

データベース

はじめはmysqlストレージエンジンgroongaを使おうと思ったのです

初めに借りた最悪なVPSOSが32bit版だったのでgroongaがのソースが見つからずなぜかと思っていたら

どこかで見つけた記事で32bit版ではgroongaの性能を発揮しきれないということで32bit版の提供をやめてしまったらしいと書いてたので

じゃあ、sennaにするかということで最悪VPSsennaインストール

その後LINODEに変更したのでOSに64bit版を選択し念願のgroongaをインストール

しかし、調べてみると

などが理由で、結局sennaに戻して2度手間に・・・

プログラムもそれに合わせてその都度書き換えたので2度手間どころか3度手間4度手間でした・・・

senna導入はrpmでさくっといけるので簡単です

依存関係で少しはまりました。

まず

# rpm -qa | grep -i mysql

mysqlインストールされてたら削除

perl-DBIが必要なのでインストール

# yum install perl-DBI

そして下記の順番でインストール

rpm -ivh mecab-0.98-tritonn.1.0.12a.x86_64.rpm

rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm

rpm -ivh senna-1.1.4-tritonn.1.0.12a.x86_64.rpm

rpm -ivh MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm

rpm -ivh MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm

rpm -ivh MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm

rpm -ivh MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm

my.cnfの設定をして終了

で肝心の全文検索ですデータ件数が5万件程度で少ないせいなのか、あいまい検索と比べてそれほど速さを実感できなかったです・・・

でもきっとすごく速くなったはず!

ちなみに「麻美ゆま おっぱい」で検索した場合、0.01 secで結果が返ってきました。

動画データ作成

さて、動画データ作成ですがいくつかのエロサイト制作記事でもあるようにスクレイピングということをします。

スクレイピングとはWEBサイトから特定の情報だけを取得することでネット上にあるサイトクロールして必要なデータだけを拾ってデータを作るといった感じでしょうか。

スクレイピングプログラム自体は以前にTidy関数を使って為替データ10分おきに取得するような物を作ったことがあったのでそれほど時間はかからいかなと思ったのですがけっこう時間かかりました。

スクレイピングにはTidyhtmlSQL、それにPHP Simple HTML DOM Parserを使いました。

下記のサイトを参考にしました。

phpによるスクレイピング処理入門

SQL みたいな文法で HTML を抽出する PHP のライブラリ

htmlSQLよりアツい!?jQueryみたいにセレクタでHTMLをparse(解析)する「PHP Simple HTML DOM Parser」

つの中で抜群に使えるのはPHP Simple HTML DOM Parserだったんです

ループ処理させるとメモリがすごいことになって今回のようなスクレイピングに向いてないみたいで

結局、htmlSQLTidyの両方を使ってスクレイピングしました。

両方ともPHP Simple HTML DOM Parserに比べるとうまくデータの取得ができないことが多く残念な感じなんですが他に選択肢がないので・・・

使える順に並べると

PHP Simple HTML DOM Parser

htmlSQL

Tidy

といった感じかもしれません。

おおまかにデータを取得して正規表現で特定データを抜き出しました。

広告との連携

広告にはDMMアフィリエイトを利用しています

http://affiliate.dmm.com/link.html

利用可能な物はパッケージ画像、サンプル画像(縮小)と書かれていたのでそれに従い画像を利用。

注記に※ユーザーレビュー引用いただけません。とだけ書かれているのでそれ以外は引用ありと判断して説明文とタイトルなどを利用

女優データジャンルデータDVDデータ、を紐付けたデータベース作成検索ワードに応じて検索結果に関連する商品を表示させるようにしました。

現状、売り上げ0で意味があるのか分かりませんけどw

負荷対策とか転送量とかDOS攻撃対策とか

エロサイトということで多少はチューニングとか設定とかしないとまずいかもと思い色々調べて設定しました。

やったこと

KeepAlive On

MaxKeepAliveRequests 60

KeepAliveTimeout 3

<IfModule prefork.c>
StartServers       7
MinSpareServers    5
MaxSpareServers   10
ServerLimit       30
MaxClients        30
MaxRequestsPerChild  4000
</IfModule>

様子見ということで2日間で設定してみました。

query_cache_limit=1M

query_cache_min_res_unit=4k

query_cache_size=16M

query_cache_type=1

とりあえずこんなところを設定してみましたが、爆発的なアクセスがあるわけでもないので有効なのか今のところ分かりません(-_-;)

Apache Benchでテストはしてみましたけど問題はない感じですが実際にチューニングができているか分かりません。

サイトデザイン

プログラマーとして有名なゆうすけさんのサイトgoogleを参考にしました。

シンプルで使いやすいようにしようと思いこのデザインしました。

3カラム中央可変となっています

クロスブラウザIE7、firefox3、chromeで行いました。

可変ものって作ったことなかったんですがけっこう面倒なんですね。

サイト機能

ブックマーク機能とメニューの折りたたみ機能検索結果の表示方法切替を作りました

まず、ブックマーク機能ですログインなしで気に入った動画ブックマークできるようにしました。

ブックマークに追加した動画ブックマークページで確認できるようにしました。

cookie機能を利用したらいけると思い色々調べてjquery.cookie.jsを利用。

保存したクッキー情報を呼び出してphpに渡して処理し指定要素にブックマーク一覧をloadメソッドで表示させるという感じです

$(function(){
$("#youso").load("xxx.php");
});

メニューの折りたたみ機能は人気AV女優AV女優別、人気タグなどをそのまま表示させるとずらっと長くなって邪魔だったのでつけました。

これには同じくjquery.cookie.jsを利用しました。

参考サイトhttp://blog.caraldo.net/2009/03/newjqqookiemenu.php

検索結果の表示方法切替にはZoomer Galleryを利用しました。

参考URLhttp://phpjavascriptroom.com/?t=ajax&p=jquery_plugin_zoom#a_zoomergallery

検索結果ページで表示される

[ここの画像]

××× の検索結果

44件中 1~10件目を表示

ここの画像の部分をクリックするとgoogleイメージ検索みたいに一覧でイメージ表示できるようにしてみました。

動画表示ページ

基本的に動画の埋め込みを許可しているサイトのみプレイヤー表示をしそれ以外は画像を表示し動画データリンクするようにしました。

埋め込み部分はあらかじめそれぞれのサイト対応したプレーヤー部分のコード記述しVIDEOIDの部分に置き換えるような形にしました。

XVIDEOSを例にすると

XVIDEOS場合かならず動画urlhttp://www.xvideos.com/videoXXXXXX/のようになりますのでXXXXXXの部分を

VIDEOID部分に置き換えるようにプログラムを組みました、

埋め込み部のソース

>||<object width="510" height="400" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://static.xvideos.com/swf/flv_player_site_v4.swf" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="id_video=VIDEOID" /><embed src="http://static.xvideos.com/swf/flv_player_site_v4.swf" allowscriptaccess="always" width="510" height="400" menu="false" quality="high" bgcolor="#000000" allowfullscreen="true" flashvars="id_video=VIDEOID" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
||<

その他の動画サイトURLの一部分のデータを使っているので同様の処理をしました。

まとめ

実際の作業は2、3週間ですが色々調べる時間が多くて制作に2ヶ月くらいかかりました。

自分エロ動画検索を作ってみて有名プログラマーさん達がいかに優秀なのか思い知らされました。

皆さん思いついて数日で作ってしまうのでびっくりです

全くWEBの知識がない人で4、5ヶ月ですごいの作っちゃう人とかもいるみたいですし世の中広いな~と思います

しかし、エロサイト作りで勉強になりますね~

大分、色んな知識を得ることができました。

これからプラグラム勉強しようと思う人はぜひエロサイトから入ってみて下さい。

きっと楽しいですよ!

そんなこんなで?頑張って作ってみたエロ動画検索、良かったら使ってみて下さい。

これで少しは技術の発展に役立てたでしょうか?w

アダルト動画検索ヌキネーター

P.S エロサイトを作っていてはじめは楽しくて興奮しながら作ってたのです最後の方はエロい物を見ても全く反応しなくなりましたw

  不能ではないんですけど・・・現在も性欲が著しく減退しております・・・

  そしてスーパーpre記法がうまういかないのはなぜ?はてな匿名ダイアリー投稿全然からない・・・

  そしてそしてプログラマーさんとかデザイナーさんとかエロい人とかお気軽にお声をおかけ下さい。

【お知らせ】2011/09/07

新しいエロWEBサービス作りました

http://d.hatena.ne.jp/uniqueweb/20110906/1315285545

2011-07-25

poptop pptpd (PPTPサーバ) on CentOS5

1.POPTOPから最新版ダウンロード

wget http://sourceforge.net/projects/poptop/files/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz/download

2.tgzを解凍

tar xvzf ./pptpd-1.3.4.tar.gz

3. ./configure 実行

4. make 実行

5. make install 実行

コンパイルするので、ccgccが必要。

しかし、設定ファイルうんぬんを考えたら先でもハマりそうな予感がしたので

結局yumインストールした。

CentOS yum - File not found by glob .. しかIEでは読めるんだが

rpm -Uvh http://mirrorlist.centos.org/?release=5&arch=i386&repo=extras

error: File not found by glob: http://mirrorlist.centos.org/?release=5

基礎的なことだが、Linuxのコマンドラインもしかして"&"をうまく認識できないのかな?

CentOSyumがうまくできない時 - デフォルトGW設定

http://blog.mizoshiri.com/archives/93

(Cloud 9 さん ブログ)

社内サーバからはOKなのに

社外のサーバyumばかりかwgetpingもことごとくだめって、

FWの設定間違えたかな...などと考えをめぐらせつつググってみたら、こちらに解決手順が。


Windowsだと、デフォルトゲートウエイNICTCP/IP設定画面に含まれているけど

それって考えてみたら、デフォルトゲートウェイコンピュータ(ホスト)固有だからおかしいよね。

/etc/sysconfig/network-scripts/cfg-eth0

の項目をいじっても社外につながらなかった(/etc/sysconfig/networkGW設定も必要)

ことへのグチですけど。。

(デフォルトGWの設定画面含めて、route tableに統一して編集する方式も、OS設計的にアリだよな)。

2010-12-06

Wikileakswget -m でページ丸ごとダウンロードする方法

というか表題のコマンドを実行するだけであまり説明することもないが。

wikileaks.org でアクセス出来なくなったのもあり、いつサイト自体が無くなってもおかしくない(まぁ当初からずっとそうだけど)ので興味ある命知らずは丸ごとダウンロードしておくことをおすすめする。


WikileaksPaypal停止と「言論の自由」問題 | WIRED VISION
http://wiredvision.jp/news/201012/2010120523.html

(追記 2010-12-06)今日 wget してみたところ、1,708 ファイルで 67.0MB だった。大体 1 時間位でダウンロード完了できた。


wget の準備

Windowswget ないぜって人はこの辺から落としてこい。


wgetWindows版) - 俺の基地
http://yakinikunotare.boo.jp/orebase/index.php?wget%A1%CAWindows%C8%C7%A1%CB

Mac OS XmacportsLinuxapt-get やら yum やら使って適当インストールしてください。


wikileaks へのリンク

http://wikileaks.org (上述の記事の通り、DNS の登録から外されたらしい)

http://213.251.145.96/(多分本家

http://wikileaks.ch/(ミラーコピーサイト?)


コマンド

mkdir wikileaks

cd ./wikileaks

wget -m http://213.251.145.96/

※ "213.251.145.96" は wikileaks.org の登録元 IP。(だと思う)

あと、wikileaksミラーサイトになってくれるところを募集しているらしいので、更に命知らず(リアル命とセキュリティアタック的な意味で)な人はこの手順に従ってミラーサイトが公開できますよ。ちょいと wikileaks なんとかっていうドメインサーバスペースを契約してミラー作ってあげたらいいんじゃないですかね。


Bash | #### tutorial about how to set up a wikileaks mirr - Wikileaks mirroring tutorial(英語
http://pastebin.com/6q6E3Z0C

ちゃんと匿名ダイアリーで書いてるし(wikileaks.hatena.ne.jp まだかな!)、はてなの人も言論の自由を脅かすなんてことは、おっと誰か来たようだ

2010-05-24

危ない危ない

Fedora 12のアップデートGUIからやろうとしてしまったよ。

yum -y update

これじゃないとエラーが出ちゃうんだよな。

2010-04-22

Redmine 0.9.3をTomcat 6で実行する方法

結構苦労したので健忘録として。。

環境は以下のとおり

JDK, Tomcat, JRubyインストール済み

MySQLインストール
yum install mysql-server
MySQLの起動
/etc/init.d/mysqld start
MySQLの設定

rootパスワードなどを設定する

mysql_secure_installation
Rubyモジュールインストール

RubyGemsモジュールインストールする

jruby -S gem install rails
jruby -S gem install warbler
jruby -S gem install activerecord-jdbc-adapter
jruby -S gem install activerecord-jdbcmysql-adapter
jruby -S gem install jdbc-mysql
MySQLRedmineデータベースを作成
mysql -u root -p
mysql> create database redmine character set utf8;
mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine';
mysql> exit

(ここでは、パスワードredmineしているが自由に)

RedmineDB設定

(任意の場所にRedmine解凍して、解凍先のディレクトリに移動した後)

cp config/database.yml.example config/database.yml
vi config/database.yml

database.yml

production:
  adapter: jdbcmysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

#development:
#
#
#test:
#
#

後のwarbleでのエラーを防ぐため、developmentとtestコメントアウト

DBへのデータ投入
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake load_default_data RAILS_ENV=production
起動確認

script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する

jruby script/server -e production
production.rbの修正

Tomcatで動かしたときにログ出力するための設定をする

vi config/environments/production.rb
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::INFO
warblerの設定

warble.rbを生成

jruby -S warble config

warble.rbを修正

vi config/warble.rb
  config.dirs = %w(app config lib log vendor tmp extra files lang)
  config.gems = ["jdbc-mysql", "activerecord-jdbcmysql-adapter", "activerecord-jdbc-adapter"]
  config.gems["rails"] = "2.3.5"
  config.gems["rack"] = "1.0.1"
  config.webxml.rails.env = "production"

warファイルを作成

jruby -S warble

できたwarファイルTomcatに配置して、Tomcatを起動する

mv redmine-0.9.3.war /usr/local/tomcat/webapps/redmine.war
/usr/local/tomcat/bin/startup.sh

warblerのバグ(?)でwarに入らないファイルコピーして入れる

cp vendor/gems/rubytree-0.5.2/.specification /usr/local/tomcat/webapps/redmine/WEB-INF/vendor/gems/rubytree-0.5.2

http://localhost:8080/redmine/ にアクセスしてインストールできたか確認して完了!

2009-11-07

ああ

昔はRuby使いが暴れてたけど、今はPython使いが暴れてる。そんなム板。

こっちは、荒らしの巻き添え規制中。

んあー。

WindowsMingw&MSYSは便利なんだけど問題は、パッケージ管理する機構が無いことか。

何がどのバージョンなのか、どれが入って無いのか、さっぱりぽん。

うがー。

フィギュアパンツはね。

穿いてないのがあるんだよね。

それはそれで(新谷かおる先生)

うはー。

追記:

FedoraMingwパッケージ管理をやってるっぽい?

クロス開発環境らしい。Windowsyumが動いたら楽しそうだね。

2008-06-01

懐古厨デビアンでもフェドラでもなく、スラックウェアを勧めるテス

近頃の若いもんは(笑)

aptだの、yumだのに頼りきりおって(笑)

configure; make; make install こそが至高の技だと言うのに(笑)

げふん、げふん。

ああ、make; make installはSlackwareですら無かった(笑)

tgzってなんだよ。pkgtoolでいいのか?

よくわからん(笑)

どーせ、Slackwareパッケージ管理システムなんてあてにしてない(笑)

大抵のマシンで動くようにコンパイルされたプログラムが自分のマッスィーン用に最適化されているはずがない。

いますぐコンパイルしなおせ!O3オプションつけろ!mcpuオプションプロセッサ指定して、悦に浸れ!

ただのmakeなんていかんぞ!

make -j100 でマシンパワーを見せつけてやれ!

なに!?スラックウェアと関係ないじゃん!?

どーでもよいのだ、そんなことは(笑)

でぃすとりの違いなんぞ、大したことでは無いわーわははははwwwwwwwwwwwwwwwwwwww

動けば良いのだぁっ

でぃすとりやパッケージ管理などどーでもよいのだー

yum! yum!

apt! apt!

ありったけのソフトを入れまくれぇぇぇ!!!!!

本文のタイトルなんぞ忘れたああああ

2008-04-20

http://anond.hatelabo.jp/20080418082905

そう言う意味では確かにUN*Xユーザ素人、というか意識が低い人が多いと思う。

rpmやらyumやらaptやらを何も考えずに使うってのはディストリビューター盲目的に信用して検品しないんだからね。

Windowsと比較すると、仕組み上WindowsUpdateなんかに近いと思うんだけど、ちゃんとテストPC用意して、先にそちらで更新して、問題なければ使う、という環境を構築してるならまだマシかな?

2008-04-05

さくらの旧(?)専用サーバ CentOS 4.6 を Linux-Vserver に入れ替えてみた

前置き

契約直後の初期状態

  • ホスト名をsakura2とした。
  • sshd と vsftpd が動いていた。
[admin@sakura2 ~]$ uname -a
Linux sakura2 2.6.9-67.0.4.ELsmp #1 SMP Sun Feb 3 07:08:57 EST 2008 i686 athlon i386 GNU/Linux
[admin@sakura2 ~]$ cat /etc/issue.net
CentOS release 4.6 (Final)
Kernel \r on an \m

CentOS 5 へのアップグレード(?)

中身の整理
  • なるべく最小構成に近い最新のCentOS4.6にしてみる。
# yum update
# yum remove emacs emacspeak emacs-leim emacs-common
# yum remove NetworkManager
# yum remove bluez-bluefw bluez-hcidump bluez-libs bluez-utils
# yum remove cups cups-libs
# yum remove irda-utils isdn4k-utils pcmcia-cs wireless-tools
# yum remove wpa_supplicant gpm xinetd
# yum remove ppp nfs-utils lksctp-tools autofs
# yum remove xorg-x11-libs
# yum remove selinux-policy-targeted
# yum remove vsftpd
# yum clean all
CentOS 5 にアップグレード(?)してみる
[admin@sakura2 ~]$ uname -a
Linux sakura2 2.6.9-67.0.7.ELsmp #1 SMP Sat Mar 15 06:54:55 EDT 2008 i686 athlon i386 GNU/Linux
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.1.0-2.i386.rpm \
http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-1.0.el5.centos.1.i386.rpm
[root@sakura2 admin]# cat /etc/issue.net
CentOS release 5 (Final)
Kernel \r on an \m

# yum update glib procps udev iptables
# rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.17.EL-1.el5.centos.1.i386.rpm \
http://mirror.centos.org/centos/5/os/i386/CentOS/mkinitrd-5.1.19.6-19.i386.rpm
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-1.39-10.el5.i386.rpm \
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-libs-1.39-10.el5.i386.rpm \
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-devel-1.39-10.el5.i386.rpm
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-53.el5.i686.rpm
[admin@sakura2 ~]$ uname -a
Linux sakura2 2.6.18-53.el5 #1 SMP Mon Nov 12 02:22:48 EST 2007 i686 athlon i386 GNU/Linux

# yum clean all

[root@sakura2 admin]# yum --version
Loading "fastestmirror" plugin
2.4.3
[root@sakura2 admin]# rpm --version
RPM version 4.3.3
# yum update
Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree
  • 解決法がわからないので放置

Linux-Vserver の導入

# vi /etc/ssh/sshd_config
# /etc/init.d/sshd restart
# vi /etc/yum.repos.d/dhozac-vserver.repo
# yum update kernel
# yum install util-vserver{,-core,-lib,-sysv,-build}
[admin@sakura2 ~]$ uname -a
Linux sakura2 2.6.22.19-vs2.3.0.34.1 #1 SMP Mon Mar 17 05:32:04 EDT 2008 i686 athlon i386 GNU/Linux

ホストOS環境の整備

# yum update bash screen rsync
# /etc/init.d/iptables save
# /etc/init.d/iptables start
# cat /etc/sysconfig/iptables

# Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008
**filter
:INPUT ACCEPT [1067:96557]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [63680:6208436]
:e0 - [0:0]
-A INPUT -i eth0 -j e0
-A e0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A e0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A e0 -p tcp -m tcp --dport 22 -j ACCEPT
-A e0 -p tcp -m tcp --dport 80 -j ACCEPT
-A e0 -p tcp -m tcp --dport 443 -j ACCEPT
-A e0 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Mon Mar 24 19:57:07 2008
# Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008
**nat
:PREROUTING ACCEPT [179:10642]
:POSTROUTING ACCEPT [213:13895]
:OUTPUT ACCEPT [251:16220]
-A PREROUTING -s ! 10.0.0.0/255.255.255.0 -p tcp -m tcp --dport NNNN -j DNAT --to-destination 10.0.0.1:22
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -d ! 10.0.0.0/255.255.255.0 -j SNAT --to-source AAA.BBB.CCC.DDD
COMMIT
# Completed on Mon Mar 24 19:57:07 2008

ゲストOSの設定

[root@sakura2 ~]# /usr/sbin/vserver-stat
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
40013   27 301.5M  73.8M  30m36s31  56m38s90  11d06h56 one
40015    5  10.8M   4.4M   0m28s33   0m12s68   9d04h23 two
40016    2   4.2M   1.3M   0m00s47   0m00s64   0m01s97 three

追記

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん