あなたのオタク文化に対するリテラシーを測定する試験です。高得点を獲得するほど、幅広い世代との円滑なオタクコミュニケーションが期待できます。
Red Hat Linuxの開発者であるリチャード・M・W・ジョーンズ氏が、Linux v6.4の起動時にハングアップするバグがあることに気づき、Linuxを29万2612回も再起動するテストを行ったそうです。 I booted Linux 292,612 times | Richard WM Jones https://rwmj.wordpress.com/2023/06/14/i-booted-linux-292612-times/ Dev Boots Linux 292,612 Times to Find Intel, AMD Kernel Bug | Tom's Hardware https://www.tomshardware.com/news/dev-boots-linux-292612-times-for-1-in-1000-kernel-bug ジョーンズ氏が起動時のハング
以前の記事(Golang と Line Notify を利用して API の証明書期限切れチェック)を作りましたが今回は単体テストを追加します。 Golang の単体テストとは ざっくり調べた感じだと、以下の感じで作ってみたら良さそう テスト対象のコードと同じ階層に置く(標準パッケージが同じ構造になっていた) testing パッケージを利用する テスト用の関数のプレフィックスに「Test」をつける Assert が用意されていないため、自分で条件を記載する (テストケースを失敗させたいときは「testing.T.Error」や「testing.T.Fatal」を利用する) testing.T.Error:以降の処理を継続して実行される testing.T.Fatal:以降の処理が実行されない テストコードを記載 テスト対象のコード package main import ( "flag"
2020/08/15更新: 「テストの失敗をレポートしたい」と「サブテストの一部のみ実施したい」の章を追加 はじめにTIG の辻です。今回は春の入門祭りということで Go のテストに入門してみよう! という記事です。 書いた背景ですが Go の標準ライブラリのコードリーディング会で testing パッケージにチャレンジしてみましたが、難しすぎてわからん。そもそも Go のテストって何ができるんだっけ? という話になり、基本的な内容をなるべく具体例をまじえながらまとめました。 ざっとどんなことができるんだろう、という index になれば幸いです。 TipsGo に組み込まれているテストの仕組みの中に、ベンチマークに関するテストと Example テストというサンプルコード用のテストも含まれているのですが、この 2 つは対象外にします。基礎的と思われる内容から順に並べてみました。 はじめに
テスト駆動開発でライブラリの機能を開発する 今や、ロジックをsrc/lib.rsに抜き出し、引数集めとエラー処理をsrc/main.rsに残したので、 コードの核となる機能のテストを書くのが非常に容易になりました。いろんな引数で関数を直接呼び出し、 コマンドラインからバイナリを呼び出す必要なく戻り値を確認できます。ご自由にConfig::newやrun関数の機能のテストは、 ご自身でお書きください。 この節では、テスト駆動開発(TDD)過程を活用してminigrepプログラムに検索ロジックを追加します。 このソフトウェア開発テクニックは、以下の手順に従います: 失敗するテストを書き、走らせて想定通りの理由で失敗することを確かめる。 十分な量のコードを書くか変更して新しいテストを通過するようにする。 追加または変更したばかりのコードをリファクタリングし、テストが通り続けることを確認する。 手
テストの体系化 章の初めで触れたように、テストは複雑な鍛錬であり、人によって専門用語や体系化が異なります。 Rustのコミュニティでは、テストを2つの大きなカテゴリで捉えています: 単体テストと結合テストです。 単体テストは小規模でより集中していて、個別に1回に1モジュールをテストし、非公開のインターフェイスもテストすることがあります。 結合テストは、完全にライブラリ外になり、他の外部コード同様に自分のコードを使用し、公開インターフェイスのみ使用し、 1テストにつき複数のモジュールを用いることもあります。 どちらのテストを書くのも、ライブラリの一部が個別かつ共同でしてほしいことをしていることを確認するのに重要なのです。 単体テスト 単体テストの目的は、残りのコードから切り離して各単位のコードをテストし、 コードが想定通り、動いたり動いていなかったりする箇所を迅速に特定することです。 単体テ
テストの実行のされ方を制御する cargo runがコードをコンパイルし、出来上がったバイナリを走らせるのと全く同様に、 cargo testはコードをテストモードでコンパイルし、出来上がったテストバイナリを実行します。 コマンドラインオプションを指定してcargo testの既定動作を変更することができます。 例えば、cargo testで生成されるバイナリの既定動作は、テストを全て並行に実行し、 テスト実行中に生成された出力をキャプチャして出力が表示されるのを防ぎ、 テスト結果に関係する出力を読みやすくすることです。 コマンドラインオプションの中にはcargo testにかかるものや、出来上がったテストバイナリにかかるものがあります。 この2種の引数を区別するために、cargo testにかかる引数を--という区分記号の後に列挙し、 それからテストバイナリにかかる引数を列挙します。ca
テストの記述法 テストは、テスト以外のコードが想定された方法で機能していることを実証するRustの関数です。 テスト関数の本体は、典型的には以下の3つの動作を行います: 必要なデータや状態をセットアップする。 テスト対象のコードを走らせる。 結果が想定通りであることを断定(以下、アサーションという)する。 Rustが、特にこれらの動作を行うテストを書くために用意している機能を見ていきましょう。 これには、test属性、いくつかのマクロ、should_panic属性が含まれます。 テスト関数の構成 最も単純には、Rustにおけるテストはtest属性で注釈された関数のことです。属性とは、 Rustコードの部品に関するメタデータです; 一例を挙げれば、構造体とともに第5章で使用したderive属性です。 関数をテスト関数に変えるには、fnの前に#[test]を付け加えてください。 cargo t
自作パソコンでは、パソコンパーツの性能を調べるためにベンチマークテストを行うことがあります。 自作パソコン関連のメディア、パソコンショップなどでは、新しい製品が出るとベンチマークテストを行い、結果を公開しています。 個人でもパソコンパーツを交換したりした際に、動作検証を兼ねて行うことがあります。ただソフトウェアによっては高い負荷がかかるものもあり、場合によってはトラブルや故障につながることがあります。十分な注意、自己責任のもとで行うことになります。 このページでは、代表的なベンチマークテストについて紹介しています。
概要 AppleIDの生年月日を13歳未満にすると、 そのアカウントが成長!?して13歳になるまで修正できないというお話(;;) Apple IDとは -> iPhoneとかMacとか使うというに使うアレ 公式サイト説明:https://support.apple.com/ja-jp/apple-id Apple ID とは? Apple ID とは、App Store、Apple Music、iCloud、iMessage、FaceTime などの Apple のサービスを利用する時に使うアカウントのことです。たった一つの Apple ID とパスワードで Apple のすべてのサービスにサインインできます。 詳細 今回やりたかったこと →ファミリー共有のテストをしたい(未成年のアカウントで) 子供のアカウントでアプリで課金したりするときは、親のアカウントに承認リクエストが飛びます。 →
2008年03月27日03:00 カテゴリArtLightweight Languages 「同じコード」の同じって何さ - TAPのススメ 問題は、この「同じコード」の定義。 「誰が書いても同じコード」は大事なことなのか - ひがやすを blog でも、「誰が書いても同じコード」にするってのは、そもそも無理だと思うんだよね。そうやって、わざわざドキュメントをたくさん書かせても、めためたなコードを書くやつはいて、総合テストするときに、現場は燃え上がるもの。ある程度の規模以上のプロジェクトなら、どこでもそんな感じじゃないかと思います。同じ「書き方」をしなければならないのか? 結果が「同じ」ならいいのか? もし後者だとしたら、実は 重要なのは、「誰でもメンテナンスできるコード」にすること。そのために、コーディング規約は、きちんと決めてみんなで守る、それ以上は、がちがちに縛る必要はない。 すら必
みなさんはこんなふうにRailsアプリケーションを作ったことはありませんか?たとえば、ブラウザをポチポチとクリックするだけでテストを終わらせて「たぶん大丈夫」と思い込んだり、「とにかく全部うまくいきますように」とただ祈るだけだったり……。 心配しないでください。それは誰もが通る道です。アプリケーションのテストやテスト駆動開発はRails開発における重要なトピックですが、巷の参考書を見ると適当な説明で済ませているものも多かったりします。本書「Everyday Rails - RSpecによるRailsテスト入門」では、どのようにして私がそうしたテクニックを身につけたのか、そして、どのようにしてコードの信頼性を上げ、ブラウザ上で延々とテストしなくて済むようにしたきたのかをみなさんに説明します。 対応バージョンについて2024年1月のアップデートで、本書のコンテンツをRails 7.1とRSpe
測定環境 本テストは以下の環境で行っています。 CPU : Intel Core i7-4790K マザーボード : ASUS Z97M-PLUS メモリ : PC1600 DDR3 8GB (4GB×2) OS : Microsoft Windows 8.1 Professional Edition 起動ディスク : SanDisk Extreme Pro SSD 240GB 購入直後の状態ではあまり性能差が見られず SSDの性能は、ご購入いただいた直後(Fresh-Out-of-the-Box)が最も高い状態にあります。いわゆるカタログ性能はこの状態での性能であり、SSDについての多くの比較が、この状態の性能のみで行われているケースも少なくありません。 まずはCrystalDiskMarkを使用して、それぞれの購入直後の性能を比較してみます。 CrystalDiskMarkによるテスト
はじめまして!技術部モバイル基盤グループの加藤(@k0matatsu)です。 業務の一部でCIお兄さんとしてJenkins氏のメンテナンスなどを行っています。 今日はをにする話をしたいと思います。 CI待ち時間1/2で PR/レビューのサイクルの速さ2倍(当社比)です。 ※ ビルド所要時間のボトルネックは環境やジョブ内容によって異なるため効果には個人差があります。 当社のAndroid CI環境 さて、開発効率を2倍にする前に、まずは当社のCI環境がどうなっているか説明が必要ですね。 当社のAndroid向けCI環境は幾つかの試行錯誤を経て、現在はAmazon Web Service(AWS)を使って構成されています。 下図のように、Amazon EC2(EC2)インスタンス上に構成管理ツール:itamaeを使って作成されたJenkinsのmaster/slave構成を擁し、その中でAnd
ノンプログラマーがはじめてWebサービスを作ってみた記録です。 2016.3.28 追記: リリース1年後について書きました。 はじめてのOSSリリース記 〜なぜ無料でソースコードを公開するのか? 自己紹介 趣味でたまにプログラムを書く程度のノンプログラマー。 本業は SHIFT( http://www.shiftinc.jp ) という会社でテスト自動化エンジニアをしています。 20代最後の年に何か新しいことを!と思い立ち、勢いでWebサービスを作ってみました。 作ったもの Chibineko - 世界で最もシンプルなテストツール https://chibineko.jp 面倒なテストはサクッと終わらせよう Chibinekoはテストケースの作成と実行管理を行うためのシンプルなテストツールです。 テスト項目を箇条書きにするだけで、あなた専用のテスト実行ページが瞬時に作成されます。 あとは
技術部の鈴木 (@eagletmt) です。 先日、クックパッドで使われている Ruby のバージョンを 2.0.0 から 2.2 にアップグレードしました。 アップグレードは主に @sorah と私で進めました。 今回はアップグレードまでの過程やアップグレード当日の流れ、そして今のところ見られているアップグレードによる効果などについて紹介します。 アップグレードまでの準備 テストを通す Ruby 2.1 がリリースされたときから 2.1 にアップグレードできないか検証環境でテストを回していました。 しかし、当時はクックパッドの全テストを実行すると必ず途中で Ruby がクラッシュする現象に悩まされていました。 Ruby の GC のバグ、拡張ライブラリのバグを疑いながら色々やってみたものの結局解決できず、Ruby 2.2 がリリースされてからもこの状況は改善されませんでした。 しかしある
selenium-webdriver This gem provides Ruby bindings for WebDriver and has been tested to work on MRI (1.8.7 through 1.9), JRuby and Rubinius. INSTALL gem install selenium-webdriver LINKS rubygems.org/gems/selenium-webdriver selenium.googlecode.com/svn/trunk/docs/api/rb/index.html code.google.com/p/selenium/wiki/RubyBindings code.google.com/p/selenium/issues/list LICENSE Copyright 2009-2012 Software
はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第2回です。 今回はRSpecのマッチャについて説明していきます。 第1回と同様、今回も「最低限これだけは」という内容に絞り込んで説明します。 使用頻度の少ないマイナーなマッチャ(注:僕基準)については説明しません。 具体的な項目は以下の通りです。 マッチャとは何か to / not_to / to_not eq be be_xxx be_truthy / be_falsey change + from / to / by 配列 + include raise_error be_within + of これからRSpecを始める人はもちろん、何度かRSpecに触れて「うーん、RSpecってわけわからん」となっている人もこの記事で再入門してみると
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く