This article is a Private article. Only a writer and users who know the URL can access it. Please change open range to public in publish setting if you want to share this article with other users. TypeScriptの最新で網羅的なBNFがない気がしたので作っています。まだ全く途中です。 慣例 ECMAScript 2020の仕様に追記する形で表記しています。 構文はBNF風の記法に、「非終端記号のパラメーター」「特定位置での改行禁止」「否定先読み」などいくつかの拡張をしたものが使われています。詳しくはNotational Conventionsを参照してください。 ES2020にある規格に適合
前回から、goyaccを利用して自作プログラミング言語の作り方を紹介しています。前回はYaccの使い方を紹介するため「最小計算言語」を作ってみました。今回は複数行のプログラムに対応させ、変数も使えるように改良してみましょう。 今回作ったプログラミング言語「最小計算言語改」を実行したところ さて、前回は雰囲気を味わって貰うため、プログラミング言語が動く仕組みなど、すっ飛ばして、動くものを作ってみました。ここで改めて、プログラミング言語が動く仕組みを確認してみましょう。 プログラミング言語が動くまでの手順は以下の通りです。もちろん、プログラミング言語の種類によって、それぞれの手順に差異や処理はありますが、だいたいこんな手順で動きます。 ・(1)ソースコードを読む ・(2)字句解析 ・(3)構文解析 ・(4)コード生成 ・(5)コードを実行 図にすると以下のようになります。 プログラミング言語が
新型コロナに加えて雨の日が多く在宅時間が増えています。そんな時にじっくりと一つのプロジェクトに取り組んでみるのはどうでしょう。そんな時にオススメなのは『自作プログラミング言語の開発』です。今回、手軽に自作言語が作れるツールgoyaccを利用した自作言語の作り方を紹介します。 今回作った自作言語を実行しているところ プログラミング言語開発は積み木と似ている? 筆者は日本語プログラミング言語「なでしこ」の開発をもう15年以上開発しており、プログラミング言語の開発は、ライフワークと化しています。それでも、時々、思いつきで新しい言語を作ってみたり、いつもと違う環境で作ってみたりしています。 研究熱心なのかと言うと、そういう訳ではありません。そもそも、プログラミング言語の開発はとても面白いのです。最近も、Go言語で「なでしこ」を再実装するというプロジェクトに取り組んでいたのですが、一通りの文法を実装
僕は統合失調症の趣味人ニートです。プログラミングを趣味としてやっています。 競技プログラミングの勉強は大変でした。atcoderでレッドコーダーになるまでの一連の勉強の方法について書こうと思います。 実は競技プログラミングを始める前までは、統合失調症ではありませんでした。単なるニートです。 僕は生産的な趣味をネットで探し、DIYは体力を使うから嫌だし、料理は太るから嫌だという理由で、競プロにたどり着いたのです。 最初はgithubで公開されていた練習問題のリストを反復して行いました。 そしてコンテストの日になって、実際にやってみたら3問しか解けず、結果はひどいものでした。 しかし問題自体は、練習問題さえできるレベルであれば解けるものだったのです。 そこで僕は「応用力が足りない」のだと仮説を立て、応用力のためには見たことのない問題に取り組む必要があると考えました。 インターネット上で探すこと
学生のころ、IT土方がどうとかで業界がだいぶまずい場所だと文系の大学生の自分は思い、とても興味のある分野だったけどやめた。 それから5年がたち、今の職業を続けていてもと感じて、ずっと抱えていた興味に素直になろうと思い半年独学し、SES系の会社に転職した。 DBすらよくわかっていない状態だったけど、めちゃくちゃ楽しくて毎日充実しているし、3年たったけどまだ楽しい。 会社で学んだことを活かして個人開発したらまたそれで収入が増えてスキルが上がり、それを会社で活かせば褒めてもらえてより難しい課題に挑め、また更にスキルアップしてより難しい個人開発に挑める。 だからこそ新卒の時入社で来て居たらなぁと思うし、最近では自分と同じようにもっと早く業界に入っていればという中途の人にも出会った。 「他人の言葉に流されるなんてその程度」 そういう意見もあるかもしれないけど、ネット上での世論が世の中に影響を与えるよ
2月になると「確定申告の季節ですね~」と言うエンジニアがいるのだ。 ぼくも「そうですねー」と話をあわせるのだが 「確定申告」ってなんなのだあああああああ~~~~? 実はぜんぜん知らないのだああああああああああああああ ・・・って内心は思ってるのだ。 そんなことではいけないと思い、確定申告について調べてみたのだ! 確定申告とは? 一言でいうと「私は今年これだけ稼ぎました!」と税務署に報告することを指すらしいのだ。 うん、それは知ってるのだ。 中学生のときに「国民は納税する義務があるよ」と教えられたのだ。 でも、具体的に いつ? どれくらい稼いだら? どうやって申告する? 税金の仕組みってどうなってるの? など詳しいことは教えられていない気がするのだ。 そこらへんを掘り下げていくのだ。 その前に:会社員は? 会社員の場合は、源泉徴収(げんせんちょうしゅう)というやつのおかげで、確定申告をしなく
トップ>サポート>洗濯機>よくあるご質問(Q&A情報) 洗濯機 よくあるご質問(Q&A情報) MENU 製品別サポートトップ 取扱説明書・寸法図 よくあるご質問 チャットで質問 故障診断ナビ 別売オプション品 動画(ビジュアルガイド) お手入れ クラウドサービスについて 修理申し込み 修理概算料金 カタログダウンロード 動画ライブラリー すすぎ・脱水などを個別に選んで運転するにはどうしたらよいですか? すすぎ・脱水などを選んで個別の運転をする時は、以下の操作を行います。 個別に設定したい内容 操作① 操作② 操作③ 操作④ 脱水のみ行う 電源「入」操作で本体の電源を入れます。 「セレクト」ボタンを1回押します。(「脱水」ランプのみ点灯) 「スタート」ボタンを押します。 - 排水のみ行う 電源「入」操作で本体の電源を入れます。 「セレクト」ボタンを1回押します。(「脱水」ランプのみ点灯) ふ
水槽の数が増えてくると、バケツリレーでの給水はなかなか辛いもの…。 そこで便利なのが蛇口にホースを取り付けての直接給水。時間のかかる給水作業を大幅に効率化することができます。 しかし、私のブリードハウスは自在水栓と呼ばれる特殊形状の蛇口だった為、通常の蛇口ニップルを買っても上手く取り付かずに失敗してしまいました。 そこで今回は失敗経験を踏まえて、自在水栓にホースをつける方法を紹介したいと思います。 私が確認している限りでは2種類ありますので、双方の特徴やメリット・デメリット、比較等をしながら解説していきますね。 自在水栓とは 簡単な前置きになりますが、自在水栓とは横方向に長い形の蛇口。 一般的な蛇口よりも径が細く、排水部分の軸が短いです。 通常の蛇口と違い、角度を変えずに水平移動ができる特徴がありますね。 主にシンクやキッチンなどで使われるタイプの蛇口です。 自在水栓の蛇口ニップルで買って
初めに 勾配ブースティングの仕組みをできるだけ分かりやすく説明します。 機械学習についてざっくりとした知識がある前提で書いています。 訂正箇所がありましたらご指摘くださいお願いします。 目次 導入 ブースティングについて 勾配ブースティングについて 勾配ブースティングは何に使われている? 仕組み 1 初期化をする 2 何を繰り返すのか 3 探索方向を決めよう 4 ステップサイズを決めよう 5 関数(学習器)を更新しよう 6 最終的な出力 おわりに 参考・引用文献 導入 ブースティングについて 機械学習におけるアンサンブル学習のひとつ (アンサンブル学習とは、単独では精度の高くない学習器(弱学習器)を多数作り、その組み合わせで精度の高い学習器をつくる手法群) 一般的なブースティング(例えばAdaBoost)では、予測精度の悪い分類器(弱学習器)を使い予測を行い間違えた箇所の「重み」を大きくし
深層ニューラル ネットワークの量子化 デジタル ハードウェアでは、数値はバイナリ ワードで格納されます。バイナリ ワードとは固定長の連続ビット (1 と 0) です。この 1 と 0 の連続をハードウェア コンポーネントやソフトウェア関数が解釈する方法はデータ型によって定義されます。数値は、スケーリングされた整数 (通常は固定小数点と呼ばれる) または浮動小数点データ型として表現されます。 事前学習済みのニューラル ネットワークと Deep Learning Toolbox™ を使用して学習させたニューラル ネットワークのほとんどで、単精度浮動小数点データ型が使用されます。小規模な学習済みニューラル ネットワークであっても大量のメモリが必要であり、浮動小数点演算を実行可能なハードウェアが必要です。このような制限が、低消費電力のマイクロコントローラーや FPGA への深層学習機能の展開を妨げ
はじめに はじめまして、ニフティ新卒2年目の菅谷です。 社内勉強会や普段の業務でコンテナ型仮想化に触れる機会があり、dockerコンテナを利用していて詰まったsystemctlの利用についてお話したいと思います。 この記事の対象者 対象者 linux初心者linuxの仮想環境を用意したいinitプロセスに依存するコマンドを実行したい 前提 dockerコンテナでは、initプロセスに依存せずにサービスの起動や停止等が行えます。 また、コンテナ立ち上げ時や利用時にサービスが停止すると、コンテナも停止するため、systemdを利用せずコンテナのログだけでサービスの状態を確認することが可能です。 しかし、今回の記事では「linuxサーバ(コンテナ)内で手を動かしたい」という方が対象となっているため、linuxサーバ内でsystemdを利用することを前提として話を進めていきます。 docker d
Next.js 14 の Server Actions の stable リリースに発表は大きな反響を呼びました。 特に <button> の formAction 属性内で直接 SQL クエリを実行するコードは多くの人に衝撃を与えていました。"use server;" の部分を PHP やバイナリに置き換えると行った多くのミームも生まれました。 function Bookmark({ slug }) { return ( <button formAction={async () => { "use server"; await sql`INSERT INTO Bookmarks (slug) VALUES (${slug})`; }} > <BookmarkIcon> </button> ) } X 上での反応を見ると、このクライントから直接 SQL クエリを実行するコードは見た目の印象
Preferred Networksが現在開発中の『Omega Crafter(オメガクラフター)』。定番のクラフトサバイバルゲームの要素に、プログラム要素を盛り込んだ意欲作だ。そして面白いのが、本作を手がけているのはゲームメーカーではなく、AIベンチャーのPreferred Networksであるということ。 Preferred Networksといえば、日本では数少ない機械学習系のベンチャー企業。ディープラーニングを武器にしており、日本各地から優秀な人材が集まっており、さまざまな企業から多額の出資を受けるなど、新進気鋭のベンチャー企業である。そんなPreferred Networksが、コテコテのクラフトサバイバルゲームを作っているというのだから、同社を知っている人は驚いたのではないか。さらに面白いのは、この作品がディープラーニングを駆使しているかというと、そうでもないのである。 なぜ
はじめに JWT(JSON Web Token)は、アプリケーションの認証方法として最も一般的に活用されている。ところが、JWTは完璧な認証方法というわけではなく、時と場合によっては思わぬセキュリティ攻撃を受ける可能性が考慮される。 しかし、JWTを正しく使うことでこれらの欠点を未然に回避できる。そこで、今回の記事ではJWTをWEB開発で適切に実装する上での重要なポイントを3つ紹介する。 最も適切なアルゴリズムを選択する JSON Web Tokenは、Header、Payload、Signatureの3つの部分から構成される。ヘッダーには、トークンの種類と署名アルゴリズムに関する情報が含まれる。 署名のアルゴリズムには種類が数多く存在し、それぞれに特徴がある。例えば、以下のようなものが挙げられる。 HMAC + SHA256(HS256)アルゴリズム:対称型アルゴリズムと呼ばれる。共有し
dockerの環境が必要になったのでAWSへローンチする過程の記録 別途WSL2上にDockerは組み立てたのですが、グローバルIP付与したかったのでAWS上に展開しました。 1)AWSでAmazonLinux2023のインスタンス起動 2)パッケージの更新激しそうなので、yum updateはしておいた。 3)以下実行してパッケージのインストールと権限変更。 何故か権限がうまく変更できなかったので少し詰まった。 sudo dnf install -y docker sudo systemctl enable --now docker sudo systemctl status docker sudo usermod -aG docker ec2-user idコマンドでグループが追加されてなかったら、リログすれば反映されます。 dockerのコマンドが使えてることを確認 docker i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く