タグ

2020年12月16日のブックマーク (9件)

  • 君の名は - Qiita

    立花「ごめん、間違ってサーバ OSごと落としちゃったから、データセンター行って電源入れてくるわ」 宮水「はぁ? なんでそんなことになったの?」 立花「Tomcatを落とそうと思って、間違ってshutdownを実行しちゃった」 宮水「なんでTomcatを落とそうと思ってshutdown実行することになるの?」 立花「それが・・・Tomcatを落とすshellの名前が・・・」 宮水「まさか・・・」 大事なshell。忘れたくないshell。忘れちゃダメなshell。何だ、何だ、何だ? 名前は...! 君の 名前は--- shutdown.sh でも、確かなことがある。私たちは絶対、見ればすぐに分かる。 見ればすぐわかるように、わかりやすいshellの名前を付けたら、間違ってOSのshutdownコマンドを実行してしまった話。 うっかり他のコマンドやシェルを実行してしまわないように、名前はsto

    君の名は - Qiita
    igrep
    igrep 2020/12/16
    コメントより: "わかりやすい名称をつけるのも第一歩だと思いますが、重要な操作を行うシェルは適切な実行権限を設定した方が良いと思います" それな!
  • GitHub - jnbooth/bitwise-enum: Bitwise operations on bounded enumerations.

  • Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

    Simple, powerful, beautiful. Next-gen notes & docs. Learn more

    Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
  • Computing/Truffle言語の実装例KinokoMLをつくった - Sine Lite Dies

    この記事は、言語実装 Advent Calendar 2020の15日目の記事だ。 言語実装フレームワークTruffleを使って、ML風言語のKinokoMLを作り始め、動作するようになったので紹介する。 GraalとTruffle TruffleはJava言語で書かれた自己最適化ASTインタプリタを実装するためのフレームワークである。 普通に書いたASTインタプリタは非常に遅いわけだが、TruffleベースのASTインタプリタを書いて、GraalというJITコンパイラと組み合わせると高速に実行できる。 Truffleについては過去の言語実装Advent Calendarに説明が出ているのでそちらも読んでみてほしい。 たいていの場合は、中間言語にコンパイルしないASTインタプリタの方が実装・読解しやすいはずだ(実行をデバッガで追えるし)。 言語を実装するときに言語機能と実行性能を同時に気に

  • アフィン型をPrologで実装してみた - Qiita

    この記事は言語実装 Advent Calendar 2020の16日目の記事です。 Prologに慣れていない人のためにPrologでの単相の型システムを示し、線形型システムであるSystem-Fo(Fポップ)およびアフィン型システムSystem-Fa(Fアフィン)を実装例を示します。 アフィン型システムというとRustのオーナーシップの型システムが近いのですが、Rustのような型システムの質的部分を取り出して実装したものがアフィン型システムです。難解な型システムの数式は嫌がらせのように感じるかもしれませんが、Prologを使えば実際に動かせるのでより理解しやすいものになっているはずです。 1. 単相型システムとlet多相型システム まずは、Prologで単純な型推論を作ってみます: % simple.pl :- op(500,yfx,$),op(600,xfy,:),op(600,xf

    アフィン型をPrologで実装してみた - Qiita
    igrep
    igrep 2020/12/16
    "線形型はリソースの削除を自動的にしてくれないので自前で削除しなければなりませんが、アフィン型は自前削除しなくても自動的に削除してくれるように変更すればよい"
  • Rustのコンパイルエラーを爆発させる技術 - Qiita

    こんにちは。コンパイルが一発で成功しないminaminaoです。 突然ですが、皆さんはコンパイルエラー爆発をご存知でしょうか? コンパイラは、私達プログラマーにコードの間違いを指摘し修正を促してくれる良き相棒です。 しかし、特定の条件下でとんでもなく大量のエラーメッセージを出力することがあります。 そのような、コードをコンパイルしたらエラーがべらぼうに出力されてしまう現象のことを、コンパイルエラー爆発と呼ぶことがあります。 コンパイルエラー爆発の遊び 昔から一部プログラマーの間で、コンパイルエラー爆発を使った遊びが行われてきました。 2014年には、C++のコンパイルエラー爆発コンテスト、なんてのも開かれています。 The Grand C++ Error Explosion Competition 2014 このコンテストは、短いサイズで大量のエラーメッセージを出すソースコードを作ることを

    Rustのコンパイルエラーを爆発させる技術 - Qiita
    igrep
    igrep 2020/12/16
    面白い上にちゃんとフィードバックを送れていて素晴らしい
  • ユニクロ、すき家、無印がなぜかこだわるコロナの「トンデモ対策」

    DOL特別レポート 内外の政治や経済、産業、社会問題に及ぶ幅広いテーマを斬新な視点で分析する、取材レポートおよび識者・専門家による特別寄稿。 バックナンバー一覧 限定商品に客が殺到して“超3密”状態を作り出したユニクロ、業界団体からも疑問の声が上がる手指の“消毒”方法を続けるすき家、代替品からアルコール消毒に切り替えない良品計画…。新型コロナウイルスの国内新規感染者数が再拡大する中、誰もが知る小売り企業や外企業が執心する、効果が疑わしいコロナ対策を徹底的に検証した。(ダイヤモンド編集部 岡田 悟) 店内に散らばるガラス、響く怒声… 想定外の客に入店制限しなかったユニクロ 東京都内の新型コロナウイルス新規感染者数は11月19日、過去最多の534人となった。11月に入って国内の1日の新規感染者数はこちらも過去最多を更新し、冬に向けてさらに広がるのではないか、との不安が広がっている。

    ユニクロ、すき家、無印がなぜかこだわるコロナの「トンデモ対策」
  • 自作DBMS Advent Calendar 2020 - Adventar

    DBMS (や DBMS っぽいもの)を自作している人々が自分の実装を自慢し合ったり苦しさを共有したりするアドベントカレンダー Disk-Oriented, In-Memory, KVS, RDBMS, OLTP, OLAP, HTAP なんでもアリ。 ストレージエンジンだけでもよし、実行エンジンだけでもよし、既存の DBMS の上に何かのっけて分散 DBMS にしたとかでもよし。

    自作DBMS Advent Calendar 2020 - Adventar
    igrep
    igrep 2020/12/16
    へぇ、こんなのあったのか。すごい
  • 2で割ることと3で割ること - Qiita

    この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

    2で割ることと3で割ること - Qiita