タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

プログラミングに関するkatsuto_nのブックマーク (9)

  • 結合テストと呼ぶのをやめた話 - asterisc

    はじめに 最近、意図的に「単体テスト」「結合テスト」という呼び方を避け、Google Testing Blogで紹介されてるTest Sizesによる分類(small / medium / large)に従った呼び方でテストを呼んでいる。 この分類方が自分の身の回りに徐々に浸透してきて、実際のチーム内のテスト戦略も一歩進んだ議論ができるようになってきたので、改めてまとめる。 ちなみにこの記事の話は手動で行われるテストではなく、自動テストを対象としているが質はあまり変わらないと思う。 続き書きました。 akito0107.hatenablog.com 「単体テスト」「結合テスト」という呼び方について ソフトウェア開発に従事していれば必ず聞く言葉だと思う。改めて他のサイトから引用する形で定義をまとめておく。 単体テストとは *1 単体テストとは、プログラムを検証する作業の中でも、プログラムを

    結合テストと呼ぶのをやめた話 - asterisc
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
  • 市場バグを引き起こした優秀なデータたち - ボドゲを愛するテスト屋さん

    ※この記事は「ソフトウェアテストの小ネタ Advent Calendar 2017 - Qiita」用の記事です。 ソフトウェアテストの小ネタ 2日目担当のオムそばです。 実はちゃんとした(?)記事を書くのはこれが初めてなので、生暖かい目で見ていただければ。 そんなわけで早速表題の件、市場バグを引き起こした優秀なデータたちをご紹介します。 今回は、よくある「半角記号」、「空白やスペース」などは割愛させていただきます。 (2017/12/26追記)"市場バグ"という言葉に違和感や疑問を持たれた方は、こちらの記事をどうぞ。文言について整理してみました。 ■日時に関するデータ ・1969/12/31、2038/1/20:UNIX系のシステムに有効なデータ。UNIXのシステム時刻は1970/1/1 開始なので、それ以前のデータを打ち込むと予期せぬエラーが発生する可能性がある。また、同様に2038/

    市場バグを引き起こした優秀なデータたち - ボドゲを愛するテスト屋さん
  • 筋の悪さ | tech - 氾濫原

    JS しか書いてないんだなって人は筋悪いものをありがたがっていたりする印象はある。しかし筋悪いものをありがたがるみたいなのはどこにでもいるので、JSがどうとかは直接は関係がないはずではあると思う。JSしか書いてない人とPHPしか書いてない人は似たようなもんで、単に広範囲の知識に興味がないだけな気がする。 それはともかく「これは筋悪そうだな」っていう感覚がどこからくるのかよくわかってないので、現時点で思いつく限り雑にメモしておく。 割の合わなさ 「これは何の問題を解決してるんだろう」と思ってドキュメント読んだりソース読んだりした結果、大したことを解決してなくて、その割に実装量が多いとか学習コストが高いと、筋悪いなあと思う。 フットプリントや学習コストに対して提供されるモノが「割に合わない」のは筋が悪く感じる。 将来性のなさ 「あ、これはただの流行だな」みたいな、5年後には消滅してるなというも

    katsuto_n
    katsuto_n 2016/04/19
    “実際のフルスタックというのは検索して出てきたstackoverflowのコピペで全部やりますよという意味で、なんでもできるという意味ではない。”
  • 初心者も楽しく勉強できる!無料でプログラミング等が学べる漫画8選 - paiza times

    Photo by Sjors Provoost こんにちは、谷口です。 プログラミング初心者の方々は、どのような方法でプログラミングの勉強がしたいと思いますか? 最近は、プログラミングやWeb制作の知識を学習ができるWeb漫画が増えてきました。 特にプログラミングの学習を始めたばかりの頃は学ぶことが多く、ハードルが高く感じてしまうこともあるでしょう。プログラミング初心者の方々の中には、「独学で勉強を始めたけど、難しすぎて挫折した……」という方もいらっしゃるかと思います。 そんな中で、漫画をプログラミングやWeb制作の知識を身につけることができれば、楽しんでプログラミング学習を続けることができるのではないでしょうか。 今回は、プログラミングやWeb制作の知識を学習ができるWeb漫画の中でも特にクオリティが高いというか私が好きなものを8件ご紹介いたします。 ■プログラミング関連の知識が学べるW

    初心者も楽しく勉強できる!無料でプログラミング等が学べる漫画8選 - paiza times
  • 勉強部屋 — 防衛的プログラミングと契約的プログラミングは何が違うのか

    プログラミングとかガジェットとか科学系ニュースとかそんな感じで。プログラミングはC#、WPF、その辺が中心。 あまり意識せずに使い分けていました。自分の感覚では 防衛的プログラミング=入力情報や結果を信用せずに検証しながら動作するプログラミングスタイル。 契約的プログラミング=入出力の正当性を定義・保証するプログラミングスタイ です。 例えば足し算プログラムを作ります。 int Add(int a, int b) { return a + b; } これはバグっています。オーバーフローで不正な結果を返します。 防衛的プログラミングであれば、 int Add(int a, int b) { return cheched(a + b); } C#で書いています。これはオーバーフローを検知して例外を投げています。他にも long Add(int a, int b) { return (long)

    勉強部屋 — 防衛的プログラミングと契約的プログラミングは何が違うのか
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • 「明日から本気出す」という人にオススメの日本語で学べるプログラミング学習サイト9選

    「プログラミング初心者だけどWebサービスとか作ってみたいなー」という淡い夢を持ちつつも日々の生活に追われてプログラミングの勉強が継続できていない今日この頃、自分と同じように「明日から気出す」という感じでプログラミングを学ぶ気持ちがある人向けに、プログラミングを学習できるサイトをピックアップしてみました。 1.  Codecademy コードの書き方を学ぼう | Codecademy 世界的に有名且つ人気がある学習サイトです。HTML+CSSJavaScriptPythonRubyなど、いろいろな言語を学ぶことができます。ブラウザ内のエディタにコードを記述できるので開発環境を準備する必要がありません。またユーザーがプログラミングのレッスンを作れる機能もあります。 2. ドットインストール ドットインストール – 3分動画でマスターする初心者向けプログラミング学習サイト 国内で最も有

    「明日から本気出す」という人にオススメの日本語で学べるプログラミング学習サイト9選
  • プログラミングの生産性を上げるには - 聞かれてもいないことを喋る

    Yak Shaving の誘惑に打ち克つ ソフトウェアを作っている途中で、「これを作るのを効率化するためには ○○ が必要だ」と思い、来やっていた作業の手を止めて ○○ を作り始めてしまうことは往々にしてある。 しかしその作り上げた ○○ が最終的に当に(長期的にみて)効率化に役立ったケースは、自分の経験からいって 10 個のうち 1 つくらいではないかと思う。 効率化のための努力をするなということではない。大事なのは、アイデアを寝かせることだ。 人はゴミみたいなアイデアでも、気付かずにこれこそが素晴らしいアイデアだと信じこんでしまう。自分の考えたアイデアには愛着が湧くものだ。 そのアイデアが当に優れているかどうか客観的に判断するには時間が必要だ。最低でも 1 晩、できればもう 2, 3 度は同じ必要性を感じてから作るのがいい。 1 回しか必要性を感じたことのないものをその場の勢いで

    プログラミングの生産性を上げるには - 聞かれてもいないことを喋る
  • 1