- 1. macOSにGitLab開発環境セットアップ (GDK) (2020年9月)
- 2. 【監視】独自監視ソフトウェアからのロックドインを避け、オープンソースの恩恵を最大限に受ける方法
- 3. OSSにIssueを書いたら他の人がPRを作ってくれた話
- 4. Papermillでノートブックをバッチ実行して分散環境におけるハイパーパラメータ探索を効率化する方法
- 5. 【社内監視運用 vs. MetricFire 】 オープンソースで監視を実現するのか? 既成ツール? 両方の利点を取ったもの?
- 6. JavaでポストオブジェクトフォームのOSSへのアップロードをシミュレートする方法
- 7. Jira におけるバージョン、エピック、タスク、スプリントの使い分けについて
- 8. 自分用メモ – 主要なOSSのライセンスの概要(日本語)がIPAにあるよ
- 9. OSSに貢献してリリースノートに名前が載った話
- 10. [AWS] 安価で簡単にRedmineの環境を作成・管理できるよ!そうLightsailならね
- 11. Slurmを改造するために必要だったこと(3)
- 12. Pulsar Summitのセッションと、ヤフーの発表内容紹介
- 13. 接触確認アプリ「Cocoa」で英独の翻訳をした件
- 14. CentoOS7にKnowledgeをインストールしてみる
- 15. “TERN”を使ってコンテナ内の利用ソフトウェアパッケージを調査
- 16. ええっ!?Podman と Kubernetes では マニフェストファイルの解釈が違うのかい!?(at version 2.0.2)
- 17. 平凡なエンジニアがDenoにコントリビュートするためにやったこと
- 18. 【俺は】OSSの未来を考える【コードチューバーになる】
- 19. Access-Control-Allow-Origin (CORS 関連) ヘッダーを付与するシンプルな Reverse Proxy (cors-reverse-proxy) を Go 言語で作りました
- 20. サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介:使用方法・トレーニング編
macOSにGitLab開発環境セットアップ (GDK) (2020年9月)
**tl; dr:** GitLab本体(Web UI, API)をmacOS環境で開発する環境を用意する。
毎年のように、統合DevOpsプラットフォームGitLabの開発環境のセットアップ記事が作成されるが、日本語でQiitaで閲覧できる最新版になると想定して記述する。
### 想定
macOS: 10.13, 10.14, 10.15の想定。10.15の人はZshになっている可能性もある。MacBook Pro (Retina以降)が望ましいが、MacBook/MacBook Airでも動くと思われる。筆者はMacBook Pro (Retina, 13-inch, Mid 2014) i5 2コア 8GBメモリ、128GB SSD(空き容量20GB)で確認した。
GitLabコミュニティメンバー(つまり誰しも)を想定。
—
### なぜ書くのか。
2020-09-02/2020-09-03で開催されるGitLab Hackathon 3Q 2020を日本語で https://gitlab-jp.connpass.com/event/187652/ https:
【監視】独自監視ソフトウェアからのロックドインを避け、オープンソースの恩恵を最大限に受ける方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/ddd6ee6c-5aaa-f231-2bcd-61d321bd941d.png)
#ベンダーロックインの回避
監視で使用しているツールに求めていた以上の機能がなかったり、スケールによってより高額な支払いを請求された場合でも、大手の監視会社と契約してしまうと、そのツール簡単に離れられないというのはよく聞く話です。 大きな理由としては、高価なソフトウェアまたはハードウェアを交換し、チームを再教育し、大量のデータを新しいシステムに転送することは大きな労力を要するからです。多くの場合、主要な監視サービスは、カスタマイズ、カスタム作成プラグイン、またはオンプレミスセットアップでは柔軟ではありません。 多くの製品は、学習曲線が急であるため、従業員の教育に時間がかかります。 同様に、**項目化された隠れたコストの結果として、コストは天文学的なものになる可能性があります**。
###ベンダーロックインとして、次のような例あります
–
OSSにIssueを書いたら他の人がPRを作ってくれた話
## なんか感動した
人生で初めて OSS に Issue を書いてみました
修正方法はわかっていたのでプルリクを出してみようかと思ったけどやり方が分からずにモヤモヤしてました
すると他の人がコメントで PR 出しますよ〜と、やってくれて感動したので共有したいと思いました※ Issue を書いた以外は私は何もしていません・・・ぴえん
## 経緯
### バグ発見
いつも使ってる Buefy でバグを見つけました
↓ 記事
[【Buefy】b-table の background スタイルのバグを見つけたので修正してみた](https://qiita.com/azuharu07/items/4f8fcd92e049e34c2797)折角の機会なので OSS である Buefy のリポジトリに Issue を書いてみようと思いました
### 人生初 OSS に Issue 投稿
規約を読み、先生(google)の翻訳機能を駆使しながら拙い英語で書いてみました
[the margin part of the b-table record is displayed in
Papermillでノートブックをバッチ実行して分散環境におけるハイパーパラメータ探索を効率化する方法
# 1. はじめに
こんにちは,(株) 日立製作所 [Lumada Data Science Lab.](https://www.hitachi.co.jp/New/cnews/month/2020/03/0330d.html) の露木です。
今回はJupyterノートブックで引数付きのバッチ実行を可能にし,ハイパーパラメータ探索などを効率化する[Papermill](https://papermill.readthedocs.io/en/latest/usage-workflow.html) というOSSを紹介します。Papermillの設計思想や他ツールと組み合わせたシステムの全体像については,開発元の[Netflixが詳細な記事](https://medium.com/netflix-techblog/notebook-innovation-591ee3221233) を公開しているのでそちらもぜひご覧ください。
## 1.1. Jupyterの利点
データサイエンス分野の方々であれば,機械学習スクリプトの試作やレポート作成のために[Jupyterノートブック](htt
【社内監視運用 vs. MetricFire 】 オープンソースで監視を実現するのか? 既成ツール? 両方の利点を取ったもの?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/f1c4ee35-dc00-a5aa-6031-074a59ea76cc.png)
###自社運用で監視を行うべきか? [MetricFire](https://try.metricfire.com/japan/?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=In-house%20vs.%20MetricFire)で行うべきか?
#自社運用での監視とMetricFireの主な3つの違い
1. 社内監視にはエンジニアのチームが必要です。 [MetricFire](https://try.metricfire.com/japan/?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=In-house%20vs.%20MetricFire)は[完全に管理/ホストされたプ
JavaでポストオブジェクトフォームのOSSへのアップロードをシミュレートする方法
**Alibaba Cloud Object Storage Service(OSS)**は、「バケット」と呼ばれるリソース内にオブジェクトを格納します。Post ObjectはHTMLフォームを使って、指定したバケットにファイルをアップロードします。
*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/simulate-post-object-form-upload-to-oss-in-java_332241)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*
#序章
Alibaba Cloud Object Storage Service (OSS)は、クラウド上で大量のデータを保存、バックアップ、アーカイブすることができる使いやすいサービスです。OSSは暗号化された中央リポジトリとして機能し、世界中のファイルに安全にアクセスすることができます。さらに、最大99.9%の可用性が保証されており、グローバルチームや国際的なプロジェクト管理に最適で
Jira におけるバージョン、エピック、タスク、スプリントの使い分けについて
## はじめに
Jira とは Atlassian 社が開発するソフトウェアです。
パブリックオープンソースプロジェクトで広く使用されています。
アジャイルおよびソフトウェア開発プロジェクトの計画、追跡、管理を行うことができます。
Jira を使用する上で使用することになる`バージョン、エピック、タスク、スプリント`がどのような役割を担っているのかを説明します。## それぞれの役割
ここでは Jira におけるタスク、エピック、バージョン、スプリントそれぞれについ例を挙げて説明していきます。
保守開発案件でユーザ管理機能を追加して欲しいという要望を貰った場合を例とします。### バージョン
リリースに含まれる機能・要望でグルーピングしたものです。
> 例)
> 今回の前提条件だとユーザ管理機能がバージョンになります。### エピック
エピックとは、タスクを一定のジャンルでグルーピングしたものです。
> 例)
> ユーザ管理機能は複数の機能で成り立つものとし、以下に挙げる機能がそれぞれエピックになります。
>
> – 一覧機能
> – 登録・更新機能
>
自分用メモ – 主要なOSSのライセンスの概要(日本語)がIPAにあるよ
# 経緯
私用で、とあるオープンソースプロジェクトのソースをダウンロードしようとしたときに、ライセンスの原文を読む気力が起きなかったので、日本語で概要を解説しているとこがないかと探してみた。結果、IPAによさげな資料があったので、備忘を兼ねて残しておく。
# 参考資料
独立行政法人であるIPA(情報処理推進機構)の発行物
[OSS ライセンスの⽐較および利⽤動向ならびに係争に関する調査 2010年5月 – 調査報告書](https://www.ipa.go.jp/files/000028335.pdf)
に、下記のライセンスの概要が日本語で掲載されている。– AGPLv3
– EUPL– MPL
– LGPLv3
– CDDL
– CPL
– EPL
– YPL– BSD License
– Apache License 2.0
– MIT License
– Sendmail License
– OpenSSL License/SSLeay License
– CPOL
– ISC License
– Artistic License※IPAなので信頼できるソ
OSSに貢献してリリースノートに名前が載った話
# 概要
このたび、OSS(Gradle)に貢献してリリースノートに名前が載りました。めっちゃうれしいです!
といっても、実はあまり胸を張れるような話ではないです。修正内容は地味ですし、詳細は後述しますが色々やらかしてだいぶご迷惑をおかけしてしまいました…
そんな体たらくなのに、一応コントリビュータとして扱ってくれるGradle開発元の皆様の懐の深さには感謝しかありません。まあ、形はどうあれ私自身にとっては貴重な経験だったので、きっかけからマージされるまでの経過について記録を残すということで投稿します。
なお、該当のリリースノートはこちらです。
https://docs.gradle.org/6.6/release-notes.html# 何をしたか
JUnit5で書かれたテストをGradleで実行した際に出力されるテスト結果のXMLの内容をちょっといじりました。具体的には `@DisplayName` アノテーションが付与されている場合はその値がXMLに出力されるようにしました。
`@DisplayName` とは、テストクラスやテストメソッドについて、テストの実行結果に
[AWS] 安価で簡単にRedmineの環境を作成・管理できるよ!そうLightsailならね
# Redmine
今更説明する必要もありませんが、Webベースのプロジェクト管理ツールです。
AWSでは、DB(PostgreSQL、MySQL)や全文検索(Elasticsearch)、あるいはコンテナ管理(Kubernetes)など、様々なOSSがマネージドサービスとして提供されていますが、残念ながらプロジェクト管理や課題管理をしてくれるサービスがありません(2020年8月現在)。これらのサービスを利用しようと思ったら、
* EC2インスタンス上で起動
* ECSでRedmineのコンテナを起動少なくともAWS上で、ということを考えると、この辺がすぐに思い浮かぶと思います。
が、しかし、もっと簡単な方法があるのです。それも定額で。
# Amazon Lightsail
AWSでの仮想サーバといえば、すぐに思い浮かぶのは、やはりEC2だと思います。
EC2は、多種多様なインスタンスやOSの選択ができる一方、課金がインスタンスの稼働時間に依存するため、気がつくと高額になっている、なんてことも実はない話ではありません。
しかし、Lightsailは、なんと定額利用できる、
Slurmを改造するために必要だったこと(3)
#改造依頼
Slurmを改造する仕事の依頼がありました(2年前)。#ジョブを実行してみる
Slurmの動作環境を作成してジョブを実行してみる。
翻訳したドキュメントを参考に環境を作成してみた。
なんとか環境はできた。
sleep(5)ジョブを実行してみる。
動作する。
「OK、動いた」
改造作業のスタートラインについた感じである。#何から調査する
今回の改造は、「Slurmの中央管理デーモン」が対象だと思う…くらいの予測で改造する場所を探す。
で、何から?
プロジェクトにはSlurmシステム内いろいろなデーモンプロセスが混在している。
プログラムは何から始まる?
C言語プログラムなのでmain関数だなぁ…で、main関数をgrepする。
39本ありました(テストプログラム関係は除く)。
この中で「Slurmの中央管理デーモン」のmain関数を探す。
どれやん“`/slurm-20.02.3/src/slurmctld/controller.c
/************************************************************
Pulsar Summitのセッションと、ヤフーの発表内容紹介
>[Yahoo! JAPAN Tech Blog](https://techblog.yahoo.co.jp/)向けに寄稿した記事を、会社の許可を得てこちらにも転載しています。
[Pulsar Summitのセッションと、ヤフーの発表内容紹介](https://techblog.yahoo.co.jp/entry/2020072930014382/)こんにちは!
ヤフー株式会社の栗原と申します。
私は現在、キューイング, Pub-Sub, ストリーミングなどを実現するためのメッセージングプラットフォームを社内向けに提供するチームに所属しています。OSS [Apache Pulsar](https://pulsar.apache.org/)(以降、Pulsarと記載します)を紹介するこのシリーズも4回目、今回は先日行われた[Pulsar Summit](https://pulsar-summit.org/)の参加報告をしたいと思います。
Pulsarの仕組みや基本的な使い方については過去の記事をご覧ください:
* [メッセージングPF「Apache Pulsar」の使い方(
接触確認アプリ「Cocoa」で英独の翻訳をした件
こんにちは、[Yui](https://twitter.com/yui_active)です。
あんはるさんの[JKが接触確認アプリ「Cocoa」の開発に貢献した話。〜1日でXamarinを学びアプリ改善〜](https://qiita.com/Anharu/items/c00e882d678538be0ab0)をご存知でしょうか。
こちらを見て、何か私もできないかと思い、今回Cocoaの改善に挑戦することにしました。
# 前提
接触確認アプリ「Cocoa」はOSS(オープンソースソフトウェア)なので、ソースコードが公開されており、誰でもソースコードを見て変更依頼を上げたりすることができます。
私は技術力的には大したことはできないのですが、ちょっとした翻訳や文の修正(typoなど)ならできるかと思い、今回OSSをはじめて改善することにしました。# 行ったこと
– GitHubとSSH接続
– 出来ることを探した
– 設定
– 多言語化ファイルを探して英独翻訳# GitHubとSSH接続
はい、お恥ずかしながらGitHub使いはじめて約1年半、まだSSH接続していなかったので
CentoOS7にKnowledgeをインストールしてみる
## はじめに
以前の記事でApache/TomcatのWEBサーバを構築したが、何もしないのももったいないのでアプリをインストールしていみることに。
Apache/Tomcatのインストール手順は[こちら](https://qiita.com/nnagashima/items/e10bab5ae588741a9c6a)を参照して下さい。## Knowledgeとは
KnowledgeとはOSSの情報共有ツールになります。
Qiitaと機能はよく似ていおり、QiitaがPublic版であれば、Knowledgeはプライベート用といったところでしょうか。
機能としては以下の様な機能があります。・投稿(タグ付、ファイル添付可能)
・投稿はMarkdown形式
・情報公開の範囲を設定可能
・検索がしやすい
・他のアプリケーションと連動しやすい(Webhhok機能がある)回し者ではないですが、やる前にどんなことができるか確認してみたい人は、
[こちらのリンク](https://test-knowledge.support-project.org/open.knowledge/
“TERN”を使ってコンテナ内の利用ソフトウェアパッケージを調査
# はじめに; TERNとは?
本記事では[Tern](https://github.com/tern-tools/tern)の利用方法と結果を紹介する.Ternは公式で”Tern is a software package inspection tool for containers. It’s written in Python3 with a smattering of shell scripts.” と説明されているされているコンテナ内のソフトウェアパッケージを分析するツールである。[Scancode-toolkit](https://github.com/nexB/scancode-toolkit)を呼び出し検出されたパッケージのOSSライセンスの確認を行ったり,[cve-bin-tool](https://github.com/intel/cve-bin-tool)を呼び出し検出されたパッケージ脆弱性情報の確認を行うことも可能である.# TERN のインストール
インストールにはコードからインストールする他にpipを利用インストール,Vagrantを利用インストール
ええっ!?Podman と Kubernetes では マニフェストファイルの解釈が違うのかい!?(at version 2.0.2)
※ Podman version 2.0.2 にて確認、2020/7/17 時点で既に修正に着手されている問題です。
## 問題の概要
`podman play kube` コマンドでポッドを作成すると、 Podman は Kubernetes マニフェストファイル中の command パラメータを 「イメージの ENTRYPOINT の上書き」ではなく、事実上の「追記」として処理しており、どうもこれは Kubernetes とは異なる挙動のよう。Podman と Kubernetes の間でマニフェストファイルの互換性が保てなくなるはずなので不具合なのでは?## 再現方法
同一ポッド内での IPC 通信のデモを Podman で行うために、こちらのマニフェストファイルをお借りしました。
https://qiita.com/mamorita/items/15437a1dbcc00919fa4e“`ipc.yml
apiVersion: v1
kind: Pod
metadata:
name: mc2
spec:
containers:
– name: produ
平凡なエンジニアがDenoにコントリビュートするためにやったこと
## はじめに
今年の1月ごろからDenoへコントリビュートを開始しました。
そこから現在に至るまで、半年程コントリビュートを継続しています。
この記事では、その経験を通して学んだこと・よかったことなどについてまとめます。## 自己紹介
– Webエンジニア歴は5年程度 (25歳)
– Node.js/TypeScriptは3年以上経験あり
– Deno歴は半年とちょっと
– **Rustに関するスキルは初心者に毛が生えた程度のレベル**
– **勉強が苦手です**
– 学力が低かったため、大学には行っていません。
– プログラミングを始めたころは`for`文の挙動が理解できず詰みかけました
– **英語力も実践には程遠いレベル**
– **Google翻訳やDeepLなどのサービスを利用すれば、ある程度読めるというレベルです**
– **リスニング・ライティング・スピーキングに関してはまったく自信がありません**私はWebエンジニアとして、取り立てて優秀なわけではありません。
この記事では、そういった私がいかにしてDenoへコントリビュートするようになった
【俺は】OSSの未来を考える【コードチューバーになる】
## 野生のハンバーグは海を泳いでるんだぜ
先日、GitHubの全パブリックリポジトリを北極圏の地下に
1000年間保存するプロジェクトが実施されたようです。[GitHubの全パブリックリポジトリを北極圏の地下に1000年間保存する](https://cloud.watch.impress.co.jp/docs/event/1219094.html)
### Arctic Code Vault Contributor
![git.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533968/bd17ab30-dfb3-5bef-fd99-d6899f1ebcd6.png)[The GitHub Blog](https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/)
オープンソースは人類の共有財産であるとして、
万が一世界的な規模
Access-Control-Allow-Origin (CORS 関連) ヘッダーを付与するシンプルな Reverse Proxy (cors-reverse-proxy) を Go 言語で作りました
# 概要
* Github
* https://github.com/kaishuu0123/cors-reverse-proxy
* Docker Hub (コンテナイメージもあります)
* https://hub.docker.com/r/kaishuu0123/cors-reverse-proxy# ユースケース
1. ローカルの開発環境などに
2. アプリケーションの連携をする際に、特定のアプリは信用して、リソース(画像や JS など)の読み込みを行いたいときに
* 具体例がちょっと微妙かもしれませんが、「GROWI と draw.io を連携する際に、draw.io からの読み込みは信用したい」というケース
サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介:使用方法・トレーニング編
# サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介:使用方法・トレーニング編
## はじめに
### 趣旨
本記事は、『サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介』の 第四弾「使用方法・トレーニング編」です。
本編では、セキュリティ人材育成に活用できる MITRE CALDERA の使い方を紹介します。
機能概要や環境構築につきましては第一弾「[機能概要・動作環境構築編](https://qiita.com/shiracamus/items/658ea3e5b28fa5ae3245)」をご覧ください。### 記事構成
紹介内容が多いため、以下の4記事に分けて紹介しています。
* [機能概要・動作環境構築編](https://qiita.com/shiracamus/items/658ea3e5b28fa5ae3245)
* [使用方法:レッドチーム編](https://qiita.com/shiracamus/items/e1bbdaaeff312e9bd09e)
* [使用方法:ブルーチーム編](https://qii