タグ

2019年8月12日のブックマーク (6件)

  • Macのlaunchdで自動バックアップ - walkingmask’s development log

    来る研究活動に備えて、先生方が口を酸っぱくしてい言っていた「バックアップは最低3箇所に」を実現すべく、Macのlaunchdを使って自動で3つのクラウドストレージに30分おきにバックアップを取るスクリプトと設定を作りました。 クラウドの準備 まずは、バックアップ先となるクラウドストレーじを準備します。必要となるのは、ローカルに同期用のディレクトリが作成されるクラウドストレージサービス。そこで、今回は Dropbox Google Drive iCloud Drive を使用しました。それぞれサインインして必要であればアプリをインストールして起動し、ローカルに同期ディレクトリがある状態にします。 ローカルでの準備 今回は、「作業中の大事なファイル」で「30分おきにバックアップを取る」ということで、ホームディレクトリ以下にWorkspaceというディレクトリを作り、そこにあるファイルのみをバッ

    Macのlaunchdで自動バックアップ - walkingmask’s development log
  • launchdで定期的にスクリプトを実行 - Qiita

    定期的にスクリプトを実行する場合、Mac OS Xではcrontabよりlaunchdを使うことが推奨されている。 launchdを用いてMac OS Xで定期的にスクリプトを実行する方法を記述。 特徴 設定が2種類ある: エージェントはユーザーがログイン中に実行できるプログラム。 デーモンはシステム共通で、誰もログインしていなくても実行できるプログラム。 前回の実行が終わらないと次の実行は始まらない。また、スリープ状態、シャットダウン状態では実行されない。1 標準でCPU時間、メモリ、ファイル等の使用の制限2が設けられている。必要に応じて設定ファイルで上限を上げないと、シグナルで届いてしまう。 設定ファイルを置く場所は次の通り。 場所 用途

    launchdで定期的にスクリプトを実行 - Qiita
  • language server protocolについて (前編) - Qiita

    (今のところ前後編に分ける予定ですが、追記したり構成が変更になったりするかもしれません。予定は未定。) 2016年6月に、Microsoftがlanguage server protocolという仕様を公開しました。 稿では、このlanguage server protocolの存在意義や具体的な実現方法について解説します。 language server protocolの存在意義 language serverとは、IDEが必要とするプログラムのプロジェクト ソースを解析して情報を提供する機能を、サービスとして実現するものです。language serverがサポートされたIDEでは、型やメンバーの自動補完、変数やメンバーの定義参照、変数やメンバーの利用箇所の検索、コードの自動フォーマット、コードのエラー分析や修正案の提示といった、さまざまな機能を実現できます。 Microsoft

    language server protocolについて (前編) - Qiita
  • goの静的解析ライブラリのいろいろまとめ - Qiita

    はしがき 以前、go vetについて触れましたが、 公式以外でも循環複雑度解析をしてくれたりとか、 いろいろ良いライブラリがあるので、その辺の紹介を。(後おまけでvimの設定:p 静的解析ライブラリ 御三家的なアレ。 go vet 前の記事でも紹介したgo謹製のツールですね。 go imports 保存時とかに掛けると、使ってないimportを自動でお掃除してくれたり、追加してくれたりする、賢い子です。 go lint 構文上微妙なものとかをsuggestしてくれます。 私はvimのファイル保存時にgo fmt,go lintは自動で掛けるようにしています :) 静的解析ライブラリ 複雑度、重複コードチェックとか少し凝ったやつ go cyclo 分岐数などのプログラムの構造の複雑さ、循環複雑度を測ってくれます。 あくまで指標なので普段からゴリゴリ使うものでもないですが、リファクタの対象探し

    goの静的解析ライブラリのいろいろまとめ - Qiita
  • ファイルの拡張子によって、vimに自動でインデント幅を変えてもらおう! - Qiita

    pythonrubyだと、コーディングルールのインデント幅が違います。これを毎回設定するのはわずらわしいので、vimに自動で切り替えてもらいましょう。拡張子で処理を切り分けることができます。 FileTypeで処理を分ける vimにはFileTypeというオプションが定義されています。もしFileTypeがpythonの時に実行したい設定がある場合は、~/.vim/ftplugin/python.vimを作成します。次の設定だと、ファイルを開いた時に"filetype python"という文字列が画面の下に出力されます。 上記のファイルを自動実行させるために、開いたファイルの拡張子によって自分でファイルタイプを定義する必要があります。拡張子がpyの時はpython、rbのときはrubyというFileTypeを定義することにしましょう。setfiletypeで設定するファイルタイプ名は大文

    ファイルの拡張子によって、vimに自動でインデント幅を変えてもらおう! - Qiita
  • neovim + coc.nvim で LSP - 藻ログ

    TL;DR LSP (Language Server Protocol) をサポートしたツールが充実してきている coc.nvim を使って まとめて各言語の補助機能を Language Server に移行した TypeScript 製であることや npm の利用など,VSCode っぽくなって面白い 注 LanguageClient-neovim使ったことありません vim-lsc使ったことありません vim-lsp使ったことありません VSCode 使ったことありません LSP とは 各言語の(auto complete, goto def, find references, auto formatting, error checker ...) のような機能をまとめて提供するサービス(= language server)とそれを利用するツール間のプロトコルを定めたものです.MS が

    neovim + coc.nvim で LSP - 藻ログ