タグ

ブックマーク / qiita.com (426)

  • VSCodeでtmuxの挙動を再現したい - Qiita

    tmuxでのペインを作ったり消したり切り替えたりの動作を、VSCodeでもそれっぽく再現するために設定した項目をさらします。 tmuxのデフォルトのプレフィクスがctrl+bなので、その設定でtmuxを操作しているときと同じような挙動をするようにkeybindings.jsonに以下の設定を加えました ペイン // エディタとターミナルの移動 { "key": "ctrl+b o", "command": "workbench.action.terminal.focus", "when": "editorFocus" }, { "key": "ctrl+b o", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus" }, // ターミナルの分割(縦のみ) { "key": "ctrl+b

    VSCodeでtmuxの挙動を再現したい - Qiita
    syou6162
    syou6162 2024/02/27
  • GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita

    先日のVSCodeのアップデートで、GitHub Copilotを使うとターミナル操作が便利になりました。 これにより、別途ターミナルのアプリを使わずにすべてVSCode上で操作した方が便利なのでは?となりました。 アップデート前までどうしてたか MaciTerm2上で、GitHub CopilotのCLI版(パブリックベータ)で入力補完やコマンドの意味を調べたりしていました。 それ自体は便利でしたが、いくつかの不便な点もありました。 使い方がちょっと煩雑だった 例えばコマンドをサジェストして欲しい場合、gh copilot suggest 'gitで1つ前のコミットを取り消したい'のようにタイプする文字数も多くなり、またそれが一般的なコマンド or ghコマンド or gitコマンドかの3択に答えないといけなくて面倒でした。 ssh接続で不便 SSH接続先でも使用するためにGitHub

    GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita
    syou6162
    syou6162 2024/02/27
  • VSCode ターミナル上で CTRL + n, CTRL + p を有効にする - Qiita

    // 既定値を上書きするには、このファイル内にキー バインドを挿入します [ { "key": "ctrl+p", "command": "cursorUp", "when": "terminalFocus" }, { "key": "ctrl+n", "command": "cursorDown", "when": "terminalFocus" }, { "key": "ctrl+f", "command": "cursorRight", "when": "terminalFocus" }, { "key": "ctrl+b", "command": "cursorLeft", "when": "terminalFocus" }, { "key": "ctrl+a", "command": "cursorHome", "when": "terminalFocus" }, { "key"

    VSCode ターミナル上で CTRL + n, CTRL + p を有効にする - Qiita
    syou6162
    syou6162 2024/02/01
  • IME切り替えを視覚化するHammerspoonスクリプト - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    IME切り替えを視覚化するHammerspoonスクリプト - Qiita
    syou6162
    syou6162 2023/10/29
  • 新卒1年目のエンジニアが使っている Slack キーボードショートカット - Qiita

    Cmd + [ Cmd + ] 履歴を戻る・進む 戻る Mac: ⌘ + [ Windows: Alt + [ Linux: Alt + [ 進む Mac: ⌘ + ] Windows: Alt + ] Linux: Alt + ] Slackデスクトップアプリを含む、多くの Electron 製アプリで共通して使える「戻る・進む」のコマンドといえば Cmd + [ Cmd + ] ですが、Slack も同じように使えます。開いていたチャンネル、スレッド、DM などを順番に戻る・進むことができます。 Option + ↑ Option + ↓ 1つ上・下のチャンネル・DM に移動する 1つ上 Mac: Option + ↑ Windows: Alt + ↑ Linux: Alt + ↑ 1つ下 Mac: Option + ↓ Windows: Alt + ↓ Linux: Alt +

    新卒1年目のエンジニアが使っている Slack キーボードショートカット - Qiita
    syou6162
    syou6162 2023/10/26
  • えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記(2024年6月4日) この記事は、2023年9月時点の情報です。 当時と比較すると、ここ最近はLLMを取り巻く状況が大きく変化しました。 GPT-4oの登場によってより人間に近いチャットが出来るようになったり、Geminiに新しいモデルが追加されてGPT-4に負けず劣らずの精度が出せるようになったり、その陰でClaude3が着実に成長していたり。 LLMの競争は2023年よりも激しくなり、各社モデルの成長スピードも上がっていると感じています。 サブスクリプションプランを契約することによるメリットが、執筆当時よりも大きくなっています

    えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita
    syou6162
    syou6162 2023/09/14
    20ドル余裕でペイするので何も考えずに使ってる
  • ソフトウェアはなぜバージョンアップしなければならないのか - Qiita

    はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ

    ソフトウェアはなぜバージョンアップしなければならないのか - Qiita
    syou6162
    syou6162 2023/07/30
  • Sentencepiece の分割を MeCab っぽくする - Qiita

    Sentencepieceは公開から約6年経ち、月間のpipダウンロード数が1000万を超え、開発者として嬉しい限りです。ただ、Sentencepieceを使用する際にMeCabなどの形態素解析器を前処理に使うケースが散見されます。単語分割をしたいというニーズは理解できますが、作者としてはあまり満足していません。多言語処理が一般的になり、しかもSentencepieceは言語非依存のシステムであるにもかかわらず、なぜベタな日語処理に依存するのでしょうか。このような使い方は、精度が向上するかもしれませんが、以下のようなデメリットもあります。 形態素解析が入力した空白と、元からある空白を区別できないため、分割されたデータから元の文を復元することができません。(可逆処理ではない)。 形態素解析システムに依存するため、メンテナンス性や可搬性が低下します。正しいバージョンの辞書を維持し、管理するこ

    Sentencepiece の分割を MeCab っぽくする - Qiita
    syou6162
    syou6162 2023/04/13
  • [BigQuery] dbtでtable functionを管理する - Qiita

    -- 開始・終了日を指定して日付と曜日のテーブルを取得 CREATE OR REPLACE TABLE FUNCTION mydataset.dates( start_dt DATE, end_dt DATE ) AS ( SELECT dt, -- 0... Sun, 6... Sat MOD(UNIX_DATE(dt)+4, 7) AS day_of_week, FROM UNNEST(GENERATE_DATE_ARRAY(start_dt, end_dt)) AS dt ); SELECT dt, day_of_week FROM mydataset.dates("2023-01-01", "2023-01-08") ORDER BY dt; /* +------------+-------------+ | dt | day_of_week | +------------+---

    [BigQuery] dbtでtable functionを管理する - Qiita
    syou6162
    syou6162 2023/01/06
    BigQueryのテーブル関数、dbtだと管理できないって思ってたけど、やれんことはないって感じか。。
  • dbt Cloudでカバレッジを向上させるには - Qiita

    ビットキーでアナリティクスエンジニアをしている三河内です 2022年10月からdbtを用いたデータ分析基盤開発に取り組んでいます dbtのアドベントカレンダーが開催されるということで、現時点で日語記事がなさそうなカバレッジ周りに関して、記事を書いてみようと思います 想定読者 dbt Cloudを使っている方 TL;DR テストやメタデータの付与を継続的に行うにはカバレッジ向上の仕組みが必要だと思っている dbt Cloudにおいてはdbt_meta_testingというライブラリを用いるのが良さそう(なのでそれを紹介します) おまけで、dbt-coverageというPythonライブラリをgithub actionsで走らせて、カバレッジを計測する方法を紹介します 目次 前提条件 記事の背景 解決策:dbt Cloudでカバレッジ向上をするには まとめ さいごに採用的な話 前提条件:筆

    dbt Cloudでカバレッジを向上させるには - Qiita
    syou6162
    syou6162 2022/12/18
  • データがおかしいときに使えるかもしれないシェルスクリプト - Qiita

    なんだかんだいっても、元データがCSVであることはまあそこそこあると思います。 データベースに取り込まれてしまえばあとは煮るなり焼くなり好きにすれば良いと思うのですが、そこまでになんやかんやで問題が色々おこりがちなのもCSV。 そんなときに私がよく使うシェルスクリプトをまとめてみました。 基的に自分がよく触る環境がGCPのため、それを前提に書いていますのであしからず。 元データ(CSV)が壊れていないか確認する 1. ヘッダに記載されているカラムの数をカウントする なんやかんやで元ファイルがCSVでカラム数とか確認したい場面は多いと思います。 grep -o でマッチした文字だけをprintするのがミソです。

    データがおかしいときに使えるかもしれないシェルスクリプト - Qiita
    syou6162
    syou6162 2022/12/05
  • Spread SheetからBigQueryを参照している箇所を特定する方法 - Qiita

    BigQueryのConnected Sheet機能を使うと、BigQueryとSpread Sheetを簡単に連携できてとても便利です。 しかし、その便利さ・気軽さが仇となるケースも存在します。 定期的にBigQueryを参照しているシートが不要になった後もクエリを実行し続け、費用が無駄にかかってしまうことが考えられます。 また、スキャン量やスロット数に問題のあるクエリの監査ログを確認して、実行ユーザーに連絡をとってもConnected Sheet経由のクエリの場合は、身に覚えないと返答されることも多いです。 この記事では、Spead SheetからBigQueryにクエリを実行したログを活用して、どのシートURLからどのクエリが実行されているのかを調査する方法を説明します。 まずGCPの監査ログをCloud LoggingからBigQueryに転送するようなLog Sinkを作成します

    Spread SheetからBigQueryを参照している箇所を特定する方法 - Qiita
    syou6162
    syou6162 2022/12/04
  • BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみる - Qiita

    BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみるPythonBigQueryemulatorGoogleCloud はじめに みなさん、BigQueryが絡む処理のローカル開発やテストどうしてますか?BigQueryは公式のエミュレーターが提供されていないのでけっこう困ること多いんじゃないでしょうか? 私はとりあえず、ローカルではなく専用の環境を用意してそこに接続する形にしていましたが、業務委託の方などに入っていただくことが増えると権限周りで少々悩ましいことも多いです。 ただ数ヶ月前に、goccyさんという方が開発されたGo製のOSSbigquery-emulatorが公開され、こうした問題に解消の兆しが見えてきました。(開発者の方にはリスペクトしかありません!) 少し前までは提供されていない機能も多かったのですが、開発

    BigQueryのローカル検証用にbigquery-emulatorを触ってみた。ついでにPythonから接続してみる - Qiita
    syou6162
    syou6162 2022/11/13
  • Rollupちゃんと理解してる? - Qiita

    ##はじめに SQLには、単純なGroup byによる集計計算に加え、Rollup, Cube, Grouping Setsなどの指定カラムに対して追加集計計算を行う便利な機能があります。特にRollupは小計や総計を取得するのに便利で身近な存在ですが、動きをしっかり把握していないと集計対象が複雑になった場合にピンポイントで必要な集計を得るのが難しくなります。 例えば、以下の例では一つのカラムだけを対象にRollupを使用して総計を取得していますが、Group Byの対象が複数カラムになった場合に総計だけを取得するにはどう記述すればよいでしょうか? また、4つの複合カラムで集計する場合に総計と特定のひとつのカラムの小計だけ取りたい場合はどうでしょう? select item, sum(qty), count(*) from test_rollup group by rollup(item)

    Rollupちゃんと理解してる? - Qiita
    syou6162
    syou6162 2022/10/13
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
    syou6162
    syou6162 2022/09/28
  • Google日本語入力のキーバインド設定(SKK,Anthyのいいとこ取り) - Qiita

    Ctrl+o / Ctrl+iで文節位置を変更するのはAnthyから取っています。 Ctrl+j / lで日本語入力のon/offを切り替えるのはSKKで一番好きなキーバインドです。 個人的に、半角/全角キーを押すよりもかなり快適です。 Ctrlを使わないキーバインドの設定について ちなみに、Google日本語入力の設定画面からは「l」だけのキーバインドが設定できませんが、 キー設定画面の「編集」→「エクスポート」を選ぶと出力されるkeymap.txtを直接編集すれば設定可能です。 keymap.txt内に下記の行を追加してから「インポート」で取り込んでください。 Precomposition l IMEOff すると、Ctrlを押さないキーバインドが設定できます。 設定によるkeymap.txt 初期設定のコマンドが割と放置されていてあまり綺麗ではないですが、 keymap.txtを貼

    Google日本語入力のキーバインド設定(SKK,Anthyのいいとこ取り) - Qiita
    syou6162
    syou6162 2022/09/04
  • VSCodeの統合ターミナルにおいてシェルのキーバインドを設定する - Qiita

    VSCodeの統合ターミナルはシェル来のキーバインドとVSCode側のキーバイドが衝突してシェル側でいくつか使えないキーバインドがある。 それだと辛いので設定し直してあげる。 使えないのはCtrl+f, Ctrl+e, Ctrl+pの3つ。 以下をkeybindings.jsonに追記。 [ // 統合terminalではCtrl+fをshellのキーバインドにする {"key": "ctrl+f", "command": "cursorRight", "when": "terminalFocus"}, // 統合terminalではCtrl+eをshellのキーバインドにする {"key": "ctrl+e", "command": "workbench.action.quickOpen", "when": "!terminalFocus"}, {"key": "ctrl+e", "c

    VSCodeの統合ターミナルにおいてシェルのキーバインドを設定する - Qiita
    syou6162
    syou6162 2022/08/27
  • VSCode Remote Containers を使うなら dotfiles repository で幸せになろう - Qiita

    VSCode Remote Containers とは Docker コンテナを開発環境として使用するための VSCode 拡張機能です。 コンテナ内に開発環境を構築することで、PC の環境を汚さずにプロジェクトごとに言語やツールを使い分けることができます。 また、Dockerfile で開発環境を定義できるためチーム内で開発環境を共有することが容易になります。 Qiita 等に紹介記事がたくさんあるため詳しい説明や使い方については割愛します。 DevContainer と dotfiles ※ この記事では VSCode Remote Container で接続している開発用のコンテナのことを DevContainer と呼称します DevContainer で開発するということは当然 DevContainer の shell 環境を使用することになります。 デフォルトの状態の shel

    VSCode Remote Containers を使うなら dotfiles repository で幸せになろう - Qiita
    syou6162
    syou6162 2022/08/22
  • Material-UIのTextFieldのボーダー色を変更する - Qiita

    import { TextField } from '@mui/material' import { styled } from '@mui/material/styles' const myStyle = { '& .MuiInputBase-input': { color: '#000000', // 入力文字の色 }, '& label': { color: '#AAAAAA', // 通常時のラベル色 }, '& .MuiInput-underline:before': { borderBottomColor: '#CCCCCC', // 通常時のボーダー色 }, '& .MuiInput-underline:hover:not(.Mui-disabled):before': { borderBottomColor: '#DDDDDD', // ホバー時のボーダー色 }, '& .

    Material-UIのTextFieldのボーダー色を変更する - Qiita
    syou6162
    syou6162 2022/08/12
  • 軽量feature flag導入の手引き - Qiita

    何か Kyashでサーバサイドのエンジニアをしているhirobeです。 業務でサーバサイドのアプリケーションへのfeature flag導入を提案および設計をしました。 どのような設計や実装にするか、なぜそうしたかを整理します。 なお、アプリケーションの特性としては以下を念頭に入れていただければと思います。 新規プロダクトではなく、5年以上動いている既存プロダクトに導入する サーバサイドアプリケーションのみをスコープとする 20~30のマイクロサービスから構成されている マイクロサービス間はREST/gRPC/SQSで通信されている そもそもなぜ導入するのか? 目的を整理しておきます! featureブランチからmainブランチにmergeされるまでの期間が長いために、以下のような問題がありました。 複数の機能開発の修正がconflictする可能性があり、またそれに気づくのが遅れる可能性が

    軽量feature flag導入の手引き - Qiita
    syou6162
    syou6162 2022/06/21