Language Server Protocol通称LSPの仕様と、各機能をどうやって実装したら良いかの指針を示します。 対象読者 * 言語処理系を実装する人/したい人 * Language Serverを実装する/したい人 * LSPに興味がある人、日本語のまとまった情報源を探している人 * Language Serverがエディタの裏でどのようなことをしているのか気になる人 本書で解説される機能は以下の通りです。 * Diagnostics (検査) * Completion (補完) * Inlay hint * Hover * Goto definition (定義へ移動) * Find references (参照を表示/移動) * Rename (名前変更) * Code actions * Code lens * Signature help * Command * Docu
草 「それ海外だとアウトローですぅ」 「ここではない何処かに行きたいだけなら、それでもいいですけど(ドヤァ)」 「プログラミング言語に詳しくなるのは、もう生き甲斐のようなものなんです(ドヤァ)」 「来月からレポートしますぅ」 「レポートはしないですぅ」 「私は先に進みます(キリッ)」 クッソワロタwww この記事の背景 最近、仕事でバッチファイルを書かざるを得ないという不幸な場面に遭遇しているのですが、これがまた、ものすごくどうでもいいことでハマることが多々あり、思わず「このWindows、壊れてる!」と思ったほどでした。犠牲者を増やさないためにも、DOS文法の挙動を記録したメモを載せておきます。 (本記事を見てもらえば納得されると思いますが、DOSバッチの言語設計は「驚き最大の原則」を方針とし、その言語仕様は「実装」です。言語法律家というものが成立しえない、非常に平和な世界でもあります。
ターミナルのUIを模した、モダンでミニマルなCSSの超軽量フレームワークを紹介します。 ターミナルで見かけるようなデザインのUIコンポーネントが豊富に揃っており、ライトテーマ・ダークテーマもサポートされています。 Terminal CSS Terminal CSS -GitHub Terminal CSSの特徴 Terminal CSSの使い方 Terminal CSSのコンポーネント Terminal CSSの特徴 Terminal CSSは、ターミナル愛好家のためのモダンでミニマルなCSSのフレームワークです。ソースはCSSで記述されており、アクセシブルで、非常に軽量(3k gzip)です。 MITライセンスで、個人でも商用プロジェクトでも無料で利用できます。
前回のブログ記事は、論文紹介という地味なテーマだったにしてはだいぶ話題を呼んだ*1ようで、個人的にはちょっと意外な感があったのでした。確かに、今をときめくTransformerにも苦手なものがあるという指摘は、NN一強の現代にあってはセンセーショナルなものと受け止められても不思議はなかったかと思います。 しかし、それは同時に「データセットが持つ本質的な性質」と「データ分析手法の性質」とのミスマッチと、それが引き起こす問題とについてこれまであまり関心を持ってこなかった人が多いということなのかもしれません。そして、そのミスマッチは冗談でなく古来からある程度定まった類型があり、データ分析業界の古参なら「そんなの常識だよ」というものばかりだったりします。 ところが、最近僕の周囲でもそういうミスマッチが深刻な実問題を招いているケースが散見され、思ったよりもそれは常識ではないのかな?と思わされることが
NeoVimのライトな使い方しかしていなかったせいか、特にここ1年問題もなくフツーに使えてた。 でも、プラグインの管理に使っていたPacker.nvimのメンテナンス終了のアナウンス。 github.com NOTICE: This repository is currently unmaintained. For the time being (as of August, 2023), it is recommended to use one of the following plugin managers instead: じゃあ、ちょうどいいからプラグインの管理プラグインを変更して、プラグインも見直してみようかと。 Packerがお勧めしているのはこの二つ。 lazy.nvim: Most stable and maintained plugin manager for Nvim.
おれはCTOをやめるぞ!ジョジョーーッ! だれ?こんにちは @zaru というIDで活動しているプログラマです。今年で40歳になります。株式会社ベーシックでCTOをしており、個人ではYouTubeでムーザルちゃんねるという技術動画を配信したり、コードが動かないので帰れませんという技術書を書いたりしています。プログラミングとデザインが好きです。 こんなアイコンで活動してますベーシックに中途で入社し14年、CTOをやって10年たちました。ベーシックではメディア事業に始まり、スマホのゲームアプリ開発や、アドネットワーク、最近ではBtoB SaaSの開発をしていました。 ベーシックという同じ会社にいながら全く異なる仕事をしていたので飽きることなく、あっという間に時間が溶けていった感覚があります。当時開発メンバー最年少で入社したのに、今では最年長になってしまいました。そして、今年2023年末をもって
背景 VimやNeovimにはQuickfixという機能が備わっています。 grepなどの検索結果や、コンパイラーやリンターのエラーメッセージなどから、 ファイル名(ファイルパス) 行位置 などをリスト化して、選択したアイテムの位置にジャンプできる機能です。 今回は、ここにリスト化された各アイテムをMarkdownの表として出力したいシーンがあったので実現してみました。 私のユースケース モノリポで大きいプロジェクトをいじってると、リファクタリングの作業対象が一人では片付けられない、なんてことも。 気軽に「リファクタリングするべき場所のリストを共有して分担する」ムーブを決めたい時なんかは、便利です。 お断り Vim/Neovimでは~と語りだしておきながら申し訳ないのですが、今回は急いで記事を起こしたため、私のDotfilesからそのまま切り出しています。 そのため、NeovimのためのL
この記事は Vim 駅伝 の 08/21 の記事です。 前回の記事は kyoh86 さんによる、 08/18 の「ddu.vimの基本設定概観」という記事でした。 次回は 08/23 に投稿される予定です。 はじめに 本記事は、いぶし銀プラグイン企画の結果発表の後編です。 Vimmer が実際に普段の編集を行う上で、なくてはならないと感じるプラグインを紹介していきます。前編は以下の記事を参照してください。 後編では、94件の回答のうち前編で紹介しなかったもの全てを紹介します。 全部で52個もあるため、プラグインの大まかな分類ごとに分けて紹介しています。一度に全て読むのは大変ですから、「目次」から気になるカテゴリを選んで読み進めることをおすすめします。 紹介フォーマット 前編の記事同様、各プラグインには以下の項目を設けています。 プラグイン名 プラグインへのリンク 概要 (一応)紹介記事なの
1. はじめに この記事では、lazy.nvimを使ったVim起動の高速化について解説します。 移行した後のdotfilesはこちらです 最近、vim-plugからlazy.nvimへ移行し、全てをLuaで書き直すことでVimの起動速度が向上したのと とても可愛い起動画面を作ることができました。 どのくらい早くなったの 整理していくうちに追加したいプラグインが増えたり、新しいプラグインに移行したので、完全な比較ではありませんが、 控えめにみても300ms程度かかっていたものが20msで起動できるように改善できました。 (比較には下記ツールを用いています。) 詳細のプラグインなどは最後の結果の方に記載しようと思います。 before vim-plug を用いたnvim (遅延ロードなし) 総プラグイン数50 計測結果
CamXは、iOSデバイスをカメラなどからビデオをキャプチャできるポータブルモニターに変換します。USB-C対応のiPadを持っている場合、キャプチャカードと組み合わせてモニターやポータブルゲームコンソールのディスプレイとしても使用できます。コンテンツクリエイターであるか、ゲーマーであるかにかかわらず、CamXは多目的なビデオキャプチャなどに不可欠なアプリケーションです。 主な特徴: ポータブルディスプレイ:あなたのiPadを携帯用ゲームコンソール、セカンダリースクリーン、またはマルチタスクツールに変えます。 高品質録画:さまざまな解像度とフレームレートオプションで優れたビデオ品質を提供します。 ゲームモード:さまざまな画像設定を提供します。 ビデオグラフィーモード:リアルタイムヒストグラムとグリッドラインのサポートを含みます。 USBキャプチャはUSB-Cポートを備えた以下のiPadモデ
先日、VPS上にVSCode Serverをインストールしようとしたところ動かなくなっており、詳細を調べているうちにこのスレッドにたどり着きました。 ここをみると、どうもVSCode Serverの機能はRemote Extensionに統合されたので、もはや提供されなくなったようです。(setup.shでダウンロード可能なバイナリが無くなっている) じゃあどうすればいいのか? サーバ上でVSCodeを動かして、ブラウザでエディタを立ち上げたい、iPadで開発したいという皆さんは、引き続きVSCode本体で簡単に実現することができます。 サーバ上に普通のVSCodeをインストールして、code tunnelと打ち込むだけで、github.devのドメインでトンネルがホストされてブラウザ上でもローカルのVSCodeとも接続可能な状態になります。 daemon化して常時起動したい それも簡単で
最初に結論 Vim で C# の開発をやっているマイノリティの皆さまの役に立つかもしれない記事です。 下記の設定を行うことで上の図のように Omnisharp-Vim の機能である omnisharp_find_usages (使っている場所を調べるコマンド) の結果を fzf の画面でプレビュー付きで確認できるようになります!(画像のソースコードは aspnetcore-app-workshop のコードです) 下記の設定の場合に必要なもの neovim omnisharp-vim fzf bat init.vim (vimrc) の設定 let g:OmniSharp_selector_ui = 'fzf' let g:OmniSharp_selector_findusages = 'fzf' let g:OmniSharp_fzf_options = { \'options': [
こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから学んだ情報を共有しました。至らない部分もあるかもしれませんが、ご参考になれば幸いです。 こちらの研修で使用したGitHubのコードリンクは以下です。適宜、ご参照ください。 github.com 目次 目次 はじめに この研修の目的 研修スコープ外 テストコードについて テストコードの便利な点 テストコードの悪い例 テストコードに関するFAQ pytestによるテストコードの書き方 ファイル名 ディレクトリ 基本編 Parametrize Fixture 異常系 Mock indirect conftest 知っておくと活用する場
JavaScript Primer 迷わないための入門書 Tweet Watch Star Twitterのハッシュタグ: #jsprimer これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。 プログラミングをやったことがあるが、今のJavaScriptがよくわからないという人が、 今のJavaScriptアプリケーションを読み書きできるように書かれています。 初めてのプログラミング言語としてJavaScriptを学ぶ人は、まずは「はじめに」から読んでみてください。 書籍版 このウェブサイトの内容はアスキードワンゴから書籍として出版されています。 書籍版の内容はウェブサイト版と同一ですが、本として読めるように最適化されています。 書籍版は次のサイトから購入できます。 Amazon 達人出版会(電子書籍版
みなさん、こんにちは! 福岡オフィスの青柳です。 前回のブログ記事では、「Azure OpenAI Service」を使ったチャットボットWebアプリを「Microsoft Azure」環境上に構築する手順をご紹介しました。 ご紹介した環境は、比較的シンプルな構成で実現できるものの、もしかするとネットワーク的なセキュリティ面で不安に感じる方もいらっしゃるかもしれません。 と言うのも、利用しているAzureの各サービス「Azure Open AI Service」や「Azure App Service」は、デフォルトではインターネットを経由して利用するようになっています。 そのため、悪意のある人間がこれらのサービスに対して不正なアクセスを試みたり、通信内容の盗聴を試みることが考えられます。 もちろん、サービスに対する通信はTLSやHTTPSで暗号化されていますし、APIキーやIDプロバイダ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く