北川博之著「データベースシステム(オーム社)」を参考に,データベースシステムに関する知識をまとめます。
sshを使ってリモートのサーバー上で開発を行っているとします。このとき、基本的にはほとんど全てのこと(コンパイルや機械学習など計算を伴うものや、ファイル操作など)はsshで入った先のリモート上(ターミナル、あるいはVS CodeならRemote SSH拡張機能)で行えばいいのですが、ファイルの一覧・リネーム(移動)などはlsやmvを手打ちするよりも視覚的にわかりやすい手元のファイルマネージャーでやりたいという需要があります。 そこで使われるのがrclone・sshfsなどのリモートのディレクトリをマウントしてくれるソフトウェアです。なおsshfsは開発終了になってしまったようなので現在はrcloneを使うのがいいと思います。rcloneのsshは独自の実装になっていてsshのconfigに書いてある内容を改めてrclone configの対話シェルで打ち込まなきゃいけないのが大変微妙(一方
『片付けパパの最強メソッド』の著者・大村信夫氏が旬なトピックでゲストと対談するシリーズ。第20回目は『ネガティブフィードバック』の著者・難波猛氏が登壇。ネガティブフィードバックを必要とする場面や、「言いにくいこと」を相手に伝えるポイントについて語られました。 『ネガティブフィードバック』の著者・難波猛氏が登壇 難波猛氏(以下、難波):今回は、こういった貴重な機会にお呼びいただきまして、ありがとうございます。たぶん、前回大村さんとご一緒したのは1年半くらい前ですよね。 大村信夫氏(以下、大村):そうなんですよね。 難波:前回は「目標達成」とか「習慣化」に関してお声がけいただきましたが、今日は「耳に痛いことをどうやって伝えていくか」みたいなテーマです。事前にアンケートでいろいろとコメントをいただいていましたので、その中身や会場のみなさんも含めて、チャットなどでインタラクティブに進めて行ければと
PHP の use 文では、クラス名や関数名、定数、名前空間などのエイリアスを設定できます。 <?php use App\Foo; use App\Bar as ABar; $foo = new Foo(); $bar = new ABar(); https://www.php.net/manual/ja/language.namespaces.importing.php この use 文は指定したシンボルにエイリアスを設定する、言い方を変えると名前空間をインポートするもので、オートロードでクラス定義 PHP ファイルを読み込むものではありません。*1 例えば、上記コードの場合、use 文の時点で App\Foo や App\Bar に対するオートロードは動作しません。 この動きを確認してみます。 use 文のみを実行 use 文でオートロードが動作するかは下記のようなコードで簡単に確かめ
こんにちは! ももやまです! 今回は離散数学(情報数学)ってどんなことするの? 何の役にたつの? というのを少しまとめてみました。わかりやすく書いたので厳密な定義では説明できてません…… 1.離散数学って何? 前提科目は? 高校時代、数学の様々な科目を履修したはずです。二次関数、図形と方程式、三角関数、指数関数、対数関数、微積、理系の人なら複素数平面などなど……。 でも離散数学という名前だけではどんなことをするのか全然わかりませんよね。 ということで、まずは離散数学とはどんな数学なのかを見てみましょう。 微分積分学の極限に関係しない数学。すなわち〈連続の数学〉に対して離散的な構造を扱う数学。計算可能性の理論,符号理論,オートマトンの理論,計算量の理論,証明論,組合せ論などの幅広い分野が含まれる。 有限でかつ離散的な,非計量の分野を対象とする数学。集合論,整数論,グラフ理論,組合せ論などの分
JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v
こんにちは、ももやまです。 "関係" というのは、日常生活にもなじみのある概念ですが、離散数学で出てくる関係である "二項関係" について習うと、「なんやねんこれ」と思う人も多いと、思います。 そこで今回は、離散数学の世界で出てくる二項関係について、分かりやすく復習をしていきましょう。 1. 二項関係のいろは (1) 二項関係とは何か 日常生活に出てくる "関係" には様々なものがありますが、その中の1つに "人間関係" がありますね。 その人間関係を細分化すると、"友達関係" や "恋愛関係" など様々なあります。 例えば、恋愛関係に出てくる "関係"は、「ある2人が付き合っているときに成立する関係」と考えることができます。 [関係の具体的な例] 翔くんと祐希さんは付き合っている → 翔くんと祐希さんに対しては、関係が成立している 怜音くんと凛さんは付き合っていない → 翔くんと祐希さん
とても便利。 なのだけれど、これは floor や ceil が単なる関数だからできる話。 オブジェクト/クラスのメソッドからも似たようなことできないかな、 と言うのが本題。 from Object 同じことをしてもうまくいかない。 // 元々こんなクラスがあったとして class Calculator { constructor(initial) { this.value = initial; } add(x) { this.value += x; } sub(x) { this.value -= x; } get() { return this.value; } } // 各メソッドを関数として扱ってしまいたいが... const { add, get } = new Calculator(1); add(2); // this が違う! console.log(get()); //
はじめに こんにちは。スペースマーケットでWebエンジニアしてます、新卒のdumbled0reです。 4月に入社してから早2ヶ月経って、入社式が昨日のように感じています。時の流れは早い。 日頃、ブラウザ操作する時はPythonのライブラリであるSeleniumを使用していましたが、vscodeにあるPlaywrightの拡張機能を使用すれば非エンジニアの方でも簡単にブラウザ操作用のコードを書けたので紹介します。 Playwrightとは PlaywrightとはMicrosoftが開発したオープンソースのE2Eテスト自動化フレームワークです。 Chromium、Firefox、WebKitなどの主要なブラウザで対応しており、1つのコードで複数のブラウザ上で動作確認も行えます。 環境 node 20.9.0 playwright 1.44.0 拡張機能のインストール 今回使用するVScode
最近、分散データベースとかNewSQLとかサーバレスなデータベースとか色々聞きますよね。 でも、専門ではない人たちにとって、「何が違うの?」「自分たちに必要なDBはどれなの?」という点が分かりづらいと思います。 私も良く聞かれます。 AuroraはNewSQLですか? NewSQLってサーバレスなんですか? スケールできないDBとか聞きますけど、リードレプリカ増やせますよね? などなど。この辺に基本的なところから答えられるように、順を追って解説していきましょう。 「コンピュートとストレージは別であれ」 と神が言うと、コンピュートとストレージは分離された。 と言うのは冗談ですが、まずはここからスタートしましょう。 クラウド以前のデータベースを使っていた人にはお馴染みのように、それまでデータベースは大きな1つの箱でした。 過去に私は下図でデータベース(厳密にはRDBMS)のコンポーネントを解説
target – ラップするオブジェクトです。関数含め何でもOKです。 handler – プロキシ設定: 操作をインターセプトするメソッドである “トラップ” をもつオブジェクトです。例: get トラップは target のプロパティの読み取り用、set トラップは、target へのプロパティ書き込み用、など。 proxy の操作では、handler に対応するトラップがある場合はそれが実行されます。それ以外の場合は、操作は target で実行されます。 最初の例として、トラップなしでプロキシを作ってみましょう。: let target = {}; let proxy = new Proxy(target, {}); // 空のハンドラ proxy.test = 5; // プロキシへの書き込み (1) alert(target.test); // 5, プロパティが target
対象読者 RemixがNext.jsなどとはどんなところが違うのか知りたいJavaScriptエンジニア WebブラウザとNode.jsという異なるランタイムをそれぞれキャッチアップするのが辛くなってきたエンジニア 前提環境 筆者の検証環境は以下の通りです。 macOS Monterey 12.5.1 Remix 1.7.1 Webフロントエンド技術の広がり Webブラウザ上で動くアプリケーション周辺のエンジニアリング分野は、JavaScriptの進化とともにサーバーサイドの責務から分離され、「Webフロントエンド」という名前で呼ばれることが多くなりました。この分野は、Webブラウザをランタイムとしてリッチなアプリケーションを効率良く開発し、ユーザーに良い体験を与えることを主な目的としていると、筆者は認識しています。 ここで着目したいのが、このWebフロントエンド分野においては「Webブラ
こんにちは、@kaa_a_zu です。今日(11/23)の日本時間早朝に React Router の制作者である @Ryan氏 と @Michael が着想した Remix V1.0 が正式リリースされました🎉 RemixがWebの世界に及ぼす影響は大きいと思っており、実際のコードやドキュメントを見ながら既存のフレームワークと何が異なっているのかを中心に書いた紹介記事です。(正直、魂が震えています) より具体的な使い方はドキュメントを見て、手を動かしていただくのが良いかと思います。また、既に国内でも使ってみた系の記事がいくつかあるようです。 Remixの機能には様々なものがありますが、当記事では筆者がより注目しているものについて書いていきます。Remixに興味があるけど、あまり追えていないという方に読んでいただけると嬉しいです。 ※この記事はGatsbyやNext.jsよりもRemix
全文検索エンジンも、事前に検索対象のデータを調べてこのような索引を作っておくことで、高速な検索を実現しています。 インターネット検索の例 たとえばインターネット検索の場合、まず各サイトからデータを収集して、その中から索引に載せる単語を選んで索引を作ります。索引のデータは下の図の右側のような表になっています。各単語と、それがどのサイトのどこにあったのかを記録しておく形です。 検索の時は、この索引データを調べます。例えば利用者が「理解」という言葉で検索したら、索引の「理解」のところを調べます。そうすると「サイトAの8文字目と18文字目、サイトGの……」と出現場所がわかるので、すぐに結果を返せます。 なお、この図では索引の単語の並び方が適当ですが、実際には本と同じように「あいうえお順」などに並べておいて、すぐに単語を見つけられるようにしてあります。 索引にない単語 この仕組みの場合、索引にある単
aspidaとTypeScriptフルスタック開発の知識があることを前提として書かれたプロ向けのフレームワーク紹介記事です。 丁寧な文章を書く余裕が筆者にないため、記事で概要を把握しリポジトリのサンプルコードを読んで理解してください。 3年かかってようやくv1.0リリース Bunのv1.0リリースで盛り上がってますね。frourioも先月ひっそりとv1.0をリリースしました。 広報の頻度が少ないですが、売り上げの8割以上をfrourioで稼いでいるので全力でドッグフーディングしてきました。 来年度も弊社が受注する公共サービスは全てfrourioで開発することになります。 公共機関向けのサービス開発でVercelやCloudflareのイケイケクラウドを使えることはほぼなくて、AWSでEC2+S3+CloudFrontの構成がようやく普及してきたような状況です。 Railsの強いエンジニア達
この記事は WHITEPLUS Advent Calendar 2020 - Qiita 21日目になります。 こんにちは。株式会社ホワイトプラス、エンジニアの杉山です。 ホワイトプラスではリネットの フロントエンドからサーバーサイドまで広く担当しています。 リネットではReact + Redux + TypeScriptを用いてフロントエンドの開発を行っております。 私自身プログラミング言語としてはTypeScriptを最も好んでおり、TypeScriptのもたらす補完機能がもっぱらの好物です。 さて、サーバーサイドとフロントエンドの通信にはRESTful APIが使用されることが多いかと思います。 フロントエンドにて特定のデータを新たに表示する際、エンジニアはサーバーにはなんのAPIが定義されているのか、APIからはどんなデータが帰ってくるのかを都度確認し実装する必要があります。 そん
const { data: user } = useAspidaSWR(apiClient.users);
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く