へっぽこITパパのブログ

へっぽこITエンジニアの雑記です

Javascript:変数宣言

Javascriptの変数宣言はこのようにかく。 var sample = "1"; var sample2 = "2"; このようにもかける。 var sample = "1", sample2 = "2";また、変数定義したあとの代入の時に変数の初期化してない時にエラーを起こさないように対処する方法 this.sample = s…

デザインパターン:TemplateMethodパターン

TemplateMethodパターン ある処理のおおまかなアルゴリズムをあらかじめ決めておいて、そのアルゴリズムの具体的な設計をサブクラスに任せることである。 [Wikipediaより]要はほとんど処理をスーパークラスに決めておいて、用途ごとに変更になる部分を継承し…

デザインパターン:Adapterパターン

Adapterパターン Adapter パターンを用いると、既存のクラスに対して修正を加えることなく、インタフェースを変更することができる。 [Wikipedia]ということらしい。Adapterパターンには、継承を使ったパターンと委譲を使ったパターンがあるとか。 継承を使…

Shell:UTF-8環境でShift_JISのファイルからマルチバイトの文字列をgrepする

UTF-8環境で、Shift_JIS保存のファイルからマルチバイトでgrepしたいなんてことはよくある。でも、そのままだとうまくいかないからメモ。 $ nkf -w ファイル名 | grep "検索したい文字列" nkf入ってない人はiconvとかにしてください。

Linux:VIDEO_TSディレクトリをISOに変換

DVDをISO化するときに使えるコマンド。下記のようなディレクトリ構成のものがあったとする。 $ ls sample VIDEO_TS AUDIO_TS 下記コマンドでISOファイル化することができる $ mkisofs -dvd-video -o sample.iso -V ディスク名 sample ディスク名はデフォルト…

Shell:ssh経由でサーバにインストールされているGUIアプリをクライアント側で操作する

サーバのGUIアプリをVNCとか立ち上げずにノートPCからリモートで行いたいっていうのってちょっとした時にある。(今すぐ思い出せないけど) CUIでサーバ操作はよくやるので、その延長ってことで。 $ ssh -X ユーザ名@サーバIP これで接続したあとに、CUIからGU…

Java:ジェネリックプログラミング

Javaを使ってきて、自分の教育資料用のまとめ。 JavaはJDK1.5からジェネリックプログラミングができるようになった。日本語では総称型。C++ではテンプレートと同じような機能。それについてのまとめメモ。 ジェネリックのメリット ジェネリックを導入される…

Linux:Linuxを使い始めてから今までを振り返って

技術メモではないが、Linuxについてのつぶやき。 Linuxにはじめて触れたのは7年前に新卒入社して、配属になった部署で。当時Windowsもまともに触れなくて、"Ctrl+C"がコピーだってしらないくらいのレベルだった。 そこでコマンド等を教わりながらあとは独学…

Javascript:プロトタイプ

Javascriptは普通のオブジェクト指向言語じゃなくて、プロトタイプベースのオブジェクト指向言語のようだ。 関数をインスタンス化する var Person = function(name,age){ this.name = name; this.age = age; this.show = function(){ return this.name + '('…

Javascript:argumentsオブジェクト

Javascriptは引数をまじめにチェックしない。Javaとかからしたらありえないが、これはこれでちゃんと使えば柔軟になる。 argumentsオブジェクト function sample(){ document.writeln(arguments.length); for(var i = 0; i < arguments.length ; i++){ docum…

Javascript:クロージャー

Javascriptのクロージャーに関してのまとめメモ。 クロージャーとは・・・ クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことであ…

Javascript:高階関数

Javascriptの高階関数についてのまとめメモ。 高階関数とは 関数を引数にしたり、あるいは関数を戻り値とするような関数の事である。引数や戻り値の関数もまた高階関数となり得る。ということらしい。さっそく実践。 高階関数 function func(value , index, …

Javascript:変数スコープ

Javascriptのグローバル変数とローカル変数のまとめメモ。 グローバル変数 data = 'global'; function scope(){ data = 'local'; return data; } document.writeln(scope()); document.writeln(data); 実行結果 local local 関数の外にある変数が関数内の処…

Javascript:関数リテラル

Javaとは違い、Javascriptでは関数もオブジェクトである。そのメモ。 関数を定義する document.writeln(show("test")); //エラーになりそうでならない function show(string){ return string + ":" +string; } document.writeln(show("test")); //エラーにな…

Javaのネスト

Javaのネストって匿名クラスくらいしか使わないけど、まぁ結構色々できるのでまとめ。 間違っていたら指摘お願いします。 import jp.co.sample.NestMaster.StaticInner; public class NestMaster { public static void main(String[] args) { String mS = "m…

Java:instanceof演算子のメモ

Javaのinstanceofのメモ class C {} class D extends C{} interface E {} class F implements E{} class G extends F{} public class Sample { public static void main(String[] args) { C c = new C(); System.out.println("c instanceof C:" + (c instanc…

Javaの可変長引数メソッド

Javaの可変長引数でこういうときどうなるんだ?ってふと思ったので、実行結果をメモ。 public class SampleVariable { public static void main(String[] args) { SampleVariable a = new SampleVariable(); a.show(); a.show(1); a.show(1, 2); a.show(1,2,…

Javaのstaticインポート

Javaのstaticインポートのメモ import static java.lang.Math.E; import static java.lang.Math.PI; import static java.lang.Math.random; public class Sample { public static void main(String[] args) { System.out.println("普通のインポート"); Syste…

OSS-DB Silver 取得しました

LPIC level1に続きOSS-DB silver を取得しました。こちらはつい最近とったばっかりで、証明書等は届いてないのですが。 PostgreSQLをベースにした試験です。PostgreSQL CEとかと互換があるんでしょうか。 SQLの基本的な部分とPostgreSQLの運用部分までの試験…

LPIC level1を取得

LPIC level1を取得しました。取ったのは結構前で、ようやく証明書が届いたのでブログ書きました。 日常的にLinuxを使っているので、そんなに難しくはなかったですが、今まで体系的に勉強とかしてこなかったので いい機会になりました。 試験としてはそんなに…

「空腹が人を健康にする」を読んで

楽天ブックス: 「空腹」が人を健康にする - 「一日一食」で20歳若返る! - 南雲吉則 - 4763132024 : 本を読んで、実際に実践してみた。南雲先生がいうことは下記。 1日1食 完全栄養をとりなさい 歩きなさい とのこと。その前後の話は、色々意見ある人がい…

SSHでパスワードなしでログインする

SSHでパスワードなしでログインする手順メモ 流れ 接続元PCで ssk-keygen で秘密鍵と公開鍵を作成する ssh-copy-id で接続先PCにコピーする (ssh-copy-idがない場合は、scp,USB等でコピーする) 接続元PCからSSHで接続する といった流れになる。 手順 接続元P…

Eclipse4.2 リリース

Eclipse4.2 がリリースされました。Eclipse SDK 4.x: The Next Generation Eclipse Platform 新機能はここらへんに載ってる。でもメモ書きみたい。404 File not found あとで入れるか

for-ofループ

Firefox13にアップデートして、ECMAScript6の仕様である"for-of"ループというのが使えるようになったらしい。早速試す。 var arr = [ 3,5,7 ]; arr.foo = "hello"; for(var i in arr){ console.log(i); // 0 , 1 , 2 , foo } for(var i of arr){ console.log…

Javaでbyte配列を合成する

Javaでbyte配列を標準ライブラリ内で合成したいなーと思ったんだけど、プリミティブ型ってユーティリティ系が弱いみたい。 サンプル実装ということもあって、速度とかは気にせず実装。 byte[] binary1 = new byte[]; byte[] binary2 = new byte[]; StringBui…

gitは空ディレクトリをコミットできない

件名のとおりらしいので、svnから移行してきた人は戸惑うかも。 空ディレクトリはコミットできないけど、空ファイルはコミットできるので、なら空ディレクトリの中に空ファイルを入れましょうってことらしい。 ただ、お決まりがあって、".gitignore"にしまし…

komodo-editのショートカット

komodo-editのショートカットのまとめ ctrl + shift + O プロジェクト内ファイル名検索 ctrl + shift + F プロジェクト内Grep ctrl + shift + H プロジェクト内置換 ctrl + 7 改行コード表示/非表示 ctrl + 6 行数表示/非表示 ctrl + F ページ内検索 ctrl + …

Linuxのバイナリエディタ(GHex)

Linuxでバイナリを扱うときにodコマンドでもいいんだけど、グラフィカルなエディタを使いたいなと思い探したらすぐあったので、メモ。 # sudo yum -y install ghex 以上。とても簡単。起動はショートカットつくるかコマンド入力すればOK。 $ ghex 起動したら…

Fedora16でVirtualBoxをインストールするときのメモ

Fedora16でVirtualBoxをインストールした時にちょっとだけハマったのでメモ VirtualBoxのダウンロードページから最新のものをインストールする。 virtualBoxのインストール # yum install VirtualBox-4.1-4.1.10_76795_fedora16-1.x86_64.rpm ※ rpmでもいい…

Linux(Fedora)でのEclipseのフォント変更

FedoraでEclipse使うと、フォントのせいでインデントがちょっとおかしくなる。for文とかif文のネストが深くなるとどんどんずれていきます。 前までなかったんだけど、最近のバージョンから。そこで、フォントを変更することにしました。 Eclipseの windows -…