タグ

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

  • ChatGPT APIとFaissを使って長い文章から質問応答する仕組みを作ってみる - Qiita

    こんにちは!逆瀬川( https://twitter.com/gyakuse )です! 今日はさいきんよく質問されるGPT-3の事実ベースのQAについて書いていこうと思います。 したいこと 長めの文章ファイルを対象に質問を投げかけ、適切に回答してくれる仕組みを作る うれしみ 今回の手法を用いると、ファクトに基づいた回答ができるので、以下のような分野に応用が可能です。 QAデータをもっている企業における質問応答チャットボットの構築 企業/事業ごとの専門知識をもったチャットボットの構築 教科書等を読み込ませた家庭教師的なチャットボットの構築 論文等の各種文献の読解補佐チャットボットの構築 AITuberやAIキャラクターに長期記憶を持たせる BingGPTなどのようなシステムの構築 どのように実現するか考える 大量の文章ファイルや長文を対象にQAする難しさについて 単純な質問-応答は以下のよう

    ChatGPT APIとFaissを使って長い文章から質問応答する仕組みを作ってみる - Qiita
  • SSR の知識ゼロから始める Angular Universal - Qiita

    はじめに これは Angular Advent Calendar 2018 4日目の記事です。 こんにちは (。・ω・。) AngularCGM サービスを運用・構築したり、ng-japan の slackemoji を追加することを生業としている者です。(コミュニケーションの場は格的にspectrum へ移行することが決定したため emoji 業者としての活動は終わりになりそうです;;) 自分は今年の中旬くらいから担当している Angular プロジェクトを SSR 化していたのですが、実践的な流れを網羅する情報が存在せず非常に苦労しました。 今回はその経験を生かして Angular の Universal 化に関する実践的なまとめを作成することにします。 この記事は SSR の知識 0 の方でも読み進められるように大きく分けて #SSR を導入した結果 #SSR について

    SSR の知識ゼロから始める Angular Universal - Qiita
    oasis440
    oasis440 2021/11/25
  • graphql-rubyでページネーションがサクッと実装できたのでGemが何をやっているのか覗いてみた - Qiita

    GraphQLRailsアプリケーションで使う場合、graphql-rubyという強力なGemがあります。 https://github.com/rmosolgo/graphql-ruby GraphQLはページネーションを実現するためにconnectionsと呼ばれる仕組みを持っています。 connectionsでは、取得件数や取得を開始する位置を指定することができます。 詳細は公式サイトを参照してください。 https://facebook.github.io/relay/graphql/connections.htm graphql-rubyを使ってページネーションを実装してみたら、ほぼコードを書くことなく実装できて感動したのでgraphql-rubyが何をしているかコードを覗いてみることにしました。 環境 動かした環境は下記です。 Ruby: 2.6.5 Rails: 6.0.0

    graphql-rubyでページネーションがサクッと実装できたのでGemが何をやっているのか覗いてみた - Qiita
  • TypeScriptの型入門 - Qiita

    TypeScriptは型がついたJavaScriptです。プログラミングにおいて型があることの恩恵は大きく、近頃AltJSの代表格として人気を集めています。TypeScriptはもともと型のないJavaScriptで書かれるコードに型を付けることを使命としていることもあり、たまに変な型が追加されます。例えばTypeScript2.8で追加されたconditional typesはずいぶん注目を集めました。これによってTypeScriptの型システムの表現力が広がりましたが、一方でTypeScriptを書いている人の中には、よく分からない型が増えてついて行けない、一部の人たちが長くてよく分からない型定義を書いて喜んでいるだけと思っている方もいるのではないでしょうか。実際、健全にJavaScriptを書いていれば、自分でそのような変な型を書くことはあまり多くありません。 そこで、この記事ではT

    TypeScriptの型入門 - Qiita
  • [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita

    はじめに 「解説記事を幾つも読んだけど OpenID Connect を理解できた気がしない」― この文書は、そういう悩みを抱えたエンジニアの方々に向けた OpenID Connect 解説文書です。概念的・抽象的な話を避け、具体例を用いて OpenID Connect を解説していこうと思います。 この文書では、JWS (RFC 7515)、JWE (RFC 7516)、JWK (RFC 7517)、JWT (RFC 7519)、ID トークンの説明をおこないます。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 『ID トークン』を発行するための仕様 一般の方々に対しては「OpenID Connect は認証の仕様である」という説明で良いと思います。一方、技術的な理解を渇望しているエンジニアの方々に対

    [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita
  • [SPA]脆弱性を潰して認証情報を扱う[アクセストークン] - Qiita

    最近、新規事業で完全0-1のプロダクト開発をした際に Rails/Vue.jsのSPAでいかにセキュアに認証情報を扱うかについて調べた結果を書いていきます 「それおかしくない?」とか「脆弱性つぶせてなくない?」とかあればコメントで指摘していただけるととても助かります どう実装するか 実装の意図や詳細については下の方で解説します Rails側 認証情報をsecure属性とhttponly属性をつけたcookieフロントエンドに返す domain属性はAPIのドメインのみにする(特に設定変えなければデフォルトでそうなってるはず) 独自ヘッダの有無のチェックを認証処理に組みこむ gemrack-corsを導入する originsをSPAのURLのみに制限する credentialsをtrueにしておく Vue.js側 withCredentialsオプションをtrueに設定する(axiosやx

    [SPA]脆弱性を潰して認証情報を扱う[アクセストークン] - Qiita
  • RailsとClean Architectureに関する考察 - Qiita

    Railsのアプリケーションの設計について考える機会があったのでその過程で考えたこととをまとめておきます。 (2022/03/22) 追記 この記事の発展版、Layered Architectureの勘所という記事を書きました。 Railsをやってた頃はActiveRecordの便利さについ流されてしまいましたが、今やるなら ActiveRecordのモデルとEntityの分離する Entityはimmutableにする というあたりをもっと徹底するのが良いと思います。 背景 Railsをメインで使用している企業で新規のWebアプリケーションを0ベースで作ることになった。 その企業はRailsでかなり大規模なアプリを運用しており、Rails自体の知見は十分。 一方で伝統的なRailsでの開発手法に大規模開発の限界も感じており、この機会に設計のPrcaticeを模索したいという要望もあります

    RailsとClean Architectureに関する考察 - Qiita
  • 要件定義~システム設計ができる人材になれる記事 - Qiita

    はじめに 株式会社デジサク がお送りするプログラミング記事、 今回は要件定義・システム設計について扱っていこうと思います。 プログラミングを勉強していて、こんな事を感じた経験はないでしょうか。 「勉強してもプロダクトが作れない」 「そもそも開発ってどうやるの?」 「要件定義ってなに?」 その悩みを解決するために、まずは開発の全体感を理解しましょう。 下図『ソフトウェア開発プロセス』をご覧ください いつも勉強しているプログラミングは 『実装』 の部分に該当します。 つまり、プログラミングの実力を発揮する前に4つも壁が存在するのです。 そのため、記事では実装(プログラミング)を開始する前に必要となる、 『企画~設計』 について順を追って説明して行きます。 特に、エンジニアが理解しておくべき 『要件定義』『設計』 にフォーカスします。 なお、開発全体において実装(プログラミング)に使用する時間

    要件定義~システム設計ができる人材になれる記事 - Qiita
  • Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita

    この記事では、Web アプリケーションにおけるデータ取得(データフェッチング)やレンダリングに関する各手法について比較・整理することを目的として、特に最近注目度が高まっている Next.js における SSG(静的サイト生成)や ISR(インクリメンタル静的再生成)、それ以外の手法(SSR、CSR 等)を具体的なテーマとしてお話しします。 Twitter もやっているのでよかったらフォローおねがいします! @_thesugar_ 記事内の解説は正確性を期すよう注意を払っておりますが、誤っている部分などがございましたらコメント欄や Twitter 等でご指摘ください はじめに Web アプリケーションを作るとき、レスポンスの速さをはじめとしたパフォーマンスの問題は開発者にとって大きな関心事となります。 たとえば、最近では Google が Core Web Vitals という Web のパ

    Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita
  • Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita

    Next.js by Vercel - The React Framework 画像は Next.js サイコー!っていう顔です。 Webフロントエンドエンジニアであれば、「Reactのフレームワーク」と聞いて真っ先に思いつくであろうNext.js。僕は小規模の趣味開発から中規模の業務まで、4年程度Next.jsを使い続けてきました。触りはじめの当時はバージョン4で、”SSR(Server-side Rendering)を提供するReact製フレームワーク”だったものが、執筆時時点の最新バージョン(10.0.1)ではガラッと異なるフレームワークへと進化しています。 この4年間は実務で利用するだけでなく、新しいものや廃止された機能、RFC止まりになった機能など、Next.jsに関する情報を追いかけており、ある程度の知見をためつつも、Next.js並びに開発元のVercelが目指す方向性を何と

    Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita
  • おまえはReact hooksを知っているか - Qiita

    よく来たな。おれは毎日すごい量のコードを書いているが、誰にも読ませる気はない。しかし今回はReact hooks という真の男のためのAPIを発見したのでいてもたってもいられずQIITAに記事を書くことにした。 (この記事の文体は、逆噴射聡一郎先生のパロディです。) お前は毎日VUEだとかREACTだとかPWAだとかBBBFFだとかそういう流行に常に振り回されながらフロントエンドというメキシコを生きている。フロントエンドで生まれてくる技術のほとんどは、マッチの火より儚くすぐ消えてなくなるものだ。しかし、流行に乗り遅れるのを恐れているおまえはそういった技術にとびつき、チュートリアルをよみ、すべてを理解したと息巻いてプロダクトに導入し・・・やがてそれの流行がおわり・・・メンテをするのが辛くなり・・・しぬ。フロントエンド界隈ではへなちょこな技術がもてはやされ、しばらく経ってそれが全く使い物になら

    おまえはReact hooksを知っているか - Qiita
    oasis440
    oasis440 2019/09/18
    “逆噴射聡一郎”
  • bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう - Qiita

    bundle install時に--path vendor/bundleを付ける必要性は当にあるのか、もう一度よく考えてみようRubyRailsBundler TL; DR(最初に結論) bundle installをする場合は--path vendor/bundleを付けてプロジェクトごとにgemを管理しろ、という意見をよく見かける。 しかし、pathを指定しないと問題が起きる可能性があるのは、かなり特殊な条件下に限られる(100人いたら100人全員が遭遇するような問題ではない)。 よって、--path vendor/bundleのオプションは、付けたい人が付ければよいだけで、開発者全員に強制するようなルールではない、と筆者は考える。 はじめに bundle installコマンドを実行するとき、Ruby界に大きく分けて2つの流派があります。それは「--path vendor/bund

    bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう - Qiita
  • Reduxが分からない人のためにReduxを概念から説明してみる - Qiita

    TL;DR 要点だけ知りたい方は、最後の方だけ読めば大丈夫です。 背景:Reduxが全然わからないのでちゃんと勉強した 開発現場にReduxを導入しておきながら、チーム全員が「全然分からない。俺達は雰囲気でReduxをやっている」状態だったので、腰入れてドキュメント読みました。基を押さえたら一気に見通しが良くなったので、説明します。色々なサイトやドキュメントは明らかに冗長な説明多いので、極限までエッセンシャルを絞って説明することで、ゼロ知識からでもある程度、理解できるレベルの説明に落とし込むことに挑戦しました。うちの開発チームで知見として残すために作成したものですが、需要がありそうかなと思ったので、公開します。需要がなければすみませんでした。おかしな点があれば、まさかりお待ちしております。 今回は、公式ドキュメントのBasics辺りの話まで。 Reduxの主な登場人物 Reducer

    Reduxが分からない人のためにReduxを概念から説明してみる - Qiita
  • ファントムリードは起こらないのにSEIRIALIZABLEでない、それがポスグレのREPEATABLE READ - Qiita

    ファントムリードは起こらないのにSEIRIALIZABLEでない、それがポスグレのREPEATABLE READPostgreSQLトランザクション トランザクション分離レベル、苦手意識を拭えない方はわりといらっしゃるんじゃないかと思います。なにしろ私がそうですからね! だから題の前にまずはおさらいから入りましょう。 トランザクション SQLのすべて成功するか最初からなかったことになるかしかないように管理された一連の操作のことをトランザクションと呼びます。 Javaのsynchronizedブロックのようなものをイメージしてしまうこともあるかもしれませんが、それは全然違いまして、トランザクションの進行中にもほかのセッションによってDB内のデータは刻々と書き換えられていきます。最初からなかったことにできる、それだけがトランザクションの特徴ですから。 トランザクション分離 しかし進行中にどん

    ファントムリードは起こらないのにSEIRIALIZABLEでない、それがポスグレのREPEATABLE READ - Qiita
  • Amazon Linux2とAmazon Linuxの違いについて(メモ) - Qiita

    Amazon Linux2が発表されたので、今までのAmazonLinuxとの違いについてメモしてみます。 基的にはRHEL7ベースに変わっているので、CentOS7の知識が役に立ちます。 検証にはHyper-V上にインストールしたAmazonLinux2(amzn2-hyperv-2017.12.0.20171212.2-x86_64.xfs.gpt)を使用しました。 initからsystemdに変わった。 今まで/etc/rc3.d/xxxとか作っていたり、chkconfigとかは使えない。 ホスト名の設定方法が違う Amazon Linux

    Amazon Linux2とAmazon Linuxの違いについて(メモ) - Qiita
  • 2019年版 最先端のフロントエンド開発者になるために学ぶべきこと - Qiita

    こちらの記事は、『Learn to become a modern Frontend Developer in 2019』の和訳になります。 投稿は転載であり、記事はこちらになります。 はじめに 新年になって以前書いた記事を少し簡潔にして理解しやすいように書き直してみました。この文章に以前私が書いた文章と違ったことが書いてあったり、少し矛盾する内容が見つかってもあまり気にする必要はありません。 昨年私が書いた記事はGitHubで公開しています。 Web開発は絶えず変化する分野です - 今日私たちがWebサイトを構築する方法は、2~3年前のやり方とは全く違ってきています。利用できるツールが沢山あり、新しいツールも毎日出てくるので、ウェブ開発者はいつもどのツールを使えばよいのか迷ってしまいます。 私は、ウェブ開発に係るフロントエンド、バックエンド、または運用を学びたいと思う人を対象にしたツ

    2019年版 最先端のフロントエンド開発者になるために学ぶべきこと - Qiita
  • 実装クリーンアーキテクチャ

    最近何かと騒がしいクリーンアーキテクチャですが、丁度プロダクトで採用したところだったので折角なので情報共有ということで Qiita の初記事にしてみようと思います。 こちらの記事は GUI や CUI のアプリケーションを対象にしています。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/?preview_id=1263&preview_nonce=542ba7b70f&_thumbnail_id=1293&preview=true その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 より実践的なコード(WEBアプリケーション): https://github.com/nrslib/itddd/tree/master/CleanLike YouTube での解説(WEBアプリケーション):

    実装クリーンアーキテクチャ
  • Linuxコマンド(Bash)でバックグラウンド実行する方法のまとめメモ - Qiita

    bashコマンドのバックグランド実行方法について、まとまっている記事が見つからなかったのでまとめメモ 通常のバックグラウンド実行 &でバックグランド実行 参考:http://kazmax.zpp.jp/linux_beginner/process_background.html もっとも基的なバックグランド実行、コマンドの後ろに&をつけて実行する。 ターミナルの切断が切れたりしてログアウトした場合に、 この方法で実行したプロセスはkillされてしまうので注意する。 途切れたら困る処理の場合はtmuxのセッション上で実行、 もしくは後述するnohupコマンドでのバックグラウンド実行推奨。 # バックグラウンド実行 $ sleep 5 & [1] 21871 # プロセス確認 $ ps $! # ps 21871 PID TTY STAT TIME COMMAND 21871 pts/0 S

    Linuxコマンド(Bash)でバックグラウンド実行する方法のまとめメモ - Qiita
  • 数時間で完全理解!わりとゴツいKubernetesハンズオン!! - Qiita

    社内でKubernetesハンズオンをやってみたのでおすそ分け。 参加者6人からバンバン出てくる質問に答えながらやって、所要時間4時間ほどでした。 SpeakerDeckにも資料を上げています。 https://speakerdeck.com/ktam1219/yaruze-kuberneteshanzuon (2019/07/11追記) 続編書きました! -> 今度はあんまりゴツくない!?「わりとゴツいKubernetesハンズオン」そのあとに ハンズオンの目標 Kubernetesとお友達になる イメージを掴む 触ってみる(ローカル・EKS・ちょっとGKE) 構築・運用ができるような気分になる 巷にあふれるKubernetesの記事・スライドが理解できるようになる EKSがメインになっているのは、会社の業務でAWSを使うことが多いからです。 純粋にKubernetesを勉強したいだけな

    数時間で完全理解!わりとゴツいKubernetesハンズオン!! - Qiita
  • Rails4/5/6に関する重大なSecurityFix / 2019年3月13日 01:49 - Qiita

    Rails 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1, and 6.0.0.beta3 have been released! 2019年3月13日 01:49に、Ruby on Rails開発チームからRails現行全バージョンに対してのマイナーアップデートがありました。重大なセキュリティ修正です。すでに目を通した方も多いと思いますが、まだ知らない方もいるようなので、こちらにてまとめます。 今回は現行全バージョンに対して2つの重大な脆弱性(important vulnerability)が発見されており、その改修が行われている模様です。開発チームから早急にupgradeあるいはworkaround(応急処置)をするようにと通告されています。 読むべき人 RoRを業務で使用している開発者 掲題の件について初耳だった人 英語がニガテなROR開発者 1.File

    Rails4/5/6に関する重大なSecurityFix / 2019年3月13日 01:49 - Qiita