- 投稿日:2020-04-14T23:55:36+09:00
Alfred4 + emoj|Alfred4で簡単に絵文字が入力できるらしい!
Alfred4で簡単に絵文字が入力できるらしい!
しかも無駄にディープラーニングやってるとか
やったこと
- Alfred4インストール、PowerPack登録
- Node.jsのインストール
- npm -g install xxxに失敗するので、npmのデフォルトディレクトリを作成する
- alfred-emojのインストール
- Alfred Preferences > Workflows > Emoj > Copy to Clipboard > [x]Automatically paste to front most app
これはおもしろい!?
参考リンク
Alfred3 おすすめワークフロー 7選 + 1
https://qiita.com/ryo2132/items/ef392999d32732fa0455alfred-emoj
https://github.com/sindresorhus/alfred-emoj?ref=producthuntNode.js®
https://nodejs.org/en/【備忘録】npm -g install に失敗する
https://qiita.com/NaokiIshimura/items/cc07441939b226e779c6
- 投稿日:2020-04-14T23:55:36+09:00
Alfred4 + emoj|Alfred4で簡単に絵文字が入力できるらしい!→alfred-emojiに変更
Alfred4で簡単に絵文字が入力できるらしい!
しかも無駄にディープラーニングやってるとか(alfred-emoj)
↓
違うワークフロー(alfred-emoji)に変更
こっちのほうが新しい、インストール簡単、使い方もわかりやすいやったこと
- Alfred4インストール、PowerPack登録
- Node.jsのインストール
- npm -g install xxxに失敗するので、npmのデフォルトディレクトリを作成する
- alfred-emojのインストール
- Alfred Preferences > Workflows > Emoj > Copy to Clipboard > [x]Automatically paste to front most app
これはおもしろい!?
↓
- aflred-emojiのインストールに変更
参考リンク
Alfred3 おすすめワークフロー 7選 + 1
https://qiita.com/ryo2132/items/ef392999d32732fa0455alfred-emoj
https://github.com/sindresorhus/alfred-emoj?ref=producthuntNode.js®
https://nodejs.org/en/【備忘録】npm -g install に失敗する
https://qiita.com/NaokiIshimura/items/cc07441939b226e779c6↓
【Mac向け】よく使うAlfred Workflowを晒してみます【絵文字入力、FontAwesomeアイコン検索、エンコード/デコード、数値の基数変換】
https://blog.ttskch.com/mac-alfred-workflow-introducing/alfred-emoji
https://github.com/jsumners/alfred-emoji
- 投稿日:2020-04-14T14:16:43+09:00
vue-good-tableをTypeScriptで使おうとして TS7016: Could not find a declaration file for module 'vue-good-table'.
使用バージョン
$ npm list vue typescript vue-good-table app@1.0.0 ├── typescript@3.8.3 ├── vue@2.6.11 └── vue-good-table@2.19.1
問題
Vue.jsをTypeScriptで使っていて、以下ドキュメントどおりに進めたところ、コンパイルエラー発生。
エラー内容
TS7016: Could not find a declaration file for module 'vue-good-table'. '[app]/node_modules/vue-good-table/dist/vue-good-table.cjs.js' implicitly has an 'any' type.解決
[app]/@types/以下にファイル作成。
vue-good-table.d.tsdeclare module 'vue-good-table'TypeScriptまだ良く分からないですが、moduleを宣言すれば良いらしい。
@types/に関しては、d.tsファイルをそこに置くとコンパイル時に読み込んでくれるよう。※ tsconfig.json の typeRoots のデフォルト設定が @types ディレクトリになっています。
https://qiita.com/Nossa/items/726cc3e67527e896ed1eVueGoodTableはanyだけど、とりあえずコンパイルはできました!
- 投稿日:2020-04-14T09:52:47+09:00
Yarnでローカルのパッケージをaddする方法
この投稿では
yarn
コマンドで、ローカルのパッケージをインストールする方法を紹介します。通常
yarn add
はnpmjs.comで公開されたパッケージをダウンロードしてきてインストールしますが、ここで説明するのはローカルにのみ存在する自作のライブラリをadd
する方法です。(
npm
で同様のことをする方法は、「npmでローカルのパッケージをinstallする方法」をご覧ください)やりかた
ローカルのパッケージをインストールには、単純にインストールしたいパッケージのファイルパスを
yarn add
の引数にします:yarn add インストールしたいパッケージのパスnode_modulesにインストールされるパッケージをシンボリックリンクにしたい場合:
yarn add link:インストールしたいパッケージのパス
ローカルパッケージをインストールする具体例
少し具体例をもとに説明します。
以下の図のように、
myapp
パッケージとmylib
パッケージがあり、myapp
からmylib
を使いたい例を見てみましょう。
mylib
のindex.js
では、helloWorld
変数が提供されていて、myapp
のmain.js
でそれを使いたいとします。このとき、
myapp
パッケージにてyarn add ../mylib
を実行するとこれが実現します:$ yarn add ../mylib yarn add v1.22.4 info No lockfile found. [1/4] ? Resolving packages... [2/4] ? Fetching packages... [3/4] ? Linking dependencies... [4/4] ? Building fresh packages... success Saved lockfile. success Saved 1 new dependency. info Direct dependencies └─ mylib@1.0.0 info All dependencies └─ mylib@1.0.0 ✨ Done in 0.08s.インストールされると、
package.json
にmylib
への依存設定が追加されます:package.json{ "name": "myapp", "version": "1.0.0", "license": "MIT", "dependencies": { "mylib": "../mylib" } }
main.js
を実行してみます:$ node main.js Hello World!しっかりと
mylib
の変数が使われているが分かります。ちなみに、インストールされた
myapp/node_modules/mylib
はmylib
をごっそりコピーしたものになります。../../mylib
へのシンボリックリンクではないので注意です。シンボリックリンクにしたい場合はファイルパスの頭に
link:
を付けます:yarn add link:../mylib
最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローお願いします→Twitter@suin
- 投稿日:2020-04-14T09:41:16+09:00
npmでローカルのパッケージをinstallする方法
この投稿では
npm
コマンドで、ローカルのパッケージをインストールする方法を紹介します。通常
npm intall
はnpmjs.comで公開されたパッケージをダウンロードしてきてインストールしますが、ここで説明するのはローカルにのみ存在する自作のライブラリをinstall
する方法です。(
yarn
で同様のことをする方法は、「Yarnでローカルのパッケージをaddする方法」をご覧ください)やりかた
ローカルのパッケージをインストールには、単純にインストールしたいパッケージのファイルパスを
npm intall
の引数にします:npm install インストールしたいパッケージのパス
ローカルパッケージをインストールする具体例
少し具体例をもとに説明します。
以下の図のように、
myapp
パッケージとmylib
パッケージがあり、myapp
からmylib
を使いたい例を見てみましょう。
mylib
のindex.js
では、helloWorld
変数が提供されていて、myapp
のmain.js
でそれを使いたいとします。このとき、
myapp
パッケージにてnpm install ../mylib
を実行するとこれが実現します:$ npm install ../mylib + mylib@1.0.0 added 1 package and audited 1 package in 0.74s found 0 vulnerabilitiesインストールされると、
package.json
にmylib
への依存設定が追加されます:package.json{ "name": "myapp", "version": "1.0.0", "license": "MIT", "dependencies": { "mylib": "file:../mylib" } }
main.js
を実行してみます:$ node main.js Hello World!しっかりと
mylib
の変数が使われているが分かります。ちなみに、インストールされた
myapp/node_modules/mylib
は../../mylib
へのシンボリックリンクになります:$ ls -la myapp/node_modules lrwxr-xr-x 11 suin 14 Apr 9:35 mylib -> ../../mylib
- 投稿日:2020-04-14T00:59:33+09:00
discord.js + Klasa を使ったBotの作成覚え書き
参考 : discord.jsのフレームワークKlasaが強すぎる
合わせて読んでください。準備
- 環境
- Win10
- Node.js 12.13.0
- npm 6.12.0
適当にプロジェクトフォルダを作成し discord.js と Klasa をインストール
npm install --save discordjs/discord.js dirigeants/klasaコーディング
最初の一歩
app.js
を作成app.jsconst secret = require('./secret.js'); // BOTトークンはここに記述 const token = secret.token; const {Client} = require('klasa'); new Client({ prefix: '!!', // ボットのPrefix language: 'ja-JP', // 言語コード }).login(token);この状態で一度
node app.js
から起動し、危険なログが出てなければとりあず成功。コマンドの作成
commands/general
配下に以下のソースを作成。Klasaはファイル名がそのままコマンド名になる。
ディレクトリ名はヘルプのカテゴリ名になる。
なお、下のソースに書かれているusage
は単なる説明文ではなく引数のマッチャを参照するための記述なので注意。(これで30分ぐらい潰した……)commands/general/hello.jsconst {Command} = require('klasa'); module.exports = class extends Command { /** * @constructor * @param {...any} args */ constructor(...args) { // コマンドのオプション: https://klasa.js.org/#/docs/klasa/master/typedef/CommandOptions super(...args, { description: '挨拶を返す', usage: '<name:string>', // <>は必須引数、[]はオプション引数、<名前:型>のように書く }); } /** * @param {*} message */ async run(message,[name]) { return message.sendMessage(`${name}さんこんにちは!`); } };参考 :
Klasa : CreatingArguments
Klasa : CreatingCommandsBOTの反応はこんなかんじ
データストアの作成
providers
ディレクトリにプロバイダを作成する。公式を見るとなんか適当に書いてよさそうだったので適当に書いてみる。providers/datas.jsconst {Provider} = require('klasa'); module.exports = class extends Provider { /** * @constructor * @param {...any} args */ constructor(...args) { super(...args, {name: 'datas'}); this.counter = 0; } /** * init */ init() { this.counter=1; } /** * countup * @return {Number} count */ countup() { this.counter++; return this.counter; } };
hello.js
から動作確認してみる。const {Command} = require('klasa'); module.exports = class extends Command { /** * @constructor * @param {...any} args */ constructor(...args) { // コマンドのオプション: https://klasa.js.org/#/docs/klasa/master/typedef/CommandOptions super(...args, { description: '挨拶を返す', usage: '<name:string>', }); this.data = this.client.providers.get('datas'); } /** * @param {*} message */ async run(message, [name]) { return message.sendMessage(`${name}さんこんにちは!${this.data.countup()}回めの挨拶ですね!`); } };本当に適当に動いてしまった。