SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
View customize
バージョン1.2.0 の紹介
2018-11-10
第15回redmine.tokyo勉強会
Hirokazu Onozato
@onozaty
自己紹介
• Hirokazu Onozato (onozaty)
• https://twitter.com/onozaty
• https://github.com/onozaty
• http://www.enjoyxstudy.com/
• 株式会社ユニスティ所属
• エンジニア
• アプリケーション開発
• 個人でも作ったものを公開
• Redmine歴9年
View customize plugin
View customize plugin
• Redmineの画面をカスタマイズするためのPlugin
• https://github.com/onozaty/redmine-view-customize
• 特定の画面に対して、JavaScript、CSSを埋め込む
機能を提供
View customize plugin
• Redmine自体のコードを変更したり、プラグイン
を作ったりといった手間無く、手軽にカスタマイ
ズできる
• 再起動不要でカスタマイズを適用
できることの例
• プロジェクト毎にヘッダの色を変える
• チケット一覧を識別しやすいように装飾
• カスタムフィールドを連動させる(親の値に応じて、子を絞り込む)
• 担当者を入力補完で選択可能に
• チケット作成時にトラッカーに応じてデフォルト値を設定
• サイドバーを開閉式に
• 「全てのチケット一覧」リンクをヘッダに
• 進行中にもかかわらず担当者が未設定の場合に警告を表示
• ユーザ選択のカスタムフィールドで自分を選択する項目を先頭に追加
• プロジェクト一覧からの各プロジェクトへのリンク先を変更
使用方法
• 詳しい使用方法は省略
• ぜひ下記スライドで確認を
• View customize pluginを使いこなす
https://www.slideshare.net/onozaty/view-customizeplugin-62005780
バージョン1.2.0
バージョン1.2.0
• 2018年10月1日リリース
• 2年ぶりの新バージョン
• 新機能も実装
リリース内容
• コードの挿入位置を選択できるように
• ユーザやプロジェクトの情報にJavaScriptでアクセス可能
に
• ローカライズ対応 (日本語リソースの追加)
• コメント欄を追加し、一覧表示の際にコメントがあればそ
ちらを表示するように (コメントが無かった時にコードを)
• 一覧をソート可能に
その他bug fixも
コードの挿入位置を
選択できるように
(Insertion position)
コードの挿入位置を選択できるように
• Insertion position(挿入位置)という項目が追加
• 今までは一律ヘッダ部分にコードを挿入していた
が、下記の3つから選べるように
• Head of all pages (全てのページのヘッダ)
※v1.2.0より前と同じ
• Bottom of issue form (チケット入力欄の下)
• Bottom of issue detail (チケット詳細の下)
Bottom of issue form (チケット入力欄の下)
• チケットの入力欄は、トラッカーやステータスを
変えた際に再構築されるが、再構築の際にも一緒
に再度挿入される
Bottom of issue form (チケット入力欄の下)
• 今まで面倒だった、入力欄が再構築された際に再
度実行するための考慮が不要に
// ステータス変更時などにDOMが差し替えられるので
// フォームの内容が書き変わるたびに表示切替
var _replaceIssueFormWith = replaceIssueFormWith;
replaceIssueFormWith = function(html){
_replaceIssueFormWith(html);
executeScript();
};
埋め込み位置による実行ページの制御
• 埋め込み位置が存在しないページでは、コードが
埋め込まれなくなる(=実行されなくなる)
• Path patternとの組み合わせに注意(AND条件に)
埋め込み位置による実行ページの制御
• Path patternは .* で全ページにしておいて、
Insertion position で制御するといった方法も取れ
る
ユーザやプロジェクトの情報に
JavaScriptでアクセス可能に
(ViewCustomize.context)
ViewCustomize.context
• ユーザやプロジェクトの情報にJavaScriptでアクセ
スできるようにViewCustomize.contextというオブ
ジェクトを追加
• 画面上にない情報へのアクセスが可能に
ViewCustomize.context
プロジェクトの識別子やチケットのIDは、今までも画面に存
在する情報から取得可能だったが、利用頻度が多いため、よ
り直感的に書けるように今回追加
分類 項目
ユーザ ユーザID、ログインID、管理者かどうか、姓名、グループ、
APIキー、カスタムフィールド
プロジェクト 識別子、名前、ロール
チケット チケットID
ViewCustomize = {
"context": {
"user": {
"id": 1,
"login": "admin",
"admin": true,
"firstname": "Redmine",
"lastname": "Admin",
"groups": [
{"id": 5, "name": "Group1"}
],
"apiKey": "3dd35b5ad8456d90d21ef882f7aea651d367a9d8",
"customFields": [
{"id": 1, "name": "[Custom field] Text", "value": "text"}
]
},
"project": {
"identifier": "project-a",
"name": "Project A",
"roles": [
{"id": 6, "name": "RoleX"}
]
},
"issue": {
"id": 1
}
}
}
ViewCustomize.context
例: グループを使った適用ユーザ切り替え
• グループでスクリプトの実行可否を判定すること
によって、一部のユーザのみにスクリプトを適用
できる
• 適用したいユーザが増えたら、グループに追加す
るだけ
• View customize側をいちいち変えなくて良い
例: グループを使った適用ユーザ切り替え
$(function() {
var isEnabled = ViewCustomize.context.user.groups.some(function(group) {
return group.id == 5; // 有効にしたいグループのIDと比較
});
if (!isEnabled) {
// 無効の場合は処理終了
return;
}
// 以降実際に実行したいスクリプト
console.log('execute script.');
});
例: カスタムフィールドを使った制御
• ユーザのカスタムフィールド(真偽値)によって、
スクリプトの適用可否を判断
• 管理者ではなく、ユーザ側に選択権を持たせる
例: カスタムフィールドを使った制御
$(function() {
var isEnabled = ViewCustomize.context.user.customFields
.some(function(customField) {
// チェックしたいカスタムフィールドのIDと値でチェック ("1"がtrue)
return customField.id == 1 && customField.value == '1';
});
if (!isEnabled) {
// 無効の場合は処理終了
return;
}
// 以降実際に実行したいスクリプト
console.log('execute script.');
});
ユーザのカスタムフィールド
• ユーザのカスタムフィールドが、View customize
の幅を広げそう
• ユーザ自身が情報を付与できるのは大きい
• 他システムのAPIトークンをユーザに入れてもらって、
それを使って他システムと連携するとか
例: APIキーを使ってREST APIを呼び出し
• APIキーを参照できるようになったので、簡単に
ユーザ毎のAPIキーを利用し、REST APIを呼び出せ
る
• 今までは固定のAPIキーを埋め込むか、スクレイピン
グで頑張るかしかなかった
例: APIキーを使ってREST APIを呼び出し
$.ajax({
type: 'PUT‘,
url: '/issues/' + issueId + '.json‘,
headers: {
'X-Redmine-API-Key': ViewCustomize.context.user.apiKey
},
// 更新時はレスポンスのコンテンツが無く、jsonだとエラーとなるのでtextにしておく
dataType: 'text‘,
contentType: 'application/json‘,
data: JSON.stringify({
'issue': {
'parent_issue_id': '' // 親チケットIDをクリア
}
})
})
.done(function(data) {
// 成功したらリロード
location.reload();
})
.fail(function(data) {
alert('失敗しました');
});
例: APIキーを使ってREST APIを呼び出し
• サンプルコード全体は下記にて
• 子チケット一覧に親子関係を外すアイコンを追加
https://github.com/onozaty/redmine-view-customize-
scripts/blob/master/delete_parentage_relationship_using_rest_api.js
• 複数の子チケットをまとめて作成するボタン追加
https://github.com/onozaty/redmine-view-customize-
scripts/blob/master/create_children_issues_using_rest_api.js
例: APIキーを使ってREST APIを呼び出し
APIキーに関する注意事項
• 下記を行わないと利用できないので注意
• 設定画面より「RESTによるWebサービスを有効にす
る」をチェック
• 個人設定からAPIアクセスキーを
1度は表示しておく
(そうしないとAPIキーが払い出
されないため)
ローカライズ対応
(日本語リソースの追加)
ローカライズ対応
• ローカライズ対応として、まずは日本語リソース
を追加
• 母国語じゃないというだけで、敷居をあげてしま
うこともあるので、そこの軽減を目的
• 他の言語もやっていきたい
ローカライズ対応
一覧をソート可能に
コメント欄の追加
一覧のソート・コメント欄
• 一覧をソート可能に
• コメント欄を追加し、一覧表示の際にコメントが
あればそちらを表示するように (コメントが無
かった時には今までどおりコードを)
• 設定内容を一覧でわかるようにしようとした場合、今
まではコード内にコメントで入れるしかなかったのが、
別途コメントとして指定できるように
その他
今後の対応
• Redmine 4.0 対応
• 既に最新trunkでの動作検証済み
• 4.0 のリリース後に検証してリリース
• スクリプトサンプルの整理
• https://github.com/onozaty/redmine-view-customize-scripts
• 1.2.0 に対応したスクリプトを増やしていく予定
• 多言語リソース追加
• Pull request 募集中
View customizeの情報源 (1)
• GitHub - onozaty/redmine-view-customize
https://github.com/onozaty/redmine-view-customize
• View customize の提供サイト
• Star つけると、作者のやる気Up
• GitHub - onozaty/redmine-view-customize-scripts
https://github.com/onozaty/redmine-view-customize-scripts
• View customizeのサンプル集
• Blogなどで紹介したスクリプトは全てここに
• Twitter – onozaty https://twitter.com/onozaty
• 作者のTwitter
• 新しいサンプル書いたりしたらつぶやくので、ぜひフォローを
View customizeの情報源 (2)
• View customize pluginを使いこなす
https://www.slideshare.net/onozaty/view-customizeplugin-62005780
• 第10回 redmine.tokyo での発表資料
• 1.2.0の情報は無いが、現時点でView customizeの利用方法につい
て一番詳しく書かれたもの(だと思う)
他にもQiitaやredmine.tokyoでのカスタマイズ事例なども参
考に
• 「view customize」の検索結果 - Qiita
https://qiita.com/search?q=view+customize
• 過去講演一覧-プラグイン・カスタマイズ - redmine.tokyo
https://redmine.tokyo/projects/shinared/wiki/過去講演一覧-プラグイン・カスタマ
イズ
おわり

Contenu connexe

Tendances

ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例Hidehisa Matsutani
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIGo Maeda
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)Tomohisa Kusukawa
 
継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine PluginMei Nakamura
 
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...Kohei Nakamura
 
View CustomizeからREST APIを使用する
View CustomizeからREST APIを使用するView CustomizeからREST APIを使用する
View CustomizeからREST APIを使用するAsa Morino
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Minoru Maeda
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Go Maeda
 
Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Redmineの意外と知らない便利機能(Redmine 4.2対応版)Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Redmineの意外と知らない便利機能(Redmine 4.2対応版)Go Maeda
 
「伝わるチケット」の書き方
「伝わるチケット」の書き方「伝わるチケット」の書き方
「伝わるチケット」の書き方onozaty
 
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) Go Maeda
 
Redmineの基本と適用事例
Redmineの基本と適用事例Redmineの基本と適用事例
Redmineの基本と適用事例Go Maeda
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたKohei Nakamura
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmineGo Maeda
 
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
Redmine 5.0 + RedMica 2.1 新機能評価ガイドRedmine 5.0 + RedMica 2.1 新機能評価ガイド
Redmine 5.0 + RedMica 2.1 新機能評価ガイドGo Maeda
 
挫折しないRedmine (2022)
 挫折しないRedmine  (2022) 挫折しないRedmine  (2022)
挫折しないRedmine (2022)Go Maeda
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Hidehisa Matsutani
 
Redmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドRedmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドGo Maeda
 
はじめる! Redmine (2017)
 はじめる! Redmine (2017) はじめる! Redmine (2017)
はじめる! Redmine (2017)Go Maeda
 
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムRedmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムGo Maeda
 

Tendances (20)

ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
 
継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin
 
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
 
View CustomizeからREST APIを使用する
View CustomizeからREST APIを使用するView CustomizeからREST APIを使用する
View CustomizeからREST APIを使用する
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 
Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Redmineの意外と知らない便利機能(Redmine 4.2対応版)Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Redmineの意外と知らない便利機能(Redmine 4.2対応版)
 
「伝わるチケット」の書き方
「伝わるチケット」の書き方「伝わるチケット」の書き方
「伝わるチケット」の書き方
 
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版)
 
Redmineの基本と適用事例
Redmineの基本と適用事例Redmineの基本と適用事例
Redmineの基本と適用事例
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmine
 
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
Redmine 5.0 + RedMica 2.1 新機能評価ガイドRedmine 5.0 + RedMica 2.1 新機能評価ガイド
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
 
挫折しないRedmine (2022)
 挫折しないRedmine  (2022) 挫折しないRedmine  (2022)
挫折しないRedmine (2022)
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法
 
Redmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドRedmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイド
 
はじめる! Redmine (2017)
 はじめる! Redmine (2017) はじめる! Redmine (2017)
はじめる! Redmine (2017)
 
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムRedmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
 

Similaire à View customize1.2.0の紹介

20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方Makoto Yamazaki
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書くYusuke Kita
 
Visual studio 2013 Overview
Visual studio 2013 OverviewVisual studio 2013 Overview
Visual studio 2013 Overview一希 大田
 
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1ikikko
 
Adobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみようAdobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみようYoshiki Takeoka
 
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)shigeya
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure FunctionsKeiji Kamebuchi
 
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」Yoshito Tabuchi
 
大規模なJavaScript開発の話
大規模なJavaScript開発の話大規模なJavaScript開発の話
大規模なJavaScript開発の話terurou
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境Kazumi IWANAGA
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreenKazuaki Ueda
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方Masahiro Hidaka
 
1_各Atlassian製品の紹介
1_各Atlassian製品の紹介1_各Atlassian製品の紹介
1_各Atlassian製品の紹介Ricksoft
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinigTom Hayakawa
 

Similaire à View customize1.2.0の紹介 (20)

20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書く
 
Visual studio 2013 Overview
Visual studio 2013 OverviewVisual studio 2013 Overview
Visual studio 2013 Overview
 
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
 
G * magazine 0
G * magazine 0G * magazine 0
G * magazine 0
 
Adobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみようAdobe XDプラグインをつくってみよう
Adobe XDプラグインをつくってみよう
 
Android Hacks - Hack40
Android Hacks - Hack40Android Hacks - Hack40
Android Hacks - Hack40
 
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
 
ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
 
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
 
大規模なJavaScript開発の話
大規模なJavaScript開発の話大規模なJavaScript開発の話
大規模なJavaScript開発の話
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreen
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
1_各Atlassian製品の紹介
1_各Atlassian製品の紹介1_各Atlassian製品の紹介
1_各Atlassian製品の紹介
 
Plugman code-reading
Plugman code-readingPlugman code-reading
Plugman code-reading
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig
 

Plus de onozaty

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)onozaty
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へonozaty
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったものonozaty
 
Selenium入門
Selenium入門Selenium入門
Selenium入門onozaty
 
WebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみたWebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみたonozaty
 
Lombokの紹介
Lombokの紹介Lombokの紹介
Lombokの紹介onozaty
 
Spring Bootを触ってみた
Spring Bootを触ってみたSpring Bootを触ってみた
Spring Bootを触ってみたonozaty
 
30歳過ぎてもエンジニアでいるためにやったこと
30歳過ぎてもエンジニアでいるためにやったこと30歳過ぎてもエンジニアでいるためにやったこと
30歳過ぎてもエンジニアでいるためにやったことonozaty
 
技術書のススメ
技術書のススメ技術書のススメ
技術書のススメonozaty
 
課題管理と情報共有のためのツール群
課題管理と情報共有のためのツール群課題管理と情報共有のためのツール群
課題管理と情報共有のためのツール群onozaty
 
お試し用のLinux環境を作る
お試し用のLinux環境を作るお試し用のLinux環境を作る
お試し用のLinux環境を作るonozaty
 
業務で使うIRC
業務で使うIRC業務で使うIRC
業務で使うIRConozaty
 

Plus de onozaty (15)

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へ
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
最近作ったもの
最近作ったもの最近作ったもの
最近作ったもの
 
Selenium入門
Selenium入門Selenium入門
Selenium入門
 
WebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみたWebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみた
 
Lombokの紹介
Lombokの紹介Lombokの紹介
Lombokの紹介
 
Spring Bootを触ってみた
Spring Bootを触ってみたSpring Bootを触ってみた
Spring Bootを触ってみた
 
30歳過ぎてもエンジニアでいるためにやったこと
30歳過ぎてもエンジニアでいるためにやったこと30歳過ぎてもエンジニアでいるためにやったこと
30歳過ぎてもエンジニアでいるためにやったこと
 
技術書のススメ
技術書のススメ技術書のススメ
技術書のススメ
 
課題管理と情報共有のためのツール群
課題管理と情報共有のためのツール群課題管理と情報共有のためのツール群
課題管理と情報共有のためのツール群
 
お試し用のLinux環境を作る
お試し用のLinux環境を作るお試し用のLinux環境を作る
お試し用のLinux環境を作る
 
業務で使うIRC
業務で使うIRC業務で使うIRC
業務で使うIRC
 

View customize1.2.0の紹介