大学生からの Web 開発

廃れない技術よ 我が身に

NSDate を相対時刻にするライブラリ

時刻を相対表記にする。相対時刻とは、現在時刻から見たその時間である。たとえば 現在が 23時50分だとして何かの時刻が23時10分であれば「40分」という風に表示したい。1分以内のできごとなら「たった今」とか。 Twitter が代表例。 NSDate-TimeAgo そんな…

あやぴーさんの開発をちょっとだけ見た

先週土曜の昼に、あやぴーさん(@_ayato_p)を迎えてくもキャスト収録をした。 その収録終わりにあやぴーさんがめちゃくちゃ推している Clojure & Emacs での開発の様子を Google ハングアウト越しに見せていただいた。 あやぴーさんの開発は本当にハッカーと…

AutoLayout で隣接する View からのマージンを指定したい

AutoLayout になかなか苦戦しながら iOS アプリ開発をしている。 ついさっきまで AutoLayout で指定したマージンがすべて Superview からの位置になる問題と戦ってて解決したっぽいからメモ。 困ってた AutoLayout の Attributes ペイン。First item に marg…

RealmTodo のコードを読んだ

iOS 開発の手始めとして、また Realm が気になっているので RealmTodo を読んだ。 Realm とは Realm はモバイル向けの DB。速いし使いやすい感じ。以下のページが分かりやすい。 CoreDataはもう古い?新しいモバイルデバイス向けデータベース「Realm」を使っ…

くもキャストを Jekyll でリニューアルした

Podcast をはじめた 少し前から id:shgam さんと一緒に くもキャスト という名前の Podcast をやってる。 IT 技術を話題の中心としながらも、互いの気になっていることや趣味の話なんかもどんどんする、ゆるい感じの Podcast だ。 くもキャストkumocast.jp …

iOS のデータベース

iOS のデータストア、key value で設定値なんかは NSUserDefaults, モデルオブジェクトは CoreData って感じか— かるらん ☁️ (@karur4n) 2015, 4月 30 Core Data の取っ付きにくさから SQLite や Realm を使う風潮も出てきていると— かるらん ☁️ (@karur4n) …

ペーパープロトタイピング

iOS アプリを作ろうとしていて、まずペーパープロトタイピングをしてみた。POP というアプリを使った。 POP - Prototyping on PaperWoomoo仕事効率化無料 POP は描いたプロトタイプを iPhone で撮影して、その画像間のリンクを貼って、撮影したプロトタイプ…

Rack のソースコード読んでる

途中だけどあとちょっと書ききるのがめんどくさくなったので公開する。書き始めたのは今週月曜日なのにこの進捗っぷりは、バイトだったりやる気が出なかったりで。 「他人のソースコードを読むのは良い学習だ」っていうのは明らかで、行うべきだと思う。 で…

名前を理解することがだいじ

よく分かってない名前をちゃんと調べて理解すると道が開けることが多い。 たとえば JSON => Java Script Object Notation. notation は表記法って意味。JavaScript の Object の書式で記述するのが JSON ってこと。 なんかもっといい例があったんだけど、授…

アウトプットを音声で

文字をタイプするの時間かかる。音声だと5分ぶんのものは5分ほど(収録 + 編集)で作られるので時間取られなくていい。 一人で長くしゃべるのは辛いので、短く、その日の学び(チェックしたエントリ、書いたコード)なんかについて話すのが良いと思う。 いま…

はてなインターン

今年もはてなサマーインターンが開かれる。 「はてなサマーインターン2015」を開催します! 今年はScalaもSwiftも! - Hatena Developer Blog このブログ作った当初は、3年時にはてなインターンに参加できるくらいのスキルを持っていたいな、という気持ちだっ…

Vim で JSON のダブルクォーテーションが表示されない場合の解決法

Vim

ずっとこの問題が解決しなくて、Vim で JSON 開きたくなさすぎてしばらく Atom 使ってたんだけど解決したのでたまに戻ります。 Qiita にも同じエントリーを投下した。 Vim で JSON のダブルクォーテーションが表示されない場合の解決法 - Qiita おことわり v…

Whenever × rbenv

Whenever、そのままだと rbenv でインストールした Ruby で実行してくれなくて困る。 解決するには rbenv を初期化してやる必要がある。 config/schedule.rb job_type :runner, "export PATH=\"$HOME/.rbenv/bin:$PATH\"; eval \"$(rbenv init -)\"; cd :pat…

Gmail を使って Net::SMTPAuthenticationError が出力される場合の解決法

たとえば、 Ruby でこんなコードを書いてメールを送信したいとする。 require 'mail' options = { address: 'smtp.gmail.com', port: 587, domain: 'gmail.com', user_name: USER_NAME, password: PASSWORD, authentication: 'plain', enable_starttls_auto:…

React 触った

Web 開発での Reactive programming の潮流に乗れていなかったことに危機感を覚えて、その界隈で最も有名な JS ライブラリ React を触った。以降、v0.12.2 での話。 やったのは、公式チュートリアルと一人React.js Advent Calendar 2014を10日目まで読んだこ…

座布団を買った

経緯 椅子はこれ使ってたんだけど、あんまり座り心地が良くなかったので、座布団を買った。 SANWA SUPPLY SNC-L13 レザーチェア出版社/メーカー: サンワサプライメディア: オフィス用品購入: 3人 クリック: 12回この商品を含むブログを見る 座布団はこれ。 …

gem の実行可能ファイルは exe に保存する

作った gem をビルドしていざ実行しようとしても、 Command not found が返された。解決法が分かったのでシェア。 Bundler で作っている。バージョンは1.8.2。 作った gem の構成 ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── sample-gem.g…

クソみたいなコミットログ

Git

また作った。 「はあ、だめだなあ」と思いながらまたやってしまった。今回は、submodule をごちゃごちゃ触っていたらなった。 この悪癖はチーム開発するか、注目される OSS 作らないと直らないと思う。

Mac で自動ログインができない場合の解決法

Mac

自動ログインができない場合、これをチェックしよう。 FileVault を切にする FileVault が入になっていると、自動ログインができないようだ。 「システム環境設定」→「セキュリティとプライバシー」→「FileVault」から FileVaultを切 にしよう。 参考 macの…

Java で人狼のキャラクターモデルを定義する

最近は Android アプリのリリースを目標として、コードを書いている。 Android アプリ開発で必要となる Java の習熟度が高くなくて、入門書片手に、な状況だ。「スッキリわかるJava入門」という本がとても分かりやすくて、それでの継承を扱った章を読んでか…

今日のヤックシェービング

今日のヤックシェービング Bourbon, Neat, Bitters っていう CSS ライブラリが良さげ 試そう フロントエンドライブラリは bowerで 入れよう あれ bower 入ってない そういやこの前、node.js のバージョンを新調したんだった npm install bower -g さあ css …

生まれて初めて自転車を盗られた

経緯 今日、バイトをしてる際中に自転車が盗まれた。まさか自分のものが盗られてはいないだろうと思って周囲を探したけれど、自転車はなくなっていた。 なぜ盗られたか 鍵を掛けていなかったことが一番大きな理由だろう。奪ってくれとは言わないまでも、盗む…

LINE につけてほしいオプション

LINE、夜中に送っても相手を起こさないように、メッセージを届けても通知させないようにするオプションを発信者側に付ければ良いのでは— かるらん (@karur4n) 2014, 12月 26 欲しい。

【書き途中】人間が行う作業の自動化(オチ無し)

人間が行っている作業でも機械にやらせたい作業はたくさんあって、今日そう思うことがあった。 経緯 僕はレンタルビデオ店でバイトをしているんだけど、そこであるミスをよくしてしまう。 レンタルされるディスクのケースには防犯のために、キーパーと呼ばれ…

トピックブランチとは

Git

1つのトピック(お題)に専念したブランチのことである。 今まで、この言葉を見てもなんとなくの雰囲気で理解してたけど、こういう意味だったのね。

ブログいらないと思ったけど

いる気もする(たまにこういう文章書きたくなるから)。 いらないと思った 最近、技術的 Tips は Qiita に書くようにしようと決めた。 コンテンツは、それに合ったプラットフォームに置くことで、より価値が高まる。極端な例を言えば、「Swift 入門記事を Qi…

解けなかった JavaScript のクリックイベント

授業で HTML, CSS, JavaScript を触るようになってきた。もともとそれらについて多かれ少なかれ知識はあるので、進行にはついていけているのだけど、自分で少し拡張を加えようとしてハマったのでメモ。 授業内容 以下のようなコードを書いた。各 イメージは …

vim-slim のシンタックスハイライトが機能しない

Vim

vim-slim syntax highlighting does not work...... もしあなたが Yggdroot/indentLine を使ってて なおかつ let g:indentLine_faster = 1 を設定している なら それをオフにしましょう NeoBundle 'slim-template/vim-slim' NeoBundle 'Yggdroot/indentLine'…

Bot で開発モチベーションを高めるプラットフォーム

Bot が「今日はこれやったんだよ」「開発ブログ更新したよ」とか言ってきて、「負けるかぐぐぐ……」とか、便利なコンシェルジュ的役割を担ってくれて、開発モチベーションが向上するプラットフォームを考えた。 チャットルームに自分と Bot 数人がいて、Bot …

優秀なエンジニアとして生きていくためには、名を挙げなければいけない。その方法として最も明快かつ適切なのが、「優良な OSS を作ること、またはそれにコミットすること」というのは知っている。だが、名を挙げようとする僕の前にはボルダリング的な大きい…