信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

LIST OF ARTICLES

記事一覧

  • テクログ

    Illustrator「線幅ツール」について

    こんにちは。 デザイン課のいまべぇです。 IllustratorCS5から新たに導入された「線幅ツール」について書こうと思います。 私はちょこちょこイラストを描く機会があるのですが、このツールはかなり便利です。 「線幅ツール」は、名の通り線幅を自由に変えることができます。 例えば、ベジェ曲線で書かれた矢印↓ 「線幅ツール」に持ち替えて、アンカーポントの辺りをクリックしながらひっぱると線幅が変わります。   抑揚のある矢印になりました。 線幅ツールが無い頃は、パスのアウトラインをとってアンカーポイントをいじって線幅の抑揚を作っていました。 なので、線幅を変えた後にパスの長さを調節する事が上手くいかずガタガタになったり、微調整に融通がききませんでした。 しかし、線幅ツールは線幅をスピーディに変えることができるだけではなく、自由に長さや色を変えたり、アンカーポイントを追加して形を変えることもできるのでとても便利です。   去年の案件で描いたイラストです。  線幅ツールで線幅を変えてみます。  線幅を変えると単調だった印象が少し変わってきます。 色をつけて出来上がり。 「線幅ツール」が便利なのは、作業工程のどの場面でも微調整ができるというところです。 では、Illustratorライフを楽しんでくださいね!  
  • テクログ

    画像リンクをクリックしたら破線出したくないはず!

    こんにちは。初めて技術ブログを書くことになりました。もりちゃんです。 まだまだ勉強中で皆さんのような素晴らしい内容、ためになるような内容ではないかもしれませんが、 業務中にちょっとつまづいたこと書こうと思います。 お手柔らかにお願いします。   多くの方が経験したかと思いますが。。 IE8とIE7で画像リンクをクリックすると謎の線が出現するという事例が発生しました。 ←画像つぶれてますけど、気になさらず。 予め、CSSのimgタグには img {  border: none; } と記載していたのですがうまく効いてくれず・・・。 IEに殺意を抱きながらもいろいろ調べてみたら、このように記述するとよいとのこと。  リンク 少々手間ですが、全ブラウザで画像リンクの破線を消したいなら、 1つ1つのリンク上記のJavaScriptコードを足せば消せました。 この方法は画像がたくさんあるページには不向きですね。 ヘッダーとかに使うといいかもしれません。   以上!!(゚д゚)/    
  • テクログ

    git merge と git rebase

    何も用意がありませんので、基本的ですがgit merge と git rebase の違いについて書きます。 図にすると一発ですので、GitExtensionsのキャプチャを張っていきます。   まずリポジトリの状態です。 「ブランチ分岐点」コミットのmasterから、my_branchが派生しています。my_branchでは自分の担当箇所として、「my_branch修正_1」「my_branch修正_2」というコミットを積んでいます。masterでは「master修正_1」「master修正_2」「master修正_3」というコミットが積まれています。他の方の修正がmasterのコミットとして積まれたとします。   masterとmy_branchの修正内容を合わせる手段には【merge】【rebase】があります。(もっとあるかもしれません)   どちらを利用してもソースの状態は同じになりますが、リポジトリの状態がまったく異なります。実際に動かして、それを確認します。   1. my_branch を master に【merge】    $ git checkout master (カレントブランチを master にして)    $ git merge my_branch (my_branch を master に取り込みます)   2. my_branch を master に【rebase】    $ git checkout my_branch (カレントブランチを my_branch にして)    $ git rebase master (my_branch を master から派生するように置き換える)   一人で開発する分には、ソースが一緒にならどちらでもいいかもしれませんが、これらの使い分けは、複数人の開発で威力を発揮します。(と、個人的に思っています)   例えば、上図 1.【merge】の状況というのは、my_branch での開発が一旦完了していることが理想だと思います。   仮に、「my_branch は開発途中、でも master の状態を反映したい」という場合、1.のような状況を作ってしまうと、中途半端なソースが master に乗っかり、リモートに上げでもすれば、他の方の開発環境を動かなくしてしまう恐れが出てきます。   では、my_branch に master のソースを取り入れたい場合はどうすればよいのか。2.【rebase】を使います。 上図 2. というのは、「my_branch の派生元を変更して、現在の master の先頭コミットから派生し直した」つまり「my_branch に、master のコミットが含まれている(反映されている)」状態になります。   -------ただし、【rebase】も万能というわけでありません。2.の例では、my_branchのコミットの流れを改変していることになります。   「ブランチ分岐点 ⇒ my_branch修正_1 ⇒ my_branch修正_2」                         ↑ここに無理やり「master修正_1 ⇒ master修正_2 ⇒ master修正_3」の流れをねじ込んでいるということです。   注意①my_branch が、自分だけが利用するブランチであれば問題は少ないですが、このブランチを複数人で開発するとなると一方では改変前にコミットを積み、また一方では改変後にコミットを...という状況が発生、pushが正常に行われなくなる恐れがあります。   注意②自分だけで開発していたとしても、「改変前にリモートへpush」  →「開発を続けてコミットを積む」    →「masterにrebase(コミット履歴を改変)」      →「リモートへpush」        ⇒ 「ローカルは改変後、リモートは改変前なので、pushが失敗」   ということは十分に起き得ますので、何でもかんでも【rebase】ではなく、使いどころを見極める必要はありそうです。   ※ちなみに、注意②の場合、リモートブランチ(改変前)を削除して、新しくブランチ(改変後)をpushすれば解決します。     $ git push origin :my_branch( : でリモートブランチを削除の意味)    $ git push origin my_branch   ----------------------------------------これがベストプラクティスかどうかは分かりませんが、「自分のソースが他の方の修正範囲とコンフリクトしていないか」「最新のソースに乗せた状態で、自分の書いたソースは正常に動くのか」を、事前に把握できるのはとても良いことだと思っています。   まだ【rebase】をしたことがない方は、是非利用してみてはいかがでしょうか。
  • テクログ

    データベースのポート変更

    最近、データベースのポート変更をすることがあったので、その手順を書いてみたいと思います。   ①スタートメニューより「Microsoft SQL Server 2008」→「構成ツール」→「SQL Server構成マネージャ」を起動します。   ②左メニューの「SQL Serverネットワーク構成」→「MSSQLServerのプロトコル」を選択し、右メニューの「TCP/IP」を選択してプロパティを起動します。   ③プロパティを起動したら、「IPアドレス」タブを開いて「IPAll」のTCPポートを「1433」から別の値に変更します。 今回は「1444」に変更してみました。変更した後は「適用」をクリックして、SQLServerを再起動します。 これでポートの変更はできました。 プログラムから接続する場合はポート番号を指定します。 「Data Source=127.0.0.1,1444;」 127.0.0.1 ・・・ サーバーのIP 1444 ・・・ ポート番号   以上になります。 興味のある人は試してみてください
  • テクログ

    【fuelphp】PHPの正式名称って知ってる?『ぱ』っと見『春』の『パ』ン祭りなんだぜ【嫌いになれない】

    ごきげんよう。 最近は新しいフレームワークやJSフレームワークに四苦八苦しているわたくしです。 勉強がタリンです。もう一度基礎からぶち込まないと先には進めそうにありません。 加えて、会社の出来る先輩方が勇退するとの事で少々寂しい日々を送っております。 そんな中、相変わらずfuelphpって良いよね♪っていうお話をしようかなと。 しかしまずは、そもそも初心者の自分に師匠が教えてくれたプログラミングの原理的な部分(一気にじゃなくて徐々に教えてくれた)をご紹介してから、お気に入りの機能を2つ位ご紹介しようと思います。 ・プログラミングは無駄な処理を入れず必要最小限のコードで書く ・同じ処理を何度も書かない ・他の人が見てもどういう処理がしてあるか分かるようにコメントをしっかり書く ・パフォーマンスを意識して、SQL(データベースうんぬん)を書く ・フレームワークの機能に頼り過ぎない ・テスト・チェックは特にしっかりやる ・様々なソースコードに触れる ふむふむ、勉強になりますね。どれも大切な心得的な文言ですね。 さて、特に注目して欲しいのは5つ目の『フレームワークの機能に頼り過ぎない』という部分です。 その心は、フレームワークはあくまでPHPの補助的な役割である、という事です。 実はわたくし、裸のPHPは殆ど触れたことがございません。 (※一度だけ、しかも少しだけ実務で触れたことがある) えっと、きっとですが、勿論フレームワーク独自のメソッドや機能でカバーできない部分は多々あるのですが、それを含めても師匠のおっしゃっていた7つの原理思想にフレームワークを使用することにより近づけると思うのです。 フレームワークには既存の機能を拡張し、独自の機能に変貌させられます。また、元々のmySQLだと面倒なデータの引っ張り出し方も簡単な書き方で取得可能です。 今回は分かりやすく、fuelphpの「拡張」と「独自クエリ」の2つに絞って解説します~。 ※拡張に関しては、あくまでも「方法」であって「fuelphpだけが出来る」というものではありません。 ※独自クエリはfuelphpにも書いてあるし師匠が見つけてきたのですが、たまたまテクログの順番が回ってきたので。 【その壱】拡張について //ファイル:fuel/core/classes/apple.php class Apple {  public static function iphone  {   return "iphone4s!!";  } } こんなコードがあったとします。 iphone4sとかもう古いよ、2機種前じゃん。 そういう時にこのファイルを書き換えるのではなく、 //ファイル:fuel/spp/classes/my/apple.php class My_Apple extends FuelCoreApple {  public static function iphone   {   return "iphone5s!!";  } } という風にcoreファイル(※心臓部、ここのコードは基本変えてはいけない)を弄らずに、extendsすることにより「拡張」が出来るのです。 ※class名は違ってても動くよ! 実務では本当によく使うので皆様お馴染みかと思うのですが、最近ではページング機能で独自な作りを拡張したり、ログイン認証の部分を拡張したり、お世話になっています。 【その弐】fuelphp独自のクエリビルダ 例えば、あるテーブルのカラムが100項目くらいあった時に、「5項目以外全て取り出したい!」と思うことも多々あるはずですが、MYSQLにはそのような構文がありません。 ※本当にこれをしたかったら、95項目全て書かなくてはいけないという地獄...... しかし、fuelphpにはあったのです。しかも普通にマニュアルに載ってたし。 (※ormパッケージver,1.6~) // 全項目選択 $entry = Model_Article::find('all'); // 'date'と'name' カラム以外のすべてのカラムを選択 $entry = Model_Article::find('all', array('select' => array(array('date' => false), array('name' => false)))); // 同上 $entry = Model_Article::query()->select(array('date' => false), array('name' => false))->get(); // ※参考url:http://fuelphp.jp/docs/1.6/packages/orm/crud.html こんな感じに。 これ結構個人的に使えると思うんです。探せば他のフレームワークにもあるかもね! また、fuelphpクエリビルダにはRAND()が見つからなくて、出来ないのかなぁとか思ってたんだけど、こんな風にしたら出来ました。 $query = DB::select('id')->from('entries'); $query->order_by(DB::expr('RAND()')); $entry = $query->execute()->as_array(); order_byの中の『DB::expr()』がポイントですね。 これを使うとDB::expr()内の文字列をエスケープせずにそのままSQLとして出力してくれます。(※その為、注意も必要ですが) これでfuelphpのクエリビルダでランダムの順番で取得が出来ました! 他にも沢山素敵な機能がfuelphpにはあります。 こんなものが一般市民の手に入る良い時代になったものです。 感謝しかありませんね。 てことでまた会う日まで~
  • テクログ

    ワイヤーフレームについてのまとめ

    夕食はだいたい2回食べます、なかむです。お気に入りは、富士そばのもりそばです。 前回、ヒアリングについてまとめました。今回は、ワイヤーフレームについてまとめてみます。   ワイヤーフレーム作りにはそれぞれのやり方があると思います。ここでは私のやり方を書いていきます。 ワイヤーフレームを作る理由   まず、何のためにワイヤーフレームを作るのか?   ・制作陣(デザイナー、プログラマー)にWebサイトの構成、仕様を伝える・クライアントに対し全体のイメージを共有し、詳細な仕様を確認する   ここが大きな目的です。 競合他社、参考サイトを調査   一に調査、二に調査です己を知る、敵を知る、好みを知る しっかり調査をしておくと“必要な要素”、“差別化のポイント”などが見えてきます。 サイトマップを基に要素を確認   構成案に漏れがないように先にサイトマップを用意しておきます。具体的なURL、meta情報まで入れておくともっといいでしょう。 大枠、方向性を決めるために手書きで   考えや動線を整理するためにまずは手書きで書いています。  ここでは、ロゴやナビゲーションの配置を決めています。 『ナビゲーションはどこに配置するか』、『ナビゲーションには何を置くか』、『その他ページに必要なのは何なのか』を考えながら手書きで書いています。書いては消し、書いては消しを繰り返しているので、シャープペンを使っています。   ツールを使いワイヤーフレームを作成   最近はもっぱらcacooを使っています。   自分でもイメージするため、ピクセルは等倍で作成しています。各要素の大きさ、マージンなどが簡単にできるので非常に便利です。   ※画像をクリックするとサンプルワイヤーフレームのPDFにアクセスできます   cacooを使う前はFireworksで作っていました。今でも大規模なWebサイトはFireworksで作ることもあります。       また、PDFやPPT形式でエクスポートできるのでクライアント対応もバッチリです。 変更があった場合は都度反映   ナビゲーションや仕様変更などあった場合は、その都度その都度反映させ共有します。     繰り返しになりますが、人それぞれやり方は色々あると思います。目的を果たすことができるならどんなやり方でもいいでしょう。 効率化と分かりやすさを追求しながら今後も取り組んでいこうと考えております。