タグ

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

  • [outdated] 勝手 Mastodon tootctl リファレンス - Qiita

    重要なお知らせ 2022/1/11時点で他サイトへ移行したため、以後、記事はメンテナンスされません。 経緯についてはこちら、移行後の記事はこちらです。 はじめに この文書はtootctlのヘルプやコードを読み解き、可能な場合は実際に実行し、その動作等をメモしたものです。 かつてMastodon 保守メモの一部でしたが、あまりにも肥大化したため別記事としました。 各種コマンドの変更点について、極力メジャーリリース時に確認するようにしていますが、古い情報・未検証のもの・不正確な記述が混じっていたりします。ご了承ください。 また、そのような記述を発見した場合は、コメント等で教えて頂けたら大変助かります。 公式ドキュメントがあります。 Using the admin CLI - Mastodon documentation tootctlとは? ActivityPub対応の分散SNS「Masto

    [outdated] 勝手 Mastodon tootctl リファレンス - Qiita
    takets
    takets 2021/06/03
  • 【PHP】Phan の静的コード解析で use 指定したクラスオブジェクトを認識してくれない - Qiita

    Phan から PhanUndeclaredTypeProperty やら PhanUndeclaredMethod やら PhanUndeclaredClassMethod やら PhanUndeclaredFunction と叱られる 助っ人メンバーを入れたのに、一部の熱狂的なファンが認めてくれず活動できません。 <?php declare(strict_types=1); namespace MYNAME\MYPACKAGE; use Symfony\Component\Cache\Adapter\FilesystemAdapter; //助っ人。でも Phan からは「こんなやつ、聞いとらん」と怒られる class MyClass { /** @var FilesystemAdapter */ //← Phan から「こんなやつ、しらん」と怒られる protected $my_pr

    【PHP】Phan の静的コード解析で use 指定したクラスオブジェクトを認識してくれない - Qiita
    takets
    takets 2021/05/10
  • PHP_CodeSnifferとPHPCompatibilityでコーディング標準と互換性のチェック - Qiita

    概要 ・PHPのコーディング標準(規約)チェック ・PHPのバージョンアップに伴う互換性チェック を行うため、PHP_CodeSnifferとPHPCompatibilityを使ったときのメモです。 [作業環境] Windows10 PHP5.4以上(必須) [必要なもの] Composer Git PHP_CodeSnifferとは コーディング規約(PEARやPSRなど)に沿った構文チェックのためのツールです。 GithubPHP_CodeSniffer コーディング標準(規約)に違反している箇所の検出(phpcs) コーディング標準(規約)に違反している箇所を自動的に修正(phpcbf) などを行うことができます。 PHP_CodeSnifferには「PEAR, PSR1, PSR12, PSR2, Squiz, Zend」などのコーディング標準(規約)がデフォルトで用意されており

    PHP_CodeSnifferとPHPCompatibilityでコーディング標準と互換性のチェック - Qiita
    takets
    takets 2021/04/27
  • [Steep]Railsの本番環境にruby3.0の型定義を入れていく - Qiita

    やったこと 自分の持ち手の中に以下の三拍子が揃ったプロダクトがあったのでruby 3.0まであげて強い気持ちで型を入れていくことにしました。 立ち上げ間もない(利用者も限定的) 各種ライブラリが最新(変な古いバージョンに影響されることが少ない) 今後そこそこの機能拡張が見込まれる うちのチームでは初めてのRuby 3.0&型付だったけどやっていき 結論成果物 tool RBS Steep API周りのモデル層に型定義を導入 circleciによる自動テストの追加 Rubyの型とは Rubyの静的解析はv3.0で導入された新機能になります。 型定義はrubyのコードの外側にRBSファイルとして定義していきます。 2010年代は静的型言語の時代でした。Rubyは抽象解釈を武器に、型宣言なしで静的型チェックする未来を目指します。RBSとTypeProfはその第一歩です。Rubyがもたらす誰も見た

    [Steep]Railsの本番環境にruby3.0の型定義を入れていく - Qiita
    takets
    takets 2021/04/23
  • 【VS Code + Marp】Markdownから爆速・自由自在なデザインで、プレゼンスライドを作る - Qiita

    【VS Code + Marp】Markdownから爆速・自由自在なデザインで、プレゼンスライドを作るMarkdownVisualStudioCodeDraw.ioMarpvega TL;DR Visual Studio Code上で、Markdownから、こんな感じのデッキを生成できるようにします。 使用したファイル類は、GitHub tomo-makes/marp-styles にまとめました。 きっかけ 叩き台となる資料がなく、急ぎプレゼンをする機会があり、Marpで作成した 内輪では使っていたが、多くの目に触れるのは初めてで、もう少しデザインを調整したいと思った 今後も使いまわせるものを、スニペット、およびサンプルテーマ化しておこうと思い立った ついでにいろいろな図表の生成とデッキへの入れ方、必要そうな配色、素材のリンクをまとめておきたい Marpとは Marp: Markdown

    【VS Code + Marp】Markdownから爆速・自由自在なデザインで、プレゼンスライドを作る - Qiita
    takets
    takets 2021/04/21
  • シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita

    開発環境にChromeを選ぶなら知っておきたい12のテクニック Photo by Morning Brew on Unsplash さて、何らかの理由で、開発ブラウザとしてChromeを選んだとします。次は、デベロッパーツールを開き、コードのデバッグを開始します。 Consoleパネルを開いてプログラムの出力を確認したり、Elementsパネルを開いてDOM要素のCSSコードを確認したりします。 でも、Chromeデベロッパーツールを当に理解していますか?実は、パワフルだけど知られていない機能がたくさん用意されていて、開発効率を大幅に改善できるのです。 ここでは、最も便利な機能を紹介します。お役に立てたら嬉しいです。 ChromeのCommandメニューから始めましょう。ChromeのCommandメニューは、LinuxのShellのようなものです。コマンドを入力してChromeを操作で

    シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita
  • 今更聞けないpryの使い方と便利プラグイン集 - Qiita

    Rubyのソースコードを読むとき、grepやctagsだけで読んでるとどこにどういう値が入るのか頭で考える必要があり大変。 そういう時、実際に動かしながらpryを使って中身を確認すると、どういう動きをしているのか楽に把握できる。 普通のエディタを使ってRubyを書いている人にとって、IDE的な機能を提供してくれるのがpryといえる。 稿では、この記事を書く前の私のように、この次の「最低限の使い方」くらいしかpryを使いこなせていない人向けに、便利な機能をひと通り説明する。 最低限の使い方 まだpryを使ったことがない人はこれだけ知ってれば十分な気がする。 binding.pryで任意の場所からREPLを立ち上げる ソースの任意の箇所にbinding.pryを書いてRubyのプログラムを走らせると、実行中にその行でストップしてpryのREPLが立ち上がり、その環境での変数がどうなっているか

    今更聞けないpryの使い方と便利プラグイン集 - Qiita
  • Enter で ls と git status を表示すると便利 - Qiita

    とある方の "エンターだけで ls と git status 表示するようにしてある" というつぶやきを見て便利そうだと思ったのでやってみました。 基的なやり方は以下の記事が参考になりました。 zshでコマンドが空の状態でenter押したときに任意のコマンドを実行する方法 - kei_q ただ、上記方法では私の環境の場合、プロンプトが1回余分に表示されてしまって気持ちが悪いので、その辺りも手を加えました。 Installation 以下スクリプトを .zshrc に記述すれば、何も入力されていない状態で Enter を打つだけで ls と git status が表示されるようになります。 function do_enter() { if [ -n "$BUFFER" ]; then zle accept-line return 0 fi echo ls # ↓おすすめ # ls_abb

    Enter で ls と git status を表示すると便利 - Qiita
    takets
    takets 2021/03/18
  • VSCodeでTypeScriptを気軽に実行する環境を作る。部分実行も可能 CodeRunner - Qiita

    追記 2023年9月15日 こちらの拡張機能は、エディタ上に結果が出力されます。 Quokka.js - Visual Studio Marketplace (無料版) Quokka Editions (有料版との比較) [小ネタ] VSCode拡張機能にQuokka.jsを入れたらとても便利だった | DevelopersIO VSCode拡張機能 Quokka.jsの紹介|wharaguchi 追記終了 VSCodeRubyを気軽に実行する環境を作る。 - Qiita https://qiita.com/masakinihirota/items/ec90086bab86f369fa15 このTypeScript版です。 同じくVSCode拡張機能である CodeRunner を使います。 VSCodeTypeScriptが動く環境を追加します。 node.jsが入っていればts

    VSCodeでTypeScriptを気軽に実行する環境を作る。部分実行も可能 CodeRunner - Qiita
    takets
    takets 2021/03/12
    VSCodeにおけるQuickRun
  • mustache記法について簡単にまとめてみた

    今回の記事ではmustacheの記法について書いていきます。 もともと社内共有用にドキュメントを日語&適当に端折って簡単にまとめてたのですが、せっかくなのでQiitaにも投稿してみることにしました。 mustache is 何 様々な言語で組み合わせて使えるテンプレートエンジンです。 Loopなどロジック地味たことをする構文が存在しないので、Logic-Less templatesと呼ばれています。 タグの記法が{{hoge}}みたいになっていて、 { が口ひげみたいに見えるためmustache(口ひげ)というらしいです。 早速記法について書いていきます。 ドキュメント 英語のドキュメントがあるよ。日語はないよ(´・ω・`) https://mustache.github.io/mustache.5.html デモ これ書き方あってんの?を簡単に確認したい場合は以下のリンクが便利でした

    mustache記法について簡単にまとめてみた
  • Remember The Milkで思い通りのリピートタスクを入力する - Qiita

    Remember the milkのリピートについて タスク管理ツールであるRemember The Milk(RTM)にはスマートアドという入力方法があって、自然言語に近い構文で、かなりスピーディーに、そしてかなり柔軟にリピートタスクの入力ができるようになっている。 下記では「牛乳を買いに行く」というタスクを毎月月初から三番目の週末にリピートするようにしている。 ただ、いつも構文を忘れてしまう。このため下記にチートシートを載せる。なお、RTMは英語で使用しているので英語での入力になっている。確か日語でもそれなりに入力できるようになっているけれど試したことがない。自分は英語話せないんだけれど。忘れてしまうのはそのためかもしれない。 また、RTMのリピートには大きく分けて、 every と after がある。個人的にはあまり after を使わない。 every は現在のタスク完了がどう

    Remember The Milkで思い通りのリピートタスクを入力する - Qiita
  • 実行結果の出力先をモードレスウィンドウとして起動したVimにする - Qiita

    はじめに Vim上で起動した実行結果は、基的にはウィンドウ分割された別のバッファに出力されるのですが、 ソースコード用の画面が狭くなる サブモニタに結果を出力したい という個人的な不満がありました。 そこで、あーIDEのようにfloating windowに結果を出せたらなあ、という事をふと考え、実装してみる事にしました。 どんな感じになるかは冒頭のデモ画面の通りです、RustをQuickRunで実行し、来バッファに出力される実行結果をPythonサーバー経由で別のVimに送信し出力しています。 Vimから直接他のVimプロセスと通信出来れば、例えばメインエディタ側をサーバーに出来ればPythonサーバーは省けるのですが、あまり詳しく調べていないのでVimにもサンプルとして同封されているPythonサーバーを改造しソケット通信で実行結果を渡す方法をとりました。 これらの実装一式はプラグ

    実行結果の出力先をモードレスウィンドウとして起動したVimにする - Qiita
    takets
    takets 2020/12/24
  • DI利用時のUnitTestの課題を解消する:Mock Injection Factoryパターン - Qiita

    Dependency Injectionパターンを用いたクラスのテストコードを記述しているとき、Injectionする対象が増えた際、修正が広範に及んでしまう事があります。 このとき、依存オブジェクトを注入して生成するFactoryクラスを利用してテスト対象のクラスを生成することで解決ができます。 背景 次のClientのようなテスト対象のクラスが存在したとします。 public class Client { private IFooServer FooServer { get; } public Client(IFooServer fooServer) { FooServer = fooServer; } public void Foo() { FooServer.FooService(); } } public interface IFooServer { void FooServic

    DI利用時のUnitTestの課題を解消する:Mock Injection Factoryパターン - Qiita
  • 自分が間抜けすぎて殺したくなったので、ハマり防止のメソッドを考えてみた。 - Qiita

    今日は心底自分にあきれ果てた。ある問題に悩み始めたのが15時ごろで、終わったのが22時だから、7時間かかったことになる。その問題の解決方法が分かったときには正直自分を殺したくなった。当は夕方から筋トレにいって、ごはんべながらNetflix見て、ギター弾いてとかたくさんできたし、技術だけをやっていたとしても、7時間あったら、相当勉強できるしコードも書ける。そんな目にもうあいたくないので、今回の原因を分析して、メソッドに落とし込んでみた。 今回起こった問題の整理 私の解こうとした問題は簡単だった。というか過去にも似たような問題を解いたことがある。自分が今日は思ったように貢献できなかったら、今日一つぐらい貢献して帰ろうと思って、過去にやったことある問題をピックアップした。問題は単純で、.NET Core 3 のアプリをデプロイする ARM template とスクリプトを作成するというものだ

    自分が間抜けすぎて殺したくなったので、ハマり防止のメソッドを考えてみた。 - Qiita
    takets
    takets 2020/12/23
  • JavaScriptはthisで挫折して初めて成長する - Qiita

    なぜJavaScriptのthisは難しいのか Q. なんでみんなthisでこんなに苦しんでいるの? 答えは簡単で、場所によってthisが何を指すのかが変わるからです。 特にこの問題はjQueryで起きやすいです。 かなり稀ではありますが、TypeScriptを使ってもやらかす人がたまにいます。 例として、以下のようなコードを考えてみます。 $(function(){ console.log(this);// -(1) $("input[type=checkbox]").each(function(){ console.log(this);// -(2) $(this).parent().find("label").each(function(){ console.log(this); // -(3) $(this).addClass("requied"); }); }); })

    JavaScriptはthisで挫折して初めて成長する - Qiita
  • Gitと連携するツールとしてのVim - Qiita

    はじめに Vimといえば、みなさんご存じテキストエディタですが、テキストエディタである以前に一つのCLIコマンドでもあります。そんなCLIコマンドの利点一つにThe UNIX philosophyの定理として提唱されている『7. Use shell scripts to increase leverage and portability. (シェルスクリプトによって梃子(てこ)の効果と移植性を高める)』というものがあります。 今回は私も普段の仕事で利用しているVimの梃子としての側面をご紹介できればと思います。 GitコマンドとVim 今回Vimと組み合わせるのはシステム開発で避けては通れぬバージョン管理システムGitです。私は普段Gitを使用するときにはSourcetreeやGitKrakenなどのGUIクライアントを利用せずにCLIで操作をしています。 皆さんこう思われるかもしれません

    Gitと連携するツールとしてのVim - Qiita
    takets
    takets 2020/12/16
  • gRPCって何? - Qiita

    この記事は、gRPC を調べたことを走り書きしたレベルものです。実際の利用経験に基づいた情報でもなければ、しっかり時間をかけて裏付けをとった情報でもないため、誤った理解が含まれている可能性がある点にご注意ください。ツッコミや編集リクエストは歓迎します。 概要 gRPC は、RPC (Remote Procedure Call) を実現するためにGoogleが開発したプロトコルの1つです。Protocol Buffers を使ってデータをシリアライズし、高速な通信を実現できる点が特長です。 gRPCでは、IDL(インターフェース定義言語)を使ってあらかじめAPI仕様を .proto ファイルとして定義し、そこからサーバー側&クライアント側に必要なソースコードのひな形を生成します。言語に依存しないIDLで先にインタフェースを定義することで、様々なプログラミング言語の実装を生成できるというメリッ

    gRPCって何? - Qiita
    takets
    takets 2020/12/16
  • JavaScriptの口寄せ的な存在? call()メソッド - Qiita

    はじめに JavaScriptのメソッドcall()とapply()の使い方、何ができるのか?サンプル(簡単な使用例)、thisの参照先の考え方(windowとは?)についてまとめています。 call()は呼び出すメソッド call()は使いたい関数を、thisの参照先を変えて、呼び出すメソッドです。 call()は単語が意味するように何かを呼び出すメソッド 呼び出す相手は使いたい関数 = function 普通の関数呼び出しとの違いは関数のthisの参照先を変えられる 何ができるのか? ここまでの説明では結局、何が出来るのか?ピンとこないと思います。 call()で出来ることをロールプレイングゲームで例えると、「呪文を使えない戦士が、僧侶の能力を自らに取り込んで、回復呪文を使う」。自分が持っていない誰かのスキルであっても、まるで口寄せのように使うことができる。そんなイメージかと思います。

    JavaScriptの口寄せ的な存在? call()メソッド - Qiita
  • [JavaScript (クラスの作り方)] JSやURLのアレコレについて触れながら、URLを操作するクラスを作ってみよう! - Qiita

    [JavaScript (クラスの作り方)] JSやURLのアレコレについて触れながら、URLを操作するクラスを作ってみよう!JavaScriptIEURL JavaScript Advent Calendar 2020の11日目の記事です。 記事のターゲット どうやってJavaScriptのクラスが作られるのかを、試行の脇道も含めて見てみたい方 URLを弄るクラスを求めて来た方 TL;DR URL操作ならURLコンストラクタやURLSearchParamsとかを使ったりするね でもどちらもIEでは使えなかったり、URLSearchParamsについてはちょっと使い勝手が悪かったりするよね というわけで、イチからURL操作用クラスを作ってみるよ IEでも使えるようにするよ(ただし、ページ最後にclass式で書き直したものも載せておくよ) URLのパラメータを整形するよ インスタンスのSt

    [JavaScript (クラスの作り方)] JSやURLのアレコレについて触れながら、URLを操作するクラスを作ってみよう! - Qiita
    takets
    takets 2020/12/11
  • JavaScript における配列コピー - Qiita

    JavaScript における配列コピーの問題 JavaScript における配列( array )はオブジェクトのため参照コピーされる。 つまり、コピー先の配列を変更すると、コピー元の配列が変更されてしまうといった事象が発生する。 例えば次のようになる。 array = [1,2,3]; arrayCopy = array; arrayCopy[0] = 4; console.log(arrayCopy); // [4,2,3] console.log(array); // [4,2,3] : コピー元の値も変更される

    JavaScript における配列コピー - Qiita
    takets
    takets 2020/12/07
    es2015以降はスプレッド構文がよろしげ