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

【php】PHPでforeachする

php

過去に何度か検索してしまったので備忘録として。

PHPでforeachを実装する場合、以下のようになる。(参考

<?php
$arr = [1,2,3];
foreach ($arr as $a) {
    echo $a["order"];
}

引数の左側が参照元、右側がループ内でアクセスできる要素名になるところがポイント。

pandocでMarkdownをhtmlに変換する

未分類

僕は文章をMarkdownで書く。 Markdownであれば記号を見ただけでHTMLに変換された姿が脳内変換できる程度にはなったが、やはりHTMLファイルをブラウザ上で確認したい欲求も出てくる。

そこで都合よくMarkdown→HTMLの変換ができるツールを探していたところ、こちらで「pandoc」が紹介されていたので使ってみた。

pandocはHTMLに限らずMarkdown文章をいろいろなフォーマットに変換してくれるツールのよう。 Macであればbrewで簡単にインストールできる。

$ brew install pandoc

cui上で元となるMardown文章と出力形式を選択するだけで良い。 fオプションが元になるファイルのフォーマット、tオプションが変換先のフォーマット。 pandocはそのままだと標準出力に結果を吐くので、以下の例ではsample.htmlというファイルに格納している。

$ pandoc -f markdown -t html sample.md &gt; sample.html

タグもちゃんとMarkdownの通りになる。 これでただマークダウンを書くだけではなく変換してブラウザから確認できるので、仕事が捗りそうだ。

なお、例として次のようなMarkdown文章を変換してみた。 これが、

# This is pandoc sample

## This is h2 label

* li1
* li2

1. number1
1. number2

This is  **pandoc sample**.

こうなります。

<h1 id="this-is-pandoc-sample">This is pandoc sample</h1>
<h2 id="this-is-h2-label">This is h2 label</h2>
<ul>
<li>li1</li>
<li>li2</li>
</ul>
<ol style="list-style-type: decimal">
<li>number1</li>
<li>number2</li>
</ol>
<p>This is <strong>pandoc sample</strong>.</p>

Macでファイルの内容をクリップボードにコピーする

未分類

ターミナル操作中に特定のファイルに書かれている内容をクリップボードにコピーしたくなる時がある。 ファイルを開いてマウスで範囲選択してコピーして…でもできなくはないが、あまりスマートではない。 せっかくターミナル上にいるので、さっさとコマンドを叩いて処理したい。

非常に都合のよいことに、Macにはターミナルからクリップボードに標準出力をコピーするコマンド「pbcopy」というものがある。

$ cat sample.txt | pbcopy

catコマンドでsample.txtの内容を標準出力に出し、それをpbcopyで受け取ってクリップボードにコピーする。 もしファイルの一部だけが必要ならhead, tail, sedなどを組み合わせて標準出力を作れば良い。

Macのターミナル上でファイルの内容をコピーする

未分類

ターミナル操作中に特定のファイルに書かれている内容をクリップボードにコピーしたくなる時がある。 ファイルを開いてマウスで範囲選択してコピーして…でもできなくはないが、あまりスマートではない。 せっかくターミナル上にいるので、さっさとコマンドを叩いて処理したい。

非常に都合のよいことに、Macにはターミナルからクリップボードに標準出力をコピーするコマンド「pbcopy」というものがある。

[bash] $ cat sample.txt | pbcopy [/bash]

catコマンドでsample.txtの内容を標準出力に出し、それをpbcopyで受け取ってクリップボードにコピーする。 もしファイルの一部だけが必要ならhead, tail, sedなどを組み合わせて標準出力を作れば良い。

IntelliJ IDEAのideaVimで置換を使って改行する

未分類

IntelliJ IDEAでideaVimを使うと、vimキーバインドでファイルを編集できるようになる。 ところが、この状態で「\n」を使って置換して改行を挿入しようとすると何故か文字化けしてしまった。

調べてみたところ、IntelliJ IDEAでは改行を挿入する場合、次の3つがあるらしい。(参考:

そこで、「\r」で試してみたところ、文字化けせずに改行で置換することができた。

:s/hoge/\r/g

上記公式サイトにも書いてあるが、IntelliJを使っている環境によって改行コードは異なってくる。 まずは試してみて、自分の環境にあった改行コードを見つけましょう。

atomのカラースキームを変えた

未分類

主にatomMarkdownエディタとして使用している。 これまで「Solarized Dark」というカラースキームを使用していたが、今回「monokai」に変更した。 変更した理由はSolarized Darkが色のコントラストが比較的薄く、ちょっと見にくくなってきたから。

変更方法は簡単。 まずはatomの設定画面を開き、Installメニューから「monkai」を検索しインストールする。 この時、検索対象をThemesにしていないと出てこないので注意。

次にThemesメニューに行き、Syntax ThemeをMonokaiに変更するだけ。 これでカラースキームがMonokaiになる。

2017年の目標

未分類

2016年の振り返りも終わったので、2017年の目標も発表しておく。

  • 毎週1冊、新書かビジネス書を読む
  • 毎月1冊、技術書を読む
  • 週に2日以上ジムに行く
  • 競技プログラミングに参加する
  • ブログから収益を得る
  • 言語処理100本ノックを終わらせる
  • Pythonistaを使いこなす
  • 強化学習と自然言語処理を実践する

今年はとにかく本を読む

本を読むことが大事だと思ったので、今年はとにかく本を読もうと思う。 読み方としては「レバレッジ・リーディング」を実践しつつ、新書・ビジネス書は週1冊を目指す。 あと、技術書も月1冊を目標にしているが、今年すでに読みたい本が溜まってきているので実際はもっと多くなりそう。

読みっぱなしも良くないので、今年は読書ログや書評もつけていきたい。

プログラミングは継続的に

職業柄、プログラミングは仕事としても趣味としても継続的に実践している。 特にここ数年は機械学習関連を中心に新しい言語やライブラリにも触れてきた。 機械学習については今年も引き続き追いかけていく。

それ以外に、アルゴリズムやパズルも去年触れてみて楽しかったので、今年はそちらにも手を出していこうかと。 機械学習も結局のところ大きなアルゴリズムの塊といえなくもないので、どこかしらでこれらが相互作用的に働くことを期待している。

運動しましょう

昨年、ジムに行き始めた。 8月頃から行き始めて11月でそれなりの効果が見られたものの、12月は体調不良でダウン、年末年始は寝正月だったので、今年に入って体重計に乗ると元の体に戻っていた。 マッスルプログラミングなんて言葉も出てきているぐらいなので、流行に乗っていこうと思う。

副収入については期待しない程度で

これまで何度もブログを書いては潰しを繰り返してきた。 ようやくお金を投資してブログを開設したので、今回は潰すことのないようにしたい。 基本的にはこれまで溜め込んできたインプットをいろいろな形でアウトプットするための場なので、収益化については考えていない。(考えていないとは言っていない。)

ちなみに、以前Googleアドセンスはリジェクトされた経験があるので、おそらく今後使うことはできないだろう。

広告を非表示にする