タグ

ブックマーク / blog.jnito.com (21)

  • 僕たちは本当のSQLite3を何も知らない(柔軟なデータ型と外部キー制約の罠について) - give IT a try

    「えっ、SQLite3ってこんな仕様なの!?」と最近ビックリしたことを紹介します。 たとえばこんな2つのテーブルがあったとします。 CREATE TABLE blogs ( id int primary key, title varchar(32) ); CREATE TABLE comments ( id int primary key, content varchar(32), blog_id int, foreign key (blog_id) references blogs(id) ); ポイントはcommentsテーブルのblog_idにはblogs(id)への外部キー制約が貼ってあることです。 もちろん、blog_idもblogs(id)も、どちらもint型です。 で、以下のようなSQLを発行します(blog_idの値に注目)。 -- blogsにデータを追加 INSERT

    僕たちは本当のSQLite3を何も知らない(柔軟なデータ型と外部キー制約の罠について) - give IT a try
  • Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try

    はじめに 先日、Rubyプログラマが職である僕が、なぜか地元・兵庫県西脇市の中学校で情報モラル教育に関する講演をしてきました。 このエントリではなんでそんなことになったのか、そしてどんなことを話したのか、といった話を書いていきます。 【もくじ】 はじめに 講演を依頼されたいきさつ 去年の情報モラル講演会は当にひどかった 今年は誰かな〜? → えっ、僕!? 当日使用したスライド この講演で伝えたかったこと 「スマホやSNSは怖い」だけでは終わらせない トラブルに遭遇したら大人に頼る(一人で解決しようとしない) リスクを語るときは、必ず予防策と対処法をセットで伝える テクニカルな解決策(設定の変更等)は重視しない 大人だって失敗したり、ちゃんとできてなかったりすることを伝える 生徒さんたちの感想 その他の裏話等 「経験がない&時間がない」で、かなり準備が大変だった 信頼が置ける専門家の方た

    Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try
  • 技術記事を書くことで得られる5つの効能 - give IT a try

    先日、Qiitaの技術記事を書いているときに、ふと「そういえば、技術記事を書いてると、こういういいことがあるよなー」と思ったので、それをつらつらと書いてみます。 題して「技術記事を書くことで得られる5つの効能」です。 効能1:自分の理解が深まり、知識が定着する 「いいかげんな内容やウソは書きたくない」、「できるだけわかりやすく書きたい」と考えると、中途半端な理解や知識を必死に埋めようといろんなことを詳細に調べます。 その結果、記事を書く前よりもさらに自分の理解が深まって、知識が定着します。 効能2:「これ読んどいて」で説明が終わる コードレビューとかをしていて何か指摘を入れたくなったとき、そのトピックに関して過去に自分で書いた記事があると、「この記事を読んで修正してください」の一言で済むことがあります。 コードレビュー以外でも、「先日こんな問題に遭遇しました。みんなも気を付けて!」と、社内

    技術記事を書くことで得られる5つの効能 - give IT a try
    InoHiro
    InoHiro 2019/06/22
  • 小学校の卒業式でPTA会長として祝辞を述べてきた - give IT a try

    はじめに:PTA会長、祝辞に悩むの巻 昨日は息子の卒業式でした。 僕は今年PTA会長をやっているので、保護者としてではなく、来賓として出席しました。 こういうイベントでやってくるのが、「PTA会長の祝辞」です。 学校側はサンプルとして過去の祝辞をいくつか渡してくれたものの、自分で祝辞を考えるのはなかなか大変でした。 まず、「どこかで聞いたことのあるような平凡な祝辞」はしゃべりたくない。 あと、きれいな言葉が並んでるんだけど、抽象的で具体性のない祝辞もイヤ(「君たちには無限の未来が広がっています」「どんな困難も諦めずに乗り越えていってください」「いつも夢と希望を持って~」みたいなやつです)。 子どもの立場に立ってみると、祝辞って大半が「退屈なおっさんの話」なんですよね。 僕自身、まったく記憶や印象に残っていません。 なので、「ちょっと変わってて」「具体的で」「多少なりとも印象に残るような」祝

    小学校の卒業式でPTA会長として祝辞を述べてきた - give IT a try
    InoHiro
    InoHiro 2018/03/24
  • 技術書を書きたいITエンジニア必見!?「プロを目指す人のためのRuby入門」の舞台裏をお見せします - give IT a try

    前回のブログでも書いたとおり、僕は2017年12月6日から10日まで東京に滞在していました。 そこで出会ったRubyプログラマのみなさんからよく聞かれたのは「あの(=プロを目指す人のためのRuby入門)って、書くのにどれくらいかかったんですか?」という質問です。 たしかに、Rubyのコードを書く人は多くても、を書く人はあまりいないと思います。 そこで、このエントリでは執筆の様子がある程度わかるように、「プロを目指す人のためのRuby入門」(チェリー)の執筆裏話を書いていこうと思います。 プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ) 作者: 伊藤淳一出版社/メーカー: 技術評論社発売日: 2017/11/25メディア: 大型この商品を含むブログを見る ちょっと長いので先に目次を載せておきますね。

    技術書を書きたいITエンジニア必見!?「プロを目指す人のためのRuby入門」の舞台裏をお見せします - give IT a try
    InoHiro
    InoHiro 2018/01/16
  • 筆者自らが語る「プロを目指す人のためのRuby入門」のこだわりと見どころ - give IT a try

    このブログでもすでに何度か紹介していますが、いよいよ2017年11月25日に僕が執筆した「プロを目指す人のためのRuby入門」が発売されます。 僕の手元には一足先に見誌が届きました! 表紙は真っ赤なチェリーが目印です。 背表紙もよく目立つ赤色! 写真ではわかりにくいですが、普通の赤色ではなく、少しピンク色がかった個性的な赤色です。 すでに東京都内を中心に、一部の書店では先行発売が始まっています。 ジュンク堂書店 池袋店(池袋) 三省堂書店(神保町) 書泉ブックタワー(秋葉原) 有隣堂 ヨドバシAKIBA店(秋葉原) 紀伊國屋書店 新宿店(新宿) 丸善 丸の内店(丸の内オアゾ) 丸善 ラゾーナ川崎店(川崎市) 書泉ブックタワーでは早くもコンピュータ書のベスト3に入ったらしいです。 (まだ先行発売期間中なのにすごい!) 【書泉ブックタワーコンピュータ書ベスト】11/12-11/18付

    筆者自らが語る「プロを目指す人のためのRuby入門」のこだわりと見どころ - give IT a try
    InoHiro
    InoHiro 2017/11/20
  • 新人プログラマ向け・スキル向上のための具体的なアプローチと考え方 - give IT a try

    はじめに:「僕にもそんな頃があった」 先日、西脇.rb&神戸.rbの合同勉強会として「RailsプログラマのためのSQL勉強会」を開催しました。 この勉強会は出題者(=僕)が出したSQL問題を他の参加者が解く、というスタイルの勉強会です。 参加者の方の中には最近プログラミングを始めた、という人も何人かいました。 そういう人にとっては問題がちょっと難しかったので、ときどき僕がサポートに回って質問に答えたり、解き方をある程度教えたりしていました。 また、話がちょっと脱線して「僕が作ったこれぐらいのWebアプリは、伊藤さんなら何時間ぐらいで作れますか?」みたいな質問を受けたりもしました。 その中で言われたのが、 「説明されたらわかるけど、自分一人でこの答えにたどり着くのは無理です」 「えっ、そんな短い時間で作れるんですか」 といったようなコメントです。 そういったコメントを聞くと、「あー、僕にも

    新人プログラマ向け・スキル向上のための具体的なアプローチと考え方 - give IT a try
    InoHiro
    InoHiro 2016/03/22
  • デザイナさん直伝のCSSテクニックが満載!「RubyistのためのCSS勉強会」を開催しました - give IT a try

    はじめに さる2016年1月9日、西脇.rb&神戸.rbの合同勉強会として「RubyistのためのCSS勉強会」を開催しました。 主催者の僕自身が「参加して良かった!」と思えるぐらい有益な情報がたくさん詰まった勉強会になったので、今回のエントリではこの勉強会の内容を紹介します。 もくじ ちょっと長いので、先に目次を載せておきます。 はじめに もくじ 講師は合同会社フィヨルドの町田さん! この勉強会で講義してもらったテーマ 座学編 Railsの app/assets/stylesheets 内のディレクトリ構成例 最近注目を集めているAtomic Designについて 3種類のリセット系CSSの特徴について 変更に強いマークアップのルールについて プログラマとデザイナの協業について ハンズオン編 進め方の具体例 1問目:グローバルナビゲーションの作成 2問目:アラート画面の作成 3問目:記事

    デザイナさん直伝のCSSテクニックが満載!「RubyistのためのCSS勉強会」を開催しました - give IT a try
    InoHiro
    InoHiro 2016/01/12
  • MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - give IT a try

    2022.5.4追記) FactoryGirlはFactoryBotという名前に変更されています(参考)。この記事は昔の名前である「FactoryGirl」を使っています。 はじめに 今年のゴールデンウイークはMinitestとRSpec、FixturesとFactoryGirlについていろいろ研究(?)していました。 具体的にはこんなことをやっていました。 Rails Tutorial 第3版を写経した(第3版ではMinitestとFixturesを使っている) Rails TutorialのテストコードをRSpecとFactoryGirlで書き直した Everyday RailsのテストコードをRSpec + FactoryGirlからMinitest + Fixturesに書き直した The Minitest Cookbookを読んだ 今回のエントリではMinitestとRSpec

    MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - give IT a try
  • 今夜わかる「スタック・オーバーフロー」の世界 - give IT a try

    はじめに プログラミングをやっている人であれば、スタック・オーバーフロー(Stack Overflow)を知らない人はいないと思います。 エラーメッセージをコピペしてググるとトップによく出てくる、このページのことです↓ Stack Overflow - Where Developers Learn, Share, & Build Careers また、ご存知の方も多いかもしれませんが、去年の12月からは日語版サイトも登場していて、現在は日語で質問と回答が投稿できるようになっています。 スタック・オーバーフロー とはいえ、ネットで見つけて回答を読むことはあっても、自分から質問したり回答したりする人はまだまだ少数派のような気がしています。 そこで、今回のエントリでは日語版サイトをメインターゲットにして、スタック・オーバーフローの使い方をまとめてみようと思います。 注:このエントリでは関数

    今夜わかる「スタック・オーバーフロー」の世界 - give IT a try
    InoHiro
    InoHiro 2015/10/04
  • 浜松Ruby会議01で発表してきました + ライブコーディング動画を作りました #hmrk01 - give IT a try

    はじめに 昨日、浜松Ruby会議01で「Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間」という発表をしました。 今回のエントリでは発表内容やイベントの感想等を書いてみたいと思います。 スライド「Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間」 今回の発表で使ったスライドはこちらです。 Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間 内容的には、この3年間の僕の紆余曲折を振り返りつつ、Rubyのスキルアップで役に立ったポイントを説明していく、というものです。 僕はスライドに書いていないこともたくさんしゃべるスタイルなので、リアルタイムに聞いてもらった方が情報量が多いですが、今回はスライドを見るだけでもある程度は伝わるかな~と思います。 2015.03.31追記:動画が公開されました Ustreamで発表当日の

    浜松Ruby会議01で発表してきました + ライブコーディング動画を作りました #hmrk01 - give IT a try
    InoHiro
    InoHiro 2015/03/30
  • プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try

    はじめに 僕がプログラミングを始めてから、もうすぐ12年になろうとしています。 この12年間、いろんな技術書を読んだり、仕事やプライベートでたくさんコードを書いたりしてきました。 最初に入ったSIerでは主にJavaを、前職の社内SE時代はC#をメインのプログラミング言語として使ってきました。 現在はRubyをメインで使っていますが、言語が変わっても、また何年経っても「これはあのとき学んだ知識が役に立ってるよなあ」と思う瞬間がときどきあります。 そこで今回はこれまでに読んだ技術書を一通り振り返り、「こので学んだことは今でも役に立ってる」と思うものを17冊ピックアップしていきます。 おことわり (2014.09.29 20:00追記) このエントリのタイトルは「10年経った今でも役に立っている」という意味で付けています。「今から10年後まで役立つ」という意味ではありません。(紛らわしくてご

    プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try
    InoHiro
    InoHiro 2014/09/29
  • ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try

    はじめに 2014年8月11日の晩に放送されたソニックガーデンのweb勉強会、SonicGardn Studyでは「いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜」というタイトルで、弊社ソニックガーデンの西見さん(@mah_lab)が講演してくれました。 デキるプログラマだけが知っているコードレビュー7つの秘訣 from Masahiro Nishimi いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜 - YouTube この放送の中でも触れられていたように、ソニックガーデンではコードレビューを大事にしています。 ただ、勉強会のスライドの中では具体的なコード例や指摘の例がほとんど出てこなかったので、「実際どんな感じなの?」という疑問を持った方もいたんじゃないかと思います。 そこで今回は「入社

    ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try
    InoHiro
    InoHiro 2014/08/13
  • Stack Overflowで世界を相手に腕試し - give IT a try

    はじめに 技術情報をググると結構な頻度でひっかかるStack Overflow。 みなさんも一度は見かけたことがあるのではないでしょうか? 僕も時々その内容を参考にしてきました。 最初は単なる海外のプログラマ向けQ&Aサイトぐらいにしか考えていなかったのですが、よく調べてみると色々と興味深い仕掛けや工夫がなされていることが分かりました。 Stack Overflowの概要は以下のサイトが参考になると思います。 『Stack Overflow』から学ぶ最近のコミュニティ構築術 | IDEA*IDEA 上のサイトの情報に加えて、実際に使ってみて気づいた点などを簡単にメモしていきます。 日人プログラマのためのStack Overflowガイド 先に断っておきますが、こちらは前振りです。 このエントリの題はずっと後ろの方に隠れています。。。 評価(Reputation) Stack Overf

    InoHiro
    InoHiro 2014/05/27
  • 妻のパン屋のwebサイトをいろいろ更新した話 ~Rails 4アップデートとかサイトの高速化とか~ - give IT a try

    はじめに 僕のは兵庫県西脇市でCoupé Baguette (クープ バゲット)という小さなパン屋さんを営んでいます。 この店のwebサイトは僕がRailsで作り、Herokuでホスティングしています。 http://coupe-baguette.com 去年の1月に全面改装して以来、あまり触ってこなかったのですが、RubyRailsのバージョンも古くなってきたので、そろそろ最新化したいな~という気持ちが高まっていました。 というわけで先日、ようやくサイトをアップデートすることができました。 見た目の変化は全くありませんが、内部的にはRubyのバージョンが1.9.3から2.1.1に、Railsのバージョンが3.2から4.1にアップデートされています。 さらに、TurbolinksやCloudFlare(CDN = Contents Delivery Network)も導入して、サイトの

    妻のパン屋のwebサイトをいろいろ更新した話 ~Rails 4アップデートとかサイトの高速化とか~ - give IT a try
    InoHiro
    InoHiro 2014/05/09
  • RSpec初心者必読!「Everyday Rails - RSpecによるRailsテスト入門」を発売しました - give IT a try

    はじめに 以前から何度か紹介しているRSpecの翻訳が終了し、ついに販売を開始しました! 提供フォーマットはMOBI(Kindle)、EPUB(iBooks)、PDFで、下記のページから購入できます。 Everyday Rails - RSpecによるRailsテスト入門 - Leanpub 今回は改めてこのの紹介を書いてみようと思います。 「Everyday Rails - RSpecによるRailsテスト入門」ってどんな? 「Everyday Rails - RSpecによるRailsテスト入門 ~テスト駆動開発の習得に向けた実践的アプローチ~」はタイトルの通り、RSpecを使ったRailsの自動テストを説明した技術書です。 内容としては比較的易しめで、そこまで高度な話題は出てきません。なのでRSpecの未経験者~中級者かつ、Railsを使って開発している技術者がターゲット層にな

    RSpec初心者必読!「Everyday Rails - RSpecによるRailsテスト入門」を発売しました - give IT a try
    InoHiro
    InoHiro 2014/02/07
  • 妻のパン屋の悩み事をFacebookページで解消したお話 - give IT a try

    2014.03.06追記: 2013年を振りかえるエントリを書きました! Facebookページを始めてから1年後にどうなったのか気になる方はこちらもどうぞ。 独学の主婦が自宅で開業したパン屋さん「クープ バゲット」の2013年を夫が振り返ってみる - give IT a try はじめに 僕のブログをよく読んでくれている方はご存知かと思いますが、僕のは去年から兵庫県西脇市でCoupé Baguette(クープバゲット)という小さなパン屋さんをやっています。 1ヶ月ぐらい前にちょっと訳あって店のFacebookページを開設しました。 今回はFacebookページを開設した背景やその効果などをまとめてみようと思います。 Coupé Baguetteの前提知識 のパン屋については、以下の前提知識があると話がより分かりやすいと思います。 が家事や育児の傍らパンを作っていることもあって、営業

    妻のパン屋の悩み事をFacebookページで解消したお話 - give IT a try
  • JavaやC#の常識が通用しないRubyのprivateメソッド - give IT a try

    衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ

    InoHiro
    InoHiro 2012/03/15
  • FizzBuzz問題を使って社内プログラミングコンテストを開催してみた - give IT a try

    はじめに 先日、社内で初めてプログラミングコンテストを開催しました。 お題はかの有名なFizzBuzz問題です。 全員楽勝で解答するだろうと思いきや・・・結果はいかに!? ちょっと長いエントリですが、このコンテストの顛末をお楽しみください。 開催の動機と経緯 メンバーの向上心を刺激するために、なにか面白くて技術的に意味のあるイベントを開きたかった。 以前からFizzBuzz問題を全員で解いてみたかった。 FizzBuzz問題はプログラマなら解けて当たり前、というようなWeb記事をよく見かけていた。 これぐらいなら誰でも解けるだろうと自分も思っていたが、実際にやってみないとわからない。 そこで社内プログラミングコンテストを開き、みんなでFizzBuzz問題を解いてみたいと思った。 マネージャーに話を持ちかけたところ、すぐに賛同してくれた。 FizzBuzz問題以外の追加問題も作成したが、第1

    FizzBuzz問題を使って社内プログラミングコンテストを開催してみた - give IT a try
  • 最近興味深いと思ったWeb記事のリンク集 - give IT a try

    社内のメンバーに紹介しようと思ってためてきた各種Web記事へのリンクが大量に溜まっちゃいました。 ついでにここでも紹介しておきます。 一部の記事は会員登録が必要かもしれません。あしからず。。。 プログラミング/プログラム設計 プログラミングについてあまり知られていない7つのこと http://www.tommyjp.com/2010/08/blog-post_1710.html => どれも超重要。知らなかった人はこれを機に覚えておきましょう。 ソースコードの質 http://el.jibun.atmarkit.co.jp/genmaicha/2010/11/post-5c3e.html => 保守性、可読性、拡張性の重要性について。 技術的負債 http://d.hatena.ne.jp/asakichy/20101210/1291936604 => 技術的負債の原因や解決策について(そ

    最近興味深いと思ったWeb記事のリンク集 - give IT a try
    InoHiro
    InoHiro 2011/02/01