torutkのブログ

ソフトウェア・エンジニアのブログ

Windows

JavaアプリケーションのJPMSモジュール化をGradleで

Javaアプリケーションをモジュール化し、Gradleでビルドするようにした 先日のブログの続きです。 torutk.hatenablog.jp いろいろな問題点に直面してしまいました。その後の紆余曲折を書いていきます。 使用するIDE Gradleプロジェクトとして作ったディレク…

WSL 2でCentOS 8

WSL 2でCentOS 8を利用する 以前、WSL(WSL 1)でCentOS 7を利用するブログを記載しました。 torutk.hatenablog.jp ブログで言及しているWSL向けCentOSの入手元には、Windows 10 2004 Update以降のWSL1/WSL2向けにCentOS 8.1 1911のPre-releaseが提供されて…

JDK 11の環境設定

JDK 11から、Oracleが提供するWindows OS向けのJDKは、Oracle JDKとOpenJDKの2種類になりました。Oracle JDK 11は、有償で技術サポートが含まれ、LTS(長期サポート版)となる商用製品となりました。なお、開発・試験・デモ用など使用用途に制限のあるOTNラ…

Wix toolset 3.11のインストールで.NET 3.5を要求される

自宅PCのインストールソフトウェアを整理していて、Wix toolset(ちょっと古いバージョン)をアンインストールして最新の3.11.1をインストールしようとしたところ、.NET Framework 3.5が必要とインストーラーがエラー停止しました。 Windows 10では、.NET Fr…

WSL(Windows Subsystem for Linux)とHyper-V上のLinuxとの重さの違い

はじめに Windows OS上でRedmineを動かす環境を用意し、さらにプラグイン開発環境も用意するのはかなり難儀なので、Windows OS上に仮想マシン(VMware、VirtualBox、Hyper-Vなど)を入れてその上にLinux OSを入れてRedmineを動かしていました。ここで、最近…

VC++ 64bit版の関数呼び出し時はレジスタが多用されている

はじめに Windows OS上で、とあるアプリケーションソフトウェアがしばしばクラッシュ(異常終了)します。利用者の立場なので、デバッガーで…という環境はありません。開発元で対処されるのを待つのみなのですが、運用環境でしか再現しないときなどは対処が…

WindowsのバッチファイルをGitHub Gistに置くときのメモ

きっかけ 先日(日本時間で3月21日)、Java SE 10がリリースされました。そこで、Java SE 10の開発キットであるJDK 10をWindowsにインストールしました。 この時点で、マシン上にはJDK 8、JDK 9、JDK 10とがインストールされた状態です。コマンドプロンプト…

WindowsのHyper-V上でFedora 26を27に更新したあとのRedmine起動エラーの解消

Windows 10のHyper-VにFedora 26を入れてRedmineを動かしていました。 今日、Fedora 26を27にアップグレードしたところ、いろいろ問題が発生しました。 DHCPサーバーでFedora 27にIPアドレスの固定割当をしてみたががうまくいかない Redmineが立ち上がらなく…

Windows 10のBash(Windows Services for Linux)上でAnsibleを動かすまで

インフラ構築の自動化/構成管理ツールのAnsibleは、Windows OSに対する様々な操作が可能です。しかし、Ansibleを実行する制御マシンはLinuxとなります。そのため、Windows OSが主な構成となるシステムでは制御マシンをどうするかが課題です。今までは、仮想…

Windows 10でディスクアクセスが数秒〜十数秒固まる現象

Windows 10にアップグレードしてから、Emacsのファイル保存時、Excelのファイル保存時などでしばらく「応答なし」状態になることが発生しました。そのとき、横でエクスプローラーでファイルを見ようとしても、こちらも見えず応答なしになっていました。この…

USB 3.0インタフェースカードを購入

Windows 7の頃からUSB 3.0が不安定でしたが、Windows 10(クリーンインストール)では不安定即OSフリーズとなってリセットを余儀なくされてしまうようになりました。そこで、USB 3.0インタフェースカードを買ってオンボードのUSB3.0を無効にして対処しました…

Windows 10を新規インストールしてぼちぼち環境が整ってきた

先週、家のメインマシンをWindows 7からWindows 10にアップグレードしました。過去の日記に記載しています(Windows 10へのアップグレードを開始する - torutkのブログ)。 このアップグレードはすんなりと終わりました(実はその後USB 3.0でトラブルがあっ…

Windows 10でユーザーディレクトリを別ドライブに移動するのは難しい

Windows 7からWindoows 10へのアップグレード後、別途SSDを購入し、ここへWindows 10を入れ、もともと使っていたHDDをデータ用に使うことで高速化を図りました。Windowsは、システムドライブにユーザー領域(C:\Users\)を設けるのが規定のため、これを別の…

Windows 10へのアップグレードを開始する

Windows 7で、時おりポップアップでWindows 10へのアップグレードダイアログが表示され、タスクバーの通知領域には「Windows 10を入手する」のアイコンが常時置かれている状態です。そろそろWindows 10へのアップグレードをしようと、通知領域の「Windows 10…

Windowsデスクトップ環境でUUID(GUID)を生成する方法

今週末の5月21日(土)は、日本Javaユーザーグループ主催のカンファレンスJJUG CCC 2016 Springが開催されます。昨年春に引き続き、今年も登壇することとなりました。今年はjavapackagerでWindowsネイティブなインストーラーの作成をテーマにしています。今…

Windows Server 2012 R2でリモートデスクトップサービスを削除できずリモートデスクトップ接続がエラーに

昨年秋に、初めてWindows Serverに携わる機会がありました。OSなしマシンに自力でWindows Server 2012 R2を入れたサーバー機と、購入時にWindows Server 2012 R2が入っていたサーバー機があり、後者のサーバーマネージャーの画面には「リモートデスクトップ…

Active DirectoryのGPPでドライブマップを設定し、項目レベルの対象化でコンピュータ名をDNSで指定したが指定以外のコンピュータでもマップされる挙動

はじめに Active Directoryの機能により、ドメイン参加PCのネットワークドライブ接続を制御することができます。ネットワークドライブ接続はユーザー構成に含まれるので、条件にあったユーザーがPCにログオン(サインイン)するとドライブ接続が実施されます…

Windows Location APIをJavaから利用する

Windows Sensor and Location APIでGPSデバイスから座標を取得 - torutkの日記 の続きです。 Javaから、Windows Sensor and Location APIを利用する方法を探ります。 Javaからネイティブのライブラリを呼び出す方法 まずは、Java SE Development Kit(JDK)…

Windows Sensor and Location APIでGPSデバイスから座標を取得

Windows 7から、Sensor and Location APIが導入され、これに対応したGPSデバイスを使うと標準APIを使って位置などを取得することが可能になります。MSDNの以下記事(日本語訳)参照。 Introduction to the Sensor and Location Platform in Windows | Micros…

JenkinsのビルドでWindowsバッチコマンドの実行に記述した内容が壊れる問題

Jenkinsでビルドする際、ビルドの種類に「Windowsバッチコマンド」を選択して、テキスト欄にバッチで実行するコマンドをずらずらと記述しました。最初はうまくいっているように見えましたが、日本語のファイル名を指定したあたりから実行がエラーとなり、コ…

Samba 4.0でActive DirectoryとWindowsドメインログオン

Samba 4.0.1でActive Directoryを立てる試み - torutkの日記の続きです。CentOS 6にSamba 4.0.0をインストールした後の設定編となります。 Windowsドメイン定義 samba4のsambaプロセスは、/etc/samba4/smb.confがないと起動しないので、まずsmb.confを作成し…

Windows APIをJavaから呼び出す(JNA)

昨日の日記(id:torutk:20121019)で、nativeメソッドSystem.nanoTime()のWindowsでの実装を調べ、その実装で使用しているWindows API QueryPerformanceCounterをC/C++コードで動かすことで分解能(周波数)とAPIの処理時間を取得しました。そのためには、Wi…

高精度タイマーQueryPerformanceCounterの分解能

JavaのSystem.nanoTime()メソッドは、高分解能のタイマーからその現在値をナノ秒単位の時間で取得するネイティブメソッドです。高分解能タイマーにはいくつか種類がありますが(後述)、その仕組みは、ハードウェア的にはある周波数で動作するクロックの回数…

Visual Studio 2010でC++/ネイティブな開発

数年間C++から離れていたので、その間にWindows/C++に起きた技術の変化を追いかけて整理をしています。とりあえず大枠として考えていることは次です。 文字コードの扱い C++ 11規格の扱い 64bitコードの扱い 並列処理の扱い Boostライブラリの使用範囲 ロギ…

Visual Studio 2010の性能問題メモ

Windows上でOSの性能を評価するためのプログラムを作成するため、開発環境としてVisual Studio 2010(VC++)を使うことになり、調査/整理をしています。Visual Studio 2010は、それより前のバージョンから作りが大きく変わり、.NETフレームワーク上で動くGU…

Windows 7 32/64bitとHALの種類

Windows 7が認識するハードウェア種類を調べる方法を探していたら、次の記事が見つかりました。 http://www.atmarkit.co.jp/fwin2k/win2ktips/1310halfname/halfname.html 記事はWindows 2000用ですが、対象OSの欄にはVistaまで記載があり、この方法でWindow…

WiXによるインストーラ作成(続)

以下の日記の続きです。 WiXによるインストーラ作成 - torutkの日記 アプリケーションで作成するデータ(ユーザー共有)の格納用ディレクトリと、そこにアクセス権を設定する試みを行いました。WiXのCreateFolderとPermissionを使う方法です。以下のドキュメ…

Windowsのディレクトリ構成ガイドライン

Windows Vista/7 になって、ユーザーのディレクトリがC:\Users下になったり、C:\Users\\AddDataなるディレクトリが出来たり、C:\ProgramDataなるディレクトリが出来たり、といろいろな変化があります。また、C:\Program Filesの下にインストールしたプログラ…

WiXによるインストーラ作成

Windows OS上で、MSI形式のインストーラを作るには、いくつかの手段があります。以下記事などに詳しく紹介されています。 あなたのアプリにはどのインストーラが最適?(2/3) - @IT InstallShieldは有名ですが価格も高く、一番グレードの低いExpress版も10…

ダウンロードしたJavaSE 6 Documentation(日本語)をIEで開くと真っ白

クローズなネットワーク環境でソフトウェア開発をするため、Java SE 6 DocumentationをダウンロードしてPCに入れて参照しています。普段Firefoxで参照しているので気にしたことはなかったのですが、IE8を使ってダウンロードしたJava SE 6 Documentation(日…