タグ

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

  • 長年の悩みだったギターアンプのノイズが「マイ電柱」で直った件 - give IT a try

    はじめに 僕は趣味でよくギター(エレキギター)を弾きます。 ですが、長年ずっと困っていたことがありました。 それはギターアンプのノイズです。 多かれ少なかれ、エレキギターを弾くときはアンプからノイズが出るものです。 しかし、僕の家のギターアンプからは明らかに異常な「キーン」というノイズが出ます。 実際どんな音なのかは以下の動画で確認できます。(うるさいのでボリュームには気を付けて!) www.youtube.com このノイズは以下のような特徴があります。 5〜6年前から急に発生し始めた 常時ノイズが出るわけではなく、たまに発生する ノイズが鳴り始めると鳴ったり止んだりを繰り返す ギターを変えても、アンプを変えても同じようにノイズが出る(なので、ギターやアンプの問題とは考えにくい) ギターを全くつないでいない状態でもノイズが出る(なので、ギターのピックアップがノイズを拾っているわけではない

    長年の悩みだったギターアンプのノイズが「マイ電柱」で直った件 - give IT a try
  • 理想のプロバイダを探し回った結果、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
    takutakuma
    takutakuma 2023/10/22
    速度もだけど、経路でなにか起こってそうだけど、詳しい人に解説して欲しい……
  • 僕たちは本当の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
  • 雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try

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

    雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try
  • 家族のうち4人中3人が新型コロナにかかった話(備忘録を兼ねて) - give IT a try

    はじめに 実はお盆から9月上旬にかけて、我が家は新型コロナでてんやわんやしておりました。 我が家は僕たち夫婦と長男、長女の4人家族なのですが、以外新型コロナにかかってしまいました。 つまり、僕も新型コロナにかかって寝込んでおりました。 いわゆる「第7波」は強烈で、あの人もこの人もコロナにかかってた印象です。 このブログを書いている時点ではピークが過ぎて話題性も落ちてきたように思いますが、備忘録的にブログを書き残しておきます。 かなり長いので先にもくじを載せておきます。 【もくじ】 はじめに 第一部・たぶん部活で感染した息子 息子の陽性が確定したあとにやったこと 意外と家族内感染してない!? 感染力が落ちてもしばらく陽性が続くらしい そして新しい感染者なしでなんとか自主療養期間を乗り切った!!(このときは) 第二部・娘の発症、そしてさらに…… 今度も絶対生き延びるぞ〜!!・・・あれれ??

    家族のうち4人中3人が新型コロナにかかった話(備忘録を兼ねて) - give IT a try
  • 外資系企業で学んだ「何が起こりますか?対象者は誰ですか?何をしなければなりませんか?」スタイルのアナウンスメール - give IT a try

    はじめに 僕の前職は外資系企業でした。 その当時、アメリカ社からときどき送られてきた社内アナウンスメールのフォーマットがなかなか良かったので、今でもときどき使っています。 特に、このフォーマットは何かをお知らせするだけでなく、社員に何かしらのアクションをお願いするときに有用です。 というわけで、このエントリではこのメールフォーマット(記述スタイル)を紹介します。 「何が起こりますか?対象者は誰ですか?何をしなければなりませんか?」スタイルのアナウンスメールの記述例 どんなフォーマットなのかというと、「何が起こりますか?対象者は誰ですか?何をしなければなりませんか?」を見出しに書いて、文を埋めていくフォーマットです。 たとえばこんな感じです。 社員各位 ○○○○○の計画メンテナンスについてお知らせします。 以下の内容を確認してください。 何が起こりますか? 2020年1月11日(土)15

    外資系企業で学んだ「何が起こりますか?対象者は誰ですか?何をしなければなりませんか?」スタイルのアナウンスメール - give IT a try
  • 【問題提起】篠原嘉一氏に情報教育の講演を依頼する前に考えていただきたいこと ~ITエンジニアから見た、情報教育のあり方について~ - give IT a try

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

    【問題提起】篠原嘉一氏に情報教育の講演を依頼する前に考えていただきたいこと ~ITエンジニアから見た、情報教育のあり方について~ - give IT a try
  • 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

    はじめに 先日、社内で「良いコードの書き方やお作法、プログラミングの原則って、どうやったら身に付くんだろうねえ?」という話になりました。 もちろん、「を読んで勉強する」っていのも勉強法のひとつなんですが、そもそも、もっと強烈なモチベーションがないと、必死になって良いコードの書き方やプログラミングの原則って勉強できないのでは?なんて思ったりします。 強烈なモチベーションというのは、たとえば、 いったい何なん!?このスパゲティコードは!!! なんでこんなコードを俺がメンテしなきゃあかんの!!?? あ~、もう最悪や!!俺はこんなコード、絶対に書かへんぞ!!!! っていうぐらいのモチベーションです。 というか、これは単純に僕のケースですね、はい。 幸い、ソニックガーデンに入ってからは、周りのプログラマがみんなちゃんとしているので、そんな思いをすることはほぼなくなりましたが、前職、前々職ではそんな

    ひどいコードをメンテしてきたからこそ実感する、良いコードや良い設計の大切さ - give IT a try
  • 今夜わかる「スタック・オーバーフロー」の世界 - give IT a try

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

    今夜わかる「スタック・オーバーフロー」の世界 - give IT a try
  • 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
  • 「Railsチュートリアル第3版・コーディング実況動画」を作りました - give IT a try

    はじめに かつてはJavaやC#を書いていた僕がRailsを始めてから、かれこれ3年ぐらい経ちます。 Railsを始めるとき、最初にトライした学習資料が「Ruby on Railsチュートリアル」でした。 Railsプログラマとしてはかなり経験値を積んだので、初心者レベルはすでに脱したと思っています。 そんな僕が最近ふと「もう一回Railsチュートリアルをやってみよう」と思いました。 さらに、単にRailsチュートリアルをやるだけだと面白くないのでコーディングする様子をスクリーンキャストにして配信することを思いつきました。 そして完成したのが「Railsチュートリアル第3版・コーディング実況動画」です。 今回のエントリでは僕が作ったこの動画(スクリーンキャスト)を紹介します。 「Railsチュートリアル第3版・コーディング実況動画」について 「Railsチュートリアル第3版・コーディング実

    「Railsチュートリアル第3版・コーディング実況動画」を作りました - give IT a try
  • Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try

    はじめに 先月、CodeIQにビンゴカード作成問題を出題しました。 CodeIQに「ビンゴカード作成問題」を出題しました。みなさんの挑戦をお待ちしてます! - give IT a try このビンゴカード作成問題、ありがたいことに50人もの方が解答を送ってくれました。 挑戦してくださったみなさん、どうもありがとうございました。 前回のエントリでは優秀作品ベスト3を発表しました。 今回のエントリはその続編です。 一部の解答(5)について、僕が実際にいただいた解答を採点しつつ、リファクタリングする様子を動画に撮っておいたので、その様子をお見せしちゃいます。 おさらい「ビンゴカード作成問題」とは? ビンゴカード作成問題とはその名の通り、Rubyを使ってビンゴカードを出力する問題です。 Bingo.generate_cardというメソッドを呼ぶと以下のような文字列を出力する、というのが要求仕様で

    Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try
  • ソフトウェア開発プロセス残酷物語 - give IT a try

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

  • 僕がサクラエディタからVimに乗り換えるまで - give IT a try

    はじめに 恐怖のエディタ、Vim。 僕はこの間までずっとサクラエディタを愛用していましたが、最近Vimを使うようになりました。 ええ、Vimです。あのVimです。Viでもいいけど。 Vim・・・使いこなしている人はそれだけで玄人っぽく見られる伝説のエディタ。 実際にVimを使えばすさまじいスピードのコーディングが可能になる。(らしい) しかしそんな憧れだけで手を出しても大半の技術者は全く手に負えず、すぐに尻尾を巻いて元のエディタに舞い戻ってしまう恐怖のエディタ。 それがVimである。 ・・・はい、僕の中でVimやViのイメージはそんな感じでした。 実際、Unix/Linuxマシンのターミナル上で何度か(いやいや)使ったことがありましたが、まあ扱いにくいのなんのって。 「カーソルは十字キーで動くけど、どうやって入力するの? 」 「えっ? "i"を押せ? 」 「入力が終わったらESC? なんで

    僕がサクラエディタからVimに乗り換えるまで - give IT a try
  • 正規表現で楽々コード置換 - 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
  • 1