読者です 読者をやめる 読者になる 読者になる

PHPで日付操作するときのアンチパターン

PHP

どんな言語であっても、日付を扱うのは何かと厄介なのものです。例えば、PHPで先月末日をyyyymmdd形式で表示したい場合。ググってみると以下のような書き方をしているサイトをチラホラ見かけます。

Ubuntu 16.04ではncurses 6.0のコンパイルに失敗する

Ubuntu 16.04はgccのバージョンがデフォルトで5.4なので、そのままncursesをコンパイルしようとすると以下のように怒られます。 In file included from ./curses.priv.h:325:0, from ../ncurses/lib_gen.c:19: _30507.c:843:15: error: expected ‘)’ before …

/home/user/localにVimをインストール

Vim

もう11月とな。道理で寒いわけだ。会社のサーバを弄るとき、インフラチームでない私にはroot権限がないので、最初は何かと不便を強いられていました。が、1ヶ月もすると慣れてくるもので、むしろroot権限なんて必要ないよなぁ、と思うように。慣れって怖い。…

Rust入門 - 変数宣言と関数定義

Rustは強い静的型付け言語なので、関数定義もそれを意識しておこなう必要があります。関数定義の前に、まずは変数宣言から見てみましょう。Rustは型推論してくれるので、以下のように型を付けなくてもエラーにはなりません。が、やっぱり明示的に型を指定し…

Rust入門 - 開発環境構築

我らが敬愛するMozillaによって開発中のRust、そのバージョン1.10.0がリリースされました。RustのRustによるRustな言語になったわけです(ぇ Rustの言語仕様だとかミッションポリシー的なことはググればいろいろ出てくるのでここでは割愛します。が、簡単に…

レスポンシブWebデザインな仕事をしたときの話

セミ兄貴おっすおっすな時期になりました。あっついね。では本文。Web開発ド素人の私(今まで仕事はVB.NETやCな業務アプリケーションばかり)が、レスポンシブWebデザインなサイト開発をした上で感じたことをとことこと書いていこうと思います。レスポンシブ…

Meteor導入の覚書

ES2015、楽しいデス。3か月くらい前までは、ECMAScriptのEの字も知らなかったですが、今ではES2015でないと気持ち悪くなるくらいになりました。C++11のときに受けた衝撃に近い。そもそもの話、先月末に「React書いてみたいなぁ」とふと思い、こっそりと(一…

コーディングセンス0の私がPHPを書くときにする最低限のこと

自分の無能っぷりに日々自己嫌悪です、こんばんわ私です。コーディングセンスというか、センス全般ですよね。「服?ユニ○ロでイナフでしょ」とか。そういった性格がコーディング姿勢にも出てくる、かどうかはよくわかりませんが、私の場合は特に見た目を軽視…

オブジェクト指向でPerlを書く

食事の量は減っているのに、どんどんと身体に肉が付いていく今日此の頃、三十路に向けて老いを感じ始めております。PerlではClassといったような書き方が標準では存在しないのですが、Packageを使えばなんとなくなオブジェクト指向プログラミングができます。…

ニコニコ動画の作品から音声だけを抽出する

ゴールデンウィーク、そうだ仕事しよう。4月中旬くらいからプロジェクトに参加し、慣れないマークアップ言語と休日返上で闘っています。Bootstrap楽しいデス(^q^)そんなこんなでこの連休も仕事していたわけですが、さすがにずっとやっていると気が滅入るわけ…

アニメ作品毎にディレクトリを生成させる

表題の通りです。録画後のファイル管理が面倒臭くて本当に笑えない。ディレクトリを生成させるバッチは速攻で書いていおいたので、現在はそれを使っています。 アニメワショーイバッチ、ってのは以前に作ったものです。こことかここを参照。そちらも修正した…

当日放送のアニメ一覧をメールで送るバッチ

4月ですね、新作アニメの時期ですね。とかなんとか言っていますが、社会人になって以降はアニメを観る時間も元気も余裕もないです、はい。ですが、録画だけはしていますので気になったらいつでも観れます。積みゲーする人の気持ちがよくわかる…。っで、録画…

tmuxを使って開発効率を上げる

ターミナルマルチプレクサはtmuxを使っています。会社の所属チームではscreen派とtmux派が半々でして、正直どっちがいいかなんて初心者の私にはわからなかったのだけど、最近はtmuxのほうが良い感じらしい(ソースはtmux派の意見)のでこっちを選んだ次第で…

CentOS6.7にApache 2.4・MySQL5.7・PHP7をインストールする

PHP7環境が必要になったので、どうせならということで現時点における最新バージョン(CentOSは7じゃないけど)のLAMP環境を構築。以下のようなシェルを書いておきました。CentOSのminimal版、且つ、サーバ構築直後というのが前提。その前提なら多分問題なく…

NeoBundleからDein.vimに移行した

Vim

Dein.vimが人気と聞いて。乗るしかない、このビッグウェーブに。インストールについては先人の記事を参考に。っで、修正したvimrcをpushしておきました。NeoBundleCheck的なものをvimrcに書きたい場合は、 if dein#check_install() call dein#install() endi…

+luaなVimを一般ユーザでビルドした話

Vim

会社の開発サーバで作業をする際は、(当たり前だけど)root権限がないのでいろいろと不都合があるわけです。特にVim、「luaがないからNeocomplete使えねー」みたいなアレ。というわけで、一般ユーザでluaを有効にしたVimをビルドしたときの作業履歴をメモっ…

Gitを使う時の一連の流れ

会社が当然のようにGit使っているので、忘れないようにメモっておく。 ユーザ設定と、見やすくするためカラー設定 $ git config --global user.name "foo" $ git config --global user.email "foo@bar.ne.jp" $ git config --global color.ui auto クローン…

SI企業を退職しました

新卒で入社し、2年11ヶ月勤めたSI企業を本日退職いたしました。先輩方にはこの場を借りてお礼申し上げます。ついにこの時が来たか、退職エントリを書く時が。さて、SI企業の退職エントリといえばいわゆる「SIerはナンターラカンターラ」という批判混じりなエ…

CentOS 6.7にComposerをインストールする

PHP

開発用サーバのCentOS 6.7にComposerをインストールしたときの覚書。なお、数カ月前まで「Composer?なにそれ?PEARではダメなのん?」とか言っていましたが、いやはや、自分の情弱っぷりに頭が痛いですね。yumで取得できるPHPはバージョンが5.3なので、まず…

RTX1200を使ってL2TP/IPsecなVPNを構築する

NW

どこのご家庭にもあるRTX1200でVPNを張ったらかなり捗ったので、覚書としてコンフィグを残しておく。YAMAHAの公式サイト見れば、VPN構築が始めてでも楽々設定できるからいいよね。だがGUI、お前には頼らない(ほうがカッコイイ)。前提条件 RTX1200:10.0.10…

古いCatalystスイッチをカスケード接続する

NW

Catalyst 2950を2台用意し、タグVLAN且つLAGで接続・・・しようとしたけどリンクアップすらしない。LAGがダメなのか?と思い、1本ずつやるも、ダメー。設定がダメなのか?と思い、コンフィグをいろいろ修正するも、ダメー。っで、ポートが死んでいるのかと思…

(今更だけど)vimを使う

Vim

あけましておめでとうございます。今までPHPを書くときはEclipseを使っていたけど、重い。重過ぎ。vimを使い始めることにしました。キーボードだけで「カチャカチャカチャ、ッターッン!」ってカッコいい(本音)。え?Emacs?あぁうん。とりあえず、空き時…

C初学者にポインタとは何なのかを一言で説明

ポインタとは配列です。まぁ別物ですけども…(小声)とりあえずこちらをご覧ください。 #include <stdio.h> #include <stdlib.h> int main() { int i = 0; char arr[16] = { 0 }; printf("arr's address : 0x%p\n", arr); for (i = 0; i < 16; i++) { arr[i] = i + 1; } return </stdlib.h></stdio.h>…

Cの構造体のアライメントにハマった(1日ぶり2回目)

えぇまたです、またCです(前回記事参照)。正直、Cの話なんてググれば大量に記事が上がってくるので書く必要なんてないのだけど(そもそもCマスターな人たちはネットの記事なんて読まないし)、まぁアレです、自分用メモです。 #include <stdio.h> #include <stdlib.h> #includ</stdlib.h></stdio.h>…

Cの構造体を動的確保するときにハマった

C/C++はメモリ管理ができないとお話にならないわけですが、にも関わらずC系の入門書では「ポインタ?簡単だよ、ほら、この図を見て」なんて感じにお茶を濁してる。うーんこの。抽象的に説明しちゃうから抽象的な理解しかできないわけです、かく言う私がそう…

Cisco L3SWの予備機切り替えの覚書

NW

自宅のL3が逝ったので予備機に切り替えたのですが、その時の復旧作業を備忘録として残しておく。ネットワークって一度設定したら、その後は放置安定になりがち(特に自宅レベルのネットワークだと保守なんてないに等しいし)で、仕事でネットワーク扱うこと…

vForum 2015 OSAKAに行ってきた

vForum良かった。とても勉強になりました。来年も絶対参加しよう。 #vforumjp— にいな (@tydk27) 2015, 11月 19とまぁ、感想がこれだけというのはあんまりなので、疲れているけど忘れない内に今日のことをまとめておきます。セッション会場の最前列で紙のノ…

Rubyの破壊的メソッド

最近は仕事でCばっかり触っていますが、Ruby、独学はじめました(ぉ学べば学ぶほど、なんて直感的に書ける言語なんだ、と感動してます。なるほど、これは確かに人を虜にする言語だなぁと。といっても、「Ruby素晴らしい、PHPゴミ」なんてのはやっぱり違うよ…

画像ボンド Ver 0.1.2

C#

ファイルをステージにD&Dさせるようにして、生成予定ファイルを確認しながら出力できるようになりました。また、クロップやサイズ変更も設定可。ただまぁ開発経緯が個人用途でしかなかったので、使いやすいアレ、なんてものは考えていません。そんなものはな…

PHPのロガーを作りました

PHP

PHPのロギングにはPEAR::Logやlog4phpなどありますが、どうもしっくりこなかったので自作しました。とにかく簡単にログが取れるようにしています。github.com使い方はsample.phpを見ていただければと思いますが、まず最初にconfig.phpの「ログファイル名(パ…

PHPの可変長引数について

PHP

PHPで可変長な引数を処理するときはfunc_num_args()などの便利な関数があるそうです。例えばfunc_get_args()は引数リストを配列として取得するので、それを別の関数に渡してその中で処理をさせるということも簡単にできます。というわけで、与えられた引数の…

C++でアニメワショーイから現クール作品一覧を表示する

今期の作品って何があったっけ、という時には「しょぼいカレンダー」よりも「アニメワショーイ」にアクセスしたほうがいいです。というわけで、C++で今期の作品を一覧表示してみる。といっても、APIなどは特にないのでURL部分はハードコーディングになってい…

C++でしょぼいカレンダーから今日の放送予定作品を取得・表示する

みんなが愛しているBoostを使用。データ取得のコードは、公式ドキュメントにあるものを丸パクリしています(ぉgithub.com やっていること ・しょぼいカレンダーの「cal_chk.php」にアクセスしてデータ取得 ・XMLを解析 ・構造体配列にぶち込む ・表示以下、…

PHPの継承について1から勉強しなおす

PHP

継承。わかっているようで全くわかっていなかったので、基礎から勉強しなおしました。まずはこちらをご覧ください。

FizzBuzz問題からループ処理の書き方を考えてみる

PHP

みんな大好きFizzBuzz。人によって回答がまちまちだから「じゃあマトモなソースってどう書けばいいの?」と思ったので実験してみました。PHPで試してみる。計測はmicrotime関数を使って、実行後から実行前の時間を引いて算出しています。 例1 最初にFizzBuzz…

JavascriptでPHPの返り値を画面上に表示する

http://tydk27.info/aretter.html という下らないものを作っていました。入力された文字列をPHP側でmecabを用いて形態素解析し、名詞を「アレ」に変換して、変換後の文字列を画面上に表示します。おぉ、自分で書いててもくだらなすぎる。ニュースとかを変換…

C++でsystem関数を用いてWebからファイルをwgetする

ソケット通信が急に正常動作しなくなったので代替案。原因不明、今まで動いてたのに。「緊急だ!調査なんかしてる場合じゃねぇ」ってことで、普通に叩いて動作したwgetを採用。つまりsystem関数。聞こえる、聞こえるぞ、不平不満の声が。そらそうだ、私も嫌…

VMware vCenter Converter Standaloneを使って物理サーバをP2Vする

こんばんわ、わたしでした。ひょんなことから物理サーバをESXiに移設することになったのでその備忘録。P2V(Physical to Virtual)ですね。なんてことはない、さすがVMさん素晴らしく楽なツールを開発してくださいました、と。今回は以下の様な構成でやって…

VRFで自宅NWを構築してみた

NW

お世話になります。私です。標題の件につきまして、一先ずの構築が終了しましたのでご報告させていただきます。 そもそも、なぜにVRF? 勉強会をやったりやらなかったりを繰り返している、なんともやる気のない弊社ではありますが、この度、仮想化をテーマに…

画像結合ソフト「画像ボンド」を公開しました

C#

アニメネタを書いている別ブログにて下記のような画像を使っているのですが、こういうのを一発生成したいなぁと思って開発。1日で作ったので粗が多いし、機能もないに等しいのだけどとりあえず公開してみる。詳細は同封のreadmeをよろしこ。誰も求めていない…

Squidのログ解析ツール「LightSquid」をインストールする

LightSquidはSquidのログ解析ツールですが、最終更新日時が6年前というレガシーなアレでもあります。 トラフィック量が知りたいとか、とにかく軽ければおkとかでお探しの方には十分なツールだと思われます。 ①ダウンロード->解凍->ドキュメントルートに移動…

VPSをキャッシュサーバとして使う

(追記あり)タイトルの経緯は、アレがアレでアレということです。アレ。某所のVPSを契約して、Squidぶち込んで、設定して、ブラウザに串を刺す。ここまで約2時間。 squid.conf acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl ikan…

log4cppでログを取る

「メモなんかいいからログ取れよ!!!」と先輩社員に怒られました(ウソです) ログのおかげで彼女ができました(ウソです) きちんとログを取ることでデバッグがやりやすくなりました(当然です)C++でPostgreSQLに接続するサンプルに、ログを吐かせる。た…

紙媒体もいいけど電子書籍もいいんじゃない

以前のように、「よーし、パパ、帰りに新宿のジュンク堂寄っちゃうぞー」とならない環境下での生活となりましたので、Kindleが便利すぎて困ってしまう(つい買いすぎてしまう的な意味で)今日此の頃です。あけましておめでとうございます。仕事辞めたい。 千…

4月から社会人になったけど

こんにちわ、わたしです。昨年末から修論に追われ、年末年始なんてものは存在せず、必死にラップトップを叩きまくる日々でした。結局、最終提出のその日の朝までかけて完成したものの、これが学生生活のまとめって・・・と言いたくなるレベルのクソっぷり。…

約15年ぶりに歯医者に行ってきた

僕は永久歯32本全てが残っているという、いわゆるGJな歯を持っています(若干出っ歯ですが)。もちろん虫歯無し。両親含め、僕の家系は頑丈な歯を持っています。そんな感じですから「歯医者怖い」というものがいまいち理解できないわけです。子どもの頃に1回…

就職活動を終えて

7月くらいに内々定を頂き、先日の内定式で正式決定という形になりました。NDA的な意味で、内定を頂いた企業に関しては省略ですが独立系SIerです。まあなんだ、みなまで言うな。言いたいことはわかります。でもいいんです。とりあえず、どういった就職活動を…

Javaでファイル名の一部分を指定した場所に移動させる

今朝のこと。トレーナーさんのスパッツprpr(2013年9月25日).jpgというような感じのファイルが大量にアレされまして、それを(2013年9月25日)トレーナーさんのスパッツprpr.jpgというような感じで括弧部分をファイル名の先頭に入れ替えておくれ、とア…

“I Have a Dream”から50年 今も変わらず残る人種差別問題

100年前、偉大なるアメリカ人が奴隷解放令を発布しました。(中略)ところが、100年たっても、黒人には自由がないという悲しい現実に直面しています。 1963年8月28日、公民権を求めるワシントン大行進にて、リンカーン記念堂前階段で開催された野外集会で、…

山口県出身者だけど例の殺害事件で嫌な気分になった

なんだか自分の言いたいことがまとまらないので整理しておく。僕は山口県の出身、18年間をそこで過ごしました。東京の大学に進学し、その後は栃木や山梨に引っ越すなど転々していましたが、来年度から山口に戻って仕事をすることになりました。これがバック…