morizyunのブックマーク (515)

  • 読みやすいコーディングの心得 [リーダーブルコード]

    読みやすいコードは、一緒にコーディングするチームのためだけではなく、自分のためにもとても重要です。 今回は「読みやすいコード」を書くための要素をまとめてみました! 🤔 一番大切にすべきことは読みやすさプログラミングでは、コードを書く時間よりもコードを読む時間の方が多くなります。 複数人で開発をしていると他人の書いたコードを読むことも増えるでしょう。 だから、コードは理解しやすさはプログラマーがもっとも大切にすべき指標のひとつです。 プログラミングが読みやすければ、こんなメリットがあります。 - 他の人がコード読みやすくなって、開発する時間が増える - コードの読み間違いが減って、バグを生み出しにくくなる 👽 名前でほかの人が最短時間で理解できるようにコードを書く モージュール名・クラス名・変数名を 短いコメントと考えて 情報を埋め込む 相手に意図を伝えるために名前には、 明確な単語 を

    読みやすいコーディングの心得 [リーダーブルコード]
    morizyun
    morizyun 2015/10/18
    リーダブルコード読みなおしたので、3年弱前の記事も書き直しました〜
  • JSフレームワークMeteor入門 & Herokuデプロイまで

    10/10に開催された JavaScript Framework - Meteor のハッカソン でいろいろ話を聞いて興味を持ち始めて、Meteorのチュートリアル を触ってHerokuにpushした時に少しハマったのでメモです。 Meteorは簡単にいうとクライアントもサーバも一緒にJSで書ける、リアルタイムWebアプリケーションのためのフレームワークのようです。 チュートリアルを触るとわかりますが、SPA(シングルページアプリケーション)が簡単に作れるのはたしかに感動ものです。 その代わりにデメリットとして割り切っている部分も多い印象です。 基的にはMeteorの特徴を理解して、「特徴にマッチする」アプリケーションのアイデアがある時に使うことをオススメします。 🐮 Meteor入門Meteor入門時に参考になりそうなページはこちら。 公式チュートリアル(英語) 体感!JavaScr

    JSフレームワークMeteor入門 & Herokuデプロイまで
    morizyun
    morizyun 2015/10/12
    久々にブログ書きました。 Meteor 想像以上に導入しやすくてビックリしました。うまく適用できそうなアプリが見つかったら、ぜひ使ってみたい!
  • [Swift] UIAlertViewControllerを複数表示できるようにする

    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

    [Swift] UIAlertViewControllerを複数表示できるようにする
    morizyun
    morizyun 2015/09/12
    ブログ書きました。ブログもswiftもリハビリ中ですw
  • knockout.js x Rails 4.2入門ガイド

    最近仕事の関係で「Knockout.js」 について勉強をしています。knockout.jsを選定した理由はレビューしてくれる経験者がチームにいたからです。 JSは不得手ですので、アドバイスをくれる同僚がいるのはほんとうに有にくい限りです。 knockout.jsのメリットは次の2つだと考えています。 - 機能が絞りこまれているので、学習コストが低い - IE6+などの古いブラウザに対応しているので導入しやすい 今回はRailsに「Knockout.js」を組み込んだサンプルをいくつか紹介していきます。

    knockout.js x Rails 4.2入門ガイド
    morizyun
    morizyun 2015/08/15
    久々にブログ書きました。 Knockout.js は本当に学習コストが少ないです。あとは定型的なことをやろうとした時にわかりやすくコードを書けると思います。
  • DI(Dependency Injection)の概念入門[Java]

    Javaで「DI(Dependency Injection) / 依存性の注入」という概念があります。 これは簡単にいうと、「コンポーネント間の依存関係を外部の設定ファイルから設定(注入)できるようにすること」とのことです。 😀 やりたいことあるクラス内の定数や変数、インスタンスを排除して、外部ファイルなどに設定したものを 受け取れるようにすることで、動的に動作を変えられるようにする。 🍄 メリット依存性を排除することによる問題解決 中に別のクラスが入っているとテストがしづらい => テストが容易になる テストに時間のかかるメソッドがある => 時間のかかるテストを排除できる 設計の容易性と変化に強くなる ソフトウェアの階層構造をきれいに分離した設計が容易となる 特定のフレームワークへの依存度が極小になり、変化に強いソフトウェアを作ることができる 👽 デメリット クラスを大量に作る必

    DI(Dependency Injection)の概念入門[Java]
    morizyun
    morizyun 2015/07/26
    ブログ書きました。恥ずかしながらJavaのDI(Dependency Injection)の概念を理解していなかったので、勉強がてら記事を書きました!
  • ぼくのかんがえたさいきょうのRailsファースト・ガイド

    すみません、タイトルは釣りです。 Webプログラマーの実務経験ないけど、Railsの勉強始めました的な人にお会いする機会が何度かあって、 僕ができることってなてかなぁと思って考えた文章です。教えることは下手ですので、「もっといい方法があるよ」 といった方がもしいらっしゃったら、ぜひアドバイスもらえるとめっちゃうれしかったりします。 これからしばらくは「はじめてのプログラムはRailsです」といった方が増えるのかもと思います。 そういった人たちがプログラムを楽しいと思ってもらえるようになるとうれしいっす。 (2015-07-20 14:00) 質問をいただけたので書籍リストを追加 🎂 <セクション1> 1日目-11日目まずは触ってみるプログラミングに触ったことがない人や、大学の授業しかプログラムやったことがない人向けのセクションです。 すでに別の言語をやったことがある人はスキップしてくださ

    ぼくのかんがえたさいきょうのRailsファースト・ガイド
    morizyun
    morizyun 2015/07/19
    ブログ書きました。Webプログラマの実務経験ないけど、Railsの勉強始めました的な人に向けて書いてみました!少しでもお役に立てれば光栄っす!
  • Swift UIAlertControllerの初心者向け使い方ガイド

    なかなか時間がとれていませんが、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 が押

    Swift UIAlertControllerの初心者向け使い方ガイド
    morizyun
    morizyun 2015/07/05
    Swiftの勉強中。楽しい!もっと時間とっていこう〜
  • HTTPステータスコード一覧 [Web基礎勉強]

    HTTPステータスの意味ちゃんと理解できていなかったなとの反省で、俺得でHTTPステータスの簡単な一覧を作りました! 🐡 チートシートHTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう こちらは、ステータスコードをどのようなふうに考えればいいか、重要なコードはどれかといったことがまとめられた記事。 非常にわかり易い内容ですので、よければぜひ! 🍣 1xx Informational情報リクエストをサーバが受け取って、処理が継続することを表す。 コード メッセージ 意味

    HTTPステータスコード一覧 [Web基礎勉強]
    morizyun
    morizyun 2015/06/26
    HTTPステータスの意味ちゃんと理解できてなかったなとの反省で、俺得でHTTPステータスを整理して一覧をつくりました!
  • Realm Swift/objective-C/Android用のデータベース

    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 まとめ完全版 これだけ読んでも簡単

    Realm Swift/objective-C/Android用のデータベース
    morizyun
    morizyun 2015/06/21
    今後の為に ちょっとずつRealmのまとめ書いていきます!
  • 「Upsert」大量のデータを一括でInsert/UpdateするGem! 

    Rails/Rubyで大量のデータを一括で新規登録・更新スクリプト を書く場合は、Active Recordは生成コストが高くて、必ずしも向いていません。そんな状況での利用にオススメなのが、この 『upsert』というGemです。 このGemがサポートしているデータベースは、MySQL、PostgreSQLSQLite3です。 🐡 Upsertが適した利用シーン実装としては、OracleMySQLのPL/SQL、PostgreSQLのPL/pgSQLのスクリプトを一時的に定義して、 その中で対象テーブルに一致するキーのレコードがあればupdate、なければinsert処理を行ってくれます。 DB内部でレコードの有無を判定して、insert/update処理まで行てくれるので、当然速度は早くなります。 また、Commitを複数件単位でまとめてくれる機能も持っているので、Active R

    「Upsert」大量のデータを一括でInsert/UpdateするGem! 
    morizyun
    morizyun 2015/06/14
    一ヶ月ぶりに新規のブログ記事を書きました。アウトプット大切とあらためて感じています!
  • セルフトーク・マネジメントのすすめ。なりたい自分を手に入れよう[書評]

    『セルフトーク・マネジメントのすすめ』を『Kindle Voyage』 で読みました。自分をコントロールして、コンスタントに実力を発揮するためには自分自身のメンタルを常にベストな状態にする必要があります。 そんな時に役に立つのがこの『セルフトーク・マネジメント』だそうです。僕自身、人前で話をするのは苦手ですので、こういった書籍を通して、 少しでも「理想とする自分」に近付けるように、努めたいと思っています。 ここでは、この書籍の中で特に参考になった部分を中心に書いていきます。 🍄 セルフトークとは?セルフトークとは、自分のアイデンティティや価値観、世界観といった「自分が信じているもの/Belief」が揺らいだ時に発生するものです。 このセルフトークによって感情が誘発され、それにもとづいて行動が誘発されていきます。 🎳 自分をコントロールするいくつかの方法次の3つは比較的よく知られている自

    セルフトーク・マネジメントのすすめ。なりたい自分を手に入れよう[書評]
    morizyun
    morizyun 2015/05/26
    ブログ書きました!なりたい自分を手に入れよう!
  • コーチングのプロが教える「ほめる」技術! コーヒー1杯で人生が変わる[書評]

    『コーチングのプロが教える「ほめる」技術』を『Kindle Voyage』で読みました。 2015年5月3日時点ではkindle版の価格は、コーヒー1杯分強のお値段で気軽に買えるお値段です。 肝心の内容ですが、すでに購入後に2度読んでしまうほど、すごくためになることばかり書かれています。 メインのターゲットは、部下をもつ上司です。 そのうえ司が部下のモチベーションをいかに向上させるかという、 コーチングのお仕事をされている筆者の視点で書かれています。 ですが、実際には部下上司の関係だけじゃなく、同僚や友達、恋人、 家族へのコミュニケーションにも活かせる内容が満載です! 今回はこの書籍の中で特に役に立った点を中心に書いていきます! 🐝 アクノレッジメントアクノレッジメントとは、日語では承認です。 相手の変化や違い、成長や過程・成果に気付き、相手に対して「私はあなたの存在をそこに認める」

    コーチングのプロが教える「ほめる」技術! コーヒー1杯で人生が変わる[書評]
    morizyun
    morizyun 2015/05/03
    ブログ書きました!アクノレッジメント大切!!
  • セッションに関するセキュリティリスクについて

    Webサービスにおけるセッションの役割と、セッションに関するセキュリティリスクとその対策を整理しました。 🍄 セッションとはセッションとは「リクエストとそのリクエスト元を結び付けるためのしくみ」です。通信で『接続(ログイン)してから切断(ログオフ)』するまでの一連の動作や時間を「セッション」と呼びます。このセッションにより、特定のユーザーがどのような状態にあるかを追跡できます。 🏈 セッションで大切なこと セッションにはidだけをセッションで保存して、データはサーバ側に保存する セッションには重要なデータを保存しない(データの改竄や削除が容易なため) 😸 セッションハイジャックユーザーのセッションidを盗むと、攻撃者がそのユーザーと偽ってWebアプリケーションを利用できてしまいます。これを「セッションハイジャック」と呼びます。 次のようにJavaScriptCookieを盗み取る方

    セッションに関するセキュリティリスクについて
    morizyun
    morizyun 2015/04/27
    ブログ書きました!
  • MAKERS 21世紀の産業革命が始まるを読みました。未来のビジョンが変わる本[書評]

    『MAKERS -21世紀の産業革命が始まる』を『Kindle Voyage』で読みました。 2012年に日語化されたでかなりのベストセラーになりましたが、今秋はじめて読みました。 ビット(デジタル)の世界とアトム(物質)の世界との融合がものづくりの世界に起きることで、 新しい産業革命が生み出されるという内容です。 今読んでも不思議なくらい色褪せない内容で、英語圏と日語圏の知識・技術格差の広がりと、 アトムの世界に影響を与えるのには時間がかかるんだということ実感しました。 今回の書評は少しネガティビティがありますがご容赦いただければ幸いです^^; 😀 オープンソースによるものづくり日ではオープンソースによる開発はソフトウェアが有名だが、海外ではオープンソースのマインドを 受け継いで、ネット上で多くの人が協力してアトムのものづくりをするムーブメントが数年前から起きている。 一方で日

    MAKERS 21世紀の産業革命が始まるを読みました。未来のビジョンが変わる本[書評]
    morizyun
    morizyun 2015/04/25
    2012年10月に日本語化された書籍ですが、全く色あせていない。すごすぎる。
  • 不格好経営読みました! 魂を揺さぶられる文章![書評]

    『不格好経営―チームDeNAの挑戦』を『Kindle Voyage』で読みました。 2-3時間で一気に読んでしまいました。読んだ直後の感想としては、当に『魂が揺さぶられる』の一言でした。 多分これはDeNAの創業者の南場さん自身の根的な『人を魅了する才能』が文章にまで現れている気がします。 今回は少し短めですが、思ったことをメモしておきます。 1年後にもう一度読みなおしてみて、来年の自分がどう思うかを知りたいと思わせるです^^ 🚌 南場さんの才能と人としての魅力最初に書いたことの繰り返しにはなりますが、第一声はここまで人の心に訴えかけられるのかと素直に感心しました。 読ませる文章は一級品ですが、それ以上に人の心をこれほどまでに訴えかけ、魅了するのかと感銘を受けました。 DeNAの創業期に南場さんのもとに、日でもトップの中のトップの人達が多数集まったことの理由が 少しだけわかった

    不格好経営読みました! 魂を揺さぶられる文章![書評]
    morizyun
    morizyun 2015/04/05
    ブログ書きました。2-3時間で一気に読んでしまうほど、めちゃくちゃ面白い本でした!
  • 伝わるデザインの基本を読みました! ドキュメントを書くすべての人に読んでほしい[書評]

    『伝わるデザインの基 よい資料を作るためのレイアウトのルール』を『Kindle Voyage』で読みました。 たまにパワーポイントですごくきれいな資料を作る人がいましたが、ああこういうルールを守れば読み手に優しく、 読みやすくなるんだな。と納得できる実践的な情報が満載の一冊です。多分これから、何度も読んで仕事やプライベート で活用していくことになると思います! 🍣 目立つ書体と読みやすい書体知らないと気付かないことですが、知ってしまうとなるほどと思います。 この使い分けは一番初めに書かれていますが、かなり大切です! - 日語 - 明朝体: 長文などにマッチしていて読みやすい。疲れにくい。 - ゴシック体: 短文など目立つところに置くといい。パワポのタイトルとか。 - 英語 - セリフ体: 長文などにマッチしていて読みやすい。疲れにくい。 - サンセリフ体: 短文など目立つところに置く

    伝わるデザインの基本を読みました! ドキュメントを書くすべての人に読んでほしい[書評]
    morizyun
    morizyun 2015/04/04
    ブログ書きました!パワポで資料を作るときにこういうちょっとしたところを気をつけるだけで読みやすくなるよというのを教えてくれる本。オススメ!
  • DBの基礎 - コネクションプーリングについて

    コネクションプーリングについて、わかっていないことが多すぎたので、ちょっとだけ調べたことをメモで残しておきます。 今はまだ触りレベルしかわかっていなのいので、もう少しちゃんと分かるようになりたい! 😀 [スライド] データベースの羅針盤 コネクションプーリングを調べている過程で偶然見付け足資料 『データベース技術の羅針盤』。 とにかくわかりやすくて、俯瞰的にDBの業界を知ることができる資料。すばらしすぎる。 🎂 コネクション・プーリングとは?DBのコネクションを一定数確立しておいて、それを使いまわす手法のこと。 DBへの接続に必要となるオーバーヘッドをカットしてWeb/DBの双方の負荷を下げる。 また、WebとDBの接続を使いまわすことで同時接続数を節約する。 用意した、コネクション数を超えたアクセスは、コネクションに空きがでるまで待たされる。 以下はOracle関連の話ですが、基

    DBの基礎 - コネクションプーリングについて
    morizyun
    morizyun 2015/03/30
    ブログ書きました。DBの基礎として、コネクションプーリングを勉強しましたが、まだまだ消化不良です。ちょっと時間をおいて、また勉強したい!
  • AppleのiOSヒューマン・デザイン・ガイドライン読んだ! iPhone App開発者必読!

    Appleが出しているiOSのデザインのガイドライン資料『iOSヒューマンインターフェイスガイドライン』を読みました! 公式のドキュメントだけど、端的でわかりやすいのでiPhoneアプリケーションを開発する人にはぜひ読んでほしいドキュメントです。 この資料に書かれているところで特に参考になる点を俺得メモで書きました! 🎉 iOSのUI設計の方針iOS 7以降のAppleUIを見るとたしかに納得できます。 * UIはユーザーに内容を的確に伝わるようにする。ただしそれ自身が目立ち過ぎのはダメ * 文字は読みやすく、アイコンは的確明瞭で、その機能を明確に表すこと * 奥行きを持つことで、視覚的な重なりや、楽しさ、わかりやすさを向上させる 🏀 標準的なUI要素を使うOSのアップデートへの追従や、ユーザーがiOSの中で見慣れているUIを使うメリットを考えると、できるだけ 標準的なUIを使うこと

    AppleのiOSヒューマン・デザイン・ガイドライン読んだ! iPhone App開発者必読!
    morizyun
    morizyun 2015/03/28
    ブログ書きました。iPhoneアプリ開発の初心者の人におすすめ!
  • イノベーションのジレンマ! 熱い技術革新のマネジメント論[書評]

    『イノベーションのジレンマ』を『Kindle Voyage』で読みました。 の大きなテーマはイノベーションにおけるマネジメント論。 たとえば、HDDが14インチ => 8インチ => 5.25インチ=> 3.5インチ => 2.5インチと 変遷する過程で、多くのトップ企業が脱落し、新興企業が上位に上り詰めるという現象が発生した。 この大きな技術的変化を筆者は『破壊的イノベーション』とよんでいる。 一方で、既存の製品での容量の増加や読み込み速度の向上など、既存技術・製品の 延長線での性能向上を『継続的イノベーション』と呼ぶ。 製品の進化の過程では多かれ少なかれ、この破壊的イノベーションと継続的イノベーションが発生する。 2つのイノベーションが断続的に発生する製品開発において、適切なマネジメントを科学的に 研究、議論しているのがこの。大企業に勤めてこと業に関わっている人にとって書はとても

    イノベーションのジレンマ! 熱い技術革新のマネジメント論[書評]
    morizyun
    morizyun 2015/03/23
    イノベーションのジレンマ読みました!やっぱり名著と呼ばれるだけのことはあります。めっちゃ泣けますw
  • ActionSheetPicker-3.0をSwiftで使う

    UIActionSheetがiOS 8でdeprecatedになりましたが、この『ActionSheetPicker-3.0』を使うと、それ代替することができます。さらにActionSheetPickerはUIPickerView としての機能を簡単にカスタマイズできます!

    ActionSheetPicker-3.0をSwiftで使う
    morizyun
    morizyun 2015/03/16
    ライブラリ便利で、Swiftめっちゃ楽しいです。自由にプログラムできることがこんなに楽しいと思わかなった!