読者です 読者をやめる 読者になる 読者になる

気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

MacでOpen Officeを使いやすくする方法

OpenOffice Mac OS X

OpenOffice Calcでグリッド線表示をなくす

「Command + ,」で設定を表示。
OpenOffice.org Calc」→「表示」→「ビジュアル補助」→「グリッド線」のチェックを外す。

f:id:tamata78:20161107161152p:plain

コピー or 切り取りで挿入

操作 ショートカット
切り取ったセルの挿入 行または列を選択し、Altキーを押下しながらドラッグ
コピーしたセルの挿入 行または列を選択し、Ctrl+Altキーを押下しながらドラッグ

Mac OX操作を便利に使いやすくする方法

Mac OS X Mac アプリ

Mac作業の効率化に際して調査した記事をまとめました。
お役に立てば、幸いです。

基本操作

WindowsでできたことをMacでもやりたくなり、下記を調べました。
Mac 画面移動&リサイズ(1/2分割) ショートカット設定アプリ
Mac OS Xの忘れがちだけど、便利なショートカット

情報収集

Mac よく訪れるサイト内で検索を簡単に行う Alfred
⇛ AlfredというMacアプリを使用して、よく行くサイト内の検索をgoogleで検索してからでなく、サイト内検索を一発で行う方法を調べてみました。

開発者向け

Mac Terminalの初期設定(黒い画面に変更、サイズ変更、白く光るのを停止)

Mac 画面移動&リサイズ(1/2分割) ショートカット設定アプリ

Windowswindowsボタンと矢印キーでできる画面移動、1/2分割を行えるbetter touch toolが有償となってしまったので、 同じことができるツールを探し、見つけました。
特別な設定が不要でダウンロードしてすぐに使えて便利です。

Spectacleダウンロード先

ショートカット

よく使うのは下記のショートカットです。
左半分:Command ⌘Option+←
右半分:Command ⌘Option+→
真ん中に表示:Command ⌘Option+C
ディスプレイ一杯に表示:Command ⌘Option+F

他に設定されているショートカットは以下です。

操作 ショートカット
上半分 Command ⌘Option+↑
下半分 Command ⌘Option+↓
左上 Command ⌘Control+←
右上 Command ⌘Control+→
左下 Command ⌘ControlShift+←
右下 Command ⌘ControlShift+→
ウィンドウを左ディスプレイに移動 Command ⌘ControlOption+←
ウィンドウを右ディスプレイに移動 Command ⌘ControlOption+→
ウィンドウを上ディスプレイに移動 Command ⌘ControlOption+↑
ウィンドウを下ディスプレイに移動 Command ⌘ControlOption+↓
アンドゥ Command ⌘Option+Z
リドゥ Command ⌘OptionShift+Z

気になったこと

  • 画面中央に最大化しないで表示するショートカットがないのがちょっと不便
  • 別ディスプレイに移動を行うと画面が固まって、動かせなくなりました。その後、別アプリのclip memuが動作しなくなったり。。もしかすると他にも いろいろ弊害があるかもしれません。しばらく使って様子みてみます。
  • PCによってはアプリが落ちてしまうという現象も確認されているようです。

参考URL

無料で使えるMacのウィンドウをショートカットで自在に操作する「Spectacle」 | 男子ハック
Macの画面を自在に操り作業効率アップするアプリ「Spectacle」 - Smile-hack
ウィンドウの移動&リサイズをホットキーで『Spectacle』 - Macの手書き説明書

C# resxファイルの動的読み込み、参照

C#

exeファイルにリソースを埋め込まずに動的に読み込むことで、リソース内の内容の変更時に再ビルドが不要にする。
Javaのプロパティーファイルのような使い方をする。

設定

resxファイルのプロパティを変更する。

カスタムツール : (入力無し)
ビルドアクション : コンテンツ
出力ディレクトリにコピー : 常にコピーする

コード

String resourceFilePath = "Resources.resx";
var resources = new NameValueCollection();
using (var reader = new ResXResourceReader(resourceFilePath))
{
    foreach (DictionaryEntry entry in reader)
    {
        resources.Add(entry.Key.ToString(), entry.Value.ToString());
    }
}

// 指定KEYに設定した値を表示
Console.WriteLine(resources["KEY1"]);
Console.WriteLine(resources["KEY2"]);

参考URL

[C#]リソース(ResX)ファイルを実行時に動的に読みこむ | 学習B5デスノート
.NET TIPS:1つのキー文字列に対して複数の文字列値を保持するには? - @IT

入力フォームに自動入力させるブックマークレットを作成、登録、使用する

JavaScript

動作確認時に同フォームに何度も値を入力させる場合、ブックマークレットを作成しておくと、 動作確認がはかどります。

ブックマークレットとは

ブックマークにjavascriptのコードを設定しておくことで、javascriptでできる処理をブックマークアクセス時に実行させることが可能。

ブックマークレットの作成

javasciptのコードを書く

下記はid=nameのテキストボックスに山田を入力、id=emailのテキストボックスにexample@aaa.co.jpを入力するコードです。

javascript:(function(d,i,v){d[i]("name")[v]="山田";d[i]("email")[v]="example@aaa.co.jp";})(document,"getElementById","value");

ブックマークレットはコードを短く書くことがポイントになります。 d[i]("name")[v]docment.getElementBy("name").valueを変数を用いて書いた省略表記です。

ブックマークレットの登録

任意のページをブックマークした後、そのブックマークを編集します。
タイトルに実行したい処理がわかる名称を設定、URLに上記で作成したjavaScriptコードを設定

ブックマークレットを使用する

今回の作成したブックマークレットを使用する場合は、 該当のidを保持したウェブページを表示した状態で、ブックマークにアクセスする。 そうすると、入力フォームに値が設定される。

参考URL

任意のサイトで自動ログインするブックマークレットを作る - Corredor
自動入力のためのブックマークレットの作り方 | You Look Too Cool

ftp,sshのポートが開いているか確認する方法

Linux

コマンド

$ nc -z host.example.com 20-30

結果

Connection to host.example.com 21 port [tcp/ftp] succeeded!
Connection to host.example.com 22 port [tcp/ssh] succeeded!
Connection to host.example.com 25 port [tcp/smtp] succeeded!

参考URL

linux - centosの22番ポートが開いているかどうか外部から確認する方法 - スタック・オーバーフロー

C# 関数を使用する方法

C#

ソースの先頭行にusing ~と記述する。

記述方法

Streamクラスを用いて、サーバーからファイルを読み出す場合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Net;
using System.IO; // ← ここに記述

namespace CardReader
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient wc = new WebClient();

            using (Stream st = wc.OpenRead("http://study-csharp.blogspot.jp/"))
            {
                using (StreamReader sr = new StreamReader(st, Encoding.UTF8))
                {
                    string html = sr.ReadToEnd();
                    Console.Write(html);
                }
            }
        }
    }
}

usingとは

「using System.IO;」におけるSystem.IOは名前空間(namespase)を指します。この名前空間以下に定義されている関数にパスを通しますという意味。 JAVAでいうimport文。

Streamクラスを使用したい場合は、「System.IO」以下に定義されているクラスのため、using System.IOと記述します。 using System.IO.Streamと記述してはいけません。