布団が俺を呼んでいる

丘山大一のぶろぐ

PowerShell ディスクサイズの使用状態をログで吐き出したい

自分メモ。ディスクサイズの使用状態を日時のログで吐き出す。実際使う時はタスクスケジューラあたりで呼び出す。Get-PSDrive -Name C | Select-Object @{Name='dat [もっと読む]

Oracle DBリンク関連の情報を取得

自分メモ。DBリンクを呼び出す処理を見ることになったのですが、機能が独特でよく分からん。基本的にデータベース同士を密結合する機能なのであまり使うべきではないかな、という感じもしている。色々取得1.DB [もっと読む]

PowerShell 二行を一行にまとめる

自分メモ。うまく言えないんですが、aaabbbcccdddというテキストをaaa bbbccc dddに変換してファイル出力する感じ。こんなん$originalFilePath="hogehoge.t [もっと読む]

WSL でGitbucket環境構築

ちょっとした個人用リモートリポジトリが欲しい時は、Gitbucketを構築しています。https://github.com/gitbucket/gitbucketGitbucketは動かすだけならja [もっと読む]

Oracle データベース操作基礎の基礎

SQLPlus の使い方基本メモともいう。データベースに接続して基本的なSQLを投げるまで。SQLPlusの実行方法スタートメニューに登録されているOracle-hogehoge - SQL Plus [もっと読む]

nodejs勉強した頃の開発環境(備忘)

あまりにもWeb系世界が不得手だったので、コッソリとnodejsを勉強していた時がありました。この本↓色々勉強にはなったのですが、nodejsはあんまり肌にあってない感じある。でもせっかくなので記録は [もっと読む]

MacBookに親しもう 6

ヘルプを読みつつ、気になる設定をちょこちょこと変えてみます。自分で何を変えたのか忘れそうなので備忘。Dockとりあえずサイズを小さくして画面左側へ。ついでに、ウィンドウをしまうときのエフェクトをジニー [もっと読む]

PackageManagement に挑戦その3

挑戦と書きつつ、自分メモ。ChocokateyGetで入れたもので、スタートメニューに出てこないものはC:\ProgramData\chocolatey\libのどこかに落ちているので、自力でスタート [もっと読む]

PackageManagement に挑戦その2

今度は実際に入れてみる。使うプロパイダはChocokateyGet。powershellを管理者実行にして作業開始です。まず一つChocolateyGet を入れてみます。Install-Packag [もっと読む]

デスクトップブリッジでストアに提出

これまた「ぷるまど」開発で経験したことまとめ。2018年7月現在の、WPFアプリをUWP化し、ストアに提出する時のやり方となります。条件元のアプリはWPF(WinFormsでも同じはず)ストアに提出す [もっと読む]
"Bitstream Vera Sans", sans-serif;">

2.DBリンクのパッケージ確認

SELECT * FROM ALL_OBJECTS@DBリンク名 WHERE OBJECT_TYPE = 'PACKAGE'


3.パッケージの中身を確認

SELECT TEXT FROM all_source@DBリンク名 WHERE NAME = 'パッケージ名' ORDER BY LINE

Tags :

PowerShell 二行を一行にまとめる

13. 11月 2019 22:11 / 丘山大一 / Blog . プログラミング . Power Shell コメント (0)
自分メモ。
うまく言えないんですが、
aaa
bbb
ccc
ddd
というテキストを
aaa bbb
ccc ddd
に変換してファイル出力する感じ。


こんなん

$originalFilePath="hogehoge.txt"
$filePath = "fugafuga.txt"
[int]$count=0
Get-Content $originalFilePath | ForEach-Object {
  $count+=1
  If($count % 2 -eq 0){
    Write-Output($_) | Out-File -FilePath $filePath -Append -Encoding utf8
  }else{
    Write-Output($_ + "`t") | Out-File -FilePath $filePath -Append -NoNewline -Encoding utf8
  }
}
Tags : .

管理者ユーザなのにexeファイルのファイル操作できなくなる現象

13. 10月 2019 09:10 / 丘山大一 / Blog コメント (0)
exeファイルのプロパティのセキュリティにアクセスできなくなる現象とも。
実害が出るレベルではまりました。


現象

ファイルを削除しようとすると、
「このファイルを削除するには管理者の権限が必要です」→「続行」→
「この操作を実行するアクセス許可が必要です」→「再試行」→
以降ループするので「キャンセル」せざるをえなくなる

リネームしようとすると、
「このファイルの名前を変更するには管理者の権限が必要です」→「続行」→
「この操作を実行するアクセス許可が必要です」→「再試行」→
以降ループするので「キャンセル」せざるをえなくなる

実行しようとすると、
「指定されたデバイス、パス、またはファイルにアクセスできません。これらの項目にアクセスするための適切なアクセス許可がない可能性があります」
で、メッセージ内容から「セキュリティが変なのか……」と考えファイルのプロパティからセキュリティを
開くと、たしかに権限がふられていない。ファイルの所有者の所有者も見えない。
しかし、権限をふろうとしても権限をふれない。

どういうこっちゃねん。


原因

他のユーザがexeファイルをロードしている状態で、さらに別ユーザがexeファイルを削除していたため。


原因詳細

エクセルファイルなんかで「別のプログラムがファイルを開いているので操作を完了できません」を見ることがあった人も
多いと思いますが、その複雑版です。共有フォルダに配置した、複数のユーザがたたくexeファイルで起きました。
登場人物は下記。

  • Aユーザ:exeファイルを実行していた人
  • Bユーザ:exeファイルを先に削除した人
  • Cユーザ:管理者であり、exeファイルを削除したい人

Aユーザは、Cユーザのマシン内の共有フォルダに入ったexeファイルを実行しています。起動後なので、exeはロードが終わった状態です。
続いて Bユーザは、そのexeファイルを削除します。Aがexe実行中でもファイル削除できます(Bのエクスプローラからは消える)
最後にCユーザが共有フォルダに入ったexeファイルを削除を実施しますが上記「現象」にはまり何もできなくなります。
Cマシン内の共有フォルダにあるexeは、Bによって削除された亡霊みたいな状態。


対応

exeにアクセスしている人を強制的に全部切断すれば解消されます。
というか先に切断しておきましょう。


泣き言

これWindowsのバグでは、という気がしなくもない。けど何かしら事情があってこうなっている気もする。

Tags :

WSL でGitbucket環境構築

25. 8月 2019 14:08 / 丘山大一 / Blog . 開発ツール . WSL コメント (0)
ちょっとした個人用リモートリポジトリが欲しい時は、Gitbucketを構築しています。
https://github.com/gitbucket/gitbucket
Gitbucketは動かすだけならjavaさえあればよいので、Windowsでもお手軽です。
が、逆にいえばjavaを入れなければなりません。
これが嫌だなー、という人は仮想環境を作るなりDockerで構築するのがよいと思うのですが、今回はWSLでやっていきます。

理由:現在使用中の環境のうち一つで、Dockerサービスが動かなくなったので(泣)

手順

使用環境はストアから入手したUbuntu。

まずはJavaをインストール。
sudo apt install default-jdk

インストール完了後、バージョン表示してインストール確認。
java -version

Gitbucketを入れるためのディレクトリを作成。
sudo mkdir /opt/gitbucket

Gitbucketをダウンロード。
sudo wget https://github.com/gitbucket/gitbucket/releases/download/4.32.0/gitbucket.war -P /opt/gitbucket

さて、後はgitbucketを動かせば完了なのですが、このままではWSL内にファイルを保持してしまいます。
そしてWSLの環境はリセットをすることがありますので、油断するとファイルが失われてしまいます。
これを防ぐため、Windows側でファイルの保存フォルダをあらかじめ作成しておきます。
今回は
D:\WSL\Ubuntu\GitBucket
というフォルダを作成しておきました。

さて、再びWSLに戻り、起動用ファイルを作成します。
叩きやすい場所に作るのがよいと思いますが、今回は/opt/gitbucket 内に作成しました。
sudo vi startgitbucket.sh

startgitbucket.shに、下記の内容を記述します。
java -jar /opt/gitbucket/gitbucket.war --port=8600 --gitbucket.home=/mnt/d/WSL/Ubuntu/GitBucket
ポートも指定していますが、ポートは空いている番号なら何番でもOKです。
今回はなんとなく8600番を指定しました。

最後に、実際に起動して完了。
sh startgitbucket.sh

http://localhost:8600/ にブラウザでアクセスすれば、動いているのが確認できます。



よりよい方法

この方法だと、いちいちファイルをたたいて起動しなくてはならないため、サービスとして登録した方がよいと思います。
が、そのあたりよく分からないしよけいに面倒くさいは今回触れません。あくまで「簡易のちょっとした」環境整備です。


さらによりより方法

素直にgithubなりなんなりでリモートリポジトリを用意した方が楽だよ!


独習Git

新品価格
¥3,542から
(2019/8/25 14:47時点)

Tags :