- 1. OpenLayers入門
- 2. CesiumJS入門
- 3. 【QGIS】フィルタを使ってGISデータを抽出する
- 4. 【VSCode】VSCodeを手探る
- 5. VSCodeのクラスや関数の階層構造を見やすくしようとした話
- 6. 【VSCode】定義参照を簡単に!
- 7. 【QGIS】JAXA Earth APIプラグインを使って衛星データを表示する
- 8. 【QGIS】OpenStreetMapのデータをQuickOSMから取得して表示する
- 9. 【QGIS】地理院地図とシェープファイルを表示する
- 10. twitter_api_v2でメディアファイルを簡単にアップロードする方法
- 11. OSSのRTSゲームエンジンをC#(WPF)で作り始めて四か月と少し。思ったこと。
- 12. 未踏OSSまとめ
- 13. MapLibre GL JS入門
- 14. ゲーム開発で使えるオープンソースソフトウェア個人的まとめ
- 15. 音声認識のVoskでリアルタイムにPC上の音を文字起こし出来るようにしてみた
- 16. Road to first pull request for OSS
- 17. ソフトウェアライセンスのスペクトラム – どうやって選ぶか
- 18. オペレーションズ・リサーチ - データ包絡分析法の紹介 –
- 19. Mac DockerにPython環境を構築する
- 20. 型情報がないこと由来のエラーに耐えられなかったので、`typeshed`にコントリビュートしたお話
OpenLayers入門
## はじめに
この記事は#30DayMapChallenge2022 13日目の記事です。
テーマは5 minute mapです。
OpenLayersを使って背景地図を表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## OpenLayersとは
簡単にダイナミックなマップを設置することができるJavaScriptライブラリ
地図タイル、ベクトルデータ、マーカーを表示することができる
フリーかつオープンソースで、2条項のBSDライセンス(FreeBSDとしても知られています)の下でリリースされている
執筆時の最新バージョンはv7.1.0でした最近ロゴが変わって可愛くなりました(余談)
他のマップライブラリと比べて、座標系などGISの知識が必要になりますが高機能なことができる印象です。OpenLayersの利用方法として以下の2つ
CesiumJS入門
## はじめに
この記事は#30DayMapChallenge2022 12日目の記事です。
テーマはScaleです。
Cesiumを使って地球儀を表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## CesiumJSとは
世界クラスの3D地球儀と地図を作成するためのオープンソースのJavaScriptライブラリ## Cesium ionトークン取得
全球の衛星画像と実世界の3Dコンテンツを使うために、Cesium ionのアカウントを作成して、トークンを取得します。
アカウント作成は[こちら](https://cesium.com/ion/signup/)から
非商用の個人プロジェクト、研究、非営利の教育活動目的であれば無料です。
![image.png](https://qiita-image-store.s3.ap-northea
【QGIS】フィルタを使ってGISデータを抽出する
## はじめに
この記事は#30DayMapChallenge2022 11日目の記事です。
テーマはColour Friday: Redです。
QGISを使って「赤」が入った駅名データを抽出して、MapLibre GL JSで地図上に表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## QGISとは
フリーでオープンソースの地理情報システム
ほとんどのUnixプラットフォーム、Windows、macOS上で動作する## 事前準備
既にインストール済みのQGIS(バージョン3.22.3)を使います。
QGISを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667439/13c801a9-4ba2-7996-cb45-16f
【VSCode】VSCodeを手探る
# 前書き
この記事は、東京大学工学部電子情報工学科/電気電子工学科の後期実験「大規模ソフトウェアを手探る」のレポートとして作成されました。この実験では、全容が把握できないほど膨大なソフトウェアの内部を読み解き、機能拡張やバグ修正を試みます。私たちは、普段よく使うpopularなエディタであるVisual Studio Code(VSCode)を対象にしました。# 実装した機能
今回の実験では2つの機能を実装しました。それぞれの機能については別のページで詳しく説明していますので、そちらをご参照ください。
– [機能1 : Open Definition to Side](https://qiita.com/joietaking/items/0102df8ab66c08b23a82)
– [機能2 : View Tree](https://qiita.com/Htanos/items/def67d6a27c95b3c87c2)
# ビルド方法
>使用したOSはUbuntu20.04です。まずは、[公式のソースコード](https://github.com/micros
VSCodeのクラスや関数の階層構造を見やすくしようとした話
> この記事は、東京大学工学部電子情報工学科/電気電子工学科の後期実験「大規模ソフトウェアを手探る」のレポートとして作成されました。
# コード内の関数やクラスを一覧で見たい
VSCodeで大規模なコードを編集して開発する場面になった時、例えばこのファイルはどのような機能を担っているのか、それはどのような関数やクラスによって実装されているのか、俯瞰で見たいと思ったことがあると思います。私たちは、可能であれば関数やクラスの一覧だけではなく、その階層構造まで(例えばクラスの中で定義されているメンバ関数や、関数の中で一時的に定義されている関数など)表せないかと考え、それを目標に始めました。
以下ではこの問題を
1. コードの階層構造を分析する
2. それを何らかの方法でVSCode上に表示するという2つに分割して考えます。
# ソースコードを手探る
## サイドバーのタブを手探る
まずVSCode上にどのように表示するかと考えた時に、真っ先に考えたのはサイドバーにタブを追加する方法です。
コードの階層構造を表示するための専用のタブを作るべく、まずは元々ある「Explore
【VSCode】定義参照を簡単に!
>この記事は、東京大学工学部電子情報工学科/電気電子工学科の後期実験「大規模ソフトウェアを手探る」のレポートとして作成されました。
# 定義参照を楽にしたい
VSCodeでコードを書いているとき、おそらく皆さんのほとんどが関数やクラス、変数などを使うと思います。これらを使う際に、それぞれの定義を参照する機会も多いでしょう。
定義を参照したいとき、よく使われるのが`Go to Definition`や`Go to Type Definition`などの定義元にコードジャンプする機能だと思います。しかし、例えば長いコードにおいてある関数について定義元にコードジャンプすると、参照した後に参照前の位置に戻るためにスクロールする必要があり、面倒です。また、同時に参照することができず、コード内を行ったり来たりしないといけなくなり、大変です。わかりにくいかもしれないので実際に見てみましょう。次のようなコードがあったとします。“`diff_python
def function1(x: str):
print(f’Hello, {x}!’)def function2(
【QGIS】JAXA Earth APIプラグインを使って衛星データを表示する
## はじめに
この記事は#30DayMapChallenge2022 9日目の記事です。
テーマはSpaceです。
QGISを使ってJAXAの衛星データを地図上に表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## QGISとは
フリーでオープンソースの地理情報システム
ほとんどのUnixプラットフォーム、Windows、macOS上で動作する## 事前準備
既にインストール済みのQGIS(バージョン3.22.3)を使います。
QGISを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667439/13c801a9-4ba2-7996-cb45-16f32c999cd1.png)### JAXA Earth API
【QGIS】OpenStreetMapのデータをQuickOSMから取得して表示する
## はじめに
この記事は#30DayMapChallenge2022 5日目の記事です。
テーマはUkraineです。
QGISを使ってウクライナの行政区域とポイントデータをOpenStreetMapから取得して地図上に表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## QGISとは
フリーでオープンソースの地理情報システム
ほとんどのUnixプラットフォーム、Windows、macOS上で動作する## OpenStreetMapとは
オープンデータの地理情報を作るプロジェクト## 事前準備
既にインストール済みのQGIS(バージョン3.22.3)を使います。
QGISを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/
【QGIS】地理院地図とシェープファイルを表示する
## はじめに
この記事は#30DayMapChallenge2022 4日目の記事です。
テーマはColour Friday: Greenです。
QGISを使って森林地域データのシェープファイルを地図上に表示してみます。![image](https://raw.githubusercontent.com/tjukanovt/30DayMapChallenge/main/images/flyers/30dmc-2022.png)
https://30daymapchallenge.com/
## QGISとは
フリーでオープンソースの地理情報システム
ほとんどのUnixプラットフォーム、Windows、macOS上で動作する## シェープファイルとは
Esriが提唱したGISデータフォーマット
地物の位置や形状、属性情報を持つベクターデータを格納できる
複数のファイルから構成されており、必須のファイルはshp, shx, dbfの3つ## 地図表示
既にインストール済みのQGIS(バージョン3.22.3)を使います。
QGISを開きます。
![image.png](ht
twitter_api_v2でメディアファイルを簡単にアップロードする方法
# twitter_api_v2でメディアファイルを簡単にアップロードする方法
※ この記事は[Zenn](https://zenn.dev/kato_shinya/articles/how-to-upload-media-with-twitter-api-v2)からの転載です。
## 概要
Twitterで面白い画像や動画を共有するのは楽しいですよね。
[twitter_api_v2](https://pub.dev/packages/twitter_api_v2)で、このメディアファイルを簡単にアップロードできる機能をサポートしましたので、この記事ではその実装方法を紹介していきます。メディアをアップロードする際の難しい処理は全てカプセル化され、とても簡単に扱えるように設計・実装されていますのでぜひ使ってみてください。
ただし、公式の[Twitter API v2.0](https://developer.twitter.com/en/docs/twitter-api/data-dictionary/introduction)ではまだv2エンドポイントとしてメディアのアップ
OSSのRTSゲームエンジンをC#(WPF)で作り始めて四か月と少し。思ったこと。
# なぜ開発を開始したか
フリーゲーム界で有名なゲームエンジン「ヴァーレントゥーガ」のexe及びツールが
何者かに削除されるという事件があり、新規タイトル開発が正規の手続きでは出来なくなった。
……じゃあ新しく「〇〇トゥーガ」を作ったら良いんじゃね!?
せっかくだし、ローグライク要素や、技術・内政ツリーといった要素も含めて、
MITライセンスの最強のRTSゲームエンジンを作るかあ~~~~。# 現在の進捗その1(顔絵はAIさんに描いてもらいました
選択ダイアログやtalk関数を実装しました。#ヴァーレン後継 pic.twitter.com/1f8oVO1vQU
— ふわふわ羊 (@fluffy_sheep_jp) August 30, 2022
# 現在の進捗その2
後継の進捗。
戦闘画面で敵を倒すことが出来るようになりました。
次は戦闘終了時処理です。領土獲得!#ヴァーレントゥーガ pic.twitter.com/F8IjmDC8jt— ふわふわ羊 (@fluffy_sheep_jp) October 27, 2022
# 思ったこと。技術選定編
・せっかくのゲームエンジン、何を使って実装する?
Unityか、C++か、それともRust?
可視性、保守性、速度、いろいろと考慮すべきことはあるが……
・将来的にはスマホでも出来るようにしたいなあ、じゃあ、Unityか?
でもUnityプ
未踏OSSまとめ
IPAが毎年実施している未踏IT人材発掘・育成事業の成果物で、ソースコードが公開されているもの[^oss]の一覧です。基本的に、成果の概要を示したフライヤーに貼ってあるURLからGitHubレポジトリが辿れた場合に載せています。**網羅的では全くない**ので編集リクエスト歓迎です。
[^oss]: 分かりやすさのためにタイトルに「OSS」と入れたが、OSIが認めるオープンソースライセンス以外のライセンスでソースコードが公開されているものもリストには含めています。
## 2021年度
[2021年度未踏IT人材発掘・育成事業プロジェクト成果:IPA 独立行政法人 情報処理推進機構](https://www.ipa.go.jp/jinzai/mitou/2021/seika.html)
### XR向けWindow System(木内・江口PJ)
– ソフトウェア名:Zigen
– [プロジェクト概要](https://www.ipa.go.jp/jinzai/mitou/2021/gaiyou_sd-2.html)
– [フライヤー(PDF)](https://www.
MapLibre GL JS入門
## MapLibre GL JSとは
– オープンソースのJavaScript地図ライブラリ
– Mapboxのオープンソースフォーク版
– WebGLを使用してベクトルタイルとMapLibreスタイルからインタラクティブなマップをレンダリングできる## 導入
– HTMLのheadタグ内にMapLibre GL JSのcssとJavaScriptを指定する
– 執筆当時の最新バージョンは2.4.0だった
“`html
“`## 背景地図表示
HTML, CSS, JavaScriptファイルを作成する“`index.html
ゲーム開発で使えるオープンソースソフトウェア個人的まとめ
# ゲーム開発で使えるオープンソースソフトウェア個人的まとめ
## はじめに
ゲーム開発をしている皆様こんにちは。
ゲーム開発には必要なものが多く、皆様は日々飛んでいく諭吉と時間に四苦八苦していることと思います。
そこで私が知りうる限りのゲーム開発に関わりそうなオープンソースソフトウェア(以下OSSとする)を紹介することで日々のゲーム開発に役立てて頂きたいと思い、この記事を錬成しようと考えた次第です。
というのは半分建前で、ぶっちゃけOSSって良いものが沢山あるのにも関わらず知られているものが少ないというのが現状じゃないですか。
なので、皆様にどんなOSSがあるのか知って使ってもらい、時には宣伝や開発等をしてOSSを盛り上げていきたいというのが本音です。
~~自由ソフトウェア運動をしているわけではない~~この記事の対象はOSSです。公式バイナリが無料であるとは限らないのでご了承ください。
時間があれば無料のソフトウェアにフォーカスした記事も書くかもしれないです。また、日本での知名度は少ないものも多いので、使い方を学習する際は英語が必要な場合が多いということは頭に入れておいた
音声認識のVoskでリアルタイムにPC上の音を文字起こし出来るようにしてみた
# 目的
所属部署の取り組みで何か作ってみようということで、Teams等の音声から文字起こしをして議事録作成を楽にする目的で試してみました。# VOSKとは
オープンソースの音声認識ツールです。
20言語以上をサポートし、モデルデータも50MB程でビックデータの1GB版もあります。
対応言語はAndroid、ios、C、C#、GO、Java、NodeJs、Python、Ruby、Rustに対応。さらにDockerでサーバーとしても使用できます。https://github.com/alphacep
# 前提
PythonがローカルPCにインストール済みであること。
WSL等のLinux環境が準備できていること。https://qiita.com/ShogoMatsumoto/items/64fd5ea58d25a54ff7f0
# PC上の音を取り込む
### ステレオミキサーの確認
ステレオミキサー機能(PCから流れている音楽を録音する機能)の使用を想定していましたが、全てのパソコンに備わってはいないみたいです。![image.png](https://qiit
Road to first pull request for OSS
# 前回のあらすじ
https://qiita.com/chihiro-yabuta/items/72e4a1869e9196ca9a67
### こんな人におすすめの記事
– 基礎文法は覚えたけど0からコードを書けない
– vscodeを有効に使いたい
– 他人の書いたコードを読み解けない
– githubで共同開発をしてみたい# 知るべきこと
### どのように出力されているか
![スクリーンショット 2022-10-02 11.21.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883424/734734a9-d6d5-392f-e7b9-21b8b8339ca1.png)
とりあえず静的出力から調べる
tqdm_notebookの中身を見ていく
![スクリーンショット 2022-10-06 9.57.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883424/855c10d4-ac1
ソフトウェアライセンスのスペクトラム – どうやって選ぶか
ソフトウェアのライセンスにはさまざまなものがあります。一方で,ライセンスを濫造することは慎しまれるべきです。したがってソフトウェアを公開するときには既存のライセンスの中から適するものを選ぶことになります。この記事では,さまざまなライセンスを「スペクトラム」に沿って並べ,ソフトウェアにどのライセンスを選ぶべきかの参考にしていただけたらと思います。以下文章で現われる括弧内のライセンス表記は SPDX です。
## ライセンスの概念
ソフトウェアのライセンスとは,著作権を根拠とし,著作権のあるソフトウェアに対し,特定の条件に従うことを条件にその使用 (コピー,再配布,改変) を許諾するものです。
### フリーソフトウェア (自由ソフトウェア)
FSF (フリーソフトウェア財団) は,一定の基準を満たしたライセンスを自由なものであるとして「フリーソフトウェア」ライセンスとして認定しています。これはほぼ「オープンソースライセンス」と同義なもので,OSS を開発するときにはここに含まれるライセンスを使用するべきです。その条件には以下のようなものがあります。[^1]
> A progra
オペレーションズ・リサーチ - データ包絡分析法の紹介 –
## はじめに
オペレーションズ・リサーチの分野はデータサイエンスの領域ではAIや機械学習ほどメジャーではないかもしれない。ただ、広くは数理最適化問題を扱い、最適なシステムの運用を研究するものであるので、筆者はその有用性を広めてこの研究分野を活発にし発展に貢献したい。特に今回はデータ包絡分析法(Data Envelopment Analysis)について取り上げた。※この記事は専門分野外の方に対してわかりやすい説明を意図している
## 目次
[DEAとは](#1-deaとは)
[応用事例1](#2-応用事例1)
[応用事例2](#3-応用事例2)
[様々なモデル](#4-様々なモデル)
[おわりに](#5-おわりに)## 1. DEAとは
一言でいうと、入出力の関係をもつデータの効率性をノンパラメトリックに評価する手法。入力は少なく、出力が大きい方が望ましいという関係を持つ。なんらかのデータを評価する場合によく用いられる。例えば銀行の各支店、賃貸物件、ビルエネルギー、営業マンなどなど。#### 1.1. 例を用いて考える
あるコンビニエンスストアを経営していると
Mac DockerにPython環境を構築する
# 読む前に
自分は勉強中のエンジニアのため間違いが散見される場合があります
ご了承の上お読みください
環境:MacBook Air M1, vscode# Background
oss開発に参加したいと考えたため
>[tqdm](https://github.com/tqdm/tqdm)
>pytorchの待ち時間可視化のためによく使わせてもらっている
>初めてのossなので手頃そうかなと
>[興味の湧いたプルリク](https://github.com/tqdm/tqdm/pull/1365)
>いやchromeの恐竜ちゃんみたいでcoolすぎでしょ
>自分も作りたいと思った# いざコードを見てみると。。。
“`environment.yml
# development environment
name: tqdm
channels:
– conda-forge
– defaults
dependencies:
# base
– python=3
…
“`
anacondaの開発環境がつらつら書かれていた
自分は普段Python3.9を使っているので環境も汚したくな
型情報がないこと由来のエラーに耐えられなかったので、`typeshed`にコントリビュートしたお話
## きっかけ
私が参画しているプロジェクトではCOMをPythonから操作しているスクリプトがあります。そこで発生するエラーハンドリングを行うため、よく次のようなコードを書いています。
“`py
from _ctypes import COMErrortry:
…
except COMError as e:
…
“`
ですが、**`_ctypes`には型スタブがなかったので、importした時点でVSCodeのpylance(pyright)がエラーを出していて、それを抑制したとしても`COMError`が`Unknown`扱いになっていました。**
![comerror.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/364180/20cab9e9-532e-b1e7-cecd-8bd5ecd03ee0.png)これによって型チェッカーに例外である情報が伝わっていなかったり、`COMError`があると型チェッカーから警告が出てやりづらい状況でした。
この