タグ

akatakunのブックマーク (4,667)

  • 127.0.0.1とlocalhostと0.0.0.0の違い - Qiita

    127.0.0.1はループバックアドレスの一つであり、同時に127.0.0.1に対応する仮想的なネットワーク・インターフェースを表します。 ループバックアドレスは自分自身を表す特別なIPアドレスのことです。 ループバックアドレスは同一ホスト内でしか通信を行いません。 127.0.0.1を表すホスト名のことです。 127.0.0.1とほぼイコールなので当たり前ですが、こちらも同一ホスト内でしか通信を行いません。 何らかの開発用サーバを立ち上げた際に、ブラウザにlocalhost:8080といったアドレスを入力することがあるかと思いますが、それはこのlocalhostです。

    127.0.0.1とlocalhostと0.0.0.0の違い - Qiita
  • Elasticsearchを使う前に先に読んでおくべきドキュメント - Qiita

    はじめに Elasticsearchの運用は難しい。最初から知っておけばよかった・・・というプラクティスをまとめておく。 原則的に6.8系の公式ドキュメントに記載されていることを書いていく。 そして、やっぱりドキュメントを呼んで理解して使うことが大事。 プラクティス 一般的に推奨されること 6.8 7.12 大きな結果セットを返さない Elasticsearchはデータベースではなく検索エンジンなので、上位ドキュメントを取得するのに向いている。全件取得するものではない。 取得する場合はScroll APIを使用すること。 大きなドキュメントを避ける http.max_content_length(HTTPリクエストの最大コンテンツ。デフォルトは100mbで Integer.MAX_VALUEより大きい値に設定すると、100mbにリセットされる。)より大きなドキュメントをインデックス出来ない

    Elasticsearchを使う前に先に読んでおくべきドキュメント - Qiita
  • クリック率を最大化しない推薦システム

    セレンディピティのある推薦、多様性のある推薦、コンテンツ生産者を配慮した推薦など、クリック率の最大化(だけ)を目指さない推薦システムについての紹介です。 連絡先: @joisino_ (Twitter) / https://joisino.net/

    クリック率を最大化しない推薦システム
  • 「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた

    2021.02.16 「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた WebサイトにIDとパスワードを入力するとき、ときどき「私はロボットではありません」にチェックを求められることがあります。 僕はロボットではないので、当然チェックを入れて認証を進めるわけですが……。でもちょっと待ってください。なぜクリックひとつで、人間かロボットかを判断できるんでしょう。 これはきっと、人間ではないなんらかの不正アクセスを防ぐ仕組みのはず。でもチェックを入れるくらい、プログラムを作ってなんやかんやすれば、シュッとできるのでは? 「私はロボットではありません」は、どんな仕組みで人間とロボットを判別しているのか。もっといい方法はないのか。これまでの歴史的経緯も含め、情報セキュリティ大学院大学の大久保隆夫教授に聞きました。 気づかないうちに「人間かロボットか」

    「私はロボットではありません」はワンクリックでなぜ人間を判別できる? 仕組みとその限界を聞いてきた
  • 【ChatGPT】とベクトルデータベースによる企業内データの活用(いわゆるRAG構成) - Qiita

    記事は日オラクルが運営する下記Meetupで発表予定の内容になります。発表までに今後、内容は予告なく変更される可能性があることをあらかじめご了承ください。下記セッションでは、記事の内容以外にデモンストレーションも実施する予定です。 ※セミナー実施済の動画に関しては以下をご参照ください。 はじめに 2022年暮れ、ChatGPTの登場以降、あらゆる企業がDXの在り方を問われはじめ、大規模言語モデルの仕組みをどのように業務に取り入れるかを検討されていると思います。 その検討の一つとして、「GPT(LLM)が学習していない企業内のデータや最新のデータも有効活用すべき」 という点は非常に大きな論点なのではないでしょうか。 ご存じの通り、LLMとはインターネット上に存在するドキュメントデータをクローリングにより大量に収集し、それを学習データとして機械学習にかけたモデルです。 従って、至極当たり

    【ChatGPT】とベクトルデータベースによる企業内データの活用(いわゆるRAG構成) - Qiita
    akatakun
    akatakun 2024/03/19
    ファインチューニング: LLMが知らない知識を追加で学習させ、LLM自体を賢くする, ベクトルストアの併用(RAG構成): LLMが知らない知識をベクトルストアに貯め、合せ技でなんとかする
  • クラス変数とクラスインスタンス変数を理解する - Qiita

    クラス変数とは クラス変数とはクラスで定義する変数である。クラス変数はクラスメソッド内とクラス定義内、またはそのサブクラスがアクセスでき共有される。 定義方法 class A # @@プレフィックスを使用 @@value = 1 def self.value; @@value; end end クラス変数と継承 クラスAが変数@@valueを定義する場合、そのすべてのサブクラスが@@valueを使える。これは継承のように見えるが、実際は違う。どこかのサブクラスがクラス変数@@valueに値を代入すると、クラス変数のプライベートコピーは作成されず、スーパークラスから見える値がすべて変更される。 class A @@value = 1 def self.value @@value end end A.value # 1 class B < A @@value = 2 end A.value #

    クラス変数とクラスインスタンス変数を理解する - Qiita
    akatakun
    akatakun 2024/03/15
    クラス自体もRubyはオブジェクトとして扱うため、@XXXはインスタンス変数であり、小クラスなどからは参照できない。クラス変数は@@XXXで定義できる
  • [Ruby]あなたはメソッドの再定義(alias_method)を理解しているか。 - Qiita

    alias_methodとは alias_methodは、既存のメソッド名に新しいメソッド名を付けて再定義するメソッドのことです。 また、これによって古いメソッドを新しいメソッドの名前で呼び出すことをアラウンドエイリアスと言います。 class String # lengthメソッドは文字列の長さを測定する 'ABC abc'.length #=> 7 # lengthメソッドからreal_lengthメソッドという名前でメソッドを再定義 alias_method :real_length, :length # 元のlengthメソッドをオーバーライド def length real_length > 10 ? 'Long' : 'Short' end # 元のlengthメソッドの動きが可能(アラウンドエイリアス) 'ABC abc'.real_length #=> 7 # オーバーライ

    [Ruby]あなたはメソッドの再定義(alias_method)を理解しているか。 - Qiita
    akatakun
    akatakun 2024/03/15
    alias_methodは呼び出し時点でそのメソッドの処理をコピーした別のメソッドを再定義する。そのため、元のメソッドがオーバライドされても変更されない
  • Elasticsearch Reference [5.3] | Elastic

    Search and analyze your data Elasticsearch is the search and analytics engine that powers the Elastic Stack. Get started Introduction What's new Release notes

    Elasticsearch Reference [5.3] | Elastic
  • Elasticsearchの構成要素とユースケース(実例)

    記事について Elasticsearchを知らない人に向けて Elasticsearchの構成要素とユースケースについて解説します。 記事後半にて、私が実際にプロジェクトで構築したシステムを実例として紹介します。 Elasticsearchの概要・特徴 Javaで書かれている全文検索ソフトウェア 索引型検索を利用 クラスタ構成・シャーディングによって高可用性を実現 REST APIによるアクセスが可能 データはJSON形式 Query DSLというJSON形式の言語で検索が可能 ログ収集・可視化などの様々なエコシステムと連携可能

    Elasticsearchの構成要素とユースケース(実例)
  • Does active job call after_perform when perform raises an error?

    akatakun
    akatakun 2024/02/05
    after_callbackは例外時に実行されない。rescue_fromと併用するのが良さげか
  • Docker-compose exit code is 137 when there is no OOM exception

    akatakun
    akatakun 2024/01/23
    docker inspectのState.OOMKilledがtrueの場合、OOMによってkillされたと分かるため、メモリ増強すれば治るかも?
  • Ruby on Rails 6.0.4 における Active Record の複数 DB の仕組み - Qiita

    今携わっている Rails 6.0 のプロジェクトで複数 DB に移行する際に、すんなりいかず実装を深く追うことになった。 その際に得た Active Record のコネクションハンドラーまわりについてのメモを残そうと思う。 なお、このエントリは Ruby on Rails 6.0.4 について調べたものであり、6.1 の新機能であるシャーディングなどについては対象外なので注意。 Ruby on Rails 6.0 における複数 DB の概要 従来、Ruby on Rails は 5.2 まで複数 DB への接続をサポートしておらず、Octopus や SwitchPoint のような gem を導入する必要があった。 しかし 6.0 から複数 DB サポートが入り、別途 gem をインストールすることなく複数の DB にアクセスできるようになった。 default: &default

    Ruby on Rails 6.0.4 における Active Record の複数 DB の仕組み - Qiita
  • プロンプト設計戦略  |  Google AI for Developers

    フィードバックを送信 プロンプト設計戦略 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 プロンプト設計により、機械学習(ML)制御モデルの出力を初めて利用するユーザーでも、オーバーヘッドを最小限に抑えられます。プロンプトを慎重に作成することで、目的の結果を生成するようにモデルを調整できます。プロンプト設計は、特定のユースケースに合わせて言語モデルを適応させることをテストする効率的な方法です。 言語モデル、特に大規模言語モデル(LLM)は、単語間のパターンと関係を学習するために、膨大なテキストデータでトレーニングされています。テキスト(プロンプト)を受け取った言語モデルは、高度なオートコンプリート ツールのように、次に来ると思われるものを予測できます。したがって、プロンプトを設計する際は、モデルによる次の予測に影響を与える可能性のあるさまざまな要因を考慮し

    プロンプト設計戦略  |  Google AI for Developers
  • なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita

    はじめに 私は、さくらインターネットというクラウドサーバの会社の社長をしていて、よく経営者の方からのメンタリングのリクエストをいただくことがあります。 その中で多くの割合を占めるのが、ITエンジニア(以降、エンジニア)のマネジメントと、エンジニア組織の構築をどのようにすればいいのかというテーマです。 確かに、どんなビジネスをするにしても、単にSaaSやノーコードツールを活用するだけでは足りなくて、自分たちでシステム開発しないといけないケースが増えてきているのは、間違いないなと思います。 外注をしてシステム構築をするケースももちろん多いですが、基幹システムのような使いにくくても自社の社員が我慢すればいいものと違って、自社のお客様向けのシステムだと使いやすくないとお客様が離脱してしまいますし、常にアップデートをし続けて、最良のUI/UXを作ることが業績に直結します。 要は、今のデジタルシステム

    なぜエンジニア組織をうまくマネジメントできないと悩む経営者が多いのか? - Qiita
  • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCode拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

    【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
    akatakun
    akatakun 2023/12/15
    コーディングの基本がよくまとまっていると思う
  • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCode拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

    【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
  • BigQuery で ROW_NUMBER(), RANK() を使うな!

    どういうことか たとえば created_at が最も新しいレコード 1 件だけ取ってきたいとか、成績のよいレコード上位 5 件を取ってきたいといったとき、よくある方法として RANK() や ROW_NUMBER() のような番号付け関数を使う方法が思い浮かぶと思いますが、BigQuery ではこれらの関数ではなく ARRAY_AGG() 集計分析関数を使うことが推奨されています。 先に結論を ARRAY_AGG() を使うことでクエリの計算を最適化でき、スロット使用量(計算量)が少なく済みます。スロット使用量の上限を定めている場合、非効率なクエリがいくつも実行されるとキューイングされる可能性があるため理由がなければ ARRAY_AGG() を使いましょう。 ドキュメントによれば ORDER BY 句が各 GROUP BY 句のトップレコードを除くすべてを捨てることができるため効率がいい

    BigQuery で ROW_NUMBER(), RANK() を使うな!
    akatakun
    akatakun 2023/12/13
    group byした上でarray_agg x order by x limitを使ったほうが、row_numberより早い段階でレコードを切り捨てられるため、効率的
  • Slack Appの作り方を丁寧に残す【BotとEvent APIの設定編】

    とある事情でSlack Appを久しぶりに作ろうとしたら、APIやトークンの仕様が変わっていて混乱したため、自分のための備忘録を兼ねて工程を残すことにしました。 最終的に作るAppの実装は別記事の内容になりますが、今回はその前段階として、主にSlack Appに関する設定をSlackのサイト上で行う流れについて残しておきます。この部分はAppの内容にあまり依存しないため、少しでも多くの方に役立てば幸いです。 ※スクリーンショット多いので重かったらごめんなさい Botの作成(主にメッセージ送信などを行う)と、Event APIの設定(トリガーとなるメッセージ受信などを行う)の2つに分けて説明します。 1. Botの作成 1.1 Appの作成 ブラウザでSlackワークスペースにサインインした状態で、自分が作成したSlack Appを見ることができるページ(https://api.slack.

    Slack Appの作り方を丁寧に残す【BotとEvent APIの設定編】
  • 飲み会を1,000回やって学んだ、「最高の飲み会」のつくりかた(長い)|udon

    (この記事は全文無料で公開しています) これは何人生を30年、会社員を10年やってきたが、飽き性であまりずっと続いてることがない。10年続いてることがあるとすれば相方との関係、書くこと、そして飲み会である。稿では、20歳以後一貫して取り組んでいる飲み会についての1個人の知見を極めて真面目に記したい。ここ10年でだいたい週3-4くらいはコンスタントに飲み会をして、そのうち体感6-7割は自分で企画しているので1,000回以上は飲み会を主催してると思う。その経験をもとに学んだことを書きたい。 なお、査読をお願いした相方には「長すぎ。強いられないと最後まで読む人はいない」と愛の鞭(?)をもらった14,500字ですが、必要な際に参照され、どこかの誰かには染み渡る箇所があればいい(ダシみたいですね)と願い、そのまま出します。 わいわい飲み会とは稿では、あくまで個人が娯楽目的に開催する会について記し

    飲み会を1,000回やって学んだ、「最高の飲み会」のつくりかた(長い)|udon
    akatakun
    akatakun 2023/11/20
    よく言語化してまとめたなー
  • Rails6でProtocol Buffersを使用する - Qiita

    こんにちは。 SmartHR アドベントカレンダーの4日目を担当しますエンジニアの@kurobaraです。 SmartHRでは、プラットフォーム化を促進するプラスアプリの開発をしています。 プラスアプリについては、弊社社長によるSmartHR Next 2018やCTO 芹澤の中長期戦略などに詳しく書かれています。 ところで、前日が社長だと次に渡されるバトンを担当する側としても緊張しますね>< 前置き 皆さん、型は大好きですか? 僕も好きです。 特にサーバサイドになんらかの言語でAPIフロントエンドTypeScriptで・・・ そして、サーバサイドとフロントエンドのI/Fとして、JSONを使用する 割とよくあるパターンかつ比較的デファクトだと思います 比較的、最近だとサーバサイドにGraphQLを使用しているという話もチラホラ聞くことが多くなってきましたが、今回の話とはちょっと異なるの

    Rails6でProtocol Buffersを使用する - Qiita