タグ

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

  • 理想のプロバイダを探し回った結果、OCNのIPv4に行き着いた話 - give IT a try

    はじめに 僕は自宅で長年WAKWAKというインターネットプロバイダを利用してたんですが、最近OCNに乗り換えました。 ・・・というだけなら「ふーん」で終わってしまうのですが、実は3ヶ月ぐらいかけて、 WAKWAK ↓ OCN ↓ BIGLOBE ↓ OCN とプロバイダを転々と切り替えながら、最終的にOCNを(しかもIPv6ではなくIPv4で)利用することに決めました。 このエントリではどういう経緯でこの結論に至ったのかを紹介します。 【もくじ】 はじめに 我が家のインターネット環境の紹介と、おことわり 用語の整理 困っていたこと:Amazon S3のファイルダウンロードが遅すぎる!! IPv6にしてもまだ遅い! iPhoneのテザリングだと夜でも3秒でダウンロードできるんですが? NTTの人が試しにOCNにつないだら、あれ?速い!! IPv4だと速いのに、IPv6だと遅いOCN・・・ 同

    理想のプロバイダを探し回った結果、OCNのIPv4に行き着いた話 - give IT a try
    hiroomi
    hiroomi 2023/10/23
    “S3ファイルのダウンロード速度が速いのはOCNのIPv4”
  • 雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try

    (この話は最初Twitterに書こうと思ったけど、長くなるのでブログに書くことにしました) 僕はRSpecやMinitestでテストを書くのは得意ですが、常にテストファースト(TDD)で開発するとは限りません。 今業務でやってるタスクはこんなふうに進めてます。 雑に動くものを作る ↓ 見た目をきれいにする&機能を作り込む ↓ テストを書く ↓ リファクタリングする この順番で開発する理由を以下に述べます。 雑に動くものを最初に作る理由 最初は見た目とか、異常系とか、細かい仕様とかを無視して、正常系が一通り動くものを作ります。 これはこれから作ろうとしているものの認識が合っているかどうかをPO(プロダクトオーナー)に確認するためです。 実際に動く画面を見せると「こんな感じでOK」とか「ここはこういうふうにしたい」というフィードバックをもらうことができます。 また、開発者としてもコードを書きな

    雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try
    hiroomi
    hiroomi 2023/02/17
  • マトリョーシカ人形のようなメソッド設計を避ける - give IT a try

    フィヨルドブートキャンプのコードレビューでよく指摘してるシリーズです。 次のようなパンを焼くRubyプログラムがあります。 このプログラムはどういう工程を経てパンが焼かれるのか、ぱっと把握できますか? def main パンを焼く(粉, 水) end def パンを焼く(粉, 水) 焼く(パンを発酵させる(粉, 水)) end def パンを発酵させる(粉, 水) 発酵させる(パンを整形する(粉, 水)) end def パンを整形する(粉, 水) 整形する(パンをこねる(粉, 水)) end def パンをこねる(粉, 水) こねる(粉, 水) end main 上のプログラムは次のように書いても同じように処理されますが、工程の全体像がつかみやすいのはどちらでしょうか? def main 生地 = パンをこねる(粉, 水) 整形された生地 = パンを整形する(生地) 発酵した生地 = パ

    マトリョーシカ人形のようなメソッド設計を避ける - give IT a try
    hiroomi
    hiroomi 2022/11/28
  • 【JS完全に理解した】JavaScript PrimerとプログラミングTypeScriptとレガシーフロントエンド安全改善ガイドを読んでみた - give IT a try

    はじめに 僕は仕事Ruby on Railsを使ってWebアプリケーションを開発しているので、JavaScriptはそれなりに使えます。 ですが、サーバーサイドで使っているRubyに比べると、JavaScriptの習熟度はそれほど高くありません。 とくに、文法が一気にブラッシュアップされたES2015(ES6)以降の知識は「なんとなく把握はしているが、あくまでなんとなく」といった感じです。 また、最近よく名前を聞くようになったTypeScriptも「名前は知っているが使ったことはない」というのが現状です。 というわけで、「そろそろちゃんと勉強しておかないと」という思いから、以下のを購入してみました。 JavaScript Primer 迷わないための入門書 (アスキードワンゴ) 作者:azu,Suguru Inatomi発売日: 2020/06/10メディア: Kindle版プログラミ

    【JS完全に理解した】JavaScript PrimerとプログラミングTypeScriptとレガシーフロントエンド安全改善ガイドを読んでみた - give IT a try
    hiroomi
    hiroomi 2020/06/30
  • 技術書、紙の本で読むか、電子書籍で読むか? - give IT a try

    Twitterに書こうかと思ったけど、明らかに字数オーバーするのでブログに書きます。 タイトルの通り、技術書を紙ので読むか、電子書籍で読むか、という話です。 結論からいうと、僕は基的に紙のを選びます。 紙ののメリット3つ(+1つ) 1. 自分にプレッシャーをかけられる 一番の理由は、机の上に置いて「最後まで読め」と自分にプレッシャーをかけられるからです。 上の写真のように、いやでも目に付く場所に常時置いておくことで、思い出す機会や手に取る機会を増やすことができます。 これが電子書籍だと姿形(すがた・かたち)が見えなくなるので、強い意志を持っていないと「積ん読」のまま終わってしまう可能性が高くなります。 参考:ちなみに今読んでいるはこれです↓ プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発 作者:Boris Cherny発売日: 2020

    技術書、紙の本で読むか、電子書籍で読むか? - give IT a try
    hiroomi
    hiroomi 2020/06/12
    “古本屋に売れる”
  • 【書評】「レガシーコードからの脱却」の9つのプラクティスは圧倒的に正しい(経験者談) - give IT a try

    はじめに 株式会社アトラクタの原田騎郎さん(@haradakiro)から、書籍「レガシーコードからの脱却」をご恵贈いただきました。(どうもありがとうございます!) せっかくいただいたなので、書を読んだ僕の感想を書いてみようと思います。 どんななの? 端的に言うと、「初めからレガシーコードを作りださないための9つのプラクティスを説明した」となります。 最初にタイトルを見たときの印象は「今そこにあるレガシーコードを、どうやってイケてるコードに書き直していくのか?」を説明したなのかなと思ったんですが、書が主眼としているのは「そもそもレガシーコードを作らないこと」でした。 ですので、「レガシーコード改善ガイド」とは毛色が違うだと考えた方が良さそうです。 (「レガシーコード改善ガイド」は、「今そこにあるレガシーコードを改善する方法」を解説したです) レガシーコード改善ガイド (Obj

    【書評】「レガシーコードからの脱却」の9つのプラクティスは圧倒的に正しい(経験者談) - give IT a try
    hiroomi
    hiroomi 2019/09/28
  • Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try

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

    Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try
    hiroomi
    hiroomi 2019/07/29
  • お客様から「日本にサマータイムを導入したいんだけど」と言われたらプログラマとしてどうすべきか? - give IT a try

    はじめに 東京オリンピックを2年後に控え、日IT業界に突然降って湧いた「日でもサマータイムを導入するかも?」という問題。 この話、数日経てば「そんなのうそぴょーん」とか「すいません、前言撤回します」みたいなオチで終わるだろうと思ってたのですが、このブログを書いている時点ではそういう気配はなく、むしろ前向きに検討しているような雰囲気で「おいおいおい!」と思っております。 こんな「ピカーン💡いいこと思いついちゃった!」的なノリで突然サマータイムを導入するのが、技術的にどんなに無茶な話なのかは、他の専門家のみなさんが論じてくれているのでここでは書きません。 そのかわりに、もしこんな話が僕が勤めている株式会社ソニックガーデンの「納品のない受託開発」で巻き起こったら僕はどんな対応をするか、という思考実験をしてみようと思います。 前提知識:「納品のない受託開発」の開発スタイルについて 「納品の

    お客様から「日本にサマータイムを導入したいんだけど」と言われたらプログラマとしてどうすべきか? - give IT a try
    hiroomi
    hiroomi 2018/08/15
    ”戦争が終わって70年経った今でも「声の大きい人の意見が通る」とか「非合理的な精神主義で、現場が無茶を強いられる」といった行動パターンから抜け出せない”成り行きが成り立たたないけど、することはシンプル
  • 【問題提起】篠原嘉一氏に情報教育の講演を依頼する前に考えていただきたいこと ~ITエンジニアから見た、情報教育のあり方について~ - give IT a try

    要約(僕の主張) 篠原嘉一氏の講演内容には、IT関連の知識がない人にはわかりづらいウソや間違い、極論が多く含まれているため、適切な情報教育だとは言いがたい。よって改善を強く希望する。 学校側は「生徒をネットのトラブルから守りたい」という思いが優先されるため、ITエンジニアよりも「情報の正しさ」がないがしろにされてしまうのかもしれない。だが、ITエンジニアとして、そして保護者として、学校は子どもたちに正しい情報を伝える努力をしてほしい。 我々ITエンジニアも情報教育を学校に丸投げするのではなく、正しい知識を伝えるために、主体的に情報教育に協力していく必要がある。 はじめに Image: http://www.mrf-ip.com/blog/0067/ 先日、息子が通っている中学校で開催された情報教育講演会に参加してきました。 これは中学校の全生徒と、任意参加の保護者で、情報教育(主にSNS

    【問題提起】篠原嘉一氏に情報教育の講演を依頼する前に考えていただきたいこと ~ITエンジニアから見た、情報教育のあり方について~ - give IT a try
    hiroomi
    hiroomi 2018/06/04
  • WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた - give IT a try

    はじめに Twitterを見てたら、気になる雑誌の特集を見つけました。 WEB+DB PRESS Vol.99の「Rubyで学ぶ!良いコードって何だろう?」という特集記事です。 WEB+DB PRESS Vol.99 作者: ?橋健一,谷口禎英,井大登,山崎勝平,大和田純,内村元樹,坂東昌哉,平田敏之,牧大輔,板敷康洋,大?浩崇,穴井宏幸,原口宗悟,久田真寛,ふしはらかん,のざきひろふみ,うらがみ,ひげぽん,池田拓司,はまちや2,竹原,片田雄樹,渋江一晃,WEB+DB PRESS編集部編出版社/メーカー: 技術評論社発売日: 2017/06/24メディア: 大型この商品を含むブログを見るRuby大好き!きれいなコード大好き!!な僕にとっては、この特集は読まずにはいられません! 早速買って読んでみました。 お~、なるほど、たしかにいいことが書いてある! うんうん、そうそう・・・あれ?この

    WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた - give IT a try
  • 数値で測るコード品質 - give IT a try

    プロフィールのところにも書いてあるのですが、おいらの目標は「美しく無駄のないシステムアーキテクチャを設計、構築すること」です。 なぜならシステムの保守性や拡張性って、アーキテクチャやコードの品質によって雲泥の差が出ることを、幾度となく痛感してきているからです。 しかし、どんなアーキテクチャやソースコードがキレイなのか、拡張性や保守性が高いのか、っていうのはなかなか客観的に判断しにくいのもたしか。 「俺のコードはあんたのより分かりやすい」 「そうですか??」 「絶対そうやろ!?なんでわからんのや???」 みたいな議論が始まったらたぶん平行線になっちゃいますよね。 そこでツールを使って、コードの品質を定量的に測ってみることにしました。 今回使ったツール 今回使ったツールはこちらです。 SourceMonitor V3.5 http://sourceforge.net/projects/dupl

    数値で測るコード品質 - give IT a try
    hiroomi
    hiroomi 2016/09/08
  • 【書評】SOFT SKILLSを読んでプログラマとしてのキャリア設計を見直そう - give IT a try

    2022.3.17追記)第2版が出版されたので、こちらで第2版の書評を公開しています。 blog.jnito.com 以下は第1版の書評です。 はじめに 先日、最近ネットでちょくちょく名前を見かける「SOFT SKILLS」というを読み終わりました。 SOFT SKILLS ソフトウェア開発者の人生マニュアル 作者:ジョン・ソンメズ日経BPAmazon Amazonのレビューを見てるとなんか冷めた意見が多くて「イマイチなのかな?」と思ったんですが、実際読んでみると全然そんなことはなく、「これは面白い!」と思える久々のヒット作でした。 半分くらい読んだけど、かなり面白い。 Read a half of book, very very interesting. @jsonmez pic.twitter.com/ZhLE3BRmhs— Junichi Ito (伊藤淳一) (@jnchito

    【書評】SOFT SKILLSを読んでプログラマとしてのキャリア設計を見直そう - give IT a try
    hiroomi
    hiroomi 2016/08/24
    978-4822251550 "今でも働いてはいるのですが、早期引退後は食べるために働くのではなく、自分のために自由に働く、という働き方に変わっているみたいです。"これ「第3部:僕の知らない新技術の勉強法」も気になった。
  • 新人プログラマ向け・スキル向上のための具体的なアプローチと考え方 - give IT a try

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

    新人プログラマ向け・スキル向上のための具体的なアプローチと考え方 - give IT a try
    hiroomi
    hiroomi 2016/03/24
    "やみくもに「スキルを上げたい!」と考えていても、進むべき方向がいまいち定まらないと思います。 そういう場合は5年後の自分を想像してみるのがオススメです。"
  • 開発時間短縮のためのプラクティス10選 - give IT a try

    このエントリを書いた背景 先日会社で「開発時間を短縮するためのアイデアやノウハウをみんなでシェアしよう」という課題が出されました。 「カウボーイコーディングとコピペプログラミングで技術的負債たっぷりのシステムを作りましょう。そうすれば開発時間はぐっと短くなりますよ」なんてことは口が裂けても言えないので、真面目に考えてみました。 色々あるとは思うのですが、その中でも特に重要だったり、言語や技術を問わずに使えそうなものを10個選んでみました。 どれもまあ、基中の基だったり、アジャイル開発だと常識的に行われているようなことばっかりかもしれません。 とはいえ、おいらの会社に限定されるような話は載っていないので、ここにもその時に書いた内容をそのまんま載せておきます。 ただし、あなたの仕事とおいらの仕事は少し違うと思うので、読む前に以下の前提条件を確認しておいてください*1。 このエントリを読む前

    開発時間短縮のためのプラクティス10選 - give IT a try
    hiroomi
    hiroomi 2013/04/08
  • 妻のパン屋の悩み事を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
    hiroomi
    hiroomi 2012/12/02
    「「行ってみたけどもう閉まってた」ということが減った」
  • リモート勤務のようすを紹介します - give IT a try

    はじめに 僕のブログをよく読んでくれている方はご存知かもしれませんが、僕は兵庫県西脇市という片田舎でリモート勤務をしています。 常時リモート勤務になってから半月が過ぎ、なんとなく自分のワークスタイルが見えてきたので、ここでちょっと紹介してみたいと思います。 仕事場のようす まずは僕の仕事場をちょこっとお見せします。 もともと1.5畳ぐらいの小さな小さな書斎を仕事場にしようかと思っていたのですが、さすがに狭すぎるのでベッドルームに移動しました。 写真には写っていませんが、隣にはいつも寝ているベッドがあります。 デスクは昔から家にあったパソコンラックなので、そのうちもうちょっとゆったりとしてオシャレなデスクに変えたいな〜と思ったりしています。 休憩時間に弾いたら気分転換できるかな〜と思ってギターも持ってきてみました。 しかし、ギターを弾いてるとすぐに4歳の娘が「おとーさんうるさい!!」と苦情を

    リモート勤務のようすを紹介します - give IT a try
  • ソフトウェア開発プロセス残酷物語 - give IT a try

    昔々、あるところにジェイソンという、大変真面目な開発者がおりました。 彼がとある会社の情報システム部にやってきたとき、彼は社内システムのクオリティのひどさに衝撃を受けました。 情報システム部といっても、その会社では外注はせず、社内の開発メンバーがシステムを作っていました。 ジェイソンがそこで最初に担当したシステムは、見事なまでのスパゲッティコードでバグだらけ、データ設計も素人レベルでパフォーマンスも最悪、エラー処理もずさん、おまけにまともなドキュメントもなく、ちょっとした障害を調査したり、小さな改造を実施したりするのにも、大変な苦痛を伴うという、それはそれは大変なシロモノでした。 このシステムは元々エセーグルという、ちょっと変わった名前の開発者によって作られていました。 しかし彼はすでに別の開発チームに異動していて、こちらの質問には答えてくれますが、もはや人が直接手を動かすことはありませ

    hiroomi
    hiroomi 2012/08/27
    「自分で策定したプロセスであるにも関わらず、ドキュメント作成やゲートレビューはすっ飛ばしてプロトタイプを作成する方がはるかにマシだとまで感じた。」底上げと上手な更新。
  • 夫から見たパン屋さんの舞台裏 - give IT a try

    2015.11.10追記:トークイベントで舞台裏を話してきました 西脇市主催のトークイベントに僕たち夫婦が出演しました。 開業までのいきさつや、現在の状況をいろいろ語っています。 興味のある方はこちらをご覧ください。 夫婦でトークイベントに出演しました ~起業するっておもしろい! 子育て中の主婦が突然パン屋を始めました~ - give IT a try はじめに 今まで何度か紹介していますが、僕のは去年の終わりから小さなパン屋さんを始めました。 兵庫県西脇市にある、Coupe Baguette(クープ バゲット)というパン屋さんです。 開店してから数ヶ月が経ち、店の方も軌道に乗り始めてきたので、ここでちょっと色々と振り返ってみようと思います。 このエントリのアウトライン パン屋開業以前 がパン作りを始めたきっかけと没頭し始めた理由 パン屋を開こうと思ったきっかけ 業務用オーブンを買った

    夫から見たパン屋さんの舞台裏 - give IT a try
    hiroomi
    hiroomi 2012/02/27
  • 正規表現で楽々コード置換 - give IT a try

    会社で紹介した正規表現の入門的なテクニックをこっちにも載せておきます。 まずは例題から ちょっと訳あって、これまで型付けDataTableを使って書いていたロジックを、型無しのプレーンなDataTableに書き換える必要が出てきました。 イメージ的にはこんな感じです(もちろん説明のためにかなり簡略化しています)。 // 変更前 BookShopDataSet.BookTable table = FindBooks(); BookShopDataSet.BookTableRow row = table[0]; Assert.AreEqual("詳説 正規表現", row.Title); Assert.AreEqual("ジェフリ− E.F.フリ−ドル", row.Author); Assert.AreEqual("オライリージャパン", row.Publisher); // 他にもたくさんの

    正規表現で楽々コード置換 - give IT a try
    hiroomi
    hiroomi 2011/08/05
  • 1