オープンソース調べOSS 2021年11月13日

オープンソース調べOSS 2021年11月13日

【VSCode】Undo/Redoに革命を起こしたい

> この記事は、東京大学工学部電子情報工学科/電気電子工学科の後期実験「大規模ソフトウェアを手探る」のレポートとして作成されました。

# Undo/Redo の履歴が消える悲しみ

編集系のソフトウェアで誰もがお世話になっているであろう Undo/Redo 機能ですが、このような悲しみに襲われたことはないでしょうか?

**「以前の状態に戻したいのに、履歴が消えて戻せない〜〜〜」**

講義室でアンケートを取ったところ、8 割以上の方がこの悲しみを経験されていたようです。
といっても、ピンとこない方がいると思うので、具体的にどういう問題があるのか説明していきます。

テキストエディタを例にとります。まず、操作 A, B, C を行います。ここでいう「操作」は、文字列の入力や Back space など、Undo/Redo 以外でエディタの編集状態を変えるものを指します。

![ABC の画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1322113/7a59bce1-5f1c-d04d-8d79-d585

元記事を表示

Jupyter Notebookにセクション実行機能を追加してみた

## はじめに
この記事は、東京大学eeicの実験「大規模ソフトウェアを手探る」のレポート用に実験内容をまとめたものになります。この実験の趣旨としては、全容を把握できないほどのファイル数/行数のコードからなるOSSを少しずつ紐ほどき、欲しい機能を追加してみよう、というものです。この記事は自分含むチームメンバー3人で共同で執筆しました。そのため表記揺れや文調の変化が多々あるかもしれませんが、ご了承ください。OSS開発をしてみたいと思っている方、Jupyter Notebookをいじってみたい方の参考になれば幸いです。

#### Jupyter Notebookとは?
自分のチームでは、改造対象のソフトウェアとしてJupyter Notebookを扱いました。Jupyter Notebookとは、pythonをWebブラウザ上で実行できるIDE(統合開発環境)です。プログラミング初心者が最初の一歩として触ることが多いのではないでしょうか。

#### セルをまとまりとして実行できるようにしたい!
Notebookは「セル」という単位でコードを実行でき、出力が簡単に確認できます。そのため、

元記事を表示

VSCodeにBookmark機能を付けてみた

>この記事は、東京大学電子情報工学科・電気電子工学科(EEIC)3年後期実験の一つ「大規模ソフトウェアを手探る」のレポートとして書かれたものです。

#はじめに
「[大規模ソフトウェアを手探る](https://doss.eidos.ic.i.u-tokyo.ac.jp/)」という実験は、学生が2-4人程度の班に分かれ、班ごとに好きなOSSを一つ選んで機能拡張を試みるというものです。私たちの班は、Visual Studio Code(VSCode)にBookmark機能を実装するという方針で課題に取り組みました。

#課題の設定まで
###Visual Studio Codeについて
Visual Studio Codeは Microsoft社が発表しているコードエディターであり、世界中で一番使われてているコードエディターです。GitHubなどと統合された機能と拡張機能を用いることで、開発、デバッグ、デプロイなどをVisual Studio Code一つで行うことができます。

https://azure.microsoft.com/ja-jp/products/visual-stud

元記事を表示

VSCodeの複数行コメントアウトの機能改善

## はじめに
この文章は東大工学部電気電子工学科・電子情報工学科の3年後期実験の科目の1つである**大規模ソフトウェアを手探る**の成果報告記事です。実験の内容は「10日間の実験期間で大規模なOSSを選び何らかの機能実装を試みる」というもので、我々の班は普段からお世話になっているVisual Studio Codeに機能実装改善を行いました。以下にその一部始終を記します。

## Visual Studio Codeとは
Visual Studio Code(通称:VSCode)は2015年に公開されたMicrosoftが開発している統合開発環境です。軽量ながら多機能でカスタマイズ性も高く、今最も人気なIDEの一つと言っても過言ではないでしょう。

最近(2021年10月下旬)には、VSCodeのWebブラウザ版も公開されました!

ソースコードはGitHub上で公開されており、[こちら](https://github.com/microsoft/vscode)からコードを確認できます。

## VSCodeのビルド方法
VSCodeのリポジトリをローカルに落として、ビルドしてみます

元記事を表示

VSCodeにswap機能を追加しようとした話

# はじめに
こちらは、東京大学工学部電気電子工学科・電子情報工学科の後期実験のうちの一つ「大規模ソフトウェアを手探る」の成果報告記事です。世の中にはOSS(オープンソースソフトウェア)と呼ばれる、ソースコードが一般に無償公開されているソフトウェアが多数存在します。その中から一つ選び、全容を把握出来るわけがない程大きなソフトウェアをいかに理解し、いかに変更を加えられるかという趣旨の実験です。

# VSCodeとは
VSCode(Visual Studio Code)とはMicrosoftが開発しているソースコードエディタで、軽量かつ多機能という特徴を持ち、現在最も多くの人に使われている開発環境の内の一つです。

# 課題設定
GitHubのissueを見ながら改善案を考えていきました。issueでは
“`good first issue
“`とラベルのついたものが最初に取り組むには良いissueということなのですが、この中にめぼしいものがなかったので、
“`add, button
“`等で検索していきました。そうすると[こんなissue](https://github.com

元記事を表示

初めてのOSSへの貢献を果たした話【homebrew-cask】

3年ほど前、初めてLinuxに触れてからOSSという文化にとても感銘をうけ、常々貢献したいと思っていた。
と言いつつ結局特に行動していないワナビだったのだが、この度晴れてプルリクを作成し、マージされるに至ったので共有

## 更新履歴
2021/11/02 `brew bump-cask-pr`について追記

## やったこと

最近M1 MacBook Airを買ったので、Macで定番のパッケージマネージャ[^packagemanager]である[homebrew(cask)](https://brew.sh/)[^homebrew]を使って[GnuCash](https://gnucash.org/index.phtml?lang=ja_JP)[^gnucash]をインストールしようとしたらバージョンが古くエラーになったので更新した。

## 状況の確認

### 問題の発生

Homebrewでgnucashをインストールしようとしたら以下のエラーが発生した。

“`
$ brew install –cask gnucash
==> Downloading https://g

元記事を表示

言語・環境非依存なOSS界隈の規格一覧

# はじめに

言語や環境に依存しないOSS界隈の規格(デファクトスタンダードを含む)のリストです。

ちょいちょい忘れがちなので、備忘録として纏めておきます。

# 構成管理

構成管理の規格です。

## バージョン管理

構成管理のうち、バージョン管理に関する規格です。
ここで言うバージョン管理とは、git, svnなどのバージョン管理ツールでサポートされる範囲の構成管理のことです。

1. 変更履歴
1. [Keep a Changelog](https://keepachangelog.com/ja/1.0.0/)
1. コミットメッセージ
1. [Conventional Commits](https://www.conventionalcommits.org/ja/v1.0.0/)
1. バージョン番号
1. [セマンティック バージョニング 2.0.0 | Semantic Versioning](https://semver.org/lang/ja/)

## コンポーネント管理

構成管理のうち、コンポーネント管理に関する規格です。
ここで言

元記事を表示

エンジニアはオープンネスを好むのか?

「[OPENNESS](https://r25.jp/article/755626890450596284)」オープンネス、とは開放性とか開示性のこと、で、結論から書くと「エンジニアだからオープンネスを選択するとは別に限らない」と思っている。単にそれは経営方針の違い。オープンかそうでないかと言えば例えばSlack論を以下参考。

– [Slack仕草 – Qiita](https://qiita.com/e99h2121/items/6a6f06cfaf4a74fca0f3)
– [Slack社はSlackをどう使っているのか – Slack利用ガイドラインの話 – Qiita](https://qiita.com/e99h2121/items/71f607a0b46de5013730)

Slack社のSlackガイドラインへのコメントとしては、じつは以下らしい。
> 「Slackの使い方は1000社あれば1000通り。プロジェクトをまわす、会議をする、といった基本的な使い方はもちろん、Twitter的な使い方もできる」。

オープンネス と 生産性 が単純に、完全に比例するかはまた

元記事を表示

Androidのライセンス表示について(license-tools-plugin)

#はじめに
仕事でAndroidアプリにオープンソースライセンスを表示させる必要があり、初めてクックパッドさんの`license-tools-plugin`を使用しました。
今後も使用する機会があるかと思い、導入方法をまとめました。

#license-tools-pluginとは
[クックパッドさんが公開](https://github.com/cookpad/LicenseToolsPlugin)しているプラグインで、以下の機能が提供されています。
– yamlを使ったオープンソースライセンスの管理
– ライセンス追記漏れのチェック
– ライセンス一覧のhtmlの作成

#開発環境
PC:MacBook Pro
OS:macOS BigSur
Android Studio:Arctic Fox 2020.3.1

#license-tools-pluginの導入方法
※今回はAndroid開発でよく使われるライブラリをいくつか追加し、`出力したhtmlファイルをwebViewに表示させる方法`について記載いたします。

##1.プラグインを追加
build.gradle(pr

元記事を表示

OSSについて

# はじめに
本記事では、`OSS`について記述します。

# OSSとは
オープンソースソフトウェア(Open Source Software)の略。
直訳通り、`ソースコードを公開しているソフトウェア`のことです。
[OSS(オープンソースソフトウェア)とは?利用時のメリットと注意点](https://hnavi.co.jp/knowledge/blog/oss/)

> OSSは無償のソフトウェアですが、利用条件や規約がないというわけではありません。`OSSの認定を行う非営利団体`「The Open Source Initiative(OSI)」が、`OSSのライセンスを管理`しています。ソフトウェアがOSSであるかどうかは、ライセンス(使用条件)が「オープンソースの定義(The Open Source Definition)」に合致しているかどうかで決まります。OSIによってライセンスが承認されると、そのソフトウェアはオープンソースであると公式に認められ、「OSI認定マーク」が付与されます。

### OS
スマホやパソコンを使っていく上で基本となるソフトウェア
(紛らわしいの

元記事を表示

PythonとC++が出来る人はRPAのOSSに貢献チャンスあるよ

# プロローグ

@umireonさんの[貢献チャンスの探し方](https://qiita.com/umireon/items/cbf27deea6ff96d79c1d)を見てふとヒラメキ。

「そういえば、PythonとC++が出来る人にもチャンスあったな。」

と思ったので、紹介します。

# チャンスって?

「Pythonの自動化ライブラリって、C++系のポインタとかの知識が無いと書けなくて、実装が遅れてるんだよね」というチャンスです。

RPAが次第に当たり前のものとなりつつある現代、「[退屈なことはPythonにやらせよう](https://www.amazon.co.jp/dp/4873119278/)」なんてタイトルの本を読んで、業務を自動化しようとしたエンジニアは多いことでしょう。しかし、OSSではまだまだ発展途上の領域であり、「全部入り」みたいな覇権を握るOSSは無い感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/134703/eb2e97b6-b130

元記事を表示

PHPの業務経験6ヶ月で初めてOSSにContributeした話

この記事は Zenn に移行しました。
https://zenn.dev/y640/articles/qiita-20210909-66cd4f362d3e2106c628

元記事を表示

Apache PulsarにおけるBacklogの概念とその挙動

## はじめに

[Apache Pulsar](https://pulsar.apache.org/)におけるBacklogの概念とその挙動、および関連する機能について解説します。具体的にどのような設定があるか、設定時に注意すべき点などについても触れています。読者が「Backlogにまつわる挙動と設定を理解し、ユースケースに合わせた設定を行い、ストレージを使い果たすなどの問題を回避できるようになること」がこの記事の目的です。

注1. この記事ではApache Pulsarの概念及び基本的な用語(Topic, Producer, Consumer, Namespaceなど)の説明は省略します。Apache Pulsarの概要について知りたい方は以下の記事などが参考になると思います:

* [メッセージングPF「Apache Pulsar」の使い方(入門編)](https://qiita.com/equanz/items/47aaa70da4ebe8dd3e67)
* [メッセージングPF「Apache Pulsar」の使い方(クライアント編)](https://qiita.com/s

元記事を表示

COCOAにコントリビューターとして貢献しよう!~実践編~

**この記事の内容は、政府IT室CIO補佐官からの了承を得て投稿しております。**

前回の内容は、GitHubでの貢献方法でしたが、今回は仮想デバイス上にてCOCOAをデプロイする方法について書きます。(Android中心となります)

コードを書くに当たっては、Xamarinの知識があることが望ましいです。

## 環境
Windows 10 Enterprise 21H1
(Home・PROでも下記の方法で実行できます)
Visual Studio Community 2019 v16.11.1
Build Tools for Visual Studio 2019 v16.11.1
Android SDK 29
USB デバッグで利用した端末→Galaxy S10
(不足があれば追記します)

## Visual Studio 関連のインストール
まずは、Xamarin等を利用できるようにするためにBuild Toolsをインストールします。
[ここ](https://visualstudio.microsoft.com/ja/downloads/)から下の方にある[Visua

元記事を表示

JavaScript: isEven

isEven というGitHubトレンドに突如現れたライブラリ。

## プロジェクト

https://github.com/samuelmarina/is-even

> This is a 100% serious project,

そのプロジェクト。

中身がこれ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93824/958e91cc-cff0-b699-f034-c96fe0466c3f.png)

!?!?!

となる

## 作者

## マジレス

“`js
isEven = (n)=>{
if (n % 2 == 1)
return false;
return true;
}
“`

しかし容赦はないコメント

https://github.com/samuelmarina/is-even/

元記事を表示

jQuery: レスポンシブなWebサイトの構築

Alex, [Alibaba Cloud Community Blog](https://www.alibabacloud.com/blog?spm=a2c65.11461447.0.0.6d025eab6MdSwv) 著者

jQueryは、軽量でより少ない記述でより多くのことができ、JavaScriptライブラリと呼ばれ、HTMLプログラムの開発を容易にします。jQueryの主な目的は、Webサイトの開発にJavaScriptを使用することを容易にすることです。jQueryは、反復的な作業を排除し、1行のコードで呼び出されるメソッドを通じてJavaScriptの問題に取り組みます。ブラウザ技術の高度化やクライアントロジックの要求により、JavaScriptやHTMLを扱うことは非常に困難になっています。しかし、代表的なJSライブラリの1つであるjQueryは、機能の標準化とその実装を容易にします。

jQueryを使用する利点の1つは、ライブラリの習得や作業にそれほど苦労することなく、生産性が大幅に向上することです。jQueryを使うことで、UIの要求やフロントエンドの論理的な問題

元記事を表示

OpenSpielで始める強化学習その① ~OpenAI Gymとの比較~

# 初めに
## OpenSpielとは
https://github.com/deepmind/open_spiel

DEEPMINDが作成した研究者向けの強化学習フレームワークのOSSです。マルチエージェントRLの研究の促進や研究の再現性の向上を目的としています。
主にPythonとC++で書かれていますが、GoやSwift、Juliaもサポートされています。
深層強化学習はTensorFlow1、2、JAXとPytorchに対応しています。

## 想定される読者
自分のように研究者ではないが強化学習について勉強してみたいけど何使えばいいんだっけという人向けに書いています。

## 環境
“`bash
$ sw_vers
ProductName: macOS
ProductVersion: 11.4
BuildVersion: 20F71

$ python3 -V
Python 3.9.5
“`

## インストール方法
“`
pip install open_spiel
“`
でインストールされます。ビルドするため8分程度かかるかと思います。
環境によって

元記事を表示

OpenBSD + xfce で日本語環境を整理(したかった)

#目次
[1. はじめに](#1-はじめに)
[2. xfce_GUIでシャットダウンできない?](#2-xfce_GUIでシャットダウンできない?)
[3. 追加のソフトウェアの設定](#3-追加のソフトウェアの設定)
[4. おわりに](#4-おわりに)

#1. はじめに
前回の記事で、OpenBSDの日本語デスクトップ環境を導入したわけなのですが、何かと普段使いするには物足りないので設定を追加していきます。

#2. xfce_GUIでシャットダウンできない?
デスクトップ画面の右上のところをクリックすると、シャットダウンなどのドロップダウンメニューが出てくる… のですが、なぜか

* ユーザーの切り替え (S)
* サスペンド (P)
* シャットダウン (D)

が暗くなっていてクリックできないんですよね…
![xfce_dropdown.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1874028/293f39c7-26ce-8167-d97a-69e1ad1d8963.jpeg)

元記事を表示

OpenBSD6.9を実機にインストール&日本語デスクトップ環境を導入する!

#目次
[1. はじめに(雑談)](#1-はじめに(雑談))
[2. 環境](#2-環境)
[3. インストールメディア作成](#3-インストールメディア作成)
[4. インストール](#4-インストール)
[5. デスクトップ環境](#5-デスクトップ環境)
[6. doasの設定](#6-doasの設定)

#1. はじめに(雑談)
私はPC初心者なのですが、今回の目標はタイトルの通りです (固い決意)。以前、一度サブデスクトップにOpenBSDを導入したのですが、Mateを入れたところ不安定すぎて挫折して、「もう不安定なのやだ!」となり Pop! OSを入れました (極端)。しかし幸運なことにOpenBSDのアップデートが去る5月にきていたようですし、丁度中古ノートパソコンを仕入れたので今度こそOpenBSDを導入したいと思います。

この記事は長ったらしい、と思ったそこのアナタ!
公式ドキュメントをどうぞ。

OpenBSD – Installation Guide

元記事を表示

初めてのOSSコントリビュートにおすすめのサイト

OSSにコントリビュートしたい気持ちはあれど、はじめは何から始めたらいいかわからないと思います。

Githubでは、初めてコントリビュートする際に着手しやすいissue用に `good first issues` というラベルが用意されています。
それらのissueをまとめているサイトがいくつかありましたので、自分へのメモとしての意味も含めて以下に記載します。

## 参考サイト一覧
#### :star: おすすめ1
個人的にはデザインが一番好み。プロジェクトや選択可能言語も豊富。

https://good-first-issues.page

#### :star: おすすめ2
選択可能言語は1番目のサイトよりも多くはないが、基本的なものはそろっており、デザインも見やすい。

https://goodfirstissue.dev/

#### :star: おすすめ3
こちらも選択可能な言語は1番目のサイトほど多くはないが、程よくまとめられている。

https://goofi.vercel.app/

#### :star: おすすめ4
こちらは `help wanted`

元記事を表示

OTHERカテゴリの最新記事