タグ

ブックマーク / qiita.com (129)

  • 詳細設計の書き方 - Qiita

    はじめに システム開発において詳細設計という工程があります。 プログラマーはこの詳細設計を確認しながら開発を行うことになります。そのため詳細設計ではシステムの構造や仕様、動作などを細かく定義することが必要になります。 詳細設計を行うことでシステム開発の方向性が明確になり、コーディングやテストをスムーズに行うことができます。 詳細設計の成果物としてはクラス図やシーケンス図、画面設計書やデータベース設計書などがあり、システムの動きや機能を具体的に表現するものです。 今回は詳細設計を作成する機会があったので、詳細設計の書き方についてまとめたいと思います。 詳細設計の目的やメリット 詳細設計の目的は、システム開発の品質や効率を向上させることです。詳細設計では、システムの仕様や動作を細かく定義することで、以下のようなメリットがあります。 開発工程でのバグや遅延を減らすことができる テスト工程での不具

    詳細設計の書き方 - Qiita
  • 【個人開発】爆速な賃貸物件の検索サービスを作った - Qiita

    個人開発賃貸物件の検索サービス Comfy を作りました1。グラフや地図でサクサク絞り込める UI が特徴のサービスです。とにかく気持ち良い使い勝手を実現するために色々工夫しています。 既にリリースからは 4 ヶ月以上経っているのですが、改めてサービスの概要や、システム構成及び使用した技術・サービスをご紹介しようと思います。2。 サービスの概要 Comfy は日全国の賃貸物件を検索できる Web サービス です。画面 UI は上の GIF 画像のような感じです。 こだわったポイントを色々書くよりも実際にさわって頂いた方が新感覚の UI や気持ちよさを体感頂けるかと思いますので、 実際のサービス をぜひお試し頂ければ幸いです! システム構成 図の通り、システムは大きく 3 つに分けられます。 フロントエンド バックエンド データ基盤 使用技術は図の通りではあるのですが、フロントエンド

    【個人開発】爆速な賃貸物件の検索サービスを作った - Qiita
    yusuket
    yusuket 2022/04/07
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
  • ビーフストロガノフはどのくらい強いのか - Qiita

    # !wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.ja.300.vec.gzで落とせます model = gensim.models.KeyedVectors.load_word2vec_format('cc.ja.300.vec.gz', binary=False) repat = re.compile(r'^[あ-ん\u30A1-\u30F4\u4E00-\u9FD0]+$') vocab_list = [w for w in list(model.vocab.keys())[10000:50000] if len(w) > 2 and repat.fullmatch(w) and w[-1] != 'っ' and w not in list(ww_df.word) and w not in list(sw

    ビーフストロガノフはどのくらい強いのか - Qiita
  • 異常検知入門と手法まとめ - Qiita

    異常検知について勉強したのでまとめておきます。 参考文献 下記文献を大いに参考にさせていただきました: [1] Ruff, Lukas, et al. "A Unifying Review of Deep and Shallow Anomaly Detection." arXiv preprint arXiv:2009.11732 (2020). [2] 井手. "入門 機械学習による異常検知―Rによる実践ガイド" コロナ社(2015) [3] 井手,杉山. "異常検知と変化検知 (機械学習プロフェッショナルシリーズ)" 講談社サイエンティフィク(2015) [4] 比戸. "異常検知入門" Jubatus Casual Talks #2(2013) [5] Pang, Guansong, et al. "Deep learning for anomaly detection: A rev

    異常検知入門と手法まとめ - Qiita
    yusuket
    yusuket 2020/12/27
    監視技術かとおもた
  • 2で割ることと3で割ること - Qiita

    この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

    2で割ることと3で割ること - Qiita
  • C++ の学習サイトを作りました - Qiita

    はじめに C++ って他の言語に比べると勉強しづらくないですか? 書籍や学習サイトの内容が古い、または少ないんですよね。ただでさえ言語仕様が複雑なのに、それを手助けする情報も少ないと初学者には辛いんじゃないかと思います。というか僕がそうでした。 そんなわけで、もう少し今風な学習サイトを作ろうと思って作成しました。 ゼロから学ぶ C++ ちゃんとスマホでも読めるようになっています。 C++11 をベースに作っているので、このサイトももはや古い方に入るかも知れませんが、C++20 が浸透してきたらアップデートしようと思います。 よかったらご活用下さい。 ゼロから学ぶ Python(姉妹サイト) 『ゼロから学ぶ Python』というサイトも作成しています。あわせてご活用下さい。 さいごに 上記のサイトはどちらも GitHub でソースコードを管理しています。 スターを付けてもらうと励みになります

    C++ の学習サイトを作りました - Qiita
  • 2020 年版 Command Line Tool を作ってみる in Rust - Qiita

    2 年前に書いた記事 Command Line Tool を作ってみる in Rust が今でも参照されることがあるようなので、2020 年版にアップデートした内容を書いていきます。 概要 この記事では Rust で Command Line Tool を作るときに、便利なライブラリ、ツール、そしてサービスを紹介します。主に CLI working group が取り組んでいる Command Line Applications in Rust(以後 Book と呼称)のアップデート内容が中心です。その他にプラスアルファして個人的に便利だと思うツールやサービスを紹介していきます。 こちらに完全なサンプルコードを公開しています。 見やすさの都合上、説明と直接関係のないコードや設定は省略して表示します。手元でビルドして確認したい場合はこちらのソースコードをダウンロードしてご確認ください。 エラ

    2020 年版 Command Line Tool を作ってみる in Rust - Qiita
  • 本番環境でsudo yum updateしてサービスが動かなくなった - Qiita

    EC2 (Amazon Linux) Apache php7.1 私がやってしまったこと この事件が起きたのは2020年6月。既に稼働しているWebサービスでとあるデータ取得の処理が止まってしまっているので調査してほしいと頼まれました。また、サービスに影響が出るものだからなるべく早めに対処してほしいと言われました。 マネージャー 「今日の夕方までにはお願いね。もし難しそうだったら午後イチで一旦MTGしよう。14時までに連絡をください。」 わたし 「任せてください!」 ・・・・ とは言ったものの、番サーバーで起きている障害の調査は今までやったことがありませんでした(もちろん番サーバーにログインしたこともない)し、進め方も全く思いつきませんでした。しかも、対応するサービスの開発には携わったことがなく、sshログインの設定から行う次第でした。 まあ、今まで頼まれたタスクを期限内に終えられなか

    本番環境でsudo yum updateしてサービスが動かなくなった - Qiita
    yusuket
    yusuket 2020/12/02
    セキュリティに対する意識…?
  • メルアイコン変換器を作った話 - Qiita

    はじめに 「メルアイコン」と呼ばれる、Melvilleさんの描くアイコンはその独特な作風から大勢から人気を集めています。 上はMelvilleさんのアイコンです。 この方へアイコンの作成を依頼し、それをtwitterアイコンとしている人がとても多いことで知られています。 代表的なメルアイコンの例 (左から順にゆかたゆさん、みなぎさん、しゅんしゅんさんのものです (2020/12/1現在)) 自分もこんな感じのメルアイコンが欲しい!!ということで機械学習でメルアイコン生成器を実装しました!!.......というのが前回の大まかなあらすじです。 今回は別の手法を使って、キャラの画像をメルアイコンに変換するモデルを実装しました。例えばこんな感じで変換できます。 実装したコードはこちら 記事ではこれに用いた手法を紹介していきます。 GANとは 画像の変換にあたってはUGATITという手法を使って

    メルアイコン変換器を作った話 - Qiita
  • PerlとGolangの対応表っぽいもの - Qiita

    PerlではこうだけどGolangだとこう書く」のリストです。 これまでPerlを使ってきて、Golangに入門した方向け。すごくニッチです。 スクリプトとコンパイル言語、動的型付けと静的型付けと全く違う言語であり来比較にならないかと思います。 しかし基礎構文レベルの細かいことでPerlだとこうだけどGolangだとどうやるんだろ?なんて調べることが多く、自分の勉強がてらまとめてみました。 公式リファレンス Perldoc The Go Programming Language Specification 手元確認バージョン Perl v5.16.3 Golang 1.11.1 (Playground) 表の項目は細かい方に合わせています。数値と文字列で比較演算子が異なるPerlや、データ型が多いGolangなど。 コメント 意味 Perl Golang

    PerlとGolangの対応表っぽいもの - Qiita
  • Linuxカーネル、その29年の歴史レポート - Qiita

    Linuxカーネル開発の初期の議論は複数のMLでなされていたので、1997年以前の議論については断片的にしか存在していない。 集められた一部についてはhttp://lkml.iu.edu/hypermail/linux/で公開されているが、これにも抜けがあるので、当時のログを持っている人がいたら提供してほしい。 翻って5.8のMAINTAINERSは19033行もあり、そして1501人のメンテナがリストされている。 THE REST M: Linus Torvalds <torvalds@linux-foundation.org> L: linux-kernel@vger.kernel.org S: Buried alive in reporters Q: http://patchwork.kernel.org/project/LKML/list/ T: git git://git.ker

    Linuxカーネル、その29年の歴史レポート - Qiita
  • 2億資金調達してから二年、結構量子コンピュータ頑張った結果 - Qiita

    はじめに 2008年に起業してからコツコツやっていましたが、2014年くらいから量子コンピュータの研究開発をがんばりました。資金調達もしてある程度技術に目処がついたのと、若者から起業したいという相談をよくもらうので、まとめておきます。 経営は大事 簡単にいうとベンチャーをやろうとしたら技術よりもキャッシュが大事です。なので、財務や経営感覚がついてから技術をつけないと結構大変と思います。特に1年目は慣れない事務に忙殺されますし、二年目以降はキャッシュが厳しくなります。 あとは、最初は経営に夢見て舞い上がりがちなので、その気持ちがおさまって厳しさが一通り身についたところからが番です。 調達の前に譲渡 2008年から10年くらいはコツコツ会社をやっていた上、そんなに頑張るタイプでもなかったのですが、たまたま2014年からやっていた量子コンピュータのニュースが巷で新聞に載るようになってから、周辺

    2億資金調達してから二年、結構量子コンピュータ頑張った結果 - Qiita
    yusuket
    yusuket 2020/07/27
    ほへー
  • Re:FizzBuzzから始めるRust生活 - Qiita

    新しいプログラミング言語に入門するためには、やはり手を動かすことが大事です。を読んで体系的に学ぶのももちろん重要ですが、それは言語の魅力を知ってからでも遅くはありません。 しかし「Hello World」レベルだと簡単すぎて言語の違いを味わえず、ネットワークプログラミングのような高度なプログラミングはフレームワークの力が大きすぎて言語とフレームワークの狭間で立ち往生することになります。 そこで登場するのが「FizzBuzz」です。「FizzBuzz」は単純なプログラムでありながら、プログラムの真髄である「順次」、「分岐」、「繰り返し」があり、数値計算も学べる興味深い題材です。 その「FizzBuzz」を利用して「Rust」という言語を学んでみようのが記事の趣旨です。「FizzBuzz」というシンプルなプログラムで「Rust」のような表現力が豊かな言語の機能をどこまで使い尽くせるのかは興

    Re:FizzBuzzから始めるRust生活 - Qiita
  • Rustに影響を与えた言語たち - Qiita

    各カラムの意味は次のとおりです。言語の特徴は主にWikipediaを参考にしていますが、正確な分類は困難なため多少の独断と偏見が含まれていることをご了承ください。 登場年代 プログラミング言語が登場した年代です。前後3年の誤差は見逃してください FP(関数型プログラミング) 言語がFPを強くサポートしているかを示しています 程々にサポートしている場合は△を示しています OOP(オブジェクト指向プログラミング) 言語がOOPを強くサポートしているかを示しています 並行計算 アクターや CSP/π計算モデルの特徴を言語が強くサポートしているかを示しています 外部ライブラリを使えばできるよ!みたいなものは除外します 静的型付け 言語の最も主要な処理系が静的型付けをサポートしているかを示しています パラメータ多相 言語がパラメータ多相をサポートしているかを示しています ジェネリクス(Java)、テ

    Rustに影響を与えた言語たち - Qiita
  • 4歳娘「パパ、Promiseやasync/awaitって何?」〜Promise編〜 - Qiita

    スペシャルサンクス @sega_yuu @frodo821 とある休日 娘(4歳)「ねえパパ」 ワイ「なんや、娘ちゃん?」 娘「非同期って何?」 ワイ「ひ、非道鬼!?」 娘「そうそう、非同期処理とかいうやつ」 ワイ「非道鬼を処理やて・・・!?」 非道鬼「ヴォ〜〜〜!!!」 娘「!?」 娘「・・・現れたわね、非道鬼」 娘「処理してあげる」 ワイ「娘ちゃん、まだ4歳なのに、もう厨二病か・・・?」 よめ太郎「おい」 よめ太郎「お前まさか、非同期も知らんのか・・・?」 ワイ「いやいや、まさかまさか」 ワイ「流石に知っとるわ」 ワイ「それはそれは・・・極悪非道な・・・鬼のことや・・・」 よめ太郎「お前が非道鬼に喰われてしまえ」 非同期処理とは よめ太郎「ええか、娘ちゃん」 よめ太郎「まず、同期って言葉は」 よめ太郎「タイミングが合うって意味や」 娘「じゃあ、非同期っていうのはタイミングが合わないって

    4歳娘「パパ、Promiseやasync/awaitって何?」〜Promise編〜 - Qiita
    yusuket
    yusuket 2020/05/25
  • 11種類のオペレーティング・システムについてまとめてみた - Qiita

    TL;DR 「オペレーティングシステム?知ってるよ。WindowsとかMacのことだよね」というぐらいの知識だった私が、二週間ほどひたすらWikipediaでインプットしまくったクソ浅い情報を共有します。 最初の動機 「Go言語が対応しているアーキテクチャってなんだろ?」 Go言語には環境変数をコンパイラに渡すことで、出力されるバイナリの対応するOSとアーキテクチャを変えることができます。 GOOS がオペレーティングシステム(OS)、 GOARCH がアーキテクチャです。 こんな感じにビルドすると、 linux というオペレーティングシステムで、 ppc64 というアーキテクチャに対応したバイナリが出力されます。 なるほど。 じゃあ、 Go言語が対応しているOSとアーキテクチャって何があるの? と疑問が湧いてきますね。 その疑問に応えるコマンドが go tool dist list です

    11種類のオペレーティング・システムについてまとめてみた - Qiita
  • 天井裏サーバーのすゝめ - Qiita

    自宅サーバーの置き場所って地味に困るけど、天井裏に置くといいよ!という話です。 140字以内で済む話ですが、いろいろ広げていきたいと思います。 天井裏の環境 天井裏というとどんな環境を思い浮かべますか? キタナイ、ホコリだらけ、湿ってる、温度変化が激しい・・・ コンピューターにとっては最悪の環境だという印象がありますよね。 確かに、木造住宅の天井裏はそんな感じだと思います。 しかし、鉄筋コンクリートマンションの天井裏は、想像よりずっと環境がいいです。 特に、ホコリに関しては住空間より少ないです。 自宅で天井裏サーバーを1年以上運用していますが、ファンにつくホコリがめっちゃ少ないです! 天井裏へのアクセス 浴室の天井に、天井裏へアクセスできる点検口がある物件が多いです。 浴室は天井高が低くても気にならないことと、浴室乾燥機とそれにつながるダクトを設置する空間が必要で、それのメンテナンス需要も

    天井裏サーバーのすゝめ - Qiita
    yusuket
    yusuket 2020/01/02
    ヨシッ!
  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    yusuket
    yusuket 2019/12/03
    読ませるねぇ
  • コツコツやらない小6がVirtualBoxで「30日でできる!OS自作入門」をやり遂げる話。1日目 - Qiita

    追記 12/7 公開してから一年の月日が経ちました。早いですね。僕もこの一年に色々な経験をしていました。 記事を挙げた二日目には止まってしまったこのシリーズ。でも僕は諦めてません。絶対に戻ってきます。絶対に次の記事を書いて30日目までがんばります。少し待っていてください。(12月中にリニューアルさせたい) あと実は9日目くらいまでは完成していたのですがあんまり仕組みがわかってないです() 自己紹介 はじめまして。色んなことに挑戦してエラーで諦めてしまう小6のtatsuです。文章の所々間違っていると思いますがよろしくです。 環境構築 VirtualBox https://www.oracle.com/technetwork/jp/server-storage/virtualbox/overview/index.html バイナリエディタ Hex Fiend https://ridiculou

    コツコツやらない小6がVirtualBoxで「30日でできる!OS自作入門」をやり遂げる話。1日目 - Qiita
    yusuket
    yusuket 2019/11/23
    よろしく二キー感