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

  • Three.jsの勉強の仕方 - Qiita

    概要 Three.jsの勉強を始めて半年くらいが経過しました。 現在は、以下のようなアプリケーションを作成できるようになりました。 https://nemutas.github.io/r3f-normal-color/ ここまでに至る過程を少しまとめられたらと思います。 React Three Fiber について 私は主に、React Three Fiber(Three.jsをReact用にラッパーしたライブラリ|以下、R3F)を使用して開発してます。 バニラのThree.jsを触る前に、つまりThree.jsの知識がゼロの状態のときからR3Fを使い始めました。 とてもよく設計されたライブラリで、ほんの数行でBoxを表示することができます。 ただし、よく設計されているということは、それほど抽象化されているということです。学び始めの頃は自分が作りたいシーンを作るために、どのプロパティをいじ

    Three.jsの勉強の仕方 - Qiita
    isudzumi
    isudzumi 2022/04/05
  • 仕事が暇な時にすることリスト - Qiita

    大前提 この記事読まずに仕事して下さい。 整理系 作業机の整理 PC/ディスプレイの清掃 キーボードなどの周辺機器の清掃 PC内の不要ファイル削除 ドキュメント整理 雑務系 メール確認 スキルシート更新 日報/月報 社内アンケート 有給申請 その他各種申請 業務効率化系 ブラウザのブックマーク整理 キーボード設定見直し マウス設定見直し 使用ツールのショートカット調査 「ツール名 おすすめ設定」でググってより良い使い心地を目指す ブラウザ エディタ SQLクライアント メール管理 勤怠管理 PC起動時 ターミナル などなど 勉強会系 connpass等で勉強会を調べる IT勉強会を探すために捗るサイトまとめ【9選】 勉強会に参加する 勉強会の発表ネタを探す 勉強会に関する読み物 ITエンジニアのためのプレゼンテーション入門 ライトニングトーク(LT)準備の参考資料まとめ 交流系 社内のS

    仕事が暇な時にすることリスト - Qiita
    isudzumi
    isudzumi 2022/03/21
  • 強いエンジニアになるために英語が必要と聞いたので4ヶ月でTOEICスコア400→900まで上げた話 - Qiita

    はじめに 初投稿です。 筆者スペック 19歳 高卒 某大手自動車メーカー関連会社勤務 エンジニア志望 (Web開発勉強中) 業務の効率化(データ整理・画像処理など)でPythonを書くことがあります。Python歴は半年程度です。 英語学習について、 どのように学習してきたのか記録を残すため 「TOEICのスコアを伸ばしたい」と考える方にとって少しでも参考になれば と思い、記事を書くことにしました。 英語学習の動機 「エンジニアには英語が必要」 論 エンジニア/エンジニアになりたい方なら、1度は「エンジニア英語は必要か」という議論を目にしたことがあるのではないでしょうか。 自分は現在エンジニアになることを志しています。 そのための情報収集をしていると、「エンジニア英語は必要なのか?」という主旨の記事、議論を時折見かけます。 そして、その結論は殆どの場合「強いエンジニアになりたい場合、あ

    強いエンジニアになるために英語が必要と聞いたので4ヶ月でTOEICスコア400→900まで上げた話 - Qiita
    isudzumi
    isudzumi 2022/01/17
  • WebCodecs と Insertable Streams for MediaStreamTrack API で超低遅延プレイヤーを作った話 - Qiita

    WebCodecs と Insertable Streams for MediaStreamTrack API で超低遅延プレイヤーを作った話JavaScriptChromestreamingwebcodecs はじめに Chrome M94 から WebCodecs が登場しました。 これにより、ブラウザで h264, aac などのデコードが出来るようになりました。 また、Insertable Streams for MediaStreamTrack API も同時に登場しました。 なら、これを組み合わせれば、WebRTC より融通の利く超低遅延プレイヤーが出来るのでは??? というわけで、WebCodecs と Insertable Streams for MediaStreamTrack API を使って mpegts をそのまま再生する超低遅延プレイヤーを作ってみました。 前提:

    WebCodecs と Insertable Streams for MediaStreamTrack API で超低遅延プレイヤーを作った話 - Qiita
    isudzumi
    isudzumi 2022/01/07
  • エンジニアの"有害な振る舞い"への対処法 - Qiita

    記事の続編として、自分が有害な振る舞いをしないようにする改善の取り組みを扱った記事も書いてます。 エンジニア上司が"有害な振る舞い"を改善する方法 ※「難しい人」は概念として用い説明するのに便利な言葉でしたが、誤解を生じたり、記事のポリシーに沿わない使用(難しい人というラベリングを特定個人に適用する使い方)が容易にされてしまいそうだと分かりました。そのような誤用を防ぐことを最優先とするため、代わりに「有害な振る舞い」という表現を使用し、人ではなく振る舞いに着目するタイトル及び文章に変更致しました。 はじめに 以下の記事を読んだ際に「難しい人」という表現が何となく面白い響きで印象に残ったので、これを機に自分の考えを今までの経験をもとに書きたいと思います。 “難しい人”が1人入ると、チームの生産性は30〜40%低下する 対抗せずに、場の「安心感」を作るための3つの条件 - ログミーBiz

    エンジニアの"有害な振る舞い"への対処法 - Qiita
    isudzumi
    isudzumi 2022/01/03
  • アルゴリズムの世界地図 - Qiita

    0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

    アルゴリズムの世界地図 - Qiita
    isudzumi
    isudzumi 2021/12/24
  • ipftrace2で始めるLinuxネットワークスタック探訪 - Qiita

    皆さんはLinuxネットワークスタックの問題にあたってしまった時、あるいは単なる興味でLinuxネットワークスタックの中を調べたいと思い立った時、どのようにして調査を進めますか?カーネルのソースコードに printk を仕込んでカーネルを再コンパイルするでしょうか?もしくは最初からソースコードを読むという強い方もいらっしゃるかもしれません。どちらの方法もなかなかの茨の道です。おそらく、ほとんどの方は最終的にftrace やbpftraceなどのDynamic Tracingツールを使って、カーネルの動作を実際に動かしながら見るという方法に至ると思います。 この記事では ipftrace2 というDynamic Tracingツールの基的な使い方をサンプルとともに紹介します。ipftrace2はネットワークスタック、特にパケット処理の部分をトレーシングをすることに特化した作りになっており、

    ipftrace2で始めるLinuxネットワークスタック探訪 - Qiita
    isudzumi
    isudzumi 2021/12/20
  • フレッツ光回線でscpが遅かった話 - Qiita

    この記事は、Supershipグループ Advent Calendar 2021の7日目の記事になります。 先日、sshを使用したファイル転送が回線速度と比べて異常に遅いという現象に遭遇したので、その際に行った調査を再現しつつ原因や対策について書いてみたいと思います。 要約 OpenSSHはデフォルトでinteractiveなセッションに af21 、non-interactiveなセッションに cs1 をDSCP値としてIPヘッダに設定する フレッツ網はIPヘッダのDSCP値を帯域優先サービスで使用しており、契約に応じて指定された優先度以外が設定されたパケットの転送は保証されない そのため、OpenSSHをデフォルト設定のままフレッツ網で使うと通信ができなかったり、速度低下などの悪影響を受ける可能性がある OpenSSHがDSCP値を設定しないようにするためには、IPQoS noneを設

    フレッツ光回線でscpが遅かった話 - Qiita
    isudzumi
    isudzumi 2021/12/08
  • x87 FPUの呪い - Qiita

    それぞれの説明はこんな感じである: X: Infinity Control 無限大の符号の扱いを変える設定だったらしい。IEEE 754が標準化される前の痕跡で、387以降は意味を持たない。 RC: Rounding Control 丸め方法を指定する。 00B: Round to nearest (even) 01B: Round down (toward $-\infty$) 10B: Round up (toward $+\infty$) 11B: Round toward zero (Truncate) PC: Precision Control 演算結果の仮数部の精度を指定する。 00B: Signle Precision (24 bits) 01B: Reserved 10B: Double Precision (53 bits) 11B: Double Extended Pr

    x87 FPUの呪い - Qiita
    isudzumi
    isudzumi 2021/12/02
  • RustでJSONパーサーをフルスクラッチで実装する - Qiita

    この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日語版 Rust by Example 日語版 monkey-json 記事ではRustでJSONパーサー(mo

    RustでJSONパーサーをフルスクラッチで実装する - Qiita
    isudzumi
    isudzumi 2021/12/01
  • 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
    isudzumi
    isudzumi 2021/11/04
  • Clean Architecture on Frontend (翻訳) - Qiita

    こちらはDEV Communityに2021年9月2日に投稿され、現在反響を巻き起こしているフロントエンドにおけるクリーンアーキテクチャの実装についてのAlexさんの記事になります(原文はこちら)(twitterにて翻訳掲載許可取得済み)。 かなり大ボリュームな超大作記事となっておりますが、Reactなどを使ったフロントエンドプロジェクトのディレクトリー構成やファイルごとの責務の切り分けのベストプラクティスなどの決定版といえるものがまだまだ出てこない中で、個人的にまさに待ち侘びていたような内容の記事かと思い、是非日フロントエンドコミュニティでも知見が共有されればと思いました。 それでは以下、文です。 *翻訳は大部分をDeepL翻訳によって行っていますが、適宜修正してあります。 少し前に、私はフロントエンドにおけるクリーンアーキテクチャについての講演を行いました。この記事では、その講演

    Clean Architecture on Frontend (翻訳) - Qiita
    isudzumi
    isudzumi 2021/09/15
  • 技術ようつべチャンネル集 - Qiita

    役立つYouTubeのチャンネルまとめ 数学、物理、アルゴリズム、プログラミング、などなど自分が使う技術に役立ちそうだな、困ったときによく見たなと思うチャンネルを紹介する。 取っ掛かり、ハマりがち、コツみたいな物が拾える。数学がメイン。随時更新していくつもり。 当たり前だけどちゃんとも読んで勉強するんだぞ。 背景 YouTubeは視聴する登録チャンネルの数が増えると、チャンネルが埋もれて発掘困難になりがち (chrome拡張でできるチャンネルのフォルダ分け機能は、ぽちぽち登録するのも面倒で、そのフォルダの中から掘り出すのも難しい) モチベが上がる(おべんつよしたい)チャンネルを探してるうちに湧いてくる、わんにゃんコンテンツ(だいちゅき)に流され一日が終わるため、 モチベが上がる有用なチャンネルにすぐにたどり着くために、よく使うQiitaに列挙しておくことにした Streamや大学専用サイ

    技術ようつべチャンネル集 - Qiita
    isudzumi
    isudzumi 2021/07/14
  • Firefoxは危険なJavaScriptに対応しない - Qiita

    Firefox / Safari MozillaはMozilla Specification Positionsというリストを公開しています。 IETFやW3C、TC39などが提唱しているWeb技術に対して、Mozillaはどのように評価しているかという立ち位置を表明したものです。 あくまで現時点での評価であり、もちろん今後の仕様変更などに伴い評価は変わる可能性があります。 Mozilla's Positions Mozillaはどのように評価しているかの分類。 under consideration 評価の検討中。 important 優れた概念であり、Mozillaにとっても重要である。 worth prototyping 優れた概念であるが、プロトタイプを作成し、フィードバックを得て磨きをかける必要がある。 non-harmful 有害ではないが、良いアプローチではなく、取り組む価値

    Firefoxは危険なJavaScriptに対応しない - Qiita
    isudzumi
    isudzumi 2021/07/05
  • 混沌を極めるWindowsのssh-agent事情 - Qiita

    どうしてこうなった。 何の話? WindowsでのSSH-AGENTとSSHの話です。 この記事での用語: SSHとssh, SSH-AGENTとssh-agent この記事では、SSH-AGENTと書いたときにはカテゴリとしてのSSHエージェントを意味します。 ssh-agentと書いたときには、実行プログラムとしてのssh-agentコマンドを意味します。 同様に、SSHと書いたときにはカテゴリとしてのSSHクライアントを意味します。 sshと書いたときには、実行プログラムとしてのsshコマンドを意味します。 SSH-AGENTって? SSH-AGENTは、秘密鍵での署名を代行1してくれるツールです。 SSH-AGENT に秘密鍵をロードしてしまえば、あとはパスワード(パスフレーズ)入力なしでSSH認証できる agent forward機能を使うことで、SSHした先でさらにSSHすると

    混沌を極めるWindowsのssh-agent事情 - Qiita
    isudzumi
    isudzumi 2021/05/05
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    isudzumi
    isudzumi 2021/03/18
  • Rustで高速に大量のHTTPリクエストを投げる - Qiita

    自己紹介 趣味Rustをやっている Twitter https://twitter.com/hatookov Github https://github.com/hatoo SoundCloud https://soundcloud.com/gfyxxqjngkze ネットワーク初心者なので誤りがあるかも知れません モチベーション oha HTTPロードジェネレータ Apache Bench(ab)みたいな tui-rsでリアルタイム表示 とにかくいっぱいリクエストを投げたい! ベンチマーク環境 WSL 2 Ryzen 3950x 今回はtokio https://github.com/hatoo/rust_http_benchmarks ベンチマーク雛形 ベンチマーク系のライブラリは複数回実行してしまい、時間がかかるのでやめた ざっくりと時間がわかればいいかな 簡単のためにサーバーはw

    Rustで高速に大量のHTTPリクエストを投げる - Qiita
    isudzumi
    isudzumi 2021/01/31
  • WHATWG Living StandardとHTMLパーサ - Qiita

    この記事はドワンゴ Advent Calendar 2020 最終日の記事です。年の瀬ですね。 はじめに 記事は、WHATWG Living Standardに準拠することを目的としたHTMLパーサである「gammo」の紹介を目的としている。gammoが実現していることを詳細に伝えるため、単なるgemの紹介に留まらず、HTML歴史や昨今のHTMLを取り巻く状況を簡単に解説し、WHATWG Living StandardにおけるHTML文書の解析アルゴリズムについて、実例と共に紹介する。 記事で紹介するgammoの開発に取り掛かった理由は、主に以下の二点が挙げられる。 WHATWG Living Standardに準拠したHTMLパーサをRubyGemsの中から見つけられなかったため。 現在HTMLパーサの機能を持つライブラリの中で、最も利用されていると考えられるNokogiriと比較

    WHATWG Living StandardとHTMLパーサ - Qiita
    isudzumi
    isudzumi 2020/12/27
  • 異常検知入門と手法まとめ - 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
    isudzumi
    isudzumi 2020/12/27
  • ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita

    // gcc-10 -march=armv8.3-a arm-jcvt.c という風にコンパイル #include <stdio.h> #include <math.h> #include <inttypes.h> #include <arm_acle.h> // Prototype: // int32_t __jcvt(double); #if defined(__GNUC__) __attribute__((noinline)) #endif int32_t cast_double_to_i32(double x) { return (int32_t)x; } int main(void) { printf("(int32_t)(-2.8) = %" PRId32 "\n", cast_double_to_i32(-2.8)); printf("(int32_t)1.99 = %" P

    ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita
    isudzumi
    isudzumi 2020/11/30