メタプログラミングRubyを読んでいます。完全自分用のメモ記事です。 第2章で特に参考になった部分を中心に書いています。
メタプログラミングRubyを読んでいます。完全自分用のメモ記事です。 第2章で特に参考になった部分を中心に書いています。
Mac/Homebrew環境でrbenvをupdateして最新のRubyバージョンをインストールする手順です。 「rbenv」はRubyの複数バージョンを切り替えることができるしくみです。 👽 アップデート手順Homebrewでrbenv, rbenv-buildを最新にします。 # Homebrewをアップデート brew update # ruby-buildをアップデート brew upgrade ruby-build # インストール可能なrubyのバージョンを確認 rbenv install --list # Rubyの指定したバージョン(今回は2.4.1)をインストール rbenv install 2.4.1 # 通常使う Rubyを設定 rbenv global 2.4.1 # 設定結果を確認 rbenv versions
先週から引き続いて、 Meteor.js を触っています。 今回は主にMeteor.jsの勉強を目的に、健康管理用のチェックリストアプリケーション healthack.me を作ってみました! 🐰 動機 最近買ったサプリメントが体に合わなかったみたいで、本当に数日間動けないという出来ことがありました。健康の大切さを思い知らされました。 そもそものサプリ買った動機は、年をとっても効率的にコードを書き続けたいという、おっさんプログラマーの切なる願いでした。 ということで作り始めたばかりですが、「healthack.me」を宜しくお願いします。 🐡 機能基本的には、 って言ってできたアプリケーションから、少しずつカスタマイズしていきました。 機能としては次のようなものがあります。 * 未ログイン時のトップページ * 新規ユーザー登録 * メールアドレスでのログイン機能 * 初回ログイン時にデ
10/10に開催された JavaScript Framework - Meteor のハッカソン でいろいろ話を聞いて興味を持ち始めて、Meteorのチュートリアル を触ってHerokuにpushした時に少しハマったのでメモです。 Meteorは簡単にいうとクライアントもサーバも一緒にJSで書ける、リアルタイムWebアプリケーションのためのフレームワークのようです。 チュートリアルを触るとわかりますが、SPA(シングルページアプリケーション)が簡単に作れるのはたしかに感動ものです。 その代わりにデメリットとして割り切っている部分も多い印象です。 基本的にはMeteorの特徴を理解して、「特徴にマッチする」アプリケーションのアイデアがある時に使うことをオススメします。 🐮 Meteor入門Meteor入門時に参考になりそうなページはこちら。 公式チュートリアル(英語) 体感!JavaScr
Swiftで、UIAlertViewControllerを複数呼び出すと次の様なエラーが出ます。 Warning: Attempt to present on which is already presenting これを回避するための方法のメモです。 // UIAlertController を作成 var alertController = UIAlertController(title: "タイトル", message: "メッセージ", preferredStyle: .Alert) // すでにアラートが表示されている場合は、それを親 ViewController にする var baseView: UIViewController = self.window!.rootViewController! while baseView.presentedViewController
Javaで「DI(Dependency Injection) / 依存性の注入」という概念があります。 これは簡単にいうと、「コンポーネント間の依存関係を外部の設定ファイルから設定(注入)できるようにすること」とのことです。 😀 やりたいことあるクラス内の定数や変数、インスタンスを排除して、外部ファイルなどに設定したものを 受け取れるようにすることで、動的に動作を変えられるようにする。 🍄 メリット依存性を排除することによる問題解決 中に別のクラスが入っているとテストがしづらい => テストが容易になる テストに時間のかかるメソッドがある => 時間のかかるテストを排除できる 設計の容易性と変化に強くなる ソフトウェアの階層構造をきれいに分離した設計が容易となる 特定のフレームワークへの依存度が極小になり、変化に強いソフトウェアを作ることができる 👽 デメリット クラスを大量に作る必
すみません、タイトルは釣りです。 Webプログラマーの実務経験ないけど、Railsの勉強始めました的な人にお会いする機会が何度かあって、 僕ができることってなてかなぁと思って考えた文章です。教えることは下手ですので、「もっといい方法があるよ」 といった方がもしいらっしゃったら、ぜひアドバイスもらえるとめっちゃうれしかったりします。 これからしばらくは「はじめてのプログラムはRailsです」といった方が増えるのかもと思います。 そういった人たちがプログラムを楽しいと思ってもらえるようになるとうれしいっす。 (2015-07-20 14:00) 質問をいただけたので書籍リストを追加 🎂 <セクション1> 1日目-11日目まずは触ってみるプログラミングに触ったことがない人や、大学の授業しかプログラムやったことがない人向けのセクションです。 すでに別の言語をやったことがある人はスキップしてくださ
なかなか時間がとれていませんが、Swiftの勉強をしている中でiOS 8から、「UIAlertView」がdeprecated(廃止予定) になったことを知りました。 新しい「UIAlertController」への移行が推奨されているそうです! 今回は今後使いそうな「UIAlertController」の書き方を知ったので俺得スニペットです! var alertController = UIAlertController(title: "sample title", message: "sample message", preferredStyle: .Alert) // ボタン 1を作成 let firstAction = UIAlertAction(title: "button 1", style: .Default) { action in println("button 1 が押
HTTPステータスの意味ちゃんと理解できていなかったなとの反省で、俺得でHTTPステータスの簡単な一覧を作りました! 🐡 チートシートHTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう こちらは、ステータスコードをどのようなふうに考えればいいか、重要なコードはどれかといったことがまとめられた記事。 非常にわかり易い内容ですので、よければぜひ! 🍣 1xx Informational情報リクエストをサーバが受け取って、処理が継続することを表す。 コード メッセージ 意味
Swiftやobjective-Cなどを使ったiOSのアプリケーション開発や、 Javaを使ったAndroid開発で使えるローカルデータベースとして最近人気がある『Realm』の紹介です。 今回はまだ触り始めたばかりであまり知見もないので、紹介記事へのリンクをメインにします。 🐰 Realmの特徴* 使い方が簡単 * ゼロコピーの設計なので速い * iOS、Androidでクロスプラットフォーム 🚌 リンク集公式ドキュメントSwift Docs - Realm is a mobile database: a replacement for SQLite & Core Data 公式ドキュメント。日本人のコミッターもいるそうで、とにかくドキュメントがわかりやすいのも特徴のひとつ。 Realm for Swiftまとめ完全版Realm for Swift まとめ完全版 これだけ読んでも簡単
Rails/Rubyで大量のデータを一括で新規登録・更新スクリプト を書く場合は、Active Recordは生成コストが高くて、必ずしも向いていません。そんな状況での利用にオススメなのが、この 『upsert』というGemです。 このGemがサポートしているデータベースは、MySQL、PostgreSQL、SQLite3です。 🐡 Upsertが適した利用シーン実装としては、OracleやMySQLのPL/SQL、PostgreSQLのPL/pgSQLのスクリプトを一時的に定義して、 その中で対象テーブルに一致するキーのレコードがあればupdate、なければinsert処理を行ってくれます。 DB内部でレコードの有無を判定して、insert/update処理まで行てくれるので、当然速度は早くなります。 また、Commitを複数件単位でまとめてくれる機能も持っているので、Active R
『セルフトーク・マネジメントのすすめ』を『Kindle Voyage』 で読みました。自分をコントロールして、コンスタントに実力を発揮するためには自分自身のメンタルを常にベストな状態にする必要があります。 そんな時に役に立つのがこの『セルフトーク・マネジメント』だそうです。僕自身、人前で話をするのは苦手ですので、こういった書籍を通して、 少しでも「理想とする自分」に近付けるように、努めたいと思っています。 ここでは、この書籍の中で特に参考になった部分を中心に書いていきます。 🍄 セルフトークとは?セルフトークとは、自分のアイデンティティや価値観、世界観といった「自分が信じているもの/Belief」が揺らいだ時に発生するものです。 このセルフトークによって感情が誘発され、それにもとづいて行動が誘発されていきます。 🎳 自分をコントロールするいくつかの方法次の3つは比較的よく知られている自
『コーチングのプロが教える「ほめる」技術』を『Kindle Voyage』で読みました。 2015年5月3日時点ではkindle版の価格は、コーヒー1杯分強のお値段で気軽に買えるお値段です。 肝心の内容ですが、すでに購入後に2度読んでしまうほど、すごくためになることばかり書かれています。 メインのターゲットは、部下をもつ上司です。 そのうえ司が部下のモチベーションをいかに向上させるかという、 コーチングのお仕事をされている筆者の視点で書かれています。 ですが、実際には部下上司の関係だけじゃなく、同僚や友達、恋人、 家族へのコミュニケーションにも活かせる内容が満載です! 今回はこの書籍の中で特に役に立った点を中心に書いていきます! 🐝 アクノレッジメントアクノレッジメントとは、日本語では承認です。 相手の変化や違い、成長や過程・成果に気付き、相手に対して「私はあなたの存在をそこに認める」
Webサービスにおけるセッションの役割と、セッションに関するセキュリティリスクとその対策を整理しました。 🍄 セッションとはセッションとは「リクエストとそのリクエスト元を結び付けるためのしくみ」です。通信で『接続(ログイン)してから切断(ログオフ)』するまでの一連の動作や時間を「セッション」と呼びます。このセッションにより、特定のユーザーがどのような状態にあるかを追跡できます。 🏈 セッションで大切なこと セッションにはidだけをセッションで保存して、データはサーバ側に保存する セッションには重要なデータを保存しない(データの改竄や削除が容易なため) 😸 セッションハイジャックユーザーのセッションidを盗むと、攻撃者がそのユーザーと偽ってWebアプリケーションを利用できてしまいます。これを「セッションハイジャック」と呼びます。 次のようにJavaScriptでCookieを盗み取る方
『MAKERS -21世紀の産業革命が始まる』を『Kindle Voyage』で読みました。 2012年に日本語化された本でかなりのベストセラーになりましたが、今秋はじめて読みました。 ビット(デジタル)の世界とアトム(物質)の世界との融合がものづくりの世界に起きることで、 新しい産業革命が生み出されるという内容です。 今読んでも不思議なくらい色褪せない内容で、英語圏と日本語圏の知識・技術格差の広がりと、 アトムの世界に影響を与えるのには時間がかかるんだということ実感しました。 今回の書評は少しネガティビティがありますがご容赦いただければ幸いです^^; 😀 オープンソースによるものづくり日本ではオープンソースによる開発はソフトウェアが有名だが、海外ではオープンソースのマインドを 受け継いで、ネット上で多くの人が協力してアトムのものづくりをするムーブメントが数年前から起きている。 一方で日
『不格好経営―チームDeNAの挑戦』を『Kindle Voyage』で読みました。 2-3時間で一気に読んでしまいました。読んだ直後の感想としては、本当に『魂が揺さぶられる本』の一言でした。 多分これはDeNAの創業者の南場さん自身の根本的な『人を魅了する才能』が文章にまで現れている気がします。 今回は少し短めですが、思ったことをメモしておきます。 1年後にもう一度読みなおしてみて、来年の自分がどう思うかを知りたいと思わせる本です^^ 🚌 南場さんの才能と人としての魅力最初に書いたことの繰り返しにはなりますが、第一声はここまで人の心に訴えかけられるのかと素直に感心しました。 読ませる文章は一級品ですが、それ以上に人の心をこれほどまでに訴えかけ、魅了するのかと感銘を受けました。 DeNAの創業期に南場さんのもとに、日本でもトップの中のトップの人達が多数集まったことの理由が 少しだけわかった
『伝わるデザインの基本 よい資料を作るためのレイアウトのルール』を『Kindle Voyage』で読みました。 たまにパワーポイントですごくきれいな資料を作る人がいましたが、ああこういうルールを守れば読み手に優しく、 読みやすくなるんだな。と納得できる実践的な情報が満載の一冊です。多分これから、何度も読んで仕事やプライベート で活用していくことになると思います! 🍣 目立つ書体と読みやすい書体知らないと気付かないことですが、知ってしまうとなるほどと思います。 この使い分けは一番初めに書かれていますが、かなり大切です! - 日本語 - 明朝体: 長文などにマッチしていて読みやすい。疲れにくい。 - ゴシック体: 短文など目立つところに置くといい。パワポのタイトルとか。 - 英語 - セリフ体: 長文などにマッチしていて読みやすい。疲れにくい。 - サンセリフ体: 短文など目立つところに置く
コネクションプーリングについて、わかっていないことが多すぎたので、ちょっとだけ調べたことをメモで残しておきます。 今はまだ触りレベルしかわかっていなのいので、もう少しちゃんと分かるようになりたい! 😀 [スライド] データベースの羅針盤 コネクションプーリングを調べている過程で偶然見付け足資料 『データベース技術の羅針盤』。 とにかくわかりやすくて、俯瞰的にDBの業界を知ることができる資料。すばらしすぎる。 🎂 コネクション・プーリングとは?DBのコネクションを一定数確立しておいて、それを使いまわす手法のこと。 DBへの接続に必要となるオーバーヘッドをカットしてWeb/DBの双方の負荷を下げる。 また、WebとDBの接続を使いまわすことで同時接続数を節約する。 用意した、コネクション数を超えたアクセスは、コネクションに空きがでるまで待たされる。 以下はOracle関連の話ですが、基本は
Appleが出しているiOSのデザインのガイドライン資料『iOSヒューマンインターフェイスガイドライン』を読みました! 公式のドキュメントだけど、端的でわかりやすいのでiPhoneアプリケーションを開発する人にはぜひ読んでほしいドキュメントです。 この資料に書かれているところで特に参考になる点を俺得メモで書きました! 🎉 iOSのUI設計の方針iOS 7以降のAppleのUIを見るとたしかに納得できます。 * UIはユーザーに内容を的確に伝わるようにする。ただしそれ自身が目立ち過ぎのはダメ * 文字は読みやすく、アイコンは的確明瞭で、その機能を明確に表すこと * 奥行きを持つことで、視覚的な重なりや、楽しさ、わかりやすさを向上させる 🏀 標準的なUI要素を使うOSのアップデートへの追従や、ユーザーがiOSの中で見慣れているUIを使うメリットを考えると、できるだけ 標準的なUIを使うこと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く