タグ

ブックマーク / qiita.com (1,165)

  • ぼくがつくったさいきょうのおーえすを語ろう#1(導入編) - Qiita

    このシリーズについて このシリーズは私がSecHack365(2023年度学習駆動コースの坂井ゼミです)を通して制作した「ぼくがつくったさいきょうのおーえす(Shizuku)」についてただただ語るだけのシリーズです。もし興味があればGitHubを覗いてくれると嬉しいです。SecHack365成果発表会もあるので興味がありましたら3/2アキバスクエアに来てくれると嬉しいです。 おーえすのロゴ(SecHack365成果発表会での目印) ぼくがつくったおーえす(Shizukuと言います)のロゴです。このマークがポスターに10cmくらいの大きさで貼ってあることでしょう(タイトルにデカデカとぼくがつくったさいきょうのおーえすと書いてはあるのですがQiitaのアイコンがないので念のため...) 構成 ぼくがつくったきっかけ さいきょうとは何か OSとは何か ---↑この記事はここまで--- つくったお

    ぼくがつくったさいきょうのおーえすを語ろう#1(導入編) - Qiita
  • 僕はこうやって画面設計書を作ってる(Webシステムにおける簡潔な画面設計書の例) - Qiita

    Webシステムを作る上で、画面設計書を作成する事は多々あると思うんだけど、みんなどうやってるんだろうか。 取り敢えず、僕はこんな感じで作ってるよってのを紹介したいと思います。 小規模のプロジェクトで、ドキュメントIDとかプロジェクトIDとか使わなくてもいいような、管理が複雑でないプロジェクトを想定しています。 ルールとしては以下を守ってます。 画面設計書には画面遷移図の情報を含めない。 画面設計書は単一の画面の設計を掲載すべきと考える。 DBの操作、ビジネスロジック層に関する処理は画面設計書に記載しない。 別途アクション設計等に作成するべき。 Excel方眼紙を使わない。(←重要) 詳しくは後述。 参考にしたのは、以下のサイト。 [画面設計]画面の構造は物理的・論理的に示す http://itpro.nikkeibp.co.jp/article/COLUMN/20090108/322455

    僕はこうやって画面設計書を作ってる(Webシステムにおける簡潔な画面設計書の例) - Qiita
  • 保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita

    参考: 循環的複雑度 ちなみに githubで最もやべー関数を発掘するという記事では、循環的複雑度が高い関数が紹介されています。 ものによってはリンク切れしてしまっていますが、最も複雑度が高いのはnode(JavaScript)のjo関数で5505だそうです。想像もつかない... どのようにすれば循環的複雑度を低く抑えられるのか? 計算方法から考えると、forやifによる分岐を減らしていくことが必要となります。 そのために、分岐の入るロジックを別関数として切り出し、1つの関数でやる事を絞り、分離することを理想として目指していきます。 とはいえ、いちいち複雑度の計算なんてしていられないですね。 そこで役に立つのが次のVSCode拡張機能です。 Code Metrics (VSCode拡張機能) この拡張機能は、TypeScriptJavaScriptの関数・メソッドに循環的複雑度を表示して

    保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita
  • VSCodeでC言語プログラミング事始め HelloWorldがnmakeできるまで - Qiita

    はじめに 諸般の流れからC言語を使う機会が増えてきたので、あらためてVSCodeでC言語プログラミングができる環境構築を再確認しておきます。諸般の事情でWindows+MSCです。今回はmakefileを使ってHelloWorldがビルドできる状況を確認します。HelloWorld単体をビルドするのにmakefileを使うことはあまり意味のないことかもしれませんが、シンプルな環境でなにか見えてくるものもあるかもしれないということで。 前提条件 VSCodeはなんらかのバージョンが既にインストールされていることが前提です。 MSCもなんらかのバージョンのVisualStudioのVisualC++がインストールされていることが前提です。 今回は具体的には下記のバージョンを想定してお話が進みます。前回の記事でtasks.jsonとlaunch.jsonを生成して通常の[実行とデバッグ]からデバ

    VSCodeでC言語プログラミング事始め HelloWorldがnmakeできるまで - Qiita
  • SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita

    データベースとテーブルの作成 テスト用のデータベースtestdbを作成し、パフォーマンスチューニングを検証するためのcompanyおよびpersonテーブルを定義します。 CREATE DATABASE testdb; USE testdb; CREATE TABLE company ( company_id INT AUTO_INCREMENT PRIMARY KEY, company_name VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE person ( person_id INT AUTO_INCREMENT PRIMARY KEY, company_id INT, person_name VARCHAR(255) NOT NULL, email VARCH

    SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita
  • エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita

    はじめに この記事では、学んでいくためのマイルストーンとして「知ったかぶりができること」を設定するのもアリなのでは? という提案をします。 初学者でなくても『どうやって学んでいこうかな~』は全エンジニアの関心事だと思うので誰かの行動のきっかけになれたらうれしいです。 目次 (エンジニア人生は勉強や! 「知ったかぶり」を再定義する 「知ったかぶり」を可視化する 無知の知はすぐに自覚できる どうすれば人に説明できるようになるのか いったんここまでのまとめ 脳内イメージの解像度をどう上げていくか アウトプット先を意識したインプットをしよう " 知ったかbrilliant Journey of Engineers " さあ、なにを知ったかぶりしていこう? おわりに (エンジニア人生は勉強や! 技術は高速かつ複雑に成長しているので、新たな分野を学ばなきゃいけない機会はどんどん増えていく。また、そ

    エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita
  • 今からでも遅くないconsoleを使いこなそう - Qiita

    はじめに この記事では、consoleメソッドについて紹介を行っていきます。consoleメソッドには例えばconsole.log()などが挙げられます。web開発においてconsole.log()を使用する方は多いかもしれません。しかしconsoleにはconsole.log()以外にも様々なメソッドがあるので、状況に合わせて使い分けることで少しでも快適なデバック、開発ライフを目指しましょう。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 consoleについて consoleオブジェクトを用いることで変数の値などをコンソール上に出力することができます。主に出力の確認であったり不具合の原因特定などのデバックするために

    今からでも遅くないconsoleを使いこなそう - Qiita
  • なぜファイルの末尾に改行を入れたほうが良いのか - Qiita

    はじめに ファイルの末尾には改行を入れたほうが良いのでしょうか。 「ファイル 末尾 改行 POSIX」等で調べると、規格の観点から改行を入れた方がいいという話が出てくるのですが、今回はgitの仕組みの観点からも改行を入れたほうが良いという話をします。 GitHub上での末尾改行の警告 例えば末尾に改行のないこんなファイルが有るとし、commitしてGitHubにpushすると以下のような表示になります export function hello(name: string) { return `Hello, ${name}!`; }

    なぜファイルの末尾に改行を入れたほうが良いのか - Qiita
  • 私が独学をして、マジ神だと思うサイトおよび他 - Qiita

    初めに 私は独学でプログラミングその他について勉強をしていますが、基的に知識を得るために金はかけません。調べれば何とかなるので。 私がプログラミングを始めるにあたって自分に投資したものは安いノートパソコンとマウスのみで合計金額は14600円(ノートパソコン14000円、マウス600円)ですね。 もちろんいいものはお金をかけなければ手に入りません。しかし、いいものというのはある程度のレベルにならなくては持っていても意味がほとんどないと思います。 実際にプログラミングの勉強を独学で始めると、なかなか教材を見つけることができず、え?こんないいサイトあったの!?もうちょっと早く見つけときゃあよかった!というものがめっちゃありましたので、これから独学でプログラミングの勉強をしたいという方に向けて、少しでもお役に立てたらと、紹介をしたいと思います。 というわけで、今回は私が感謝する神サイトおよびその

    私が独学をして、マジ神だと思うサイトおよび他 - Qiita
  • 非デザイナーにも知っていて欲しい「色」と「特性」 - Qiita

    はじめに 数年前から「デザインの民主化」「非デザイナー向けの〇〇」といったワードをよく見るようになりました。それに伴い、デザイナー不在でも制作ができる便利なツールも増えてきましたね。 ReactなどのUI制作に便利なライブラリが広く使われたり、Canvasを使ってのバナー制作を行う人も増えてきた印象があります。 一方で「たくさんあるテンプレートから何を基準に選べば良いのか分からない」「アレンジしたけど、なんだか上手くいかない」という人もいるのではないでしょうか。 「非デザイナー~」シリーズでは「知っているとちょっと得するデザインTIPS」や「話のネタになるデザイン豆知識」をお伝えしていこうと思います。 今回のテーマ「色」と「特性」 今回は色の見え方、なかでも色覚特性について書いていこうと思います。 色覚特性はさまざまな理由から、多数派とは違う色の見え方・感じ方をする状態のことを言います。色

    非デザイナーにも知っていて欲しい「色」と「特性」 - Qiita
  • Nuxt でハイパフォーマンスを意識したアプリケーション開発 - Qiita

    はじめに フロントエンジニア3年目(総エンジニア歴6年)を迎えるにあたり、Nuxt / パフォーマンス / SEO など、Web アプリケーション開発について、たくさん学んできました。 今回は、Nuxt におけるパフォーマンスにフォーカスした話を記事にしたいと思います。 きっかけとしては、下記の記事を読んだ時でした。 医療のマスターDBを爆速で検索するWebサービスを爆速で作った こちら、当に素晴らしい記事でした。。。 上記記事を読んだ時、「Nuxt でも同じように爆速で稼働するアプリケーション開発が可能では?」と思い、すぐに手をつけました。 注意点 記事は公開されてから月日が経つにつれ、Nuxt での情報は古いものとなっていくので、記事を確認する際は公開日をしっかり確認していただければと思います。(ただ、キーワードとしては、バージョン関係なくヒントにはなるので、そう言ったものはキャ

    Nuxt でハイパフォーマンスを意識したアプリケーション開発 - Qiita
  • みんなに長く使われるダッシュボードで押さえるべき4つのポイント - Qiita

    ビジネスの重要指標をモニターするために、ダッシュボードを作ったものの、時間の経過と共に、誰にも見られなくなってしまう、といった経験はありませんか? そうなってしまう理由の1つに、そこから得られる情報がビジネスの改善に結びつかない、あるいは特定のアクションに結びつかないため、ダッシュボードの閲覧者にとってあえて見る必要がなくなってしまうことがあります。 そこで、ダッシュボードの閲覧者に役立つ効果的なダッシュボードを作成するうえで、おさえるべき4つのポイントを紹介いたします。 1. モニターすべきは遅行指標でなく先行指標です 「売上」、「閲覧数」、「サインアップ数」などの「後追い指標」をモニターしても、それらは既に起こった「結果」なので、もうすでにとき遅しです。つまり、望む結果を得るために行動を変えることができません。 そこでしっかりとモニターしなくてはいけないのが、「リピート率」、「エンゲー

    みんなに長く使われるダッシュボードで押さえるべき4つのポイント - Qiita
  • ぼくのかんがえたさいきょうの強化学習アルゴリズム(古典強化学習編) - Qiita

    この記事は自作している強化学習フレームワークの解説記事です。 はじめに 今までフレームワークを通じて様々な強化学習アルゴリズムを実装してきました。 今回その知識を生かしてオリジナルなアルゴリズムを考えてみたので記事にまとめてみます。 このアルゴリズムは以下の状況でかなりの精度を誇ります。 マルコフ決定過程なモデル 状態が離散で現実的な数 行動が離散で現実的な数 ※"現実的な数"というのは数に上限があり、その上限がそれほど大きくない場合を指します 基アイデア 基的なアイデアは探索(Exploration)と活用(Exploitation)の分離です。 強化学習では一般的に「探索と活用のトレードオフの問題」1があり、探索を優先すると報酬が少なくなり、活用を優先すると局所解に陥る可能性が高くなる問題があります。 私が過去に記事で取り上げた手法では、どれも探索と活用のバランスをとり学習を進めて

    ぼくのかんがえたさいきょうの強化学習アルゴリズム(古典強化学習編) - Qiita
  • ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する (ESP32) - Qiita

    ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する リモートワークなどで玄関から遠い部屋で作業をしていると、ドアホンのチャイムがちょっと聞こえにくいことがありませんか? これを解決するために、Google HomeやSlack,Discordなどへ通知する方法です。 特徴 グループ登録すれば複数のGoogle Homeに対してブロードキャストすることができます。家の各所にGoogle Homeを設置すれば死角なしです。 Discord,Slackへの通知すれば、ヘッドホンをしながらPCを使っていても安心。 外出先からもチャイムの確認ができます。 チャイムが何日何時何分に鳴ったか、長期間のログになります。 使用可能なドアホン 作例ではドアホンはPanasonicのVL-MV38を使っています。この機種は「A接点出力」という機能がついており、チャイムが鳴った時に、2接

    ドアホンが鳴ったらGoogleHome,Slack,Discordに通知する (ESP32) - Qiita
  • GPT連携アプリ開発時の必須知識、RAGをゼロから解説する。概要&Pythonコード例 - Qiita

    こんにちは。わいけいです。 今回の記事では、生成AI界隈ではかなり浸透している RAG について改めて解説していきます。 「低予算で言語モデルを使ったアプリを開発したい」というときに真っ先に選択肢に上がるRAGですが、私自身もRAGを使ったアプリケーションの実装を業務の中で何度も行ってきました。 今回はその知見をシェア出来れば幸いです。 RAG(Retrieval-Augmented Generation)とは まず、 そもそもRAGとは何ぞや? というところから見ていきましょう。 RAG(Retrieval-Augmented Generation) は自然言語処理(NLP)と特に言語モデルの開発において使用される技術です。 この技術は、大規模な言語モデルが生成するテキストの品質と関連性を向上させるために、外部の情報源からの情報を取得(retrieval)して利用します。 要は、Chat

    GPT連携アプリ開発時の必須知識、RAGをゼロから解説する。概要&Pythonコード例 - Qiita
  • 業務でAWSを利用する時に知っておくべきポイント10選 - Qiita

    2024年1月時点のAWSベストプラクティスに従って作成しました 好評でしたら続編も検討します 1. 環境ごとにアカウントを分離する 番、検証、開発ごとにアカウントを分割しましょう ✕良くない例 ◎良い例 最初にアカウント分割しておかないと、後で分割するのはとても大変です アカウントを分割することで「検証と思って作業したら、実は番だった」のような事故を減らすことができます コストがアカウント単位で集計されるため、環境ごとのコストを簡単に算出することができます AWS Organizationsを使用することで、各環境に応じた権限設定が簡単にでき、ガバナンスを強化することができます AWSアカウントはAWS Control TowerのAccount Factoryを使用することで、クレジットカード情報を都度入力することなく簡単にアカウントの払い出しが可能です また、AWS Contro

    業務でAWSを利用する時に知っておくべきポイント10選 - Qiita
  • Golden テストがCIで実行すると失敗する場合の対策法 - Qiita

    Flutter で便利な Goldenテスト、これをGitHub Actions等のCIで実行すると、失敗してしまうことがあります。 ローカルの環境では成功するのに何故、、、?と頭を悩ましました。 この問題の解決法について解説します。 課題 Goldenテストがローカルの環境では成功するが、 GitHub Actions等のCIで実行すると失敗してしまう。 解決法 Goldenを生成したOSとCIで実行するOSを揃える。 Goldenを生成したPCのOSがMac OSの最新版ならば、 CIの実行環境のOSもMac OSの最新版にする。 解説 CIの失敗はオペレーションシステムによって、生成されるGolden(スクリーンショット)が微妙に異なることが原因で発生します。 こちら、公式で言及されています。 Golden tests may be executed locally on Linux

    Golden テストがCIで実行すると失敗する場合の対策法 - Qiita
  • 机から離れて論文を大量に読む方法(NGK2024S) - Qiita

    これは何? NGK2024Sの発表資料です。 自己紹介 名前: 中西克典 X(Twitter): @n_kats_ 機械学習名古屋研究会主催 NGK発表は2回目 機械学習名古屋研究会 論文読み会 毎月第3木曜(19:00~)オンラインで 次回(2月15日第71回)・・・https://machine-learning.connpass.com/event/308186/ 編 イントロ(研究会の表の目的) 論文を読む習慣付け 知識のアップデート 発展的・実践的な知見の獲得 イントロ(研究会の裏の目的) この世の真理と呼べるものを全て知りたい。 という話を2年前のNGKでした。 おさらい(2年前の話) 読み上げソフトを使うと機械学習の論文が30分で再生できる。 ある分野の概要を把握する目安の論文50には約3日あればよい。 2年前の課題 読み上げられてる文章を目で追いかけないといけない。つら

    机から離れて論文を大量に読む方法(NGK2024S) - Qiita
  • ふりかえりを更に拡張する「ふりかえりカタログ(コミュニティ版)」 - Qiita

    はじめに あなたのふりかえりを更に拡張するふりかえりカタログ(コミュニティ版)を公開いたします! ふりかえりカタログ(コミュニティ版)は、ふりかえりの手法(現在)84個とその特徴を網羅したカタログです。下記画像はイメージです。 Miroにて作成したものをどなたでも利用可能です! 利用はこちら => ふりかえりカタログ(コミュニティ版) 2021年1月にpdf版/speakerdeck版でリリースして以降、なんと約8万viewと、長く多くの現場にご利用いただいています。そちらを、より使いやすく、みんなで編集できる形にしたものが今回のコミュニティ版です。 過去バージョンのDLはコチラ => ふりかえりカタログ(SpeakerDeck版) ふりかえりカタログ(コミュニティ版)とは ふりかえりの様々な手法をまとめたカタログです。 ふりかえりの各手法を「手法名」「手法を使う場面」「手法のイメージ」「

    ふりかえりを更に拡張する「ふりかえりカタログ(コミュニティ版)」 - Qiita
  • GitHub ActionsでSSHを使う - Qiita

    はじめに 現在ベータ版で、来月正式リリースが予定されているGitHub Actions。 v2になってからは、HCLではなくYAMLで書けるようになったり、実行環境のOSを選べるようになったりと機能が充実してきたので、これから使われる機会が増えていくと思います。 このGitHub ActionsをCDに使う場合、SSHが必要になることがあります。 そんなときにはこの記事のことを思い出すと幸せになれるかもしれません。 2020/09/20追記 v2で仕様が変わったので、記事の内容も更新しました。 v2が出て半年以上放置していました。ごめんなさい。 対象者 GitHub上でアプリケーションを開発している 特にウェブアプリケーションの開発でこの記事が役に立つかも GitHub Actionsを使ってデプロイしたい GitHubへのイベント(ブランチへのマージやリリースタグの作成等)をトリガーに

    GitHub ActionsでSSHを使う - Qiita