- 1. 依存OSSのライセンス一覧(JSON)生成ツールを作ってみた
- 2. Goのアプリケーションをテンプレートから自動生成するCLIツール
- 3. Hinemosについて
- 4. Wordmoveにプルリクエストを出してみた。
- 5. Findyの偏差値スコアを爆上げする裏技(2020年1月)
- 6. OSSのライセンスについて、重要なところを拾ってみた
- 7. OSSのライセンスについて、観点をまとめてみた
- 8. MITライセンスについて
- 9. Deno に signal handler の API を実装した話
- 10. Google Code-in 2019に参加した感想
- 11. OSSのFirefoxにコントリビュートしてみた話
- 12. SQLite : 新機能(3.31.0) Generated Column (生成列)を使ってみました!
- 13. マストドン構築3日目 on AWS
- 14. 簡単に投票を共有できるツールをOSSで公開したよ
- 15. 【OSS貢献記録】emoji-martをReact 17に対応
- 16. Mastodonをv3系に上げたらDB負荷が激増した話(と解消してコントリビュートした話)
- 17. マストドン構築2日目 on AWS
- 18. VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみた
- 19. マストドン構築1日目 on AWS
- 20. kubernetesのダッシュボードv2.0.0をデプロイしてみる
依存OSSのライセンス一覧(JSON)生成ツールを作ってみた
# はじめに
[「Qiita – Angular CLIビルド時にできる利用OSSリスト(3rdpartylicenses.txt)をWebアプリ上に表示する」](https://qiita.com/kyosho/items/4d321dc5bf3593a0fd1c)で自動生成される `3rdpartylicenses.txt` を読み込んで画面に表示しました。
これは簡単にOSSのライセンスに準拠できるというメリットがあります。
ただ、テキストをそのまま表示するだけでしたので、自由なレイアウトができない、といった課題がありました。そこでテキストではなく、JSONで出力する方法を調査してみました。
結果、、、ツールを自作したので、紹介します。## 類似ツールの調査
まず、思い描いているツールや機能の存在を確認してみました。
私の検索能力だと2つ見つけられました。### [license report tool](https://www.npmjs.com/package/license-report)
`node_modules`以下のpackage.jsonを解析し
Goのアプリケーションをテンプレートから自動生成するCLIツール
## 作成したもの
**gogener**とは、テンプレートからGoのプロジェクトを自動生成するCLIツールです!
Chefのtemplateっぽく使えたらと思って作りました。## 動作
![test](https://user-images.githubusercontent.com/21288308/70862524-d8b16200-1f80-11ea-812d-8ee6a92a140b.gif)—
### モチベーション
新しくWebのAPIを作成する時に、
一から書くと時間かかって面倒臭いので、
テンプレートだけ作っておいて、いつでもプロジェクトを使えるようにしようとました## どんなテンプレートがあるの?
テンプレートの取得には、gogener自身が持っている
Hinemosについて
今回は統合運用管理のOSS Hinemosについて
調査してきました。[HinemosのWebサイト](https://www.hinemos.info/)を参照させていただきました。
# Hinemosとは
統合運用管理ソフトウェアで下記の機能が行えるソフトウェアです。
・ログの収集、蓄積
・見える化・分析
・対応フローの自動化
などが可能な統合管理ソフトウェアで、自社サーバを管理されている方なども非常にありがたいOSSです。HinemosはJavaで開発されているOSSで、
ライセンスはGNU General Public Licenseです。# Hinemosの強み あらゆる環境に対応
物理環境だけでなく、仮想化やクラウドなどにも対応しており、
マルチプラットフォーム対応です。
また、収集、監視、自動化などといった多機能なため
極めていけば他のOSSとの連携もかなりの相乗効果が期待できます。# Hinemosの導入事例
下記URLをご覧いただくと分かる通り、
様々な業種にご利用されております。
[Hinemos導入事例](https://www.hinemo
Wordmoveにプルリクエストを出してみた。
## はじめに / これはなに?
この記事は、[Wordmove](https://github.com/welaika/wordmove/)というWordpress用のデータ移行ツールに、**プルリクエスト**を出してみた際の記録です。
※Wordmoveについては、以前このような記事を書きました。
– [wordmoveを使ってWordPressサーバのデータを開発機に再現](https://qiita.com/akiko-pusu/items/43d87896a518233d9503)
### とりあげること
ことの始まりから書くと長くなりますので、まずは端的に行ったことを。
– なぜこんなことをしたのか
– プルリクエストを出すまでの準備段階
– プルリクエストを出す際の工夫
– 返事をもらうまで
– コードレビューしていただいたこと題材決めや、こういった活動の理由は後半に書きますので、もしご興味持っていただけたら、眺めて見てください。
– なぜWordmoveにしたか
– 取り上げる題材をどうやって決めたか### とりあげないこと
– Wordmove
Findyの偏差値スコアを爆上げする裏技(2020年1月)
## findyについて
皆さんFindyを利用していますでしょうか?
https://findy-code.io/
GitHubが好きなので私もよく利用しています。
草を生やしながら偏差値も上がっていくのが楽しいです。
このサービスはPR数やストローク数など
様々な情報を基に偏差値を算出しているのだと思いますが、あることをすると偏差値が一日で3あがりました。(57→60)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273096/763a3689-8b22-096a-5dc1-538fb5d81334.png)
実際私は偏差値が60もあるとは思ってませんが、何をしたと思いますか?
## Parcelに翻訳コントリビュートした
スター数34k超えの有名OSS! https://github.com/parcel-bundler/parcel
のwebsiteです、、、https://github.com/parcel-bundler/website (スター数2
OSSのライセンスについて、重要なところを拾ってみた
# はじめに
本題に入る前に、前提となることを記述しておきます。
## 結論
この記事の結論を先に書いてしまいます。
結論は以下です。– GPLはソースコード開示が必要なコピーレフト型ライセンスである。
## 目的
目的は以下です。– 原文のどこを見て判断できるかわかる
## 書いていないこと
– ライセンスごとの一覧
– インターネットには、「[ここ](https://docs.google.com/spreadsheets/d/1smp9rjunA2DeagL65gy2fqUC-7i-90gQZk2uJ81hE0M/htmlview?sle=true#gid=0)」のような、まとまっている素晴らしいものがあります。
– 一覧が見たければ↑を見ましょう。## 読者の対象
読者の対象は以下です。– ライセンスの原文を読みたくない人
– 使おうとしているOSSの利用条件のソースを知りたい人## おことわり
前もって以下をおことわりしておきます。– この記事はアジャイルに書いています。
– 常にリリース(投稿)を大事にしており、徐々に加筆してい
OSSのライセンスについて、観点をまとめてみた
# はじめに
本題に入る前に、前提となることを記述しておきます。
## 結論
この記事の結論を先に書いてしまいます。
結論は以下です。– コピーレフト型から生まれたものはコピーレフト型である。
## 目的
目的は以下です。– OSSを扱うときに、着目すべき観点を明確にする。
## 書いていないこと
この記事に書いていないことは以下です。
– ライセンスの種類
– 各ライセンスの特徴## 読者の対象
読者の対象は以下です。– OSSを組み込んだ開発をしている人
– 自分自身## おことわり
– この記事はアジャイルに書いています。
– 常にリリース(投稿)を大事にしており、徐々に加筆していきます。# 本題
## 重要な用語を理解するために必要な用語
これ自体は、OSSのライセンスを読み解くのに必要ではありません。
が、重要な用語を理解するのに役立つであろう用語です。### コピーライト
いわゆる「著作権」です。ここで説明する必要もないと思いますが、
簡単に言うと、「勝手に使わないでね!」っていうものです。各自が作成したものは、著作権
MITライセンスについて
# はじめに
今回はオリジナルアプリの制作で利用した「Foundation」・「Bootstrap」がMIT Licenseを適用されていたので、それをプロジェクトに反映し、githubでpushし、公開するまでの手順をまとめます。## MIT Licenseとは?
そもそもMIT Licenseとはオープンソースを利用する上で守るべきライセンス(規約)のうちの一つです。
オープンソースについては「」の記事でまとめてあります。## 適用の仕方
1、README.txtとLICENSE.txtを対象のプロジェクトのトップディレクトに作成する。
2、LICENSE.txtにイセンス文書を貼り付けて西暦と作成者を記載する。
https://opensource.org/licenses/mit-license.php3、README.txtにライセンスの説明書きを記載する。
「This software is released under the MIT License, see LICENSE.txt.」4、Githubにpushする。
pushするとMIT LI
Deno に signal handler の API を実装した話
Deno は [Node.js みたいなやつの新しいやつ](https://qiita.com/kt3k/items/e1647683ad08ff6b6e95)です.
この記事で signal と言っているのは, Ctrl-C を押した時にプログラムに送られる SIGINT や, kill コマンドを実行した時に送られる SIGTERM などの事です.
Deno は汎用の JavaScript 処理系を目指したプロジェクトですが, 最近までこのような signal をハンドリングする API がありませんでした. この記事はその API を自分が実装した話です.
# 発端
[deno勉強会4](https://scrapbox.io/deno-ja/deno%E5%8B%89%E5%BC%B7%E4%BC%9A4) で @hashrock さんが, delectron という Deno で electron をやるというプロジェクトをやっていました. そのデモの中で, Deno には Ctrl-C や終了時の hook を取る手段がないので, プログラム終了時の後処理が出来なく
Google Code-in 2019に参加した感想
僕は今年Google Code-in 2019に参加していました。
Googleからデジタル証明書が届いたので、これを記念に記事を書きたいと思います。## Google Code-inとは
※以下Google Code-inはGCIと略します。
### 概要
公式Webサイトから引用します。
> Pre-university students ages 13 to 17 are invited to take part in Google Code-in: Our global, online contest introducing teenagers to the world of open source development. With a wide variety of bite-sized tasks, it’s easy for beginners to jump in and get started no matter what skills they have.
要約すると中高生をOSSの世界に引き摺り込むためのイベントです。
Google Summer
OSSのFirefoxにコントリビュートしてみた話
初めてOSSにコントリビュートしました。Firefoxに挑戦してみました。
そのことについて書きたいと思います。
## きっかけ
[Google Code-inを通してOSSに興味を持つ](https://qiita.com/u7693/items/73bd8854d19ad344566b)が、やっぱり高い壁を感じていた。
そんな時にYouTubeおすすめ欄に有名なJust Do Itおじさんが出現。
「いまやらねばいつできる」ということでやってみました。## やってみた
時系列で書きます。
### ドキュメントの確認とソースコードのダウンロード
[MDN Developer guide](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide)を軽く読み、ソースコードをダウンロードします。
MozillaのプロジェクトはMercurialで管理されています。[開発はGitでもできる](https://developer.mozilla.org/en-US/docs/Mozilla/Develop
SQLite : 新機能(3.31.0) Generated Column (生成列)を使ってみました!
MySQL, PostgreSQL で使用できる Generated Column (生成列) が SQLiteでも バージョン 3.31.0 (2020/01/22 リリース)からサポートされましたので使ってみましたのでレポートします。
Generated Column を使うと、(同じテーブル内の) 他の列の値を利用した計算結果を、特定の列に格納することが可能になります。Oracleの仮想列に近い機能だと思います。
今回は前半がリリース前のドキュメントのまとめ(ほとんど日本語訳!?)と、実際に使ってみての検証を書いてみました。# Generated Column とは
Generated Column は同じレコードの他の列から計算結果を格納した列です。Generated Column は読み込み可能ですが、直接、値を書き込むことはできません。Generated Column の値を変更する方法は、Generated Column の計算で使用される列の値を変更するしかありません。
## 構文
構文的には、Generated Column は、”GENERATED ALW
マストドン構築3日目 on AWS
# 経緯
前回書いた [マストドン構築2日目 on AWS](https://qiita.com/suwa3/items/eb4fe8303b1b720737fa) の続きです。
半年ほど前に AWS & Docker ド素人の状態から
なんとかインスタンスをたてて運用していました。EC2の上にDockerで本番運用していましたが、だんだん辛くなってきたのでDockerから降ろすことにしました。
その作業ログです。# 環境 / ツール
macOS Mojavi 10.14.6
AWS# 参考にしたもの
マストドンGitHub
https://github.com/tootsuite/mastodon
公式ドキュメント
https://docs.joinmastodon.org/admin/install/# サーバー内での作業
まずサーバーにsshログインします。
“`
$ ssh ubuntu@3.112.***.*** -i ~/.ssh/hoge.pem
“`作業に入る前に、とりあえずrootユーザーになります。
“`
sudo su –
“
簡単に投票を共有できるツールをOSSで公開したよ
# 何に使うためにつくったの?
チームのメンバーでブログのテーマを決めるため(結局間に合わなかったけど)# URLは?
https://syukei-san.xyz/# 使い方は?
1. 投票したい/多数決を取りたいデータを1行ごとに入力
1. 利用規約を読んで同意する
1. 出来上がったフォームをメンバーにシェアする
1. メンバーがフォームで投票する(一人が複数投票することはできません!)# どの言語で作ったの?
nodejs# github URLは?
https://github.com/newsdict/syukei-san.xyz/# なんでテスト書いてないの?
急いで作ったのでテスト書いてないです。。。
もっと使う用途が出てきたら書いていこうと思います。仕様を考えながら作る場合、テストコードどうしてるんだろう?
# いつ公開しはじめたの?
[7 Jul 2019](https://github.com/newsdict/syukei-san.xyz/commit/b4c76660a74046d9756fcbf1ca126078074224eb)
【OSS貢献記録】emoji-martをReact 17に対応
前回のOSS貢献記録は[こちら](https://qiita.com/h6akh/items/0817a8ded6f1aeb09917)。
# はじめに
[emoji-mart](https://github.com/missive/emoji-mart)は、下の画像のように絵文字選択フォームを実現するReactコンポーネントです。
このコンポーネントを実際に利用していたら、次のような警告文がJavaScriptのコンソールに表示されました。
“`
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://f
Mastodonをv3系に上げたらDB負荷が激増した話(と解消してコントリビュートした話)
こんにちは! フィフス・フロアのnotozekiです。今年は記事書いてくイヤーにしたいと目論んでいます:triumph:
先日、[ichiji.social](https://ichiji.social/)というMastodonサーバーをv2.7.3から一気にv.3.0.1までアップグレードしました。
このアップグレード直後、**DBサーバの負荷が異常に高まる**という現象が発生し、解決に苦戦したので、そのときの知見を共有したいと思います:elephant:
また、最後にも記載していますが、解決策を本家MastodonにPull Requestとして送っています。~~記事執筆時点ではまだマージされていませんが、~~もし同様の問題に悩んでいる方がいればこちらをお試しください(2020/01/22 追記: マージされました!):
[Fix slow query of federated timeline by notozeki · Pull Request #12886 · tootsuite/mastodon](https://github.com/tootsuite/masto
マストドン構築2日目 on AWS
# 経緯
前回書いた [マストドン構築1日目 on AWS](https://qiita.com/suwa3/items/d5d7da30825339704da3) の続きです。
半年ほど前に AWS & Docker ド素人の状態から
なんとかインスタンスをたてて運用していました。EC2の上にDockerで本番運用していましたが、だんだん辛くなってきたのでDockerから降ろすことにしました。
その作業ログです。# 環境 / ツール
macOS Mojavi 10.14.6
AWS# 参考にしたもの
マストドンGitHub
https://github.com/tootsuite/mastodon
公式ドキュメント
https://docs.joinmastodon.org/admin/install/# サーバー内での作業
まずサーバーにsshログインします。
“`
$ ssh ubuntu@3.112.***.*** -i ~/.ssh/hoge.pem
“`作業に入る前に、とりあえずrootユーザーになります。
“`
sudo su –
“
VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみた
# おめシスはいいぞ
VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という企画に参戦してみた。技術的にも非常に面白い試みだったので書き残しておく。## 経緯
夜中にTwitterのタイムラインを眺めていたら興味深い動画を見かけた。
[【検証】1ヶ月間、プルリクだけでホームページ作ったらどうなるの?](https://youtu.be/5h1NoX3my0s)どうやら「[おめがシスターズ(通称:おめシス)](https://www.youtube.com/channel/UCNjTjd2-PMC8Oo_-dCEss7A)」というVTuberが、自分たちのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という検証を行なっていた模様。
おめシスのホームページをGithubのプルリクで更新していったらどうなるのか、こっそり検証中です。そのうち動画にします!マストドン構築1日目 on AWS
# 経緯
半年ほど前に AWS & Docker ド素人の状態から
なんとかインスタンスをたてて運用していました。EC2の上にDockerで本番運用していましたが、だんだん辛くなってきたのでDockerから降ろすことにしました。
その作業ログです。# 環境 / ツール
macOS Mojavi 10.14.6
AWS# 参考にしたもの
マストドンGitHub
https://github.com/tootsuite/mastodon
公式ドキュメント
https://docs.joinmastodon.org/admin/prerequisites/# AWSでEC2インスタンスの作成
環境を合わせるため、以前の構築時に使用したAMIを利用します。
なぜeks用Ubuntuを利用したのかは謎です。半年前の自分に問い詰めたいです。
Ubuntuであれば大丈夫だと思います。
kubernetesのダッシュボードv2.0.0をデプロイしてみる# 概要
Docker for Mac で Kubernetes を試すため、サンプルとして[kubernetes/dashboard](https://github.com/kubernetes/dashboard) (**※**)のデプロイをしてみました。
**※dashboard**: k8sで管理しているリソースの状況をグラフや表で確認したり、podの管理やログの確認などをGUI操作で利用したりすることができます。
# 必要なものを確認
– Docker for Mac
– Kubernetesのインストールとセットアップをすることができます。
– kubectl
– API経由でKubenetesを操作するためのクライアントツールです。“`shell
$ docker -v
Docker version 19.03.4, build 9013bf5$ kubectl version –short –client
Client Version: v1.14.7
“`# Docker for DesktopのKubernetesを