並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 313件

新着順 人気順

LISPの検索結果1 - 40 件 / 313件

  • オブジェクト指向宗教史

    OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

      オブジェクト指向宗教史
    • Ubuntu 22.04 LTS サーバ構築手順書

      0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 22.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 クライアントマシン側で生成した公開鍵を ~/.ssh/authorized_k

        Ubuntu 22.04 LTS サーバ構築手順書
      • 関数型プログラミングと型システムのメンタルモデル

        Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 実際のプロダクト開発ではどうすればいいのか? というケースは以下のスライドを参照してください。 (本スライドは、こちらのプロダクト開発の経験をベースに基礎を再整理したものになります) https://speakerdeck.com/naoya/typescript-niyoru-graphql-batukuendokai-fa-75b3dab7-90a8-4169-a4dc-d1e7410b9dbd

          関数型プログラミングと型システムのメンタルモデル
        • 熟練が必要なUIについて、それがよくない理由と、UIの慣性について

          久しぶりに記事を書く。最近マルス端末のUIについてツイートがあった。 この件に関して、UIについてやUXに対して日々やってきている人間は「ダメなUI」という認識の人が多いように思う。一方で、システムの開発者にとってはこれは、その認識でない人間が多いようだ。なので、この辺を私なりに意見を書いておこうと思う。 まぁ、これはいつもなのだが、書いていることが散らかってる。基本的に音声入力のメモなので、読みにくいかもしれないが読んでくれ参考になれば幸いだ。 熟練が必要なUIは基本的によくない まず、基本的に熟練が必要なUIはそもそも良くないって話をしていく。順番に話していこう、まず、熟練が必要なUIが支持される理由を考え、それに対して、批判していき、なぜ熟練が必要なUIはダメかを語ってみよう。 熟練が必要なUIが支持される理由 その前に、こういった熟練のUIが支持される理由についてかいておこう。それ

            熟練が必要なUIについて、それがよくない理由と、UIの慣性について
          • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由

            「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 #17 動的型付け言語と大規模開発 テーマは「動的型付け言語と大規模開発」 まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞き

              「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由
            • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

              オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
              • UUIDv7 in 32 languages

                UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                  UUIDv7 in 32 languages
                • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

                  最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

                    「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
                  • 巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方

                    大きな問題も分割すればなんとかなる まつもとゆきひろ氏:次のことわざにいきましょうね。4番目は、これもことわざじゃないと言われちゃうんですが、「分割統治」という言葉です。英語だと「Divide and Conquer」。「分割して征服せよ」という感じです。大きな問題もね、分割すればなんとかなるというやつですね。 (スライドを示して)これは最近見た漫画です。巨大なタスクが存在して、圧倒されそうな気持ちになった時には、タスクを取り上げて細かく分解すると、細かく分解されたタスクは無視しやすいので、タスクは片づかなくても気分は楽になるという漫画なんですけども(笑)、実際、そういうところもあるんですよね。 非常に巨大なことをしろと言われると大変なんだけど、手に負える範囲に分割して1つ1つ話をしていくと問題を解決できるというのは、どこにおいても応用可能な原則だと思います。 クイックソートは一応現時点で

                      巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方
                    • あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記

                      この記事はScala Advent Calendar 2023の11日目です. 最近, 趣味でScala 3のコードをだいぶ書いていて, マクロの使い心地のよさに感心しました. 理論的な背景も含めて, 産業界で多く使われているプログラミング言語の中では筆者の知る限りぶっちぎりに優れたマクロを備えています. 他の言語にも見習ってほしいですね. たぶん見習おうとすると処理系を作り直す羽目になりますが. この記事ではScala 3のマクロのすごいところを例を使って紹介します. マクロの実践的な例 準備 実践的な例: NamedArray – 名前でアクセスできる配列 NamedArrayのマクロ実装 記述が明瞭 メタレベルのプログラムの扱い クォートとスプライスがある パターンマッチもある 生成コードに型がつく 多段階計算に基づいている クォートとスプライスの本当の意味 ネストしたスプライス ネ

                        あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記
                      • Ichigo Lispコンパイラ完全解説

                        Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラの本を読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書いたコンパイラの記事 を読み返してみると、コンパイラのソースコードが一切出てこないことに気づいた。 こんな記事を書きながらよく人様の本に不満を持てたものだと 瀬戸内海より深く反省したので、 ここにIchigo Lispのコンパイラのすべてのソースコードを解説する。 想定読者とか Ichigo Lispのコンパイラは(ほとんど)すべてLISP 1.5で書かれている。 LISP 1.5特有のややこしい機能などは使っていないので、 Common Lisp、S

                        • Vimmer のための 括弧編集入門

                          Vimmer のための 括弧編集入門 プログラミングにおいて、もっともよくに入力する文字種はなんだろうか。 そう、括弧である。括弧を効率良く編集することは、どんなプログラミング言語をつかう人にとっても有益である。 その信念のもと、僕が使っている括弧編集の種々を紹介したい。 括弧の挿入と削除 1 ドア、箱、ノートパソココン、どんなものも開いたら閉じます。括弧だってそうです。 どうせ閉じることがわかっているのであれば、開き括弧が入力された段階で閉じ括弧も入力したいですね。 vim なら innoremap を使うことで実現できます。 上記は挿入モードで開き括弧が入力されたら自動で閉じ括弧も入力してくれる機能です。 一番簡単に閉じ括弧を自動入力する機能です。 括弧の挿入と削除 2 https://github.com/eraserhd/parinfer-rust https://github.c

                            Vimmer のための 括弧編集入門
                          • var / let / const と言う脈略のない三銃士ども · Ubugeeei/work-log · Discussion #136

                            序 ここ数日、for文の由来は何か? と言う話題が上がった。 シンタックスのキーワードの由来については自分も関心があって、好きなトピック。 中でも、いつも思っていたことがあって、JavaScriptの変数宣言に使われるキーワード選定が謎と言うのがある。 このことについてツイートしたところたくさんの方に反応をいただけたので備忘録として。 元ツイ: https://twitter.com/ubugeeei/status/1691491304428236800?s=20 お気持ち: https://twitter.com/ubugeeei/status/1691623230812123376?s=20 その他お気持ち: https://twitter.com/ubugeeei/status/1691519021957672961?s=20 https://twitter.com/ubugeeei

                              var / let / const と言う脈略のない三銃士ども · Ubugeeei/work-log · Discussion #136
                            • 単純すぎて流行らなかった「FORTH」、複雑すぎてうまくいかなかった「PL/I」 まつもとゆきひろ氏が過去から学んだ、プログラミング言語のあるべき姿

                              プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。2回目は、「単純さはいつも最高ではない」と「大きいことはいつもいいことではない」について。前回はこちら。 単純さはいつも最高ではない まつもとゆきひろ氏:「最も単純なプログラミング言語は何ですか?」という質問をするとですね……文法的にという意味なんですけども。 初期の言語として、Lisp、FORTH、APLなど、みんな1960年代ぐらいに作られた言語ですが、こういうものが挙げられ

                                単純すぎて流行らなかった「FORTH」、複雑すぎてうまくいかなかった「PL/I」 まつもとゆきひろ氏が過去から学んだ、プログラミング言語のあるべき姿
                              • 「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)

                                「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 2024年5月14日 一般財団法人Rubyアソシエーション 理事長/Ruby開発者 まつもと ゆきひろ(松本行弘) プログラミング言語Rubyの生みの親。株式会社ネットワーク応用通信研究所フェロー、一般財団法人Rubyアソシエーション理事長、NPO団体軽量Rubyフォーラム理事長などを務める。島根県松江市名誉市民。 近年、大量のデータから文章や画像を生み出す生成AIに注目が集まる中、改めて「模倣」が果たす役割を問い直そうという動きが広がっているように見受けられます。実際に、人間はこれまで、既存の技術を「模倣」しながら新しい技術をつくりだし、その繰り返しによって発展を遂げてきました。 世界中のプログラマーから支持を集める「Ruby」も、他のプログラミング言語のさまざまな要素を採り入れて誕生し

                                  「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)
                                • Lispとオブジェクトシステム

                                  Lispとオブジェクト、オブジェクト指向システムを概観します。

                                    Lispとオブジェクトシステム
                                  • 学習用と実用のプログラミング言語

                                    学習用のプログラミング言語分類方法にもよるけど、プログラミングのパラダイム(考え方)は 命令型宣言型の2種類がある。 それぞれに根拠となる計算モデルがあり、細分化すると4種類に分類できる。パラダイム 分類 基礎となる計算モデル言語命令型 手続き型 チューリングマシン C、Java、Python、JavaScript 宣言型 問合せ型 関係モデルSQL宣言型 関数型 ラムダ計算Lisp、Haskell宣言型 論理型 一階述語論理Prolog (参考) anond:20230826113219 プログラミング言語って、似たり寄ったりだけど、それでも後から後から新しい言語が出てくるね。 それぞれのグループで代表的な言語を1個ずつ順番に学んでいけば、全ての種類を一通り制覇できる。 例えば、 PythonSQLHaskellPrologといった具合で。 各グループのどれか1個を知っておけば、同一グル

                                      学習用と実用のプログラミング言語
                                    • GPT から Claude 3 への移行ガイド - Gunosyデータ分析ブログ

                                      こんにちは。Gunosy R&D チームの森田です。 GPT-4o が発表されたこのタイミングで!?という向きもあるかとおもいますが、LLMの世界は一ヶ月もすればまったく違う状況になっているのが常なので、いずれは GPT-4o を超えるモデルが発表される時も来るでしょう。 Claude 3 Opus は一時期 GPT-4 のスコアを超え、 Claude 3 Haiku では GPT-3.5-Turbo のトークン当たりで約半額とコストパフォーマンスに優れていますし、 AWS Bedrock 経由で安定して利用できることもあり、Claude 3 は乗り換え先の候補の一つです。 Claude 3 への乗り換えには、点々とつまづくポイントがあるので、引っかかった所と回避方法をご紹介します。 今回紹介する内容はClaude 3に限らないものもありますので、ローカルLLM や他のLLM への乗り換え

                                        GPT から Claude 3 への移行ガイド - Gunosyデータ分析ブログ
                                      • AIと一緒に新しい言語処理系を作ってみた|shi3z

                                        Claude-3 Sonnetがだいぶ良いので、前々から考えていた、「Lispっぽい記法で書けるけど他の言語に慣れた人にも使える言語」の処理系を作ってみた。仮にEasyLispという名前にした。 この言語ではこんな感じでプログラムが書ける (define person (object)) (set! person.name "Alice") (set! person.age 30) (print person.name)personというオブジェクトのプロパティをnameやageがあって、これをドット記法で指定するとpersonオブジェクトのプロパティにアクセスできる。 同じことをCommon-Lispでやろうとするとこうなる (defun example () (let ((person (make-object :name "Alice" :age 30))) (format t "N

                                          AIと一緒に新しい言語処理系を作ってみた|shi3z
                                        • プログラミング言語の歴史【訂正版作成予定】

                                          ミスの洗い出しの完了と私の知見が更新出来次第、訂正版を作成します。時間がかかるため、しばらく以下の訂正一覧を使用ください。 この動画も継続して公開いたします。タイトルとサムネイルで区別予定です。 みなさんからのご指摘、大変参考になっております!!多数の誤情報大変申し訳ございません🙇 ***訂正一覧*** (誤00:53)コンピュータの由来は計算機→(正)機械ではなく計算する人間を指す言葉 (誤03:04)ペリーの航路→(正)太平洋側からではなく,慣れたインド洋経由で来航した (誤04:57)ニイタカヤマノボレヒト「マルフタ」ハチ→(正)ヒト「フタマル」ハチ (誤05:15)チューリングマシン→(正)ボンベというマシンで解読。チューリングマシンは無関係。 (誤06:55)機械語のかたまり→(正)1つの機械語。ビット列 (誤07:05)ドイツの位置ズレ→(正)右上が正しいドイツ (誤07:

                                            プログラミング言語の歴史【訂正版作成予定】
                                          • Modern Emacs Typescript Web (React) Config with lsp-mode, treesitter, tailwind, TSX & more - Ovi Stoica

                                            Table of Contents Introduction Part 1: Treesitter for Typescript & TSX LSP Support Completion setup Linter setup LSP Setup Eslint (Optional) Tailwind LSP Server LSP Performance Emacs LSP Booster Structural editing Formatting buffers with Prettier Other resources Conclusion Introduction I've worked within the JS ecosystem for the past 8 years using editors like Webstorm and VSCode, I started using

                                            • LogLog Games

                                              The article is also available in Chinese. Disclaimer: This post is a very long collection of thoughts and problems I've had over the years, and also addresses some of the arguments I've been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn't meant to brag or indicate su

                                              • 経理からプログラマへ、Lramaの今後、なぜBisonを倒したのか。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.2 - STORES Product Blog

                                                2023年6月15日に『深掘りRubyKaigi 2023 with spikeolaf & makenowjust』を開催しました。イベントの内容をほぼ全文文字起こし形式でお届けします。この記事は第2部です。 hey.connpass.com 登場人物 ゲスト makenowjust/藤浪 大弥さん spikeolaf/金子 雄一郎さん STORES fujimura/藤村 大介 shyouhei/卜部 昌平 hogelog/小室 直 パーサとの出会い fujimura:金子さんのパートにいきます。簡単にどんな話をRubyKaigi 2023でしたか紹介していただけますでしょうか? spikeolaf:ここ2年ぐらい、主にAnd the WorldっていうRubyKaigiの名物コンテンツを見ていると、パーサへの関心というのは高まってきていて、ここ何年かで何が問題かはだいぶ整理されてきて

                                                  経理からプログラマへ、Lramaの今後、なぜBisonを倒したのか。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.2 - STORES Product Blog
                                                • 『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル

                                                  先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰するようにも見えることから、世間的には色々な評価があるらしい。 イミュータビリティが良い、みたいな話は重々承知なので適宜飛ばしながら読んだ。また、lodashまわりの話は単なるライブラリ紹介であり、特筆することがないので飛ばした。 こういう感じで言及されている zenn.dev slides.com 自分なりに読んで思ったことをまとめる。面白い本だったし、自分の思想にも近しいものがある。僕は普段ScalaやTSを書いているので、その観点からの感想が多いです。OOPの歴史に詳しいわけではないので、不足があったらすみません。 OOP以前の世界との差異 イミュー

                                                    『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル
                                                  • 古い言語のプログラムを生成AIで統廃合 住友ゴムが“Gemini”で進める開発効率化

                                                    Google Cloud は、2024年3月7日、生成AIをテーマとしたイベント「Generative AI Summit Tokyo '24」を開催。同イベントでは、生成AI活用を実践に移す、各業界のユーザー企業が登壇した。 本記事では、設計におけるシミュレーションの現場で開発効率化に取り組む住友ゴム工業の「製造業における生成AIを使った業務効率化への取り組み」と題したセッションの様子をお届けする。 住友ゴムのシミュレーション手法開発部門が抱える悩み 住友ゴムは、タイヤ製品を中核に、ゴルフやテニスなどのスポーツ用品や、地震による建物の揺れを低減する制振ダンパーといった産業品も手掛けている。 このうちタイヤ製品の設計では、開発初期段階から車両メーカーとの間で設計データをやり取りするため、「デジタル化が重要だ」と住友ゴム工業の研究開発本部 研究第一部長である角田昌也氏は言う。 加えて、タイヤ

                                                      古い言語のプログラムを生成AIで統廃合 住友ゴムが“Gemini”で進める開発効率化
                                                    • 【Groq】一秒で500トークン、GPT-4の25倍のスピードで出力できるAIを使ってみた | WEEL

                                                      WEELメディア事業部LLMリサーチャーの中田です。 ここ数日で、言語生成AIの「Groq」が話題になりました。 これにより、GPTよりも高速でテキストを生成できるんです、、、! "GPT-3.5 class LLMs are too slow." Sure, that was true last week. Here is Groq (not the same as Musk's Grok) running Llama 2. Watch for the moment I click send. If you want to try: https://t.co/aZKkWVsamS pic.twitter.com/gOlB4cL5MC — Ethan Mollick (@emollick) February 19, 2024 XでのGroq関連の投稿のいいね数は、すで1100を超えており、

                                                      • Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction - cl-fast-ecs by Andrew

                                                        Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction In this series of tutorials, we will delve into creating simple 2D games in Common Lisp. The result of the first part will be a development environment setup and a basic simulation displaying a 2D scene with a large number of physical objects. It is assumed that the reader is familiar with some high-level programming language, has a gener

                                                          Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction - cl-fast-ecs by Andrew
                                                        • Cassette

                                                          Cassette is a small, Lisp-like programming language. It looks like this: import List import Math import Canvas import System let width = 800, height = 480, canvas = Canvas.new(width, height) canvas.text("Lines!", {200, 2}) System.seed(System.time()) def rand-line(i) do let x0 = Math.floor(i * width / 100), y0 = Math.rand-int(20, height / 10), x1 = Math.rand-int(0, width), y1 = Math.rand-int(20, he

                                                          • Switching to Elixir

                                                            A few months ago I started a new job at a company that uses Elixir as its main language on the backend. I've never written a line of Elixir or Erlang before in my life, but I've heard a lot about it and Erlang is familiar because I've played around with Prolog for a bit. Thanks to the heavily Ruby-inspired syntax, Elixir was a synch to pick up. I might not be an expert on best practices, architect

                                                            • 2023 年振り返り

                                                              2023 年を振り返ります。 仕事 移転したユビーのオフィスにあるかっこいい壁 相変わらずユビーでプロダクト開発エンジニアをしていました。症状検索エンジン ユビーを開発するチームでフロントエンドとバックエンドを書いています。このプロダクト上で、製薬企業向けのソリューションを実現するための開発をしています。複雑なドメイン知識が求められる上に、会社の成長に伴って求められるデータやサービスの信頼性が上がってきていてチャレンジングな仕事だなと思っていますが、頼れる仲間と共に頑張っています。 また、仕事に関する記事をいくつか書きました。 テーブル駆動テストを使った QA エンジニアとソフトウェアエンジニアの連携 開発スピードを維持しながらモブプログラミングを実施した話 そういえば、たまに「どのくらい働いているんですが?」と聞かれることがあるんですが、普通にフルタイムで働いています。大学が忙しいときに

                                                                2023 年振り返り
                                                              • 第2回 SmartHR LT大会 開催レポート - SmartHR Tech Blog

                                                                こんにちは。SmartHRで配置シミュレーションを開発している新奥です。 先日、第2回SmartHR LT大会が開催されました。どのようなイベントだったのかを紹介します。 SmartHR LT大会について DevRel主導の元で、有志のプロダクトエンジニアが集まって企画・運営している社内イベントです。 プロダクトエンジニアの中から11名の登壇者を集い5分間のLighting Talksを行います。登壇者はプロダクトエンジニアに限定していますが、当日は職種に依らず社員であれば聴講可能です。リモートでの配信もしており、現地での参加が難しい社員でも楽しめるようなイベントとなっています。 詳しくは第1回の開催レポートにも記載があるので読んでいただけると嬉しいです! tech.smarthr.jp 第2回から始めたこと・意識したこと 配信クオリティの向上 第1回の時には、Web配信のノウハウが蓄積さ

                                                                  第2回 SmartHR LT大会 開催レポート - SmartHR Tech Blog
                                                                • LSP ルーターを作った - tmtms のメモ

                                                                  最近は Emacs の LSP クライアント機能である Eglot を使って Ruby を書いたり読んだりしてる。 ruby-mode では LSP サーバーはデフォルトで Solargraph が使われてる。 半年くらい前に rubocop に LSP サーバー機能が搭載されたらしいんで使ってみた。 (add-to-list 'eglot-server-programs '(ruby-mode . ("rubocop" "--lsp"))) rubocop の機能であるコードのチェックはちゃんと使えたんだけど、Solargraph で使えてたコードジャンプとかが使えなくなった。まあそれはそう。 Eglot はモードごとに LSP サーバーを指定することはできるけど、同じモードに複数の LSP サーバーを指定することはできなそう。Emacs Lisp はよくわからないんでちゃんと調べてない

                                                                    LSP ルーターを作った - tmtms のメモ
                                                                  • Prism in 2024

                                                                    In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

                                                                      Prism in 2024
                                                                    • 島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから

                                                                      島根県でプログラミング言語「Ruby」に関するイベントを集中的に実施するキャンペーン「Ruby Week」が開催された。そのうちRubyWorld Conferenceを中心に、Rubyの今とこれからを解説する。 島根県で、プログラミング言語「Ruby」の自由さや楽しさ、コミュニティへの貢献という価値観を表現するキャンペーンとして「Ruby Week」が開催された。これまでも開催していた「Ruby biz Grand prix」「RubyWorld Conference」「Ruby Prize」の3イベントを1週間にまとめるとともに、数多くの取り組みを実施。エンジニアやビジネス関係者が数多く島根を訪れる期間となった。 Ruby Weekの中心である3イベントのうち、最も歴史が深いRubyWorld Conferenceは、今回で15回目の開催。国内最大級のビジネスカンファレンスとして、Ru

                                                                        島根県で「Ruby尽くめ」の1週間 ー開発者・まつもとゆきひろ氏が語った30年とこれから
                                                                      • jq 1.7 | Hacker News

                                                                        This is great, JQ is brilliant.I love JQ so much we implemented a subset of JQ in Clojure so that our users could use it to munge/filter data in our product (JVM and browser based Kafka tooling). One of the most fun coding pieces I've done, though I am a bit odd and I love writing grammars (big shoutout to Instaparse![1]). I learned through my implementation that JQ is a LISP-2[2] which surprised

                                                                        • Emacs備忘録(2024年版) - Qiita

                                                                          背景 こちらの記事を書いてから1年半ほど経過しましたが、設定やパッケージが大きく変わってきたので、振り返りも兼ねて備忘録を投稿します。 設定の管理はorgファイルでorb-babel-load-fileコマンドを使用してelファイルを生成・ロードするようにしています。 パッケージの選定基準はシンプルでemacs組み込み機能を活用しているものをなるべく選んでいます。 最終的な見た目は下記のような感じです。 org-modern + perfect-margin + spacious-padding vertico (vertico-buffer) corfu vundo imenu-list magit difftastic 下記はorgファイルの設定をmarkdownに変換してそのまま貼り付けてます。 Emacs29以上が対象です。 追記 注意点 builtinパッケージはそのままではアッ

                                                                            Emacs備忘録(2024年版) - Qiita
                                                                          • The life and times of an Abstract Syntax Tree

                                                                            By Francesco Bertolaccini You’ve reached computer programming nirvana. Your journey has led you down many paths, including believing that God wrote the universe in LISP, but now the truth is clear in your mind: every problem can be solved by writing one more compiler. It’s true. Even our soon-to-be artificially intelligent overlords are nothing but compilers, just as the legends foretold. That sma

                                                                              The life and times of an Abstract Syntax Tree
                                                                            • useStateはなぜ値を保持できるのかもう1回考える - Qiita

                                                                              はじめに こんにちは。 株式会社HRBrainでフロントエンジニアをしている塚本です。 この記事はHRBrain Advent Calendar 2023の3日目の記事です。 useStateってずっと使っていて、なんとなく使えてしまっているが、 改めて考えるとどのような原理で動いているフックなのかよくわかっていないな〜と思ったので調べてみました。 この記事で書くこと レキシカルスコープとダイナミックスコープ クロージャー ガベージコレクション Reactのhooksの実装の簡単な内容 この記事で書かないこと fiberなどを始めとする、Reactの詳細な実装内容 公式のドキュメントに書いてあること まずは公式のドキュメントを見てみましょう。 公式ではuseStateをどのように説明しているのでしょうか? useState は、コンポーネントに state 変数 を追加するための Reac

                                                                                useStateはなぜ値を保持できるのかもう1回考える - Qiita
                                                                              • はてなエンジニア Advent Calendar 2023往復しました! - Hatena Developer Blog

                                                                                これははてなエンジニア Advent Calendar 2023 - Hatena Developer Blog 50日目の記事です。 昨日は id:kouki_dan の iOSアプリ開発での写真ライブラリのアクセス方法と設定 - Lento con forza でした。 id:yutailang0119 です、誕生日のお祝いありがとうございます! はてなエンジニア Advent Calendar 2023は、去年に引き続き、期間を通常のアドベントカレンダーの2倍の50日として、開催しました。 本日が最終日です。 これまでのまとめ はてなエンジニア Advent Calendar 2022往復しました! - Hatena Developer Blog はてなエンジニア Advent Calendar 2021完走しました! - Hatena Developer Blog はてなエンジニア

                                                                                  はてなエンジニア Advent Calendar 2023往復しました! - Hatena Developer Blog
                                                                                • Epigrams in Programming | Computer Science

                                                                                  1. One man’s constant is another man’s variable. 2. Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process. 3. Syntactic sugar causes cancer of the semicolon. 4. Every program is a part of some other program and rarely fits. 5. If a program manipulates a large amount of data, it does so in a small number of ways. 6. Symmetry is a complexity-r