Kill one bird with two stones.

情報推薦、情報抽出を研究している大学院生の基本的にやったことのメモとか

!imsってなんだったっけ[メモ]

結構前に書いたプログラムみつけたら正規表現で見つかったものを

置換するところで、!imsってあってなんだっけと思って調べなおしたんでメモ

 

 

 

$p="!<script.*?\>.*?</script>!ims";
$str = preg_replace($p,"",$str);
で<script>タグで囲まれているものを除去するプログラム

 

!<scriptの !はデリミタと呼ばれいわゆる区切り文字

http://okumocchi.jp/php/re.php

の下のリファレンス見たら書いてあった

 

修飾子(デリミタの後に記載)

i・・大文字小文字の区別なし

s・・シングルラインモードにする(.が改行にマッチする)

m・・マルチラインモードにする(^と$が改行の直前直後にマッチ)

 

wikipediaのカテゴリ情報を入れる(new)

Wikipediaのダウンロードできるデータファイル一覧 | mwSoft

で紹介されていて、過去に

Wikipediaのデータをデータベースに入れる。 - Kill one bird with two stones.

で紹介した、Wikipedia Category links をMySQLDBに入れる方法。

 

環境は前回と同じく

PHP+MySQL+Ubntuで

 

 

ファイルのダウンロードと解凍

wget http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-category.sql.gz

 

解凍は例えば /home/userにファイルをダウンロードしたならそのディレクトリで

gunzip jawiki-latest-category.sql.gz

でOK

ちょっとデータをいじる

vim派なんでvim使うけど、

vim jawiki-latest-category.sql

で開いてデータを見てみるといいかもしれない。

でvarbinaryとなってるのがわかると思う。

varbinary型のままでいいならいいけど、

扱いずらいならばvarcharに書き換えて保存してやるといいと思う。

 

MySQLにデータを突っ込む

mysql -u root -p

mysqlクライアントに入る。

DBを作っていない場合

 

Create DATABASE hogehoge

でDBを作った後、

use hogehoge

して、

source: jawiki-latest-category.sql

すれば実行されるけどかなり時間がかかるので

sshログインより、サーバー上のターミナルから入って放置の方がいいかも。

就職活動について-高専卒,大学編入,大学院進学者のケース-

一部フェイクも入ってるけどほとんど実話。

 

就職活動について高専と大学、院とみてきて思ったこととかをまとめる。

要点だけを見たい人は、要点でページ内検索すればいいんじゃないかな。

 

・経歴

まず、経歴について

-高専

高専は電気系の学科にいた。ただ、電気電子情報の3本柱のうち情報がそんなにやれてないなーと思い、大学進学を決意。

 

ただ、進学に関してあまり本気になれず国立は全滅。結局私立へ。

高専から私立に入ってそこから院まで進んだケースってあんまりないから

書こうと思った。

 

-大学

大学は私立の工学部の情報系の学科を選択。レベル的には偏差値50近辺だけど、

結構名前が通ってる感じの大学。

編入は3年次で80単位近く認定された気がする。

で、3年次終わりは主席4年次も同じく主席で卒業ができた。

これは、単位換算のシステム上3-4年で受けた科目のみが関係してくるからできた技てきな。

 

で、3年次就職活動したかどうかといわれると確かにしてたけど、

そこまで本気にはやってなかったと思うし、地震もあり院に行くことを決めた。

 

-院

院は普通に学部時代の研究を引き継ぎつつ、発展させてく形で国内外で4-5回は学会に参加とかはした。

 

以上が簡単な経歴

次は実際の就職活動について

 

院での就職活動はいわゆるWeb系と呼ばれるところとSIerを見ていた。

学部の頃はSIerだけだったけど、研究室のOBの人とか高専時代の同期とか、を見てSIerはなぁと思いWebに

あとWebのインターンにいって、バリバリ技術伸ばしていけるなと思ったからもある。

 

結構多く受けたけど、第一志望群は全滅だった。

で、就職しないとあれだし4月ごろはSIerも見てたりした。

一応1社中堅規模は内定もらってたけど、メーカー系列は全滅だったかな。

 

時を同じくして、4月には内定先と出会う機会があって、そこからはとんとん拍子だった。

やっぱり、運というか縁が大事だなと思ったし、全然考えもしていなかったけど、

その会社の事をよく知ることができて、入社を決めた。

まだ、働いてないけど

 

で、就職活動は5月末に終了と。

 

・要点

ここからがまとめというか感じたこと

-やっぱり私立はきつい

-高専から編入だとなんでその大学にして、院まで進んだかって聞かれることが多かったと思う

-そもそも高専のことを知らない人がいるから高専の説明から入るときもあったし、高専とただの専門学校を勘違いしている人も多かった気がする。特にメーカー系は

-提出書類は大体大学と院のものだけでよかったけどメーカーFは高専時代の書類も要求してくるから事前に準備が必要だと思った。

-中途半端な覚悟で編入するなら、高専で就職した方が楽。

まちがいなく大学とかの就活に比べて

-ただ、周りの友人とかを見てるとちょっと後悔している部分もあったりして、

高専卒の就職だとそこまで企業研究もできず(せず)就職することが多いので

そこは注意すべきかなぁと思った。

-大学入って思ったのはやっぱり高専卒ってのはかなり優秀で他研究室とかでもかなり活躍しているひとが多い。あと自分の通ってた高専はかなり時間割きつきつだったから、学部での科目は割と楽だった。

 

-高専卒で就職した場合、額面20万と仮定して20*12*4≒1000万

院まで行くと1000万と考えると2000万

金銭的には高専卒の方がいいかもしれないけど上にあがれるかどうかってとこもあるし、その辺は自分のキャリア次第かなと思った。

 

あと大学とか院いくと、選べる種類が増えるのもいいと思った

 

CakePHP2をやってみる

CakePHP2実践入門

CakePHP2 実践入門 (WEB+DB PRESS plus)

CakePHP2 実践入門 (WEB+DB PRESS plus)

を読みつつCakePHP2をやってみる。

 

ひとまず3章まで終わり。

 

環境はWindows + XAMPP1.81

だいたい本読めば理解できるけど、詰まったのはbakeするとこ。

コマンドが通らない。

 

これは、

79さん@blog Windowsのコンソール上でCakePHPのconsoleを使う

にあるように、

C:\xampp\php >SET PATH=%PATH%;%CD%
でやったあとbakeしたい場所で同じコマンドやればOK

このへん環境変数に追加するとかありそうだけどどうすればいいんだろ

nicoAPI nicoSearchAPIをPHPで書いてみた。

はてブ見てたらニコニコがAPI公開したようなので早速軽く作ってみた。
どうやらニコニコじゃなくてhttp://nicotools.com/:nicotoolsさんのようでした。
この記事のはてブのコメントを見て修正
@koizuka さんありがとうございます

APIの詳細はこちらnicoAPI

はてブのコメントはてなブックマーク - nicoAPI
@YaSuYuKiさんのコメントによると大百科検索?


いまいち、何の情報を返しているかわからないけど、一応作ってみた。

plain txt,json,xmlのどれか指定して返却されるけどxmlで。

パース部分は一応タイトルだけ出しとけばいい感じにしといた。
他必要なとこがあれば自分で改良すべき。

<?php
/*
 * nikosearchapiに投げて結果持ってくるサンプル
 * http://nicoapi.com/docs/nicosearchapi.html
 * 
 * @author shirohare http://d.hatena.ne.jp/shirohare777/
 * @since 2012/10/24
 * 
 */
$api = 'http://nicoapi.com/ns/suggest.';
//検索対象のクエリ
$query="ニコニコ";
//取得したい最大件数(ただし、100件まで)
$max_data_numer=10;
//検索条件
$condition="contain";

//返却のフォーマット
$mode="xml";

$api_url=$api.$mode;

$ch=curl_init($api_url);

$params = array(
		'i' => $query,
		'l'=>$max_data_numer,
		'm'=>$condition
);


curl_setopt_array($ch, array(
		CURLOPT_POST           => true,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_POSTFIELDS     => http_build_query($params)
));

$result = curl_exec($ch);
curl_close($ch);


$xml=simplexml_load_string($result);
$array_result=array();

//dump用
var_dump($xml);

foreach($xml as $key){
	echo $key->title."<br>";
}
?>

こういうデータをいろいろ使いたい人間としては、
公式でデータを出してほしいなぁと思いつつ

gitの設定等々

基本的に自分用のメモで結構特殊な感じになっているからそのまま参考にはならないと思う。
というかリンク先の方が何倍もまし。

今の環境はgitサーバーを普段使っているWeb+DBサーバーに追加し、gitwebで履歴などを見られる状態。

/vat/git下にリポジトリを作ればgitwebにも反映されるっぽい。よくはわからん

・/var/git下にプロジェクトフォルダを作成する

cd /var/git/で移動し mkdir project

その後
cd project
で移動

そして git init

・gitにpushしたいプログラムが入っているフォルダに移動
今回は
/var/www/myhomepageとする

cd /var/www/myhomepage/

そこでもgit init

そしてremote追加
・git remote add origin localhost:/var/www/myhomepage/.git/

もし設定ミスったら削除コマンドは
git remote rm origin

リモートの設定みるのは
・git remote -v


そして
・git status
・git add
して
・git commit

・git pull origin master した後 git push origin master で行けない場合が多いので
git pushできない - 橋本詳解を参考にする。

他に参考としては
transitive.info - git remote 使い方
Git 共用リポジトリへのコミット | nomon tech note
解決: src refspec master does not match any. failed to push some refs to... - 西尾泰和のはてなダイアリー