タグ

ブックマーク / qiita.com/kotauchisunsun (19)

  • 大規模な移行バグを修正するための戦術 - Qiita

    こう見たとき、"FileNotFound"のバグが一番多い。と分かりました。そうすると、"FileNotFound"のバグを修正すると、多くの移行エラーが解消され、効率よく移行が進むと考えられます。しかし、現実問題として、それほど直りませんでした。 "簡単なバグ"とは何か? 前節では、バグの発生頻度が高いものから修正していくとアプローチをしていきましたが、実際問題それほどうまくいきませんでした。端的に、なぜ失敗したか。というと、"バグが直らなかった"からです。仮に"FileNotFound"のバグを直そうとしたとき、2,520個あるログファイルから、ランダムに1つとりだし、どの部分でエラーになっているのかを細かく見ていきます。それで、バグの原因を特定し、直す。という極シンプルなアプローチをするわけですが、「このバグの原因を特定する」ということが、そもそも難しかった。ということです。先にも書

    大規模な移行バグを修正するための戦術 - Qiita
    peketamin
    peketamin 2023/09/05
  • 自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita

    リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 質的にテストが困難なモジュールで、誰がやってもテストが書けない。 質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場

    自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita
    peketamin
    peketamin 2023/06/12
  • あなたはフロントエンドの何をテストしたいのか。 - Qiita

    フロントエンドのテストをしよう Webのフロントエンドの自動化を進めようか。という話をしていて、 「そもそもテストってなんだ?」 「フロントエンドに特有のテストってなんだ?」 「〇〇ってツール流行ってるらしいってどうよ?」 みたいなことを話をしていました。そうしたときに、やっぱり知識足らねぇなぁ。と思ったので、2,3日でゴリゴリと内容をまとめてみる作業をしてみました。 あんまりこういう書き方はしないんですが、私自身散発的な思考で、フロントエンドのテストを調べることをしたので、そのような語り口で書いてみようと思います。 以下の内容は、あくまで例なので、別にこういう仕事があったわけではないです。 とりあえず投げられた要求・仕様 とりあえずなんか仕事が振ってきた。パラパラと要求を聞いてみると、こんな感じだった。 承認のダイアログが欲しい メッセージのフォントはOswald メッセージは変更できる

    あなたはフロントエンドの何をテストしたいのか。 - Qiita
    peketamin
    peketamin 2023/04/18
  • メタバースの技術限界の解説 - Qiita

    これらの試算から、1人あたりのトラッキングによる通信量はおおよそ16.88kbpsから112.50kbpsと考えられます。 スター型ネットワークの場合 ここでメタバースでスター型のネットワークを採用することを考えます。 どのような構成かというと、クライアントがトラッキングデータをサーバーへ送信します。各クライアントへのトラッキングデータの送信はサーバーが行います。 こうした構成を行う場合、全てのクライアントのデータがサーバーを介し、各クライアントへ流れ込みます。そのため、通信速度は下り速度がボトルネックとなります。ここでは人口75%ラインの88Mbpsを上限として考えます。 先ほどの1人当たりのトラッキングに関わる通信量から算出すると、スター型の場合、801~5,340人が通信の限界になります。 フルメッシュ型ネットワークの場合 一方で、サーバーを介しないクライアント同士が直接つながるフル

    メタバースの技術限界の解説 - Qiita
    peketamin
    peketamin 2022/01/29
  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    peketamin
    peketamin 2020/08/03
    「君の気持ちはわかってるし、やりたいことは正しいと思うし、賛同する。だけど、それをやるのは恐らく今じゃない」って言われたことを思い出した。
  • コナンがC++のシングルバイナリの問題解決!? - Qiita

    バイナリはいつも1つ!! たった1つのバイナリ作る!見た目はコマンド!なかみはPython!その名は、パッケージマネージャー!コナン! 作業用BGM https://t.co/nj0p6lpm8o — こたうち@VTuberエンジニア (@kotauchisunsun) August 22, 2019 大体,言いたいことの9割ぐらいは言えたので満足です. 俺は高校生探偵のsudo sync which.幼なじみで同級生のrunと遊園地に遊びに行って・・・ 先日,Photogrammetry on Docker ~ サーバ屋さんもXRしたい ~という記事を書きました. これは,「フォトグラメトリができるDockerコンテナを作る」というのが主目的ではあったのですが,サブの課題として,「マルチステージビルドをする」「コンテナサイズの削減をする」といった目標がありました.何のため?ということを少

    コナンがC++のシングルバイナリの問題解決!? - Qiita
    peketamin
    peketamin 2019/09/16
  • Photogrammetry on Docker ~ サーバ屋さんもXRしたい ~ - Qiita

    フォトグラメトリとは? 最近,このような動画がバズっていました. 鎌倉、銭洗弁天をまるごとVR化! 建築デジタルアーカイブの試み。 リプ欄からVR体験可能です。#Photogrammety pic.twitter.com/Qsf3ZwjQDM — 龍 lilea (@lileaLab) May 21, 2019 鎌倉の銭洗弁天という場所を"フォトグラメトリ"という技術を用いて作られたようです. フォトグラメトリとは、物体を様々な方向から撮影した写真をコンピューターで解析し、3Dモデルを立ち上げる技術です。 フィギュアのような小さなものから、建築や都市といった大きなものまで3Dモデルにすることができます。 引用:フォトグラメトリ入門 撮影方法~3Dモデル作成 ざっくりというと,写真から3Dモデルを生成する技術です. 最近,私がxRTech Tokyoに参加し,そういや,3か月前くらいにOSS

    Photogrammetry on Docker ~ サーバ屋さんもXRしたい ~ - Qiita
    peketamin
    peketamin 2019/08/23
  • たぶん知らないPythonマイナー文法の世界 - Qiita

    概要 私はPythonが好きで10年ぐらい使っています.QiitaでもPythonの記事を結構読みますが,その中で,あまり見かけないPythonのマイナーな文法.マイナーな記法について紹介したいと思います. 実用性は・・・あるかどうかは知りません.マイナーな文法なんて趣味の世界でしかないですし.それはマイナーじゃねぇ!と言われるかもしれませんが,あくまで筆者が他の人のコードで見たことないものです. リスト以外の内包表現 軽いジャブということで,リスト型以外の内包表現を取り扱いたいと思います. 辞書型 >>> {i:"a%03d"%i for i in range(3)} {0: 'a000', 1: 'a001', 2: 'a002'}

    たぶん知らないPythonマイナー文法の世界 - Qiita
    peketamin
    peketamin 2019/05/29
  • Python標準実装より速い!?Oracleが作ったGraalPythonをJython・CPythonとベンチマークしてみた!! - Qiita

    Python標準実装より速い!?Oracleが作ったGraalPythonをJython・CPythonとベンチマークしてみた!!Pythonoracleベンチマークgraalvmgraalpython GraalVM・GraalPythonとは GraalVMは2018年4月27日にOracleから公開された仮想マシンです. GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++. GraalVMJavaScript,Python,Ruby,R

    Python標準実装より速い!?Oracleが作ったGraalPythonをJython・CPythonとベンチマークしてみた!! - Qiita
    peketamin
    peketamin 2018/11/07
  • リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita

    概要 最近,ASCII Dwangoさんから「クリーンアーキテクチャ」というが出版されました. そこに書いてある内容は素晴らしいものでした.しかし,実際に組んでみた場合,どういう風に作るのが良いのか?どういう問題があるのか?そういった疑問が湧いてきました.そこで, 実際に非クリーンアーキテクチャのコードをリファクタリングしていくことで,クリーンアーキテクチャの要点を感じる. という試みです. クリーンアーキテクチャとは ここでは簡単にしか説明しませんが,実際にを読んで勉強することをお勧めします. 「クリーンアーキテクチャ 達人に学ぶソフトウェアの構造と設計」のp200によると フレームワーク非依存:アーキテクチャは,機能満載のソフトウェアのライブラリに依存していない.これにより,システムをフレームワークの制約で縛るのではなく,フレームワークをツールとして使用できる. テスト可能:ビジネ

    リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita
    peketamin
    peketamin 2018/10/26
  • 誰でも簡単にバーチャルユーチューバー!FaceVTuberとdynamic import - Qiita

    FaceVTuberをリリースしました!! 追記:続編を書きました!! バーチャルYoutuberになれる!FaceVTuberの定性的で定量的なUX改善 3/12にGoogleChromeとWebカメラさえあれば,バーチャルユーチューバーになれるFaceVTuberをリリースいたしました. 「最近流行のバーチャルユーチューバーになりたい!!」 でも,特別なハードウェアが必要だったり,ソフトウェアの設定が大変だったり,難しい!! そんな悩みを解決するのがFaceVTuber!! ブラウザで動く,簡単バーチャルユーチューバー体験をみんなでしよう!! https://t.co/bcTbdr36UR#FaceVTuber pic.twitter.com/NCyxe31oK3 — FaceVTuberOfficial (@FaceVTuber) 2018年3月12日 最近,キズナアイさんを筆頭とし

    誰でも簡単にバーチャルユーチューバー!FaceVTuberとdynamic import - Qiita
    peketamin
    peketamin 2018/03/19
  • Bitcoinを電気代"0円"でマイニングして稼ぐ! - Qiita

    概要 追記:新しい記事書きました!(2017/12/16) マイニングで一番稼げる仮想通貨は何か!?BTC・LTC・MONA・XMR・BCNの5種でベンチマークしてみた! ====================================================== 最近、Bitcoinをはじめとした仮想通貨が注目されています。 これらは、ブロックチェーンという新しい技術が使われている、という面もありますが、一番関心が高いのは価格ではないでしょうか? 少し前までは、1BTCが20万円くらいだったのが、40万円、80万円とかなり高騰しています。 このような仮想通貨は、bitflyerやCoincheck、Zaifuと言った仮想通貨の取引所で買うこともできますが、ソフトウェアを動かすことで稼ぐ(=マイニング)することができます。これにより、収益を仮想通貨として手に入れられます。

    Bitcoinを電気代"0円"でマイニングして稼ぐ! - Qiita
    peketamin
    peketamin 2017/12/01
  • プログラム高速化の禁術 - Qiita

    はじめに これは昔(2010年頃)自分が使っていた高速化技法について書いたものです. 今となってはレガシーだったり,通用しないものもあるかもしれませんが,こういう知識も無くなってしまったり,自分も忘れてしまう気がしたので,メモ代わりに書いておきます. ただ言えることは,「最適化はするな」ということです.最適化すると,保守性が大幅に失われる危険性があります.そして,これから書く項目を1つ1つ行って,高速化できたとしても,せいぜい2倍程度です.ただその2倍程度の速度も欲しい!そのためには悪魔に魂と保守性を売る!という方はご覧ください.これらの高速化は割といろいろな言語に当てはまることも多いですが,大体C++で書くことを念頭に置いていただければ,幸いです.あと,個人的には競技プログラミングだったり,計算科学をやっていた時期に見つけた経験則なので間違ってる場合もあります. コンパイルオプションをこ

    プログラム高速化の禁術 - Qiita
    peketamin
    peketamin 2017/11/26
  • 最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!! - Qiita

    最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!!PythonPHPGonginxnginx-unit NGINXって?? 簡単にNGINXの特徴について説明します. イベント駆動のWebサーバー 静的コンテンツの配信が得意 リバースプロキシとして使われることも多い 全アクティブサイトの中で2番目に多く使われている(19.60%) 参考:wikipedia nginx 以前(といってもだいぶ前ですが)はApacheが一強のサーバー業界でした.私もあんまり詳しくないですが,サーバーが安くなる中,C10K問題というものが業界で話題になり,Apacheが採用していたpre-Fork型のアーキテクチャのサーバーでは大量のリクエストが処理できなくなってきました.その中で,イベント駆動型のアーキテクチャのNGINXが大量のリク

    最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!! - Qiita
    peketamin
    peketamin 2017/09/19
  • コマンド1つで作れる!かんたん自宅Amazon S3互換環境! - Qiita

    Amazon S3って? 追記: 以下の記事で紹介したS3互換環境を使って,サムネイルサーバーを作ってみました!! サーバーレスの入門に!自宅サーバーレス+自宅S3環境で作るサーバーレス・サムネイルサーバー! ざっくりというとAmazonが提供している"ファイルサーバーのようなもの"です. 公式ドキュメントによると Amazon Simple Storage Service はインターネット用のストレージサービスです。また、ウェブスケールのコンピューティングを開発者が簡単に利用できるよう設計されています。 引用:Amazon S3 とは何ですか? 厳密にはAmazon S3はオブジェクトストレージの一種で, オブジェクトストレージはデータをファイル単位やブロック単位ではなく、オブジェクトという単位で扱います。オブジェクトにはストレージシステムのなかで固有のID(URI)が付与され、データと

    コマンド1つで作れる!かんたん自宅Amazon S3互換環境! - Qiita
    peketamin
    peketamin 2017/07/25
  • Serverless環境は600倍以上遅い? ~GoとNode.jsとPythonでベンチマークとってみた!~ - Qiita

    Serverless環境は600倍以上遅い? ~GoとNode.jsとPythonでベンチマークとってみた!~PythonGoNode.jsDockerserverless Serverlessは遅い? 以前の記事を書いたときに,自前で建てたサーバーレス環境のレスポンスが遅いなぁ.という肌感覚がありました.内部的にDockerを利用して,コンテナを起動している分,一般的なサーバーより遅いだろうという想像はしていました.しかし,どれくらいレスポンス速度が劣化するのか?あまり比較記事というものはないので,実際に計測してみることにしました. AWS Lambdaはどれくらいの速度? サーバーレスアーキテクチャという技術分野についての簡単な調査 という記事によると, 利用できるデータがほかに見当たらなかったので、ここではtaka4sato氏5の短いコメントを参照しておく。それによればAPI Gat

    Serverless環境は600倍以上遅い? ~GoとNode.jsとPythonでベンチマークとってみた!~ - Qiita
    peketamin
    peketamin 2017/07/02
  • Pythonマイナー環境列伝 ~あなたはいくつのPython環境を知っているか?~ - Qiita

    Pythonマイナー環境ってなんだ? 会社内でPythonの話をしてた時,「Pythonの環境っていっぱいありますよねぇ~」みたいな話をして,軽く「そういやそうですねぇ~」みたいなことを言ってたんですが,意外にこの「マイナー環境」というものについて,まとめたページも少ないので,知っている限りのPythonの実行環境について,ちょっとまとめてみました.ここで,何個か注意点があります. Pythonとして完全でないことも許容する Pythonトランスパイラも含む Python実行環境を含む という割と緩めな縛りでお話しします.こういうマイナーなPython環境というのは正確なPythonであっても動かないことが多いです.もしくは,Pythonが別言語に変換されてたりして,「Pythonとは何なのだろう・・・」と思うこともあると思います.また「なんかPythonが動いている気がする」程度のもの

    Pythonマイナー環境列伝 ~あなたはいくつのPython環境を知っているか?~ - Qiita
    peketamin
    peketamin 2017/06/19
  • GoとPythonとGrumpyの速度ベンチマーク ~Googleのトランスパイラはどれくらい速い?~ - Qiita

    GoPythonとGrumpyの速度ベンチマーク ~Googleトランスパイラはどれくらい速い?~PythonGoGoogleベンチマークgrumpy 概要 GrumpyというPythonからGoへのトランスパイラを使ってみた GoPythonとGrumpyでベンチマークを取ってみた 処理速度は Go >> Python >> Grumpyで非常にGrumpyが遅かった Grumpyとは Googleは1月4日(米国時間)、「Google Open Source Blog: Grumpy: Go running Python!」において、Goで開発されたPython実行環境「Grumpy」を発表した。GrumpyはGoで実装されたPython実行環境。Pythonのコードを一旦Goのコードに変換することで動作するコンパイラ方式を採用。並列処理性能が優れているほか、Pythonコードか

    GoとPythonとGrumpyの速度ベンチマーク ~Googleのトランスパイラはどれくらい速い?~ - Qiita
    peketamin
    peketamin 2017/05/28
  • https://qiita.com/kotauchisunsun/items/191f2c818813b7ea543e

    peketamin
    peketamin 2017/04/07
  • 1