オープンソース調べOSS 2020年10月01日

オープンソース調べOSS 2020年10月01日
目次

OSS PHP SDKを使ってSwooleで機能を掘り下げる

**Swoole**はPHPの非同期・並列リクエストのための高性能なネットワーク通信エンジンです。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/swoole-based-simple-http-server-with-oss-sdk_347088)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/97250e97-d561-6f7f-abef-27747cf0646e.png)

#序章
Swooleは、最近ではコーダーの世界で新たな “最高の言語 “として定着しています。

公式に説明されているように、PHPの非同期・並列リクエストのための高性能なネットワーク通信エンジンです。そのコンパイルは、PHPの非同期マルチスレッドサーバ、非同期TCP/UDPネットワーククライアント、非

元記事を表示

もう複雑なState管理や非同期処理に悩まない。そう、Trelaならね?

trela icon

# この記事について

この記事は、筆者が現在製作しているフレームワークについて解説した記事です。

紹介するフレームワークは`JavaScript`で使う事が出来ますが、`TypeScript`を使う事で最大のメリットを受けれるフレームワークであるため、この記事で紹介するソースコードは`TypeScript`を用いて解説します。そのため、`JavaScript`の知識に加えて`TypeScript`の理解もあるとより理解できます。

# 言い忘れてたので追記( 2020/10 )

ライブラリのサイズについて、すっかり頭から抜け落ちていたので、追記です。
Twitterで久々のエゴサをしてたら、以下のツイートを見つけました。

Redmineのコードリーディング用環境をDocker上に構築する

## 概要

[redmine](https://github.com/redmine/redmine)のソースコードを読むための環境をDockerで構築します。以下の状態をゴールとします。

* [redmine](https://github.com/redmine/redmine)のmasterブランチのコードがDocker上で動作する
* Debug用のツールが使える

## モチベーション

動作環境を構築するのは実際のアプリケーションの挙動とコード内容を頭の中で紐付けながらコードリーディングしたいからです。

### なぜコードリーディングしたいのか?
人が書いたコードを読むことは新たな発見や学びに繋がると考えています。
私の場合は、クラスの分け方、命名、テストコードの書き方、エラーハンドリングの仕方などに悩むことが最近多いので、そのあたりの引き出しを増やしたいというモチベーションがあります。

### なぜRedmineか?
Redmineを選んだのは以下の理由です。

* 普段からRedmineを使っているため馴染みがあり、画面や外部仕様をある程度知っている。
* 長年

元記事を表示

OSSのバグを踏んでIssue立てたら2時間で修正されて感動した話

# TL;DR
OSS系の話と言うと、Pull Requestを送る系の話をよく見ますが、Issueを立てる話はあまり見ないので
今回書いてみました。

# 経緯
最近、仕事でPHPのCI環境を立てていました。

workflowのyamlを書いたまでは良かったのですが、特定のPHPバージョンでのみ、コードの実行に必要な
PHP extensionが有効にならずに、エラーになってしまう謎の現象に陥りました?

**使ったAction**
https://github.com/marketplace/actions/setup-php-action

[![Image from Gyazo](https://i.gyazo.com/777e953588b9262470a6d3cde8359f06.png)](https://gyazo.com/777e953588b9262470a6d3cde8359f06)

# やってみたこと
ソースを見ても該当するところを見つけられなかったので、こんな感じでIssueだけ立ててみました。
https://github.com/shivammathu

元記事を表示

READMEに競プロのバッジを追加するアプリを作ろうとしたら既にあったので OSS開発したお話

# はじめに

こんにちは。ganariyaです。

7月頃からGitHubのアップデートで、[自分のアカウントページにプロフィールに関するREADME](https://qiita.com/ganariya/items/009efffb237b85ae1a47)を書けるようになりました。
「自分の履歴書」として、一箇所に情報をまとめられるため便利です。

![スクリーンショット 2020-09-13 18.52.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/b84ff1dc-9ad0-cebd-f197-407cef6b0388.png)

GitHubのREADMEの機能の追加により、以下のようなバッジを追加する記事が増え、自分もなにかバッジにまつわるツールを作りたいなと考えました。

– [Qiitaコントリビューション数をGitHubのプロフィールに貼ってドヤれるサービスを作った](https://qiita.com/mikkame/items/f2c60d9caf8a8e

元記事を表示

CentOSにOpenFOAM v2006をインストール

この記事は流体解析のオープンソースソフトウェアであるOpenFOAMのバージョンv2006を,CentOS 6.xにインストールした際の手順を備忘録としてまとめたものです.

# OpenFOAMのダウンロード

OpenFOAMのバイナリパッケージ及びソースコードは以下のサイトから入手できます.

* [OpenFOAM – The Open Source CFD Toolbox](http://www.openfoam.com/)
* [The OpenFOAM Foundation](http://openfoam.org/)

1つめのサイトはESIグループによるものです.一方,2つめのサイトはOpenFOAM Foundationによるものです.リリースされた年月でバージョンがついてるもの,すなわち今回のv2006(2020年6月リリース)は前者のESIのサイトから入手できます.

# インストールの種類

ESIのサイトでは,Windows,Mac,Linuxのバイナリがダウンロードできます.Windowsでは,Windows Subsystem for Linux (WS

元記事を表示

国産OSSをまとめてみた

ちょくちょくQiitaでも上位の話題に上がってくるOSSですが、[GitHub公式の検索機能](https://github.com/explore)を用いても英語に紛れて中国語のOSSは出てくるものの、あまり国産のOSSを見つけることができません。さらに国産の物でも日本語で書かれていることが多く見分けがつかないこともあると思います。
一方で母国語が日本語である以上日本語の情報が見つけられた方が好ましい/英語は苦手だけどOSSに興味がある、という方も多くいらっしゃると思いますが、見つけられないのではどうしようもありません。
本投稿ではそんな方々の力になれればと、国産OSSを少しばかり集めてみました。

なお、掲載基準は独断と偏見かつ見つけられた範囲のですので、このOSSも!という方は絶賛編集リクエスト受け付け中です。

# カテゴリ別OSSまとめ
## 言語
### Ruby

| 項目 | |
| — | — |
| コードベース | [Gi

元記事を表示

OOSとCloudから何を発想するか

技術的な議論するのではありません、OSS(Open Source Software)とCloudが登場して随分時が経ってきています。
果たして、どれだけの企業で、これらの登場によって新しい方向へと転換できたのでしょうか?
OSSを開発で使用すればコーディング量が減り、品質貢献が期待できます。
場合によっては、コーディングせずにシステムを実現できるような期待が出来るようになりました。
OSSの効果的な一つの方向性として**OSSをリファレンスとする**のはどうでしょうか?
OSSでは多くの人が関与するので、おのずと読みやすさ、コーディングルールが自然と整ってきます。日本と欧米とのソースコードの可読性について大きな違いがあります。それは欧米ではキャリア流動性が高いので、普段から可読性が高く、**開発者からの手離れが良いコーディングを尊重**してきました。日本はその逆が多いのではないでしょうか?今ほどではないにしろ、他人に分かりにくく効率が良いプログラムを構築できることが良しとされ、そのような方がスキルが高いと評価される傾向がまだまだ残っているのではないでしょうか?一部の非常に効率とリアルタ

元記事を表示

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

元記事を表示

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接続していなかったので

元記事を表示

OTHERカテゴリの最新記事