タグ

2021年6月22日のブックマーク (25件)

  • リバーシプログラムの作り方 サンプル

    序章 はじめに リバーシのルール ソースコードの記述について 第1章 盤面の処理 1.1 定数と関数の定義 1.2 盤面の生成、初期化 1.3 石を返す処理 1.4 返せる石数を調べる処理 1.5 盤面をコピー、反転させる処理 1.6 その他の盤面処理 1.7 盤面の操作と表示 第2章 ゲーム木と探索 2.1 コンピュータ思考の関数定義 2.2 各関数の実装 2.3 ゲーム木 2.4 MinMax法とNegaMax法 2.5 αβ法 第3章 盤面の評価 3.1 評価関数の定義 3.2 パターンによる局面評価 3.3 評価クラスの構造 3.4 評価クラスの生成とファイルの読み書き 3.5 評価関数の実装 3.6 評価パラメータの更新 3.7 中盤の探索 3.8 自己対局による学習 第4章 性能改善 4.1 石数取得の高速化 4.2 着手の高速化 4.3 候補手リストの導入 4.4 終盤探索の

    fuyu77
    fuyu77 2021/06/22
  • WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】 - Qiita

    ブラウザからアセンブリ(機械語)を実行できるようにする技術 高速化手段、あるいはJavaScriptの処理系にできないことをするといった目的で提案された 2015年6月、Mozilla、GoogleMicrosoftAppleが標準フォーマットとして開発することに合意した WebAssemblyが生まれた経緯 JavaScriptに実行速度が求められる時代になった 1. なぜJavaScriptは遅いか? インタプリタ言語で 動的型付けをしている → 解析に時間がかかってしまう よって、コンパイラ言語と比べると遅い😭 当初、JavascriptHTMLに飾り付けをする程度だった さっと書いて、すぐに動く、それが売りだった しかし最近では・・・ 複雑なアニメーション WebGLなどのグラフィック処理 計算速度の遅いモバイル端末 などにも用途が広がり、実行速度が求められるようになってき

    WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】 - Qiita
    fuyu77
    fuyu77 2021/06/22
  • WebAssembly JavaScript API の使用 - WebAssembly | MDN

    これまでに Emscripten などのツールを使用して他の言語からモジュールをコンパイルしたり、自分自身のコードを読み込んでして実行したりしました。次のステップは他の WebAssembly JavaScript API の使い方について学ぶことです。この記事では知る必要があることを説明します。

    WebAssembly JavaScript API の使用 - WebAssembly | MDN
    fuyu77
    fuyu77 2021/06/22
  • 開発者が知っておきたいSQLの実行モデル~アプリからデータベースへのアクセスを高速化するには?

    データベースのデータ・モデルは解決したい問題に合わせて使い分けることができ、昨今ではドキュメントやグラフなどのリレーショナル以外のモデルも注目されています。また、トランザクション系が生成した大量のデータをリアルタイムで分析するというような、性質の異なるワークロードを扱うことも求められています。これら性質の異なるデータ・モデルやワークロードを扱うにはどのような実装が必要でしょうか。この連載では、開発者の皆様がシステム・アーキテクチャやアプリケーション・コードをより洗練させるのに役立つデータベース・マネジメント・システム(DBMS)の基を振り返り、実装に合った技術の組み合わせを解説します。 第1回はデータベースにアクセスするAPIで最も広く使われているSQLという言語の実行モデルを再確認します。なぜこの言語がリレーショナル・モデルのみならず他のデータ・モデルに対しての操作にも使われるようにな

    開発者が知っておきたいSQLの実行モデル~アプリからデータベースへのアクセスを高速化するには?
    fuyu77
    fuyu77 2021/06/22
  • GraphQL - Wikipedia

    GraphQL(グラフQL)はAPI向けに作られたクエリ言語およびランタイムである[2]。 ベンダーフリーな GraphQL財団の支援を受け、開発が進められている[3]。 ウェブAPIの開発に、RESTやその他のWebサービスと比較して、効率的で堅牢、かつ柔軟なアプローチを提供する。GraphQLでは、クライアントが必要なデータの構造を定義することができ、サーバーからは定義したのと同じ構造のデータが返される。したがって、必要以上に大きなデータが返されるのを防ぐことができクエリの効率が良い。また、柔軟性と豊かな表現が可能なクエリ言語は複雑さを加えるため、シンプルなAPIには適さない可能性もある[4][5][6]。GraphQLは、型システム、クエリ言語、実行セマンティクス、静的な検証、型チェックから構成される。 GraphQLは、データの問い合わせ (query)、書き換え (mutatio

    GraphQL - Wikipedia
  • Web API初心者と学ぶGraphQL - Qiita

    DMM.com Advent Calendar 2018 20日目の記事です。 DMM GAMES プラットフォーム開発部 PFシステム部所属の@SiragumoHuinです。 ゲーム自体を作るゲームエンジニアではなく、https://games.dmm.comの各画面やソーシャルアプリケーションプロバイダー(SAP)さんが使うAPIを提供しているWebグループに所属してるサーバサイドエンジニアです。 (記事を書いた当時)日で24歳になりましたが、Webグループでは一番の若造です(新卒2年目) tl;dr; GraphQL自体はフレームワークや特定の技術を指すのではない GraphQLはRESTの置き換えではない ただし、RESTっぽく実装できないわけでもない スキーマファースト開発ができる マイクロサービスとも相性が良い 事例はまだ少ない ライブラリの充実度や知見もこれから Grap

    Web API初心者と学ぶGraphQL - Qiita
  • Introduction to GraphQL

    Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.

    Introduction to GraphQL
  • Ruby on Railsでバッチ書く時どうするか問題

    別に問題じゃなさそうなことに問題って名前をつけたのは公式で用意してくれているバッチインターフェースが二つあって、いつも迷っちゃうからだ。 $ rails foo:bar:baz のようにコマンドを作れるのがrake taskです。 これは普通にrails db:migrateやrails g scaffold Fooのようにいろいろなところで開発者が使うからおなじみのコマンドです。 もう一つのインターフェースが、rails runnerと呼ばれるやつで、こちらは引数に自由にruby(しかもrailsの資産をつかった)のコードを書くことができる。 普通にバッチを書くならどっちでも問題ない 基的にどっちを使っても問題はありません。しかしrails runnerを作るときはインターフェースを自分で考える必要があります。以前言及した記事としては app/batches 配下にバッチフレームワーク

    fuyu77
    fuyu77 2021/06/22
  • SendGridとAmazon SESを比較してみる - Qiita

    これはSendGrid Advent Calendar 2016の14日めの記事です。 昨日は@kikutaro_さんのSalesforceからSendGridを利用してメール送信する!でした。 SendGridエバンジェリストの@nakansukeです。今日はタイトルの通りSendGridとAmazon SESの比較をしてみたいと思います。比較と言っても価格等の公開情報や、送信前の制限解除などすぐに見つかる情報は置いておいて、サービス選定時におさえておいたほうがよい内容に絞って取り上げます。 細かな情報について、SESBlack Beltのスライドを見るのが一番早いと思います。 SendGridは、ブログ、FAQ、ドキュメントあたりをご確認ください。 SendGridエバだからといってSESをディスろうとかそういう意図は全くありませんが、もし誤っている部分があったらコメント等いただける

    SendGridとAmazon SESを比較してみる - Qiita
  • OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog

    こんにちは、SmartHRフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some

    OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog
  • Swaggerを使ったAPIドキュメントの作成と、バックエンドとフロントエンド間の連携

    こんにちは。LINE Growth Technology福岡開発室でサーバーサイドエンジニアをしている中村です。 この記事では担当していたプロジェクトで実施した、Swaggerを使ったAPIドキュメントの作成と、BE(バックエンド)とFE(フロントエンド)間の連携について紹介します。 プロジェクトの説明 はじめに、今回LINE Growth Technology福岡開発室(以下「GT」)がシステムの設計開発を担当した、LINE公式アカウント審査ツールのプロジェクトについて説明します。 LINE公式アカウント審査ツールとは、LINE公式アカウントで認証済アカウントが申請された際に、申請内容が適切であるか審査するシステムです。 このシステムは、LINE公式アカウントが利用されている各国に存在する審査パートというチーム(以下「審査チーム」)によって利用され、日以外の国家も含め、一日あたり平均約

    Swaggerを使ったAPIドキュメントの作成と、バックエンドとフロントエンド間の連携
    fuyu77
    fuyu77 2021/06/22
  • 移行のメリットはコストを上回るか? JavaScriptのTypeScript化で気をつけるべき5つのポイント

    技術とノウハウを武器に、膨大かつ複雑なデータの「検索」「分析」「可視化」といった課題を解決するフォルシア株式会社が「FORCIA Meetup #2」を開催しました。2回目の今回のテーマは「2020年度にエンジニアが取り組んだこと」。東川翔氏は、マイクロサービスをJavaScriptからTypeScriptに移行したときの気づきについて発表をしました。 JavaScriptからTypeScriptへの移行プロジェクトが始動 東川翔氏(以下、東川):「JavaScriptからTypeScriptの移行のプロジェクトに関して気を付けた点」について話していきます。 まず自己紹介です。東川と申します。新卒の2年目で新規旅行アプリの開発をしています。興味のある言語はTypeScriptやPostgreSQLです。最近はクライアントアプリケーションの構築にも興味があって、Next.jsに関してアドベン

    移行のメリットはコストを上回るか? JavaScriptのTypeScript化で気をつけるべき5つのポイント
  • Svelte • The magical disappearing UI framework

    compiled Svelte shifts as much work as possible out of the browser and into your build step. No more manual optimisations — just faster, more efficient apps. compact Write breathtakingly concise components using languages you already know — HTML, CSS and JavaScript. Oh, and your application bundles will be tiny as well. complete Built-in scoped styling, state management, motion primitives, form bi

    Svelte • The magical disappearing UI framework
    fuyu77
    fuyu77 2021/06/22
  • noteのフロントエンドApp分割

    noteでの大きくなりすぎたNuxt.jsのアプリケーションを分割する取り組みについて

    noteのフロントエンドApp分割
    fuyu77
    fuyu77 2021/06/22
  • 社内SQL研修のために作った資料を公開します | 株式会社AI Shift

    こんにちは、Development Teamの三宅です。 先日、社内(AI事業部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基的には大学のデータベース講義で

    社内SQL研修のために作った資料を公開します | 株式会社AI Shift
    fuyu77
    fuyu77 2021/06/22
  • インフラ周りの総合支援サービス

    Elastic Infraは、AWS(Amazon Web Services)やGCP(Google Cloud Platform)などのIaaSを利用したサーバの構築・移行・運用、及び支援を行うサービスを提供しております。 安定運用の実現に加え、常に新技術にも目を向けさらなる効率化に取り組んでおります。基盤周りの最適化はもちろん、時にはアプリケーションコードにも足を踏み入れてのご提案を行うこともあります。 豊富な経験と技術力を持ったSREが貴社をチームでサポートし、お客様に安心して開発に注力して頂ける環境をご提供いたします。

    インフラ周りの総合支援サービス
    fuyu77
    fuyu77 2021/06/22
  • Android版Googleアプリ「繰り返し停止しています」問題発生

    [設定]→[アプリ情報]でGoogleを選び、「無効にする」を選べばとりあえずエラーは表示されなくなる。 なお、WebのGoogle検索およびiOS版Googleアプリは問題なく稼働する。 現在この件についてGoogleに問い合わせ中だ。 【UPDATE】午後4時、Googleから「Android の一部の利用者において、Google アプリの不具合が起きているという報告を受けています。現在、調査を行っています」という声明文を受け取った。 【UPDATE2】正式なものではないが、比較的まともな対処法はこちら。 【UPDATE3(午後6時20分)】Googleがコミュニティページで対処法を説明した。「問題が発生している場合、以下の手順をお試しください」としているが、これによりGoogleアプリの設定が初期化されるので、設定を変更している場合は対策後、再度設定を見直す必要がある。 Androi

    Android版Googleアプリ「繰り返し停止しています」問題発生
    fuyu77
    fuyu77 2021/06/22
  • SMTPの使用方法 - ドキュメント | SendGrid

  • SendGridを使って短時間に大量のメールを送るための方法 | SendGridブログ

    はじめに SMTPリレーサービスを利用しようと思ったら、送信通数制限が厳しくて期待した量のメールを送れなかった、なんて経験はないでしょうか?SendGridは大量送信を得意としたサービスで、送信通数は無制限に近いレベルの性能を備えています。今回は、大量にメールを送るための方法にフォーカスしてご紹介します。 Web API SMTP マーケティングキャンペーン機能 Web API RESTfulなAPIで、ボディ部にJSON形式でパラメータを指定することでメール送信が行なえます。1リクエストあたり最大1,000宛先まで指定できます。複雑なSMTPの仕様を気にする必要がなく、SendGridのさまざまなメール送信機能をフル活用できるため、アプリケーションからメール送信する場合はWeb APIの利用を推奨します。 以下は、1リクエストで複数の宛先に同じ内容のメールを個別送信するリクエストの例です

    SendGridを使って短時間に大量のメールを送るための方法 | SendGridブログ
  • 3分でわかる!SMTPサービス講座 | SendGridブログ

    この記事は SMTP Service Crash Course の抄訳です。 メールは、使わない日はないと言えるほど身近なものです。でも、届くことが当たり前になっていて、どんなサービスを利用しているのかを意識されている方は少ないのではないでしょうか? この記事では、簡単なQ&A形式でSMTPサービスについてご説明します。 1. SMTPサービスとは? SMTPサービスの基的な機能は、メールをあるサーバもしくはクライアントからインターネットを経由して他のサーバもしくはクライアントに送信することです。SMTPのより詳細な説明は下記のブログやサイトを参照してください。 SMTPリレーサービス【入門】(ブログ記事、日語) How E-mail Works(外部サイト、英語) SMTP Inside Out(外部サイト、英語) 2. SMTPサービスプロバイダとして、SendGridはどのように

    3分でわかる!SMTPサービス講座 | SendGridブログ
  • SMTPでメール送信する - ドキュメント | SendGrid

    SMTPとは? SMTP(simple mail transfer protocol)はあるサーバから他のサーバにメールを送信するための簡単な方法です。SendGridはユーザのメールクライアントもしくはサーバの代わりにメールを配信するSMTPサービスを提供します。 SendGridのSMTP APIは、メッセージに挿入するX-SMTPAPIヘッダを通じて、送信するメールを開発者がカスタマイズできるようにする機能です。 X-SMTPAPIヘッダはSendGridにそのメールの扱いを指示するためのものなので、最終的に送信されるメッセージからは削除されます。 Telnetでテストメールを送信する 2024年4月以降、Domain AuthenticationもしくはSingle Sender Verificationの設定が必須になり、送信元に指定するドメインまたはメールアドレスで設定を完了さ

  • Web APIかSMTPリレーか: どうやってメールを送ればいいの? | SendGridブログ

    この記事は Web API or SMTP Relay: How Should You Send Your Email? の抄訳です。 SendGrid経由でメールを送信したり、SendGridとシステムをインテグレートするときは、Web APIやSMTPリレーを用います。これら2つの手法の違いは、荷物を配達する方法の違いになぞらえることができます。荷物は郵送することもできますし、届け先まで自分で持っていくこともできますね。配達の方法は違えど、結果は同じ。荷物が届くわけです。 SendGridのWeb APIではHTTP経由でメールを送信します。SendGridにメールの送信リクエストを投げて、HTTP応答コード200が返ってきたら、そのメッセージはSendGridに受理されたということです。一方、400や500などが返ってきたら、何か異常が起きてSendGrid側でリクエストを処理できな

    Web APIかSMTPリレーか: どうやってメールを送ればいいの? | SendGridブログ
  • トランザクションメールを送信する - ドキュメント | SendGrid

    2024年4月以降、Domain AuthenticationもしくはSingle Sender Verificationの設定が必須になり、送信元に指定するドメインまたはメールアドレスで設定を完了させていない場合はメールを送信できません。詳しくはこちらをご覧ください。 トランザクションメールを送信するには、Web API(メール送信用エンドポイント)またはSMTPを利用します。 Web APIとSMTPの違い どちらもメール送信できる点においては同じですが、利便性や制限事項が異なります。主な違いについてまとめます。 Web API(メール送信用エンドポイント)SMTP

  • メール送信チュートリアル【まとめ】 | SendGridブログ

    SendGridの最も基的な機能「メール送信」について、これまでいくつかの方法をご紹介してきましたが、ここで一旦整理してみましょう。 3つの送信方法 SendGridでは以下の3種類の送信方法を提供しており、送信方法に応じてトランザクションメールとマーケティングメールに分類しています。 トランザクションメールを送信する 「SMTP」または「Web API」のいずれかをご利用いただけます。 チュートリアルの「トランザクションメールを送信する」で、 Web APIとSMTPの違い curlでWeb APIをコールする方法 telnetを使ってSMTPで送信する方法 などについて触れています。基的な内容が網羅されているので、実装を始める前にぜひ一度チェックしてみてください。 なお、Web APIはメール送信以外のこともできます。サプレッションリストの管理や設定変更など、ほぼ全ての機能をAPI

    メール送信チュートリアル【まとめ】 | SendGridブログ
  • どうしてHTML5が廃止されたのか | フューチャー技術ブログ

    フロントエンド連載の5記事目です。 HTML5が2021年の1月に廃止されました。 Webエンジニアとしてバリバリ活躍されてる方やエグゼクティブテックリードのような肩書きを持つ方にとっては「何をいまさら」という話題かと思います。 しかしながら、今年も新人さん入ってきてくださったので、プログラミングを学習中にHTML5という文字列に悩まされないように、そもそもHTML5とは何かや、廃止された経緯をまとめてみます。 HTML5とはWebサイトを作るときに必ず書くことになるHTML。Webサイトのコンテンツ、つまり中身や構造を作るために使うマークアップ言語です。 そして、その最近版として10年ほど前に登場したHTML5。当時は Webニュースなどで盛んに特集が組まれていましたが、このHTML5がついこないだ、2021年1月28日に廃止されました。 広義のHTML5 / 狭義のHTML5HTML5

    どうしてHTML5が廃止されたのか | フューチャー技術ブログ
    fuyu77
    fuyu77 2021/06/22