nDiki : 文法

2011年7月5日 (火)

今日のさえずり: 来年は夏の文脈自由文法祭りですね

2011年07月05日

  • 08:23 http://gplus.to/naney
  • 10:28 ディスプレイアーム設置。よいよい。
  • 10:46 次は半袖でペタペタするこのアームを改善したい。
  • 10:54 次のミーティング12人か。あれ8人まで向けの部屋では。
  • 11:05 うちの開発チームなんて呼ぶのって話やっぱり出た。
  • 12:02 RT @maka2_donzoko: 明日の #shibuyapm に参加される方でまだAcme大全2010欲しい方いらっしゃるかな。10冊ほど残ってた。
  • 13:24 そういえば朝、渋谷に ODBOX があるの今ごろ思い出した。近日ぶらりしたい。
  • 13:43 塩牛丼 400円。 (@ 神戸 らんぷ亭 渋谷並木橋店) http://4sq.com/kyqBv0
  • 14:42 RT @mixi_engineers: mixi Engineers' Blog 更新しました → mixi Engineers’ Seminar #2のご報告 http://alpha.mixi.co.jp/blog/?p=3362
  • 15:00 食券印刷した。今晩のおかずは何かな。
  • 15:11 もう並んだ方がいいですよ。「なお、お食事の数に限りがございますため 無くなり次第終了とさせていただきます。」 RT @mushikabu: @Naney むむ、ここにもライバルがw
  • 17:04 ちょっとだけゾーンに入る。
  • 19:03 RT @mixi_engineers: mixi Engineers' Blog エントリ追加しました(今日は2つめ) → Apache Solr を利用した検索パッケージ Anuenue http://alpha.mixi.co.jp/blog/?p=2880
  • 19:23 なんかもう皆ぞろぞろまかないに向かっている。
  • 19:32 学食?
  • 21:03 RT @nipotan: 明日の Shibuya.pm 用にまど☆マギ T シャツを入手しようと思ったが、お急ぎ便で間に合わないかも知れないから、別の T シャツ着る。
  • 22:35 退勤。まかないパワー。
  • 22:43 明日は #shibuyapm だから皆さん今夜は perlre 丸暗記ですね? #Perl
  • 23:32 Google+ for Android って連絡先の同期つけるつもりないのかな。
  • 23:58 RT @yoshiori: 一周まわって mixi やろうぜ!! けっこう面白いよ!!
  • 25:13 来年は夏の文脈自由文法祭りですね。再来年は…… #shibuyapm
[ 7月5日全て ]

2013年9月24日 (火)

さくらのレンタルサーバメール受信時にプログラムを実行する

さくらのレンタルサーバでは mail delivery agent (MDA) に maildrop が使われているので .mailfilter に設定を書くことで、メール受信時にプログラムを実行できる(サポート対象外)。

$HOME/MailBox/<メールアカント名>/.mailfilter というファイルを作り、

 logfile "/home/<アカウント名>/var/log/maildrop/<メールアカウント名>.log"
 cc "!自分のメールアドレス"
 cc "| /path/to/my/script"
 exit

などと書き権限を 600 にしておけば、メールがきた時に自分のメールアドレスに転送するとともにプログラムを実行できる。届いたメールはプログラムの標準入力に渡される。

.mailfilter の文法チェックは次でできる。

 maildrop -V 9 .mailfilter < /dev/null
[ 9月24日全て ]

2014年3月14日 (金)

Day One のエントリを Web ページ化するサービス Publish

image:/nDiki/2014/03/14/publish-shares.jpg

日記アプリ(ジャーナルアプリ)の Day One が今週 Publish というサービスを開始した。

https://dayone.me/

Day One アプリのエントリ画面の右下の Publish のボタンを押した後の画面で「Publish」を押すとそのエントリが Publish のサーバにアップロードされて HTML5 形式になったページが公開される。

もともとプライベートのジャーナル用のアプリなので、公開サービスと連携させるのはちょっとどうなのかと思いもしたけれど、試したところ明示的に Publish したエントリがそのタイミングのみでアップロードされ、勝手に何でも同期されてしまうわけではない感じだ。そういう意味での懸念は大丈夫そう。

Publish したページは以下のような感じ。

整形済みブロックDay One アプリ上とは違い改行が反映されず auto wrap となる。また今のところ画像がインラインで表示されないとう制約がある。

Publish したページにはアカウントのプロフィールが表示されるけれども、そのアカウントで Publish したインデックスページはないので、基本独立したページができていく感じになる。

位置付け的には Evernote の共有ノートに近い。Markdown で書ける点や、公開ページへの反映を明示的にできる点で Publish の方が個人的には使い勝手がいいと思う。

エントリデータのオリジナルはあくまでもアプリ(と同期をとっている Dropbox 上など)にあり、ネットサービス側にはアップロードで送るという形式は、サービス終了で大切な日記が消えてしまうといった不安感が無くていいな。

SNS日記アプリもこんな感じでプライベート日記の一部をアップロードする形だといいと思う。Publish だと公開したものを TwitterFacebookfoursquare でシェアできるけれどもページ自体は全体公開なので、そこをその SNS 内向け公開にできるようなイメージのもので。

mixi日記TwitterFacebook など」と「BlogWeb 日記など」との間あたりのポジションで、両方使っていると利用シーンがちょっと少ないかもとは思う。ただそれらと比べて(機能的にも心理的にも)カジュアルに更新をかけられるので、リアルタイムにアップデートしていくようなイベントエントリを書くのに使うのにいいのかなと思う。

ノート:

  • Publish したエントリについて「Remove Publish Page」をすると公開ページを消すことができる。その後同じエントリを再度 Publish した場合は別の URL が割り当てられる(通常の Update による更新の場合は URL は変わらない)。
  • Publish したエントリについて Publish したページを消す前に、エントリを消してしまうと Publish したページを消す手段が無くなってしまうので注意(Dropbox 上でエントリに対応するファイルを復元して Day One アプリ上で復活させ、Remove Publish Page してからあらためてエントリを削除しなおした)。 → Publish の Web サイトでサインインすれば削除可能だった。

(画像https://dayone.me/publish より)

[ 3月14日全て ]

2015年2月6日 (金)

Narrate という Day One 互換 Android アプリ

Narrate

ようやく Narrate という Day One 互換 Android アプリに出会った。大興奮。

日記アプリ(ジャーナルアプリ)の Day One という iOS アプリを愛用していて自分にとってのキラーアプリなんだけれど、残念ながら Android 版が無いし出る気配もない。日本語入力のしやすさを考えると Android デバイスでジャーナルアプリを使いたいのだけれど、Markdown ファイル + Dropbox 同期なもので代替できるものが今まで見つかっていなかった。そこでようやく出会ったのが Narrate。

なんと DropboxDay One アプリフォルダ上にあるエントリファイルと相互同期ができる。Markdown 文法をサポート・位置情報・タグ付け・写真添付機能なども Day One と同じようにサポートしており基本的な部分はほぼ同じようにエントリを書くことができる。天気情報など Day One にはあって Narrate には無いものもあるけれど、普段使いには無くても困らない範囲。Day One で書いたエントリを Narrate で閲覧・変更したり、逆に Narrate で書いたエントリを Day One で閲覧・変更するのも問題無し。

Markdown の解釈に若干の違いがあるのでそこはちょっと意識する必要あり。あと Narrate では全て Markdown として扱われる(Day One ではオプションで Markdown として解釈しない使い方も可能)が、個人的には OK。また Narrate では1行目が必ずタイトル扱いになる。2行目に空行を入れておいても Narrate で編集・保存するとその空行が無くなるという仕様になっている。

既に800強ある Day One のデータと同期させたが、データ量の面では今のところ操作感に問題は無い感じ。

そういえば最初、同期が終わらず泣きそうになった。一晩経っても終わらないのである。もしや何か処理できないファイルがあるのかなと思って var/Dropbox/Apps/Day one/Journal.dayone/entries/ ディレクトリ以下をみたら Emacs の auto-save ファイル (#ファイル名# というやつ)が残っていたので消してみたらビンゴで同期が完了するようになった。ふぅ。

(画像http://narrateapp.com/ より)


[ Android アプリレビュー ]

[ 2月6日全て ]

2015年5月8日 (金)

EmacsGo 環境整備

Go ベースのツール置き場を作る

Go で書かれている各種ツールを go get しておく場所を作っておく。このあたり定番のディレクトリ名が良くわからないので ~/local/golang にしておいた(~/local/go は Go 環境自体を入れてある)。

先日使い始めた ディレクトリ毎に異なる環境変数を設定してくれる direnv を使い、 ~/local/golang に移動したらここに GOPATH が設定されるようにしておき、そこで適宜 go get するようにする。

 $ mkdir ~/local/golang
 $ cd ~/local/golang
 $ echo 'layout go' > .envrc
 $ direnv allow
 $ go get -u golang.org/x/tools/cmd/goimports
 $ go get -u github.com/golang/lint/golint
 $ go get -u github.com/dougm/goflymake

今日は goimports と golint と goflymake をインストール。

goimports は「gofmt + import の自動追加・削除」ツール。golint は Go 用の lint。 goflymake は名前の通り Go の Flymake ツール(on-the-fly 文法チェッカ)。

.bashrc

上の $GOPATH/bin に PATH を通しておく。

 if [ -d $HOME/local/golang/bin ]; then
     PATH=$PATH:$HOME/local/golang/bin
 fi

Emacs の設定

go-mode 自体は package.el でインストール済み(package.el は helm を入れた際に設定済み)。

以下今日いれたツールを Emacs から使う設定を追加。

 ; バッファ保存時に gofmt (あれば goimports) を実行してソースコード整形する。
 (add-hook 'before-save-hook 'gofmt-before-save)

 (let ((goimports (executable-find "goimports")))
   (if goimports (setq gofmt-command goimports)))

 ; M-x golint で golint をかけられるようにする。
 (let ((golint-emacs "~/local/golang/src/github.com/golang/lint/misc/emacs"))
   (if (file-exists-p golint-emacs)
       (progn
         (add-to-list 'load-path  golint-emacs)
         (require 'golint))))

 ; on-the-fly シンタックスチェックが動くようにする。
 (let ((goflymake "~/local/golang/src/github.com/dougm/goflymake"))
   (if (file-exists-p goflymake)
       (progn
         (add-to-list 'load-path  goflymake)
         (require 'go-flymake))))
[ 5月8日全て ]

2015年8月22日 (土)

YAPC::Asia Tokyo 2015 2日目

rimage:/nDiki/Flickr/20794290452.jpg

今日も朝から YAPC::Asia Tokyo 2015 の2日目です。まずは一杯の無限オレンジジュースからスタート。最初はトラックCから。 C の部屋に入れたのはこれが初めてです。なるほど狭め。

「Mackerel開発におけるScalaとGo、そしてPerl」 songmu @songmu 氏 #yapcasiaC

言語の特性にあわせて様々なプログラミング言語を活用しているというトーク。サーバサイドで使われているということでちょっと Scala が気になりますが、やはりここでもコンパイルが遅いという話が出ていました。

Go は小さなシングルバイナリを作れるというところがやはり大きな利点。あとはやっぱり Perlビルドなどのためのツールを作るのに便利だよねという話でした。

Perl 5.22 and You」 Ricardo Signes @rjbs 氏 #yapcasiaA

Ricardo Signes 氏のトークを聞くのは YAPC::Asia Tokyo 2013 1日目の時(記事)以来です。

前回同様 Perl の機能追加・削除についての話が中心。直観に反するような挙動が修正されるというところは言語としての完成度があがって良いなと。一方、さらに experimental として追加される文法は、ますます変態的になっていくなという印象もありました。

ランチ

今日は一人でぶらりとTFTビルへ。

「Adventures in Refactoring」 Ben Lavender @bhuga 氏 #yapcasiaA

リファクタリングを行う理由の中で「Developer Education」という話があって、理解のためにリファクタリングをしてもらうのも良いと言っていて、ああそうだよなと思いました。リファクタリングの素養はあるけれども、チームのコードは知らないという状態の時にはいいなと思います。

あとは、基本的には Martin Fowler の「リファクタリング」を読んでいれば OK な感じです。

ちょっとうつらうつらしてました。あと「カレのヒゲ」はマイクにこすれるので通訳的に要注意のようでした。

「Parallelism, Concurrency, and Asynchrony in Perl 6」 Jonathan Worthington @jnthnwrthngtn 氏 #yapcasiaA

Perl 6 における 並列・並行・非同期処理の話。 Perl 6 では言語レベルでこのあたりのサポートがしっかり入ってくるという印象でした。昨日聞いたトークといい、やはり Perl 6 が気になってきました。

Go Debugging, Profiling, and Optimization」 Brad Fitzpatrick @bradfitz 氏 #yapcasiaA

Go の各種ツールを使って時間やメモリを消費している部分を見つけてどんどん削っていく様子をライブで実演してくれました。なるほど、ちょっとしたコードでも工夫すると劇的に最適化できるみたいです。

実演中アセンブラコードをチェックしているところや、データが 1 word から 3 words で管理されているという説明などをみて、ああやっぱり Go は C/C++ 的なマシンへの近さやコンパクトさがあるよなとあらためて感じました。

「Lightning Talks Day 2」 #yapcasiaA

YAPC::Asia Tokyo 最後のトーク(になるかもしれない)となった LT は Kuniwak (@orga_chem) 氏の「Vim script性的解析の光と闇」でした。

CONBU さんが LT の時間内で設営・撤収デモまで実演していて、その素早さに驚嘆でした。まさに神業のレベルです。会期中お世話になりました。

「Wrap Up!」 Daisuke Maki @lestrrat 氏 #yapcasiaA

今年はキーノートが無いので LT が終わるとクロージングです。

今年の参加者はなんと約2,130人。今の形での開催は最後と言われている YAPC::Asia は今後どうなっていくのでしょうか。 YAPC::Asia Tokyo 2015 は「The End.」のスライドで幕を閉じました。皆さんお疲れさまでした。

YAPC::Asia Tokyo 2015 を終えて

去年の YAPC::Asia Tokyo 2014 では Go 言語の勢いを感じ、その後ちょっとした規模ですが業務ツール開発に使ってみたりしました。

YAPC::Asia Tokyo 2015 では近年になく Perl のトークを見た気がします。しかも今回は Perl 6 のコードををよく見た気がするのは気のせいでしょうか。今回はこれを機に Perl 6 にチャレンジしていきたいと思います。

今日のさえずり: 鉄道模型かハムかパールのようなものか

2015年08月22日

[ 8月22日全て ]

2019年2月7日 (木)

今日のさえずり: 「君を大好きだ」になんとなく感じる文法的違和感。

[ 2月7日全て ]

2019年6月6日 (木)

表やダイアグラムの編集・表示に便利な Markdown エディタ Typora

image:/nDiki/2019/06/06/normal.png

表やダイアグラムを含むノートを編集・表示するのに Markdown エディタ Typora がかなり良さそう。

Markdown 形式をメインとしてテキストファイルベースでノートを書いていて不便だと思っているのが作表。Markdown ソースファイルで表を編集していて列の追加・削除・入れ替えが必要になった時にはエディタの支援が無いと絶望する。Markdown Mode for Emacs で表編集の機能がいろいろあることを知ってちょっといいかもと思ったけれども、やはり表としてレンダリングされた状態で編集したいなと。

そう思って探してみたら編集画面とプレビュー画面が別れていない Markdown エディタ Typora が表編集もサポートしていると知って試してみた。

使ってみたところ Google ドキュメントで表を編集しているようなのと同様な感じで直感的に表編集できた。欲しかったのこんな感じ!

image:/nDiki/2019/06/06/table.png

また表だけでなく

  • js-sequence
  • flowchart.js
  • mermaid

を使ってテキストで簡単な図を書けるというのも嬉しい。 Markdown ファイル中にテキストして書いておけるので、図の画像やそのソースファイルの管理に悩まされないで済むのだ。ノートにちょっとしたロジックツリーを書いておきたいことがあるので良い!

https://typora.io/

Markdown 文法GitHub Flavored Markdown ということだしこれは自分にとって主力 Markdown エディタになるのではという予感がする。

画像は Typora の PressKit https://typora.io/presskit.zip より。

[ ノート・日記はテキストファイルに ] [ Mac アプリケーション ]

[ 6月6日全て ]

2021年1月4日 (月)

iA Writer#nNote

iA Writer for Mac

Markdown

Markdown から HTML への変換に MultiMarkdown を使っているので MultiMarkdown 固有の文法が一部使える。

検索

ファイルリストのフィルタで検索しても探せない文字列がある。検索文字列の最後に * をつけると検索できる場合がある。

iA Writer for Android

フォーカスモード

AndroidiA Writer はフォーカスモードにするとカタカタ上下に画面が動くので逆に集中しにくい。

Dropbox 自動保存

テキストファイルを開いた状態でホームに戻った際に変更があれば自動保存される。ただし再度開いた時に Dropbox 上のファイルが更新されているかのチェックはないので、コンフリクトが起きる可能性はあり。一度編集画面からファイル一覧画面に戻る必要あり。

[ 1月4日全て ]

2021年8月9日 (月)

大人にも薦められる『中学生からの作文技術』

中学生からの作文技術

2003年6月に『日本語の作文技術』を買って読んでから18年。「係り受けの距離を近づける」「修飾語句は大きく長い順に」などのポイントを学んだことが、分かりやすい文章を書くのに大いに参考になっている(体得までは至っておらず、この文章自身まだまだではあるけれども)。

分かりやすい文章の書き方について参考となる本として『日本語の作文技術』をたびたび人に薦めてきた。一方で、民族と言語について著者の強い思いが考えの背景として述べられている点や辛辣な表現がある点などから、スルー力が育っていない中高生には手放しで薦めにくかった。

2004年10月25日に中学生を想定読者とした『中学生からの作文技術』が刊行されていたのを知ったのはいつだったか。作文技術のエッセンスをより平易に説明された1冊のようなので、これなら薦められるのではと今回自身で読んでみた。

なるほど『日本語の作文技術』に比べてかなり読みやすい。要点がまとめられているので、大人にも『中学生からの作文技術』を先に読むのを薦めた方がいいぐらいだ。

主義主張も『日本語の作文技術』よりマイルドなので、これなら中学生でも自分の頭で判断しながら読めるだろう。

学校で習う文法や役物の使い方と本書での説明では異なる部分があるかもしれない。文法について指導要領とは切り離して考える、学校で書く文章は指導要領のルール(スタイルガイド)に合わせるなど本書を鵜呑みにしないことも大切だ。語順の考え方など勘所を学べれば良いと思う。

そういった点を一言添えた上で身近な中学生高校生に薦めたい、若いうちに読んでみて欲しいと思える1冊であった。

[ 読書ノート ] [ 文章技術 ]

[ 8月9日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.024279s / load averages: 0.15, 0.21, 0.23