2020-01-01から1年間の記事一覧

「カワサキバイクマガジン」に載りました #Ninja250SL

※後日書きます そういえば「カワサキバイクマガジン」デビューしてました(・∀・) pic.twitter.com/YbYrIDihIc— 勝部麻季人 💦👏 (@katsube) December 31, 2020

[Electron] 自動アップデートに対応する - electron-builder + AWS S3

アプリを起動すると自動的に最新版があるか確認し、もし更新されていれば自動的にバージョンアップしてくれる機能を実装します。 いくつか方法はあるのですが今回は electron-builderの機能を使う ビルドしたアプリはAWS S3へアップ 更新があるとユーザーの…

[Electron] macOS用アプリに「コード署名」と「公証」を行う

今回はインターネット経由で配布したmacOS用のアプリが安全であることを証明するための作業を行います。 ぶっちゃけ面倒です← あとmacOSがないと作業できませんのでWindowsユーザーの方は(お小遣いを)準備してから挑んでください。

[Electron] ログをファイルに記録する - electron-log

開発中はconsole.logで見れば良いのですが、ファイルにも情報を記録しておきたい場合にelectron-logを利用すると非常に簡単にログを記録することができます。 const log = require('electron-log'); log.info('Hello, log'); log.warn('Some problem appears…

[Electron] ダイアログで指定したファイルに保存する

前回はファイルダイアログで読み込みを行いましたが、今回は保存を行います。 今回もOSの機能を利用するダイアログの表示とファイルを読み込む部分はメインプロセスが担当し、それ以外の部分をレンダラープロセス(Chromium上で動いている箇所)が行うことにし…

[Electron] ダイアログで指定したファイルを読み込む

今回はファイルダイアログでファイルを指定しその内容を読み込んでみます。 Electronで実装するにはいくつかのパターンがありますが、ここではOSの機能を利用するダイアログの表示とファイルを読み込む部分はメインプロセスが担当し、それ以外の部分をレンダ…

[Electron] アプリのアイコンを設定する - electron-builder編

アプリの顔である「アプリアイコン」を設定します。 今回はelectron-builderを利用してビルドする際の内容です。 アイコン画像を設定するのは非常に簡単なのですが、個人開発しているプログラマー的には画像を用意するのが一番ハードル高いですねw

[Electron] メニュー「アプリについて」をカスタマイズする

メニューからWindowsなら「ヘルプ」→「(アプリ名)について」、macOSなら「(アプリ名)」→「(アプリ名)について」とたどるとアプリのバージョン情報や製作者名が表示される機能をElectronではAboutPanelと呼びます。 今回はこのAboutPanelの表示内容をカスタ…

[Electron] アプリのメニューを作成する

Electronでアプリの「メニュー」を作成します。 基本的にはElectronのドキュメントの内容に沿って、Electronに予め用意されている機能を利用しWinodwsとmacOSの両方に対応するところまでを取り上げます。

[Electron] ユーザーの言語環境を取得する - app.getLocale()

Electronでユーザーの言語環境を取得します。 日本国内で日本人向けにのみ公開する場合は何も気にせず日本語で実装すれば良いわけですが、AppStore(Mac)やMicrosoftStore(Windows)で販売を計画している場合はやはり多言語対応したくなりますよね。

[Linux] SSHのログイン時にIPアドレス制限を行う

ここ数日、SSHへのアタックが急激に増加した関係で特定のIPアドレスからだけログインできるよう対応しました。結論から言うと以下の設定を行うだけです。 特定のIPアドレスのみログインできる 特定のIPアドレスをブロックする hosts.allow|denyの書式 注意点…

[macOS] Terminalでファイルを監視し更新されたら指定の処理をする - fswatch

一言で言えばGulpのようなタスクランナーっぽいことをmacOS上でやりたかったのです。 「Gulp入れればいいじゃん」という話もありますが、今回はファイルが更新されたら特定のコマンドを実行したいだけだったので、わざわざNode.jsの環境を整えてJavaScriptを…

Linux入門「はじめてのコマンドライン」- Part.5

※この記事は専門学校の講義用に作成されたものです 今回はLinuxを利用する上で避けては通れない「パーミション」について取り上げます。 今後Linux上でプログラミングを行ったり、サーバ運用をする場合には必ずこのパーミションを意識して行う必要が出てくる…

[Redmine] EasyGanttで日本の祝日表示に対応する - 2021年版

Redmineの標準のガントチャートは一覧表示されたものを眺める以上のことができません。そんな時に使うのが「EasyGanttプラグイン」。ドラッグ&ドロップでチケットの期間や依存関係が設定できる優れ物で、機能は限定されてしまいますが無料でも利用できます…

[AWS] CloudFrontからのリクエスト以外をオリジンで拒否する

このブログはCloudFrontからLightsailで作成したオリジンを参照する構成になっているのですが、最近オリジンに直接リクエストが来ることが増えました。間違えてオリジンのURLを返している可能性もあったのでログを解析してたのですが、大方の予想通りセキュ…

Linux入門「はじめてのコマンドライン」- Part.4

※この記事は専門学校の講義用に作成されたものです WindowsやmacOSと同様にLinuxでも複数のユーザーで利用することができます。今回は新しくユーザーを作成し切り替えるところまでを学習します。

[AWS] LightsailでEMLauncherを動かす - AmazonLinux2編

iOS/Android用の開発中のアプリをチームで共有するための定番ツール「EMLauncher」をAWSのLightsailへインストールします。 基本的にLightsailに存在する機能を中心に設定しますが、一部AWS本体も利用します。 ファイルはS3へ保存 メール送信はSESを利用 S3…

Linux入門「はじめてのコマンドライン」- Part.3

※この記事は専門学校の講義用に作成されたものです 今回はコマンドラインの醍醐味である「リダイレクト」と「パイプ」について取り上げます。これをマスターすると上級者になった気分が味わえますw

Linux入門「はじめてのコマンドライン」- Part.2

※この記事は専門学校の講義用に作成されたものです 前回はLinuxでの基本的なコマンドラインの操作方法、ファイルやディレクトリの扱い方について練習しました。今回はディレクトリ(フォルダ)の「移動方法」について学習します。

[Redmine] チケットをRESTful APIで作成する - PHP版

RedmineのCSVをインポートする機能は便利なんですが、親チケットと子チケットを同時に登録できないのが辛いところ。そこで今回はRedmineのRESTfulAPIを利用しプログラムからチケットを登録する方法をまとめます。

Linux入門「はじめてのコマンドライン」- Part.1

※この記事は専門学校の講義用に作成されたものです LinuxにはWindowsやmacOSと同じ様にGUIを利用した操作ができる「XWindow」という仕組みもありますが、遠隔地にあるサーバを操作する場合には「コマンド」を入力して実行する方法が一般的です。 今回は初め…

WinSCPをWindows10へインストールする

※この記事は専門学校の講義用に書かれた物です Windows10にWinSCPをインストールします。WinSCPは20年以上前から開発が続いている手元にあるWindowsからサーバへファイルを転送する際に用いるソフトです。今回はダウンロードからインストール、実際にサーバ…

VirtualBoxにCentOSのイメージをインポートする

※この記事は専門学校の講義用に書かれた物です CentOS7.7のイメージをVirtualBoxにインポートし起動するところまでを取り上げます。HDDの容量の空きが少なくとも10G程度、メモリを8G程度は搭載していないと辛いので事前に準備して置くことをおすすめします。

VirtualBoxをWindows10にインストールする

※この記事は専門学校の講義用に書かれた物です Windows10にVirtualBoxをインストールします。 基本的には「次へ」ボタンを押していくだけですので、それほど難しくはありません。

[Redmine] 外部サイトへのリンクを新規ウィンドウで開く

RedmineのチケットやWikiなどで外部サイト(Redmineとは異なるドメイン)へのリンクの場合、新しいウィンドウで開く設定を行います。 今回はView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧ください。 blog.katsubemak…

[Quora] Unityを勉強するのにおすすめのサイトはある?

Quora回答シリーズです。 質問 Unityを学ぶのに良いサイトはなんですか? https://qr.ae/pNP3eg 公式を見ろ、というお話です。最近は充実しててうらやましい限りですよw

[Quora] フロントエンジニアがデータベースに詳しいと得をする?

Quora回答シリーズです。 質問 フロントエンドのエンジニアはデータベースに詳しいと得をしますか? https://qr.ae/pNP3Wv まぁそもそも詳しくて損をすることなんて無いんですけどねw

[Redmine] ログイン時にかっこいい効果音を鳴らす

小ネタです。 Redmineのような作業工程を管理するソフトって人間扱いされてない感じがして、ぶっちゃけテンション上がらないじゃないですかw というわけでログイン時にかっちょいい効果音をバーン!と鳴らして少しでもモチベーションを上げたいと思います。…

[Redmine] チケット編集中にエンターキーでの誤送信を防ぐ

Redmineでチケットの作成や編集を行っている最中、題名などテキストボックスで間違えてエンターキーを押すと送信されてしまうことがありますよね。 もうストレスMAXでハゲ散らかしそうな勢いです。プロジェクトが終わるのが早いか、坊主になるのが早いかの戦…

[Redmine] ヘッダーメニューに任意の項目を追加する

Redmineのヘッダー部分に独自のメニューを追加します。 GoogleDriveやGitHubなど、プロジェクトで利用しているツールに移動するのが格段に楽チンになります。 今回はView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧…