スキップしてメイン コンテンツに移動

投稿

9月, 2018の投稿を表示しています

印刷・PDF変換を自動化!! LibreOfficeをコマンドラインから使用する

印刷・PDF変換を自動化!! LibreOfficeをコマンドラインから使用するLibreOffice(リブレオフィス)とはWindows, Mac OS, Linux などのOSで動作する Offce アプリケーションです。
Microsoft Office などの Offce系アプリと相互互換性があります。今回やる事LibreOffice にはコマンドライン機能があり、
コマンドだけで Excel を PDF に変換できたりします。
今回は、このコマンド機能について色々試してみようと思います。LibreOffice のコマンド構文[構文]
{install}/program/soffice {parameter}}[使用可能な parameter]--help / -h / -? ヘルプを表示 します。 --version バージョンを表示 --writer 起動時に、空白の Writer ドキュメントを開く --calc 起動時に、空白の Calc ドキュメントを開く --draw 起動時に、空白の Draw ドキュメントを開く --impress 起動時に、空白の Impress ドキュメントを開く --math 起動時に、空白の Math ドキュメントを開く --global 起動時に、空白の Writer マスタドキュメントを開く --web 起動時に、空白の HTML 形式ドキュメントを開く --show {filename.odp} Impress ファイルを開いて、プレゼンテーションを開始する --minimized 起動時に、ウィンドウを最小化 --invisible 非表示モードで起動。 画面には何も表示させず、API 経由で処理を行うような場合に使用。 …

IT業界の負の遺産! ブラックすぎる事例紹介と、対処方法について検討してみた!

IT業界の負の遺産! ブラックすぎる事例紹介と、対処方法について検討してみた!ITの世界で働いていると、よく「負の遺産」と呼ばれるものに出会います。前任者が居なくなって、仕様を誰も知らないシステムソースコードがグチャグチャで誰もメンテ出来ないシステムそもそもソースコードがないシステム誰も使った事がないようなプログラム言語・ライブラリで作られているなど、様々な理由で「負の遺産」となってしまうシステムがあります。今回は、私がこれまで出会った「負の遺産」の紹介と、「負の遺産」にならない為の考察をしてみたいと思います。[事例1] 皆んなバラバラ・・・Accessで作られたシステムの、プログラム修正を行う仕事を受けました。なんで、仕様を知ってる開発元に仕事を依頼しないの?
と疑問に思いながら、いざ向き合ってみると・・・ユーザ持っている Access のプログラムバージョンがバラバラ(中のソースがバラバラ)テーブルの構造もバラバラ、画面の入力項目数もバラバラ自分が使いやすいように、ユーザ自身がシステムを改造しているなどなど・・・混沌とした状況でした。開発元は “スケジュールの調整が難しい” と断ったみたいです。
おそらく、この状況を知ってて、仕事を受けなかったと思います (orz)あー仕事受けちゃった・・・もう、やるしかない。でも、全てのファイルを修正しててら赤字になるので、「プログラムを修正するAccessファイルを1つだけ選んて下さい」と、お客に頼みました。数日後、修正を行うファイルが提示されました・・・しかし・・・ システムを自分で改造したユーザからと怒号が入るなど、収集がつかなくなってしまいました。
結局、怒号男を含め、いくつかのファイをに修正するハメになりました…原因 なぜ「負の遺産」となったのかこのシステムは私が関わった時点で、負の遺産化していた為、人から聞いた話ですが、以下の問題がありました。プログラムのバージョン管理をユーザ任せにしていたプログラムの修正を行い、ユーザに修正版を配布する際、メールでAccessのファイルを送っていただけだった。
→ こんな配布の仕方では、面倒くさがりのユーザはきっと、修正版を適用しないでしょう…Accessのマクロでプログラムを作成していた簡単なツールレベルのシステムだったので、Accessマクロで作っていた。
しかし、マクロ…

[Azure] Visual Studio 2015/Azure SDK 2.9.6 の開発環境を整える!

Visual Studio 2015/Azure SDK 2.9.6 で開発環境を整える!はじめにVisual Studio 2015で、Azure SDK 2.9.6 を使用するシーンがあった為、そのインストールメモです。インストールする物Visual Studio 2015 (Web PI)Web PlatForm Instalier 5.0Azure SDK 2.9.6インストール手順※ Visual Studio 2015は既にインストールされている前提です。Web PlatForm Instalier (Web PI)以下のサイトにアクセスして、インストーラをダウンロードしますhttps://www.microsoft.com/web/downloads/platform.aspxダウンロードしたファイルで、Web PI のインストールを行いますAzure SDK 2.9.6 のインストールスタートメニューより、**「Microsoft Web Platform Installer」**を起動します起動後、「製品」のタブを選択します。
右側の検索ボックスに「azure sdk」と入力して Enterキーを押します。「Visual Studio 2015 width Microsoft Azure SDK - 2.9.6」の行の「追加」ボタンをクリックします右下の「インストール」ボタンをクリックして、インストールを開始します。インストールが終わったら「完了」ボタンをクリックして画面を閉じますVisual Studio 2015 で Azure プロジェクトを作成するVisual Studio 2015 を起動して、「新しいプロジェクト」を作成します。左側の一覧から[Cloud]を選択し、作成する Azureプロジェクトを選択します。今回は Azure クラウドサービスで、ASP .NET MVC のプロジェクトを作成します。[ASP .NET Web ロール]を選択[MVC]を選択プロジェクトが作成されたら、画面上部の起動ボタンでプロジェクトを起動します起動すると、Azure エミュレータが立ち上がり、タスクトレイに以下のようなアイコンが表示されます少しまって、ブラウザが立ち上がり、以下のような表示になればOKです。

【MACで .NET開発】Visual Studio for Mac を使用して MacにASP .NETの開発環境を作る!!

MacでASP .NET MVCの開発!!Macで ASP .NET の開発ができる、「Visual Studio for Mac」を使用して ASP .NET MVCの開発を行う方法です。少し前までは Mono Frameworkや、Xamarin Studioを使って Mac や Linux でASP .NETの開発を行う事が出来ました。今では Microsoftより Mac版の Visual Studioが出ており、簡単なインストールで ASP .NETの開発が出来るようになっているので、そのインストール方法を紹介したいと思います。インストール手順インストーラ(dmg)をダウンロード公式HP より、インストーラをダウンロードします。インストーラを起動し、↓矢印の部分をクリックXcodeのバージョンが古いと以下のような更新確認画面が出ますIOSや Macのアプリを開発を行う場合、Xcodeを最新化する必要がありますが、今回は ASP .NET の開発が目的なので、「続行」ボタンクリックして、更新せずそのまま次に進みます。インストールするコンポーネントを選択します今回は、.NET Core + ASP.NET Core を選択します。
IOS, Android を選択すると、各種SDKもインストールするため、かなりの容量になります。インスールが開始されるので、しばらく待ちます。。。インストールが終わると、Visual Studio が立ち上がります「新しいプロジェクト」をクリックしてプロジェクトを作成します。プレジェクトテンプレートから、ASP .NET Core Webアプリ (MVC) を選択します使用する .NET Core のバージョンを選択します< .NET Core と .Net Framework の関係性>.NET Core がサポートしている APIセットは、以下のサイトから確認できます
http://immo.landwerth.net/netstandard-versions上のサイトによると、.NET Coreがサポートしている .Net Frameworkの関係性は、以下のようになります。.NET Core.Net Framework1.04.51.1同上2.04.6.12.14.6.1 (おそらく)プロジェクトの保存先ディレクトリを設定…

Access VBA (マクロ) にパスワードを設定

Access VBA (マクロ) にパスワードを設定するAccess VBA (マクロ) で作成したプログラムを、パスワードで保護する方法です。ファイルを配布する時、勝手にVBAを書き換えられないよう、保護して欲しいと要望がありました。
その時に、パスワードで保護する方法があると知り、調べた内容です。設定方法Acsessリボンメニューより [Visual Basic] を選択VBAのメニューより [ツール] -> [ProjectNameのプロパティ] を選択[保護] のタグで、パスワードを設定しますこれで、次回から VBAプロジェクトを開く時に、パスワードを求められるようになります。パスワード保護は気休めだった … (涙)色々調べていると、設定したパスワードを簡単に解除する方法があるようです。▼▼ こことか ▼▼
Excel VBAマクロ パスワード解除方法▼▼ ここでも ▼▼
Excel の各種パスワードを突破する方法まとめ紹介されているように、割と簡単に解除出来てしまいます。最初は「パスワードを長くすればいいじゃん」と思ってました …だけど、上のサイトで紹介されている方法は、ファイルのパスワード部分だけを除いて、別ファイルにバイナリコピーする方法でした。これだと、パスワードをどれだけ長くしても意味がなく、簡単に解除出来てしはじめにAccessマクロ(VBA)で作成したプログラムをy

JavaScriptで数値チェック

JavaScriptで数値チェック文字列を指定して、整数 or 実数値のチェックを行うサンプルコードです。classValideteUtil{/** * 整数値のチェック * @param {string} target チェック対象の文字列 */staticisInteger(target){//数値型が指定された場合は常に tureを返すif(typeof target ==="number")returntrue;//文字列が指定された場合、正規表現で数字のみか判定しますreturntypeof target ==="string"?/^[0-9]+$/.test(target):false;}/** * 実数のチェック * @param {string} target チェック対象の文字列 * @param {number} macDecCnt 最大小数点桁数 */staticisDecimal(target, macDecCnt){if(typeof target ==="number")returntrue;//まず、正規表現で数字および小数点のみか指定されているかチェックしますlet result =typeof target ==="string"?/^[0-9]+(\.[0-9]+)?$/.test(target):false;//少数点の桁数チェックif(result &&typeof macDecCnt ==="number"){ result =(target.length -((target +".").indexOf(".")+1))<= macDecCnt;}return result;}}

encbant.jsでぷよぷよ

enchant.js で ぷよぷよ(風)なゲームを作ってみたはじめにHTML + Javascirptでゲーム開発が出来る、enchant.js を使って、
ぷよぷよ(風?)なゲームを作ってみました。作ってみた感想として、enchant.js は簡単な開発環境で試せるし、
フレームワークとしての機能も充実しているため、
簡単なコードで楽にゲームが作れると思います。ゲームの完成イメージ完成イメージは、こんな感じです。
最低限の実装しかしてません ^^;<操作方法>キーボード動作↑↓←→ キーぷよを上下左右に移動します
上にも移動出来ちゃいます ^^;Space キーぷよを回転させますEnter キーぷよを一番下まで落として、配置を確定します。ちなみに、通常はぷよが上から徐々に落ちてきますが、
このゲームでは落ちません!!(超甘口です)デモ用として、こちらのページからプレイ出来るようにしています。開発ツールテキストエディタと開発用WebサーバがあればOKです。
今回は以下のツールを使用しています。Visual Studio Code (VS Code) ※コードエディタLive Server (VS Codeの拡張機能で、簡単にWebサーバが起動できる)まずは enchant.js のダウンロード公式サイトのダウンロードリンクより zipファイルをダウンロードします
http://enchantjs.com/ja/download-ja/ファイルを解凍して、必要なファイル ( enchant.js/map0.png ) を取り出します。解凍先のフォルダ/  ├ images/  │  └ map0.png ←これと  │  └ gameover.png ←これと  │  └ ・・・  ├ build/  │  └ enchant.js ←これが必要です  │  └ plugins  ├ doc/  ・・・ Visual Studio Code のインストール普通にインスートルしてください (適当 ^^;)VS Code に Live Server を導入するLive Server ブラウザが自動リロードするローカルWebサーバで、
VS Codeの拡張機能として提供されています。
ファイルの内容を変更すると、ブラウザが自動リロー…

Stackedit から Blogger に投稿する画像を LightBox 対応する

Stackedit から Blogger に投稿する画像を LightBox に対応するStackeidt から Blogger に画像を投稿すると、
LightBox が発動しない件についての対処方法です。※ LightBox とは ・・・ 画像をクリックすると画像が拡大表示されるアレです問題点 (なぜ LightBox が発動しないのか )Bloggerで直接画像を投稿した場合と、Stackedit から画像を投稿した場合で、
生成される HTMLが異なる事が原因でした。Blogger で画像を投稿した場合の HTML<ahref="https://2.bp.blogspot.com/af...xyz"><imgdata-original-height="600"data-original-width="296"height="320"width="157"src="https://2.bp.blogspot.com/af...xyz"/></a>Stackedit 経由で Blogger に画像を投稿した場合の HTML<imgsrc="https://lh3.googleusercontent.com/AF...XYZ">Stackedit で画像を投稿した場合は、LightBox を発動する為の、
<a> タグが生成されない事が問題だった。。。対処方法画像がリンク表示されれば LightBox が発動するので、
img タグが a タグで囲まれるように Markdown を記述します。[修正前の Markdown]![東京](https://lh3.googleusercontent.com/AF...XYZ) ※ LightBox が発動しない。[修正後の Markdown][![東京](https://lh3.googleusercontent.com/AF...XYZ)] (https://lh3.googleusercontent.com/AF...XYZ)
※ LightBox が発動する!!これで 一応 LightBox は発動しました!!

JQuery 直下のテキストノード(TextNode)を取得

[JQuery] 直下のテキストノード(TextNode)の値を取得する以下のHTMLのように、タグとテキストが混在している場合で、
テキストノード (“直下さん” の部分) だけをどうやって取得するかの話です。<divid="box"> 直下さん <p>ぴーちゃん</p></div>普通に $("#box").text() すると、直下さん ぴーちゃんと返り、
子要素のテキストまで取得してしまいます。対応方法直下のテキストノードだけを取得する方法として、
↓ のように jQuery 拡張の関数を用意し、
直下のテキストノードの値だけが取得できる関数を定義します。 $.fn.textNodeText=function(){var result ="";$(this).contents().each(function(){if(this.nodeType ===3&&this.data){ result += jQuery.trim($(this).text());}});return result;};使い方対象要素に対して、textNodeText() と呼ぶだけです。
以下のコードを実行すれば、最初の例のHTMLであれば、
直下さんが取得できるはずです。console.log(```js $("#box").textNodeText());//=> 直下さん