サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
dangerous-animal141.hatenablog.com
最近はなにがし.fm みたいな番組がめっちゃ増えてきましたね。 普段、移動時間やジョギングする時とかに Podcast をよく聴いているけど、何をどういう目的で聴いているか自分で整理するためにもジャンル別に聴いている番組をまとめてみました。 Tech 系 Rebuild 言わずもがなの番組、まだ番組が乱立してなかった頃からずっと聴いている 話題になった Tech 系の話題や最新情報をキャッチアップできて良い 最近はガジェットだったりコンテンツ系の話題が多い気がするけど、新しい言語とか新しい技術、マネジメント等について議論してる回は特に面白い 英語回は英語の勉強も兼ねて死ぬほど繰り返し聴いた これとか これも fukabori.fm マネジメントや開発組織、アジャイル系の話題など、個人的に好きなトピックを多く扱ってくれるので好き これとかめっちゃ勉強になる これも何回も聴いた EM.FM こ
Auth0 の Silent Authentication (サイレント認証)と Refresh Token Rotation (リフレッシュトークンローテーション)を完全に理解したい気持ちが急に高まってきたので書きます。 全体の流れとして React SPA with Auth0 での認可フローについて Silent Authentication (サイレント認証)について Refresh Token Rotation について まとめ みたいな流れで書きつつ、Silent Authentication や Refresh Token Rotation は何を解決しようとしているのか、それぞれのリフレッシュ方法でどのような挙動になるのか、などについて理解を深めていきたいと思います。 また、React SPA with Auth0 の認可フロー部分のイメージを沸かせるために以下のサンプルリ
今、自分の所属する会社では外国籍のエンジニアも働いていて、彼らとは普段英語でコミュニケーションを取っています。 具体的には Slack 上でのチャットや彼らが参加するミーティング、1on1 などを英語で行っていて、全く流暢ではないですが、現状問題なくコミュニケーションは取れていると思います。 初めて海外からエンジニアをチームに迎え入れたのが約 1 年半前。当初から分かっていたことではあったけど、特にリスニングとスピーキングが大きな課題となり、ミスコミュニケーションによって開発に支障をきたすようなケースもありました。 ただ色々と試行錯誤を繰り返し、今日なんとか 30 分~1 時間程度の 1on1 ミーティングぐらいであれば英語でもこなせるようになりました。 今回はこれまでどのようにして自分が英語を勉強してきたかをざっくり書いてみたいと思います。「TOEIC900 点です」みたいな定量的な実績
最近、Golang (+echo) で REST API サーバを開発する機会があったのですが、テストを書いたら API ドキュメントを自動生成するような仕組みを作るために試行錯誤したのでメモです。 方針 API ドキュメントの生成にはtest2docを利用 テストを実行すると API Blueprint 形式でファイルを自動生成してくれそう 該当するメソッドの上にコメントを書くことで最低限の説明は記述できそう README には gorilla/muxと julienschmidt/httprouterのサンプルしか載っておらず echoでうまく動くかは試してみるしかなさそう テストから生成された .apibファイルをaglioみたいなツールにかませば HTML ファイルとして API ドキュメントができそう プロジェクト構成 github.com/danimal141/rest-api
ひさしぶりの投稿です。気づけば iOS の開発を始めて半年近く経ち、ようやく半人前になってきたかもしれません。 最近は流行りのリアクティブプログラミングに興味津々なので、今回はその勉強がてらRxSwiftを使って GitHub のおすすめユーザーを表示するアプリを作ってみました。その内容をざっくり書いてみたいと思います。 ちなみにこのアプリはこちらの記事の中で RxJS で作られているものを参考にしており、今回作るのはその iOS 版になります。リアクティブプログラミングについても同記事をかなり参考にしております。 開発環境は Xcode7(Swift2.0)で iOS8 以上をターゲットにしております。 コードはこちら。(本記事に載せているコードはリファクタリングなどで修正されている可能性もあるので、差異がある場合はなるべく GitHub のコードを参考にしてください) ffmpegで雑
この前 GitHub のユーザー名を変更したので、メモがてら書いておきます。 自分は以下の懸念事項があって今までなかなか行動に移せていなかったのですが、今回無事に変更できたので似たような心配をしている人の参考になれば幸いです。 今まで作成した GitHub のリポジトリや Gist はどうなるのか homesick+GitHub で管理してる dotfiles はどうなるのか とりあえずユーザー名を変更してみる ユーザー名の変更自体は簡単です。 GitHubの自分のプロフィールページにアクセスして、以下のどちらかをクリックすればプロフィール編集画面にいけます。 で、そこから Account Settings → change username でユーザー名を変更するだけ。 ここで怖いポップアップが出てくるのですが、逃げてはいけません。 別にリポジトリも Gist も消されたりはしません。
Strip#stripを使うだけでは半角スペースとか改行文字しか取り除けないので、before_validation時に全角スペースを取り除く方法を考える。 ちなみに Ruby は 2.1.2、Rails は 4.1.0 を前提に書いてます。 auto_strip_attributes の導入 auto_strip_attributesという gem があったのでとりあえず使ってみる。 Gemfile に書いて、bundle installする。 gem "auto_strip_attributes", "~> 2.0" こうやって使うっぽい。 class User < ActiveRecord::Base # Normal usage where " aaa bbb\t " changes to "aaa bbb" auto_strip_attributes :nick, :commen
最近、仕事で Web スクレイピングの機能を実装する機会があって XPath を使う必要に駆られました。そこで Chrome で XPath が正しく機能しているかテストする便利な技があったことを知ったのでメモです。 $x を使用する Chrome のコンソールから、$xを使えば OK。 たとえば/html/bodyでちゃんと body 要素が取得できるか確認したい場合は、 $x('/html/body') としてやれば body 要素がちゃんと返ってきます。こいつは便利。知らなかった。。 まとめ スクレイピングする時ぐらいしか使わないかもしれませんが、もし複雑な XPath を書く必要に迫られて困っている人は試してみてください! 参考 Testing XPath in Google Chrome browser
(2015/11/7 追記)Swift2.0 に対応しつつ、リネームやリファクタリングなど修正を加えたものをGitHubにあげております。この記事内で説明している通りに実装しても動作しないと思うので、もしよろしければ GitHub のコードも参考にしてみてください。 僕は普段、Rails とか JavaScript とか触っているようなへっぽこ Web エンジニアでして、iOS や Android アプリの開発経験はありません。 HogeClass *hoge = [[HogeClass alloc] init]; // (゚Д゚≡゚Д゚)マジ? て感じでした。 でも最近は Objective なんたらの 100 億倍書きやすそうな Swift という言語が出ていたりするので、楽しそうだしちょっと手を出してみるかと。 そこでまず iOS 開発勉強用のサンプルとして Swift でシンプル
(2016/12/30 追記)コメントでご指摘頂いた箇所に関して修正しました。 この前たまたまこちらの記事を見つけて、浮動小数点数について全然理解してないなって思ったので勉強してみました。 前提 コンピュータの中に保存されているデータはすべて 0 と 1 の集まり(ビット列)で表現されている。そしてどういうビット列をどういう値として解釈するかは特に決まっておらず、使う人が勝手に決めていい。でもそれだと混乱を招くのでルールを作る必要がある。ルールは人間が勝手に決めた約束事に過ぎない。 固定小数点数と浮動小数点数 コンピュータは 0 と 1 しか表現できないから小数点.も表現できない。よって小数点付きの実数を表すときのルールが必要となり、そのルールとして固定小数点数と浮動小数点数がある。 固定小数点数 ビット列のどこに小数点をつけるか、あらかじめピンポイントで決めてしまう。 例えば「下 1 桁
今回はRubyとSQLiteを使って、郵便番号から住所を検索できるアプリケーションを作ってみました。 ソースはすべてここに置いてあります。 https://github.com/danimal141/search_zipcode やりたいことは非常にシンプルで 「郵便番号から該当する住所を検索する」 というだけのものなのですが、簡単なDB連携などもあって良い勉強になると思ったのでつくりました。(まあ、本にのってたサンプルを参考にしただけなのですがw) ちなみに郵便番号のCSVファイルは http://www.post.japanpost.jp/zipcode/dl/oogaki.html からダウンロードできます。 もちろんCSVファイルから該当箇所を抽出して取り出す方法もあるのですが、 それだと処理速度がかなり遅いので、今回はDBにデータを登録しておいてそこから検索をかける方法でつくりた
Rails でユーザー登録、認証機能を実装する際、deviseを使用することはわりと一般的かと思います。 またユーザーの論理削除を実現するための gem としてはparanoiaが有名かと思います。(Rails3 時代によく使われていた acts_as_paranoid をよりシンプルにしたやつ) どちらも素晴らしい gem なのですがこれらを同時に使用した際、以下のような問題が発生しました。 devise のvalidatableを使用してUserモデルの validation を実装 (email, password 関連の validation が追加される)。 paranoia のacts_as_paranoidメソッドを呼んで、ユーザーの論理削除をできるようにする。 email: hoge@hoge.comのユーザー hoge、email: fuga@fuga.comのユーザー
僕がはじめて WordPress を触ったのは2年前… 当時は MAMP を使ったローカル開発環境で開発して、FTP で本番にアップ、、なんてやり方で作業をしていました。 MAMP が起動しなくなって気が狂いそうになったり、適当に作られた独自テーマがカオスすぎて発狂したり、正直僕は WordPress に良い思い出がありませんでした w で、最近久しぶりに WordPress を使って簡単な Web サイトを作る機会があり、改めて触ってみると今は便利なものがいっぱいありますねー驚くほど開発がスムーズにできたので、今回はその時のことを備忘録がてら書いておきたいと思います。 イントロダクション 今回、使わせていただいたのはこちら 仮想環境を用意して、そこに WordPress を導入する(自動で) vagrant-chef-centos-wordpress スターターテーマ Underscor
あけましておめでとうございます。 新年一発目は backbone.js のサンプルとして有名な Todos をサーバーサイドに Rails をつかって作り直してみたいと思います! 以前、backbone.js のサンプル Todos の動作を追ってみたという記事でも動作を簡単に見たのですが、このサンプルでは localStorage を使ってデータを保存する形式がとられています。 これを今回、localStorage ではなく Rails でデータをもつ形式に作り直してみます。 ちなみに今年からブログも、はてな記法から Markdown 記法に変更してみました。 ソースコード コードはこちらに公開しております ↓ https://github.com/danimal141/bor_todos 実装 では早速どんなふうに作っていったかを備忘録がてら書いていきたいと思います!! 準備 今回は
普段、仕事でフロントエンド関連のことばっかりやっているので、家ではちゃんとサーバーサイド関連のことも勉強しようと思い、Raspberry piを購入。(してから半年ぐらい放置していました) 今回はそのセットアップ時のメモ書きを残しておきたいと思います。 本来なら、Raspberry pi起動時にディスプレイ、キーボード、マウス等が必要らしかったのですが、ケチな僕はSSHログインからセットアップを試みました。 まずはざっと情報を記載。 アイテム ・raspberry pi modelA(購入) ・micro USBケーブル(もってた) ・ehernetケーブル(もってた) ・iPhone充電用のACアダプタ(iPhoneのやつ使う) ・SDカード16GB(購入) ルーター FON(iPhone買ったときとかにもらえるやつ) SSHログインするためのPC Mac OSX10.9(ネットワークは
今回はjQuery.Deferredとかそれに関連するjQuery.whenとかのことをざっくり書こうと思います。 まずざっくりとDeferredについて。 Deferredオブジェクトはunresolved, resolved, rejectedのいずれかの状態をもつオブジェクトです(デフォルト値はunresoleved)。 そして、 ・unresolved状態→後続の処理は実行されない。 ・resolved状態→resolvedになった時用の処理(要するにdone)が実行される。 ・rejected状態→rejectedになった時用の処理(要するにfail)が実行される。 といった具合に、状態に応じて後続の処理を管理してくれます(ちなみに地味に重要なんですが、一度状態が変わったDeferredオブジェクトはもう二度と別の状態には変わりません。役目終了です)。 これによって、実行の順番を
先日、Retinaディスプレイ対応のデザインについて議論している時、僕は以前、Retina対応を経験したことがあったので 「Retinaディスプレイに対応するときはまずデザインを2倍の解像度でつくっておいて、CSSでそのサイズの半分の値を指定すればOKなんだぜ!」 とドヤ顔で言い放ちました。 でも冷静に考えたら「なんでこの方法で対応できたんだろう…」そんな初歩的な疑問が湧いてきたのです。よくわかっていない! そこで今回は自分の頭の整理のために、Retinaディスプレイ対応デザインについて書きたいと思います。 さっそく本やネットで調べまくった僕は、以下の超絶素晴らしいサイトにたどり着きました! http://www.mdn.co.jp/di/articles/2742/ 気づきを与えてくださった画期的な文章↓ スマートフォンの画面サイズで注意したいのは、PCと違い、ディスプレイの実解像度では
今回は、node.jsを用いて画像アップロードアプリケーションの作成に挑戦しました。 といってもこちらを参考に真似しただけなんですけどね。 ちゃっかりgithubに公開もしてます↓ https://github.com/danimal141/file_upload_app まずどういうアプリケーションかというと、 ・/startにアクセスして、画像をローカルからアップロードする ・uploadボタンを押すと、/uploadに遷移。1で選択した画像が表示される ・この時、アップロードした画像はtest.jpg(今回はjpgのみ扱うことにしてます)という名前にリネームされ、imgフォルダに保存される というシンプルなものです。 まず、用意するjsファイルは以下の4つです。 - index.js - server.js - router.js - requestHandler.jsこれらはそれぞ
今回は、前回やったCompassでCSS Sprite生成〜導入、自動生成〜の続きとして、CSS Spriteの手動生成とRetina対応について書きたいと思います。 ちなみに前回と今回のサンプルをまとめてこちらに公開しております。 https://github.com/danimal141/create_css_sprite それではまずCSS Spriteの手動生成についてです。 前回は @import "compass"; $sprite_images-sprite-dimensions:true; @import "sprite_images/*.png"; @include all-sprite_images-sprites;という記述だけであっという間にスプライト用のCSSができちゃいましたが、これ以外にも同様のスタイルを生成する方法があるみたいなので試してみました。 これ。
このページを最初にブックマークしてみませんか?
『一から勉強させてください』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く