このブログの作者ーーーーーーーーーーーーーーーーーーーーーーーーーーー
宮古島生まれ、那覇の都会育ちの、WEBデザイナー。
本質を、エレメントで例えると「土」。大地のように誰のことも受け入れられるが、無口、動かない、人に染まることがあまりない。
好きなものを聞かれると、決まってレゲエと馬というが、馬に関して彼が乗ったり見に行ったりしたことを聞いたことがないばかりか、モチーフの何かを所有してるのをみたことがないので、謎である。レゲエに関しては、よく音楽を聴いているものの、バンドを組んでいたという件の話では、その歌の音程とリズム感によって、多くの謎を残している。いじけると、体育座りで唇を突き出す、中二病の気がある。大の酒好き。好きな酒は聞かれるたびに、変わる。言動は、多くの謎があるため、不思議系や天然系を通りこして、自然系と呼ばれている。
自称、『食にうるさい。』

カテゴリ:
さてさて、前回の続きということで、
私がそのブラック会社を辞めて〜編ということでまず、ここではブラック会社を辞めた経緯を書きたいと思います。

ターニングポイントになった、人との出会い


ブラック会社に勤めて二年目でしょうか?突然、新年早々新しく入社してきた人がいました。前職は大手の印刷機器メーカーの営業をやっていたかたで当時、35〜6歳だったでしょうか。

入社の際の自己紹介とその人の雰囲気に親近感を持ってすぐに私から話しかけて早く打ち解けたのを憶えています。

その人は営業出身ということもあり、本当に話好きな明るい人でした。

いままでに会社にいなかったような人だったこともあり、当然の如くその人を忌み嫌う人たちもいました。反対勢力とでもいうのでしょうか?その人は元来、裏表のない性格の人のようで思ったことはしっかりという人だったので、それをよしとしない人達からはあからさまに態度で嫌ってるってことを表されていました。
まぁ、自分はそんなの我関せずで、いつも通りみんなとは接していました。

突然、打診された転職の誘い


そんなこんなでその人が入ってきて半年ぐらいたったあたりでしょうか?
相変わらずブラックな残業体制は続いたままだったのですが。その人が突然、「会社辞めて新しい所で働く気ないか?」みたいな感じで会社の休憩ルームで2人だけのときに誘ってきました。
話を聞いた時は多分表面上は冷静を装っていたと思うのですが、内心めちゃめちゃビビってて「条件がよければ。」みたいな感じでいったのを憶えています。
そして、「わかった。」みたいな感じで、都合のいい日に仕事終わったら飲みにでも行こうみたいか感じになりした。

転職の条件を聞いた、仕事後の居酒屋


そして、その飲み会。そこにはその人と自分以外に同期で年齢は1つ下のT君も呼ばれていました。そのT君とは入社当初からずっと同じグループで気も合い仕事終わりにもよく飲みにいったりなど、公私ともに仲良くしていた仲でした。

実際に話を聞くとその人は新しく会社を立ち上げるとのことで、その立ち上げメンバーとして2人を引き抜きたいと率直に話してくれました。

私とT君はその場で答えは出さずに、よく考えて返事すると答えました。

若い二人が迷った末に出した決断


結論から言うと、その話を受けて立ち上げメンバーに加わったのですが、T君と2人で何度も話し合って私自身もすごい心の葛藤があった中での決断でした。最終的には「失敗してもいいから、自分たちがより成長できる道を選ぼう。」とどこかの自己啓発本に書かれているような言葉ですが、それが若い2人が若いなりに真剣に悩んだ末に辿り着いた答えでした。

当時、他の同期や先輩にも「絶対に失敗する。」とことごとく止められましたが、いまでも私はその選択にはなんら後悔していません。やっぱりそういった会社で悶々と毎日働いて、心も身体も削っていく中で日々、自問自答とでもいうのでしょうか?繰り返している中で「どっちに転んだって自分の人生。自分で100%選択したなら後悔はないじゃないか?」と導き出した、光明とでもいうような答えでした。

そして、そのブラック会社を辞めて新しい会社の立ち上げに参加するのですが、そこでは本当にまた価値のある経験をさせて頂いたのですが、その話はまた次回ということで。

カテゴリ:
Javaプログラミング基礎勉強第3回
今回はこちらです。
でてきましたね。「クラス」です。今回のタイトルは「クラスを簡単に理解する。」
ということで、まず前回のおさらいということで、

変数の宣言
変数の「型」によって定まるサイズ分のメモリを確保すること
この「型」って所が非常に重要な気がします。

変数の初期化
変数の宣言によって確保されたメモリに値を書き込んで、メモリの内容と変数の内容を一致させること
ここも重要ですね。変数の初期化とは変数に値を代入すること。ですね。
そしてこれをふまえて「クラス」という概念が登場するわけですね。
とうわけで雑記です。

「クラス」を使うことで変数の組み合わせをひとつの変数であるかのように扱える。
ん〜ここらへんからややこしくなるのですが、まぁできることが増えるイメージがしますね〜。その分ややこしくなる。だからこそ、基本が大事と。
そして「クラス」を使うにはまず、「クラス」を定義しなくてはならない。

[sourcecode language="plain"]Class GeographicInfo {
double latitude;
double longitude;
}
[/sourcecode]
▲こんな感じ。「Class」をつけてクラス名を記述するんだな。クラス名の先頭は大文字か。

クラスを使う場合、そのクラス型であることを宣言する。

[sourcecode language="plain"]class GeographicInfo {
double latitude;
double longitude;
}
public class UsingGeographicInfo {
public static void main( String args[] ) {
GeographicInfo g;
g = new GeographicInfo();
g.latitude = 35.66;
g.longitude = 139.75;

System.out.println(g.latitude);
System.out.println(g.longitude);
}
}[/sourcecode]
「GeographicInfo g;」というふうな形です。プリミティブ型なら「int g;」などですよね。
変数gを宣言して確保されるメモリは、クラスの中に存在する(double型が二つあるので8byte×2)16byteではなく、すべてのクラス型変数は”アドレス”を格納されるために使うので、Javaで”アドレス”を表わす4byteのメモリが確保されるとのこと。
うん、なんとなくわかった”アドレス”って部分がちょっと引っかかったが。。Javaではアドレスを4byteで表わすってことだけたたき込んでおこう!

クラスを使うときは変数の宣言とは別に生成という手順が必要になる。
「g = new GeographicInfo();」ってな感じで生成するわけですね。この生成によって初めてクラスの中に存在する16byteメモリが確保できると。そして、クラスに必要なメモリ領域を確保することを「インスタンス化」というと。そして、メモリ内に存在するクラスの実体のことを「インスタンス(instance:事案)」とか「オブジェクト(object:物体)」と呼ぶ。
ふむふむ。
クラス内で定義された変数のことを「メンバ変数」とか「フィールド」と呼ぶ。
これもとにかくインプット。ここでは変数glatitudeとlongitudeのことですね。
Javaでは、クラス型のように先頭アドレスを参照して実際の変数にアクセスする変数の型を総称して「参照型」と呼ぶ。
日本語としても難しいですね。この図が例なのですが、
[sourcecode language="plain"]
class SimpleClass {
int x;
}
public class ExchangeReferences {
public static void main( String args[] ) {
SimpleClass a = new SimpleClass();
SimpleClass b = new SimpleClass();

a.x = 123;
b.x = 456;

b = a;

System.out.println(b.x);
}
}
[/sourcecode]
結果は、






C:\DOCUME~1\MYDOCU~1\MYJAVA~1>javac
ExchangeReferences.javaC:\DOCUME~1\MYDOCU~1\MYJAVA~1>java
ExchangeReferences
123

C:\DOCUME~1\MYDOCU~1\MYJAVA~1>

だそうです。なんとなく「123」になるのはわかるんです。「b=a」のところで上書きされたというかんじですよね。多分これが「a=b」だったらまた結果はちがいますよね。「参照型(クラス)」で宣言する変数はあくまでも「別名」であるからだということだと思うのですが、しっかり言葉として説明することはできません。。。とりあえず今のところはそれで良しとしときます。
このままつまづいたらここをもう一度しっかり学習しなおすということで。

今回は、こんな感じでした。「クラス」、そして「参照型」言葉だけとると非常に複雑なイメージがしますが、
しっかりひとつひとつ頭に入れていくと感覚としてわかってくるものだと思います。ひとつずつしっかりとつまづいたらまた、前にもどってみたいな感じでやっていければと。。。しかし、この時点でJavaスゴク楽しいです。好きです。
以上、次回また理解を深めて。。。

カテゴリ:

独学で初めたデザインの仕事


私自身、元々はDTPデザイナーというか、ほとんどオペレーターみたいな感じで印刷やデザインを含めた広告業界に入りました。
美術系やデザイン系の学校や大学にも行かず、本当に素人同然で職業訓練校経由で広告業界に入ってきました。
その職業訓練校では特にパソコンの基礎、ExcelとWordの操作とビジネスマナーのみを習ったのみで、特にグラフィックソフトを使ってなんたらってのはやりませんでした。
それでも広告業界に入れたのは、独学でグラフィックソフトの操作をある程度習得したのと、その熱意と自分の若さがあったからだと思います。

とにかく最初はデザインの仕事に就くために必死だった


「残業は当たり前の世界だよ。」
と言われ、
「体力には自身があります!」
と言い切っちゃたあたりが、更に担当者の心をグッと掴んだんではないかと思います。今から考えると本当に思うつぼだなぁと思いますが、当時はデザインの仕事がしたくてもう必死だったので、仕方なかったと思います。

最初の三ヶ月は給料ゼロ


そして、入った広告業界。
最初の三ヶ月は給料なしで、正確には失業給付をもらいながら研修という形で広告データの作成の練習をしていました。しかし私は短期特例という失業給付のもらい方をしていたので、その頃は本当に給料なしでやっていました。それでも、この業界で働きたい一心で必死で練習しました。
そして三ヶ月が過ぎアルバイト扱いで入社させてもらい、本格的な仕事が始まりました。
初めは本当に簡単な仕事ばかりで、例えば当時はMacOS9からOSXへの移行時期だったので、OS9で作られた過去のデータはOSXではフォントがおかしくなるので膨大な過去のデータをひたすらOSXでフォント置換したりなど、もう本当に雑用の雑用ばっかりやらされてました。
そして半月も立たないうちに一日に2〜3時間残業するようになり、残業代でそこそこ稼げるようになりました。

研修期間後すぐに正社員に!


そして、翌月になって経理の方から「年金手帳持ってきて」と言われ、
その月から正社員になりました。今考えてみるとバイトで残業代を稼がられるより正社員にしたほうが会社側にとって都合がよかったからって間違いなく思いますが、当時は正社員になれて本当に嬉しかったのを憶えています。

正社員になってからの過酷な労働環境


そして、正社員になってからの日々は本当に地獄というか青春を捨てたと、いうか本当に過酷な日々でした。
残業、徹夜は当たり前で、もちろん残業代は僅かしか払われません。それでも沖縄の同年代では貰ってるほうの給料でしたが、その給料もストレス発散の飲み代などにほとんど消えてしまいましたし、報われない感じは否めませんでした。なんか、いま考えても本当によくやってたなぁ〜と思います。
そして本当に苦しかったなぁ〜って思います。あの苦しさがあったから今の自分があるとも思いますし、あの時間でどんだけ胃を悪くしたんだろうと悔やんでなりません。(2年後、健康診断で慢性胃炎と診断される。)

そうです。そこはブラックでした。


ブラック会社に勤めてるんだけど、もう限界かもしれない。を自でいく労働環境でしたね。

会社の上司にも恵まれず、あんなことやこんなこと(ちょっとこのブログて書くのは差し控えさせていただきます。完全に2chネタです。)、今では笑えますが本当に当時は笑えませんでした。

その会社の2chのスレを見ると今でもお腹が痛くなります。

そんなこんなでPart1はここらへんにしてまた次回、その会社を辞めて…編にいければと思います。
しぇば!

カテゴリ:
前回に続きましてこちらさまより、Javaプログラミングの初級の勉強をしております。

そして、今回は「変数」でございます。

私自身今まで、色々なスクリプト言語(ActionScript2.0,Javascript,PHP,Pythonなど)を
かじりかじりやってきたので何となく変数については理解しているつもりでした。
要するに値を箱のような感じで一時的に格納しておくみたいな?そんなかんじで。
しかし、今回この記事を読んで変数のちがった捉え方というか、本質をとらえたような説明に
目からうろこ状態で、同時になんかいままでより変数の捉え方がしっくりきたって感じがしました。
そんなこんなで、とりあえず雑記していきます。



変数の宣言とはメモリを必要な分確保するということ。


これがまさしく目からうろこだったんですけど、核心をついててなんか頭がスカーンとしました。
そうか、「箱」の例え話はあくまで例え話だったんだぁと。そして若干、変数の概念をわかりづらくしていたんだなぁと。
でも、自分自身がプログラムを一切かじったことがなくて上記のように「変数とはメモリを〜」と説明されても理解しがたいかもしれないですし、むずかしいところだなと思いました。でも、この記事の一連の説明と図を見ると理解できるのかと。。。まぁとにかく自分はなんかしっくりきました。そして、ActionScript2.0から3.0になったときに変数の型を指定しなきゃいけなくなって、なんだよめんどくせ〜と思ってたのが、あれはメモリを確保するためだったのか〜それによって処理を早くするためだったのかな?と思い、スッとしました。


a = 1;には「1」の値が代入されたわけではない。

変数の説明図

上記の画像をみていただければなんとなくイメージできるかとおもうのですが、同じ「1」でも変数の型次第で代入されている値がちがうということです。int型なら「00000001」、byte型なら「01」です。これも目からうろこですね。いや〜型もしっかり覚えなきゃ〜


















































型名 サイズ 値の範囲
整数 byte 1bytes -128〜+127
short 2bytes -32768〜+32767
int 4bytes -2147483648〜+2147483647
long 8bytes -9223372036854775808〜+9223372036854775807
浮動少数 float 4bytes ±3.40282347E+38〜±1.40239846E-45
double 8bytes ±1.79769313486231570E+380〜±4.94065645841246544E-324
文字 char 2bytes 0〜65535(Unicode表現)
論理 boolean (1bytes) true/false

そして、上記の表にあるように例えば「int」の型を指定すると「4bytes」のメモリが確保されるとのこと。

変数を初期化しないで実行するとエラーになる。

ん、これも基本だな。初期化するためにはなにか値を代入すればいいということですね。

intやbyteなどの型を総称してプリミティブ型(基本データ型)と呼ぶ。

「プリミティブ」とは英語で「原始的な」という意味だそうです。CPUで直接メモリの内容を読み書きして計算させるという「プリミティブ」な用途で使われるからだそうです。ふむふむ、これから「プリミティブ」と言われてもビビらなくなりそうです。



そんな感じで、以上目からうろこの「変数」Part1でした。

カテゴリ:
現在こちらのサイトを見ながらJavaのプログラミングの基礎を勉強しております。

え?なんでJavaかって?

だって、前働いていたウェブサービスの会社でもJavaを使ってたし、

いまScalaLiftだって出てきてるし、Scala勉強会@東北もあるし、Scala勉強会@東北の勉強会に参加したいけど、Javaがわからないとチンプンカンプンだと思うし、Scala波に乗り遅れたくないし・・・

など色々あって勉強しています。

ウェブデザイナーでそこまで必要か?という方もいられるかもしれませんが、
やはり、Java使いの魂というか本質的な所を少しでもわかっていると、
Javaプログラマの方と一緒に働く時にうまく会話ができるんじゃないかと思うところもあっての勉強です。

前一緒に働いていたJavaプログラマの方の今でも印象に残ってる言葉は
「名前には魂を込めなきゃ!」
です。いままで何となく画像やファイルに名前をつけていた僕に降りてきた雷のような言葉でした。

そしてウェブデザイナーは特に名前を略するのを好む(image = img とか)のですが、
そのプログラマの方はそれも好ましくないというふうにおっしゃってました。
その理由としてはJavaの作法として冗長になっても意味のわかる名前のつけかたをするみたいなことがあるということで、そういうのがないとちがう人のファイルを触る時にわからなくなってしまいうとのことでした。まさにその通りだと。。。

それ以来、名前をつける際は「魂」を込めるように気をつけております。(DTPではちょっと手を抜き気味ですが(笑))

そんなこんなで、長い前置きになりましたが勉強中に大事というか覚えておきたいなぁと思ったことを雑記いたします。



プログラムにはコンパイラ型とインタプリタ型がある。


これもなんかふぉあ〜んとしか覚えてなかったのですが、PHPやJavascriptはインタプリタ型でCやJavaはコンパイラ型ということですよね。静的型付け言語と動的型付け言語とも言うみたいです。コンパイラとはソースファイルを実行可能な形式のファイルに変換するプログラムのことだそうです。そして、Javaのコンパイラはソースファイルをプログラムが実行可能な形式のファイルには変換せず中間コードを生み出すとのこと。そしてそのままではCPUが理解できないので「バーチャルマシン」という方式を使って実行させるそうです。もしかしてこれがJavaVMのことか!


実行可能なファイルを作成するためのプログラムをまとめて「開発環境」という。

Java 2 SDKのことですね。ふむふむ。Javaの開発環境を「JDK」と呼ぶ事もある。

「.java」のファイルを実行すると「.class」ファイルが生成される。

これがコンパイルすること。Javaプログラマの方のデスクトップの覗き込んだ時に.java以外に.classが大量にあったのはこれだったのか!

Javaにはアプリケーション構築に必要なプログラムの部品を集めた「パッケージ」という仕組みがある。

「System.out.println」のような文も開発環境で標準に用意された「パッケージ」を使っている。そして基本的なパッケージ(コアパッケージ)は変更してはいけない。バーチャルマシンはコンパイラが生成した中間コードと、あらかじめ用意されたコアパッケージの中間コードの両方を解釈してプログラムを実行する。そしてコアパッケージの中間コードはrt.jarというファイルに格納されている。そこからバーチャルマシンは必要な中間コードを取り出して実行している。





以上、本当に初歩の初歩ですが。
自分なりの雑記でした。Scala・Lift目指してコツコツ勉強していくぞ〜。
(三日坊主になりませんように・・・)
ってかこの間、PythonでGoogleAppEngineとかいっといてって感じですね(笑)
でもきっとJavaを学べばそこにも生きてくる気がいたします。。。

カテゴリ:
昨日に引き続き、GoogleAppEngineを試します。
GoogleAppEngineについて色々調べてると、GoogleAppEngine製のブログエンジンがあるということだったで、早速試してみる。
試してみたのが、最も評判の良さそうだった、capedialog
http://code.google.com/p/cpedialog/

上記サイトからファイルをダウンロードし、GoogleAppEngineの管理画面からアップロード用のアプリケーションを作成し、先ほどダウンロードしたファイルの中のapp.yamlのアプリケーションIDの部分を管理画面から作成したアプリケーション名に書き換えてあげて、
ターミナルから
appcfg.py update アプリケーション名でいけた。
多少、時間はかかりましたが、無事アップロード完了。
http://saniman32.appspot.com/
こんな感じでできました。

あとは中身をいじってみる感じで、
そこらへんはリファレンスみないとわからなさそう?

ってな感じで今日はここまで。

カテゴリ:
Pythonも本当にちょっとかじったぐらいで「みんなのPython」を電車で読んでたぐらいでしっかり理解できていない、
そしてなによりも実践が一切ないなかで、GoogleAppEngineに挑戦してみようと思います。

ちら〜っと掲示板ぐらいはできた。。。ってかDEMOをアップロードしただけ。。。
http://roomnippon.appspot.com/
でも、やっぱりやってみたい!タダだし!!盛り上がってる気がするし!!

ってな感じで序章?でした。(短っ!!)

WordpressのECサイト構築プラグインWelcartを試してみる。

カテゴリ:
わたくし、前回EC-CUBEをインストールしてECサイトの構築を試してみたのですが、
これがなかなかうまくいかず途方にくれていた所で、
めげずにWordpressのプラグインでECサイト構築できるいいやつないかな?という発想が湧いてきまして。
調べてみたら、何件かでてきたのですが
まず、最初にひっかかったのが、WP-ecommerce
しかし日本語化が進んでないようで断念。(http://blockworks.jp/archives/530こちらのぺーじで日本語化ファイルを配布してるようです。)

そして、たどり着いたのがWelcartでございます。
こちらは日本語化も進んでおり、なんとクレジット決済まで対応してるじゃありませんか!!
こちらを試してみないことはありませんね。導入方法は下記に詳しく記載してありました!
http://www.welcart.com/wc-flow/

そして実際にWordpressからプラグイン検索で追加。
入れてみますと、管理画面の左のサイドバーにWellcartShopとWelcartManagementバーがでてきます。


ちょっと試してみて少しわかりづらかった部分が商品画像の登録の部分です。
調べたらこちらに登録方法とルールが書いてあったのですが、ポンポンポンと直感的に触って言った際にうまくできなかったので気になりました。
あと、メール設定の部分ですね。はじめから定型があるとすごい助かると思いました。
(何項目もある返信や受注確認メールがオール空だった。。。)
こちらはプラグイン開発などでできるのかな?

なにはともあれ色々設定をして試してみまして、すんなりECサイトの構築ができそうな予感です。
いや〜本当にWordpress様ありがとうございます!!
これからもWelcart試していってまたこのブログでも紹介していきたいです。

カテゴリ:
ただいま、私BuddypressでSNSサイトを構築中であります。

BuddypressというのはWordpressのプラグインでこれを導入することで、
WordpressでもSNSサイトが作れちゃうとう画期的なものでございます。
インストールの仕方など下記サイトなどに詳しくのっております。
http://www.webcreatorbox.com/tech/wordpress-plugin-buddypress/

SNSサイトといっても、Mixiのような完全クローズドなSNSではなく
どちらかというと、TwitterライクなSNSでありますね。
まぁBuddypressで構築すると必然とそうなりますね。
プラグインなどで完全クローズドにもできるようですが、おすすめはしてないようです。

ブログを書いて、さらにそのサイトをSNS化してしまおうなんてWordpress、
そしてBuddypress開発メンバーはなかなか粋なことをいたしますなぁ。

そんなこんなでただいま構築中なのですが、
我ながら中々いいサイトに仕上がっているんじゃなかと、少し手ごたえを感じております。

これができるのも本当にWordpress様のおかげですね。ありがたいです。
そのサイトはアップ次第このブログでも紹介いたしますので、どうぞ楽しみにしていてください。

カテゴリ:
仕事の案件で今後ECサイトの受注がでてきそうなので、
まずテストがてらEC-CUBEをインストールしてみました。

FTP経由でやるのが面倒だったので、
SSH経由でやってみましたが、うまくできず。(コマンド覚えなきゃ・・・)
WordpressはSSH経由でできたのに・・・

てな感じで結局こちらを参考にFTP経由でインストール。。。

しかし、http://example.com/install
にアクセスしてもサーバーエラーが!!

調べたら(さくらだけなのか?).htaccessファイルを削除しなければならないらしく
削除したらすんなりインストール画面が写りました。

んでインストール完了!
よし管理画面からログインだぁ!!ってな感じでIDとPASSを入力してエンターボタンを押したら
なんど「サーバーエラーが発生しました。*******←ここらへんはよく覚えてません」

こちらも調べましたら、インストール時にデータベスの初期化画面で「データベースの初期化処理を行わない」に
チェックをいれちゃうとなるようで、再度インストールし直すと無事ログインできました。

ってほっとしたのもつかの間、管理画面を色々みていたら
なんかボタンを押した拍子に Parse error: syntax error, unexpected T_STRING in www/data/cache/mtb_constants.php on line 166 というエラーが!

この時点でぼくは使うのをあきらめて検索エンジン経由でかちびと.netさんの下記に記事に辿りつき記事をながめながら途方にくれましたとさ。。。
http://kachibito.net/software/17-e-commerce-cms.html

このページのトップヘ

見出し画像
×