テクノ・クオリティー

高田馬場にある(株)テクノウォーカーのスタッフ雑記。内容ゆるめでお送りします。

2019年06月

開発部のHです。

「ファイル名を指定して実行」から、コマンド入力して実行すると
設定画面やプログラムを開けます。
 
私が、サーバ構築作業や、普段の業務で使用しているコマンドを
一覧にしましたので、みなさんも使ってみてください。
 
■実行方法
Windows + R  「コマンド入力」  「OK」

実行例
イメージ 1

 












 
■基本コマンド
mstsc               リモートデスクトップ接続
cmd                 コマンドプロンプト
powershell          Windows PowerShell
notepad             メモ帳
iexplore            Internet Explorer
 
officeコマンド
outlook
excel
winword
 
■設定コマンド
control             コントロールパネル
compmgmt.msc        コンピュータの管理
services.msc        サービス一覧
eventvwr.msc        イベントビューアー
ncpa.cpl            ネットワーク接続
appwiz.cpl          プログラムと機能
sysdm.cpl           システムのプロパティ
inetcpl.cpl         インターネットオプション
regedit             レジストリエディタ
taskmgr             タスクマネージャ

以上です。


開発部のOです。

私のアレといえばゴルフです。

覚えたてでまだまだ発展途上です。
東京では、なかなかやる機会や場所が無いところが悲しいトコロです。
友人と栃木に旅行へ行った際やったのがきっかけです。
今年も行くので楽しみにしています!
ちなみに来年の旅行は、しずおか辺りなんていいですね。

さて、ほぼ我流の私のスイングです。
とりあえず前に飛ぶようになったので良いかな、と。(右にいくけど・・・)
イメージ 1


ゴルフも仕事もアプローチが大事ですね!

以上です。

皆さん、こんにちは、こんばんは、おはようございます、開発部のDです。

さて、今回お送りするお話は、アレについてです。

アレといえば静岡
静岡といえばアレ

そう、みんな大好き、「さわやか」です。

知らない方のために説明しますと、
「さわやか」とは、「炭焼きレストランさわやか」のことです。
名物メニューが「げんこつハンバーグ」の、超人気店です。
チェーン店ですが、静岡県にしか店舗がなく、通販もありません。
食べるには、静岡県に赴き、場合によっては何時間にも及ぶ待ち時間に耐え抜かなければなりません。
先月のGWには、御殿場インター店の待ち時間が9時間を超え、話題になっていました。
9時間・・・朝食が夕食になりますね(笑)

前置きが長くなりましたが、
ついにこの人気店に行ってきましたので、食レポしたいと思います!

行ったのは3月末の日曜日、店舗は忘れてしまいましたが、
待ち時間は夕食時で運良く(?)1時間30分でした。

待ちに待ち、いざ入店、「げんこつハンバーグ」を注文し、
わくわくテカテカ待っていると、来ました!

イメージ 1

まず思ったのは、
「クレヨンしんちゃんの顔みたいな形の鉄板だな」です。

それはさておき、見た目は普通のハンバーグですが、
味は「人気なのも頷ける美味しさ」でした!
今までいろんな店のハンバーグを割と食べてきたと自負しておりますが、
私の中ではキングオブハンバーグでした。
どう説明したらいいのか分かりませんが(笑)、
今まで食べてきたハンバーグとは一線を画して美味しかったです。
中はかなりレアなので、苦手な方は「よく焼いてください」と注文した方がいいと思います。

と、あまり食レポできてませんが、皆さんも静岡に立ち寄る機会があれば、
是非一度行ってみることをオススメします。

行く際は、
・車で!
・長い待ち時間を覚悟の上で!
・待ち時間の潰し方を考えた上で!
 (御殿場インター店なら近場の御殿場アウトレットを散策、車中で爆睡、などなど)
行くといいと思います。

それでは(^o^)丿

Delphi使いのナイトーです。

みなさん旅行日記や趣味の話題、いろいろなブログ楽しませていただきました!
社長からメール出ておりますがブログ大賞投票、奮ってご参加ください。

さて、今回は「趣味でプログラムを作ってみよう!」という内容です。

・開発環境を用意しよう。
・今日のプログラムお題。
・付与情報とは。(Exif、id3、Vorbis Comment)
・趣味のプログラム作ってみよう。


■ 開発環境を用意しよう。

今回はここで使用する言語はWindowsのほか、MacやiOS、Androidのスマホにも対応したマルチプラットフォームにも対応、しかも無償版が公開されている『Delphi(デルファイ)』です。

自分の使っている言語がどの程度人気か気になりませんか?
たまに記事で見かけるプログラム言語の人気ランキング、TIOBEを見てみましょう。

人気ランキング2019年5月現在Delphiは12位、人気はVBより上みたいです。
集計方法もよくわからないので、あまり鵜呑みにしないでくださいね。

Delphiの無償版は『Delphi Community Edition』という名前で公開されてます。
機能制限も無いようですので、個人で早速ダウンロード、インストールしてみました。

イメージ 4

【Delphiの特徴】※個人の感想です。
・直感的に操作しやすい開発環境。
・コンパイルが早く、実行作業にストレスが溜まらない。(←これ結構大事)
・コンパイル言語でありながらブレイクポイントも使える、強力なデバッガーも付いてる。
・Windows、OSX、Android、iOS向けアプリを開発できる。

趣味のプログラミングは、思い立った時に作ることのできる手軽さは重要かと思います。
Delphiに限らず自分に合った環境を探してみてください。


■ 今日のプログラムお題。

早速、今回のお題を。

楽曲のダウンロード販売で、ポイント還元に惹かれ調子に乗って買い過ぎてしまいました。
そして、ダウンロードしてみるとユーザから見て意味のない数字の羅列(図1)で、このままでは扱いづらい・・・図2の機能を持つツールを作ってみます。

イメージ 6
図1.ダウンロードしたファイル名

イメージ 3

図2.ツールのイメージ


■ 付与情報とは。(Exif、id3、Vorbis Comment)

画像や音楽ファイルには、付加情報が埋め込まれているフォーマットがあります。
たとえば・・・

【MP3形式、FLAC形式】(id3、VorbisComment

アーティスト名、曲名、アルバム名、トラック番号など

イメージ 1
図3.FLAC形式ファイルのプロパティ例


【JPEG形式】(Exif

撮影時の露光や感度、GPS座標など

イメージ 2
図4.JPEG形式ファイルのプロパティ例

JPEG画像にはGPS座標などの付与情報も入っていて、地域ごとに画像を分類するなど使えそうです。
そして、付与情報の取得方法としてパッと思いつくのは①、②の方法です。

① ファイルに格納されているタグをバイナリで取得
② Shellクラス(Windowsの機能)を利用しタグを取得

今回は②の方法で取得します。
それぞれ、保存されている内容については検索サイトで検索してみて下さい。


■ 趣味のプログラム作ってみよう。

私の場合、趣味のプログラムはGUIのプログラムを作成します。
GUIアプリケーションを作る方が出来上がりが想像でき、途中経過を見てモチベーションを保って作ることができるのでお勧めです。

【デザインとソース】
機能を考え、テキストボックス(Edit)および、ボタン(Button)、リスト(ListBox)を配置して、今回は図5のような構成になりました。

・Button1:入力ディレクトリの選択
・Button2:出力ディレクトリの選択
・Button3:実行ボタン
・CheckBox1:実行後に出力カレントディレクトリを開くか?

イメージ 8
図5.デザインモード

今回メインとなる音楽ファイルからタグ情報を取得するにはShell32.dllに含まれる機能「GetDetailsOf」メソッドを使用します。「GetDetailsOf」を使用したソースコードは↓このようになります。
uses節には、Shell32_TLBを追加してください。 詳しくは全体のソースを見てみてください。

【type節】

TSongInfo = record
  artistName: string;
  albumName : string;
  trackNum  : string;
  songName  : string;
end;


【関数】

// 音楽ファイルからタグ情報を取得する
function TForm1.getSongInfo(fileName: string):TSongInfo;
var
  shell      : TShell;
  folder     : Shell32_TLB.Folder;
  folderItem : Shell32_TLB.FolderItem;
begin

  // 対象ファイルのプロパティを取得
  shell     := TShell.Create(Self);
  folder    := Shell.NameSpace(ExtractFilePath(fileName));
  folderItem:= folder.ParseName(Extractfilename(fileName));

  // 取得したタグ情報をセットする
  result.artistName:= folder.GetDetailsOf(folderItem, 217);
  result.albumName := folder.GetDetailsOf(folderItem,  14);
  result.trackNum  := folder.GetDetailsOf(folderItem,  26);
  result.songName  := folder.GetDetailsOf(folderItem,  21);
end;

全体のソースコードはこちら

【実行画面】
Button1をクリックすると、変更前のファイル名と変更後のファイル名をリストボックスに表示できました。

イメージ 5
図6.実行画面

【実行結果】
Button3をクリックすると、取得したタグ情報をファイル名にセットしました。

イメージ 7

図7.実行後の出力


■ おわりに

今回はブログ2周目初めてということで、前回の料理教室のお話と趣向を変えてみました。

梅雨の時期に入りましたし、家での空き時間にツールなど作成してみてはいかがでしょう。

みなさん、こんにちは!

4月入社のEです ^-^


本日は私が最近はまっていることについてお話します!


私は4月末より外部のJava研修を受けているのですが、
その研修をきっかけに「他の人のソースコードを読む」ことにはまっています。


研修先では技術レベルによってクラス分けがされており、
自分の所属するクラスでは「クラスの共有フォルダ」があります。

その共有フォルダには受講生が各自、自分が書いた演習課題の回答(ソースコード)をアップしています。


私は元々プログラミングを専門に学んできたわけでもなく、
PHPは少しだけ学んだことがありましたが、Javaは全くの初心者で、
研修ではDBを使用することもあるのですが、もちろんDBも未経験でした。

そのため日々の研修内容についていくことが初めはとっても大変で、
演習課題を解くスピードは周囲と比べて圧倒的に遅かったです。


そんな私が共有フォルダにアップされている他の人のソースコードを積極的に読み始め、
一つずつコードの意味を理解していったことで、演習課題を解くスピードがあがりました!


様々な人のソースコードを読むことで、
何がシンプルなプログラミングで何が読みやすいコードなのかを意識できるようにもなりました。


あと数週間で私も実務に携わるようになりますが、
研修が終わっても配属先やインターネット上で多くのソースコードを読むよう心がけたいなと思います!!


以上簡単ではありますが、Eでした!^ ^

↑このページのトップヘ