2013年6月21日金曜日

Twitter Bootstrapを使うのはやめなさい

WEB開発者のみなさん。Twitter Bootstrap使ってますか?
僕は相変わらず重宝しています。だってデザインセンスないもん。
今日はそんな開発者のみなさんへ、デザイナーさんのからの意見をご紹介したいと思います。

Joshua Gross氏の意見(webデザイナー?)

以下翻訳


正直に言おう。僕らのほとんどは、同じような古いTwitter Bootstrapのテーマを使ったサイトをみるのにうんざりしている。黒いヘッダー、巨大なhero、角丸の青いボタン、Helvetica Neueフォント。もううんざりさ。

ああ、君の言いたいことはわかっている。君は違う色のヘッダーにカスタマイズしたり、ボタンのいくつかの色を変えたり、異なったフォントを使っているかもしれない。
でもさ、結局は依然としてBootstrap風であって何もかわってないじゃないか。

もちろん僕は理解している。Twitter Bootstrapは開発者にとってグレイトだってことをね。
パーツの全てはあなたのためにすばらしく設計されているし、首尾一貫したデザイン用語を使い、まるでレゴのように組み立てることができる。デザインセンスを必要としないし、創造性を必要としない。君はただcssファイルをインポートするだけでいい。

でもね、君が何度も何度も何度も同じレイアウトを見るようになるとき、あなた達はようやく理解するさ。君は僕(デザイナー)を失ってしまったんだってね。
君のデザインは、あちらこちらにある6000の他のサイトの一つのようだ。ただ同じ一般的なレイアウトというより、ただ同じ構成物で作られているだけだからね。

Bootstrapの問題は、非常に無器用なうえ、規範的で、実際に修正するのがやっかいってことだ。デフォルトで使うのは簡単さ。 もちろん十分に修正することはできるし、あなたがとにかくBootstrapを使おうと決めたなら、僕はあなたがBootstrapを十分に修正して使うことを推奨するだろう。
しかし大抵の人はそのようにしない。

Twitter Bootstrapをデフォルトで使っても良いケースもいくつかある。管理画面やオープンソースプロジェクトのドキュメント、プロトタイプや週末のハッカソンイベントだ。
でも、ひとたびあなたが小さなテストプロジェクトの段階を超えてしまったら、黒いヘッダーや、青いボタンや、グレーの1ピクセルで境界線をひいたボックス以上のことを考えるべき時がきたってことなのさ。

Twitter Bootstrapの成功は、デザインのタイムズ・ニュー・ローマンになっている。しかし、あなたはタイムズ・ニュー・ローマンをあなたのスタートアップのウェブサイトに使うのだろうか?(使うわけないよね)


引用先

うーん、言いますねえ。はっきりとw

確かにTwitter Bootstrapの問題点はどのサイトも同じようなデザインになってしまうことですね。これは否定のしようがありません。

でも、問題の解決やサービスの提供にデザインを必要としないサービスも多いわけですから、そういったときTwitter Bootstrapは便利ですよね。問題の解決にだけエネルギーを注ぎ込めるのはやっぱ強みです。

僕はTwitter Bootstrapがこれから先より便利になってもデザイナーさんの仕事がなくなるとは思いません。
センスあるデザイナーさんがつくる作品というのはそれくらい魅力があります。

デザイナーさんもエンジニアも力のある本物だけが残っていく時代になりそうですね。
僕はエンジニアからデータサイエンティストになるよ!!

そんな感じ。でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

生産性だけを向上させても意味が無い

生産性をあげろ。

効率化を進めよう。

世界中の経営者や政治家達がこの言葉を標榜し、多くの労働者達はそれにこたえようと日々奮闘しています。

また、生産性の向上こそが日本復活の鍵だと強弁する評論家も大勢います。

しかし、本当に生産性と効率をあげると日本は復活し、労働者達は幸せになれるのでしょうか。
残念ながらこれまでの僕の経験では、生産性を向上させても労働者の負荷は減らないし、幸せになるケースも少ないようです。

逆に仕事の量と負担が増大し、鬱になってビジネスから退場するというケースのほうが多いように思えます。

僕も職業上、生産性は非常に気にするタイプです。
エンジニアの仕事の中でも、特にプログラミングの実装は人によって大きな差が出ます。
フレームワークや言語の習熟度によっては100倍くらいの生産性の差が生まれます。

だから生産性を高める努力をするなとは言いません。自分でなんとかできる範囲でちょっとずつ高めていくべきです。

ただ、多くの仕事量をかかえ、それを生産性や残業という手段で回避しようとするのは間違っています。 そういう考えを抱いているなら、今すぐそういった考え方は捨ててください。

生産性の向上や残業でこなせる仕事量を増やそうとする経営者やリーダーは間違いなく無能です。 もしあなたがそういった会社に在籍しているのなら、辞めたほうが良いです。

ずっとサラリーマンエンジニアとして仕事をしていた時には気づかなかったのですが、 生産性を向上させるより、アイディアをビジネスという形にするほうがずっとお金を稼げます。

これからの社会では世界と競争しないといけないのは事実です。
しかし、競争では勝てない、不毛だとわかったら方向転換する勇気をもつのも必要です。
今の時代は本当にちょっとしたことでもお金が稼げる時代です。
これは実際の経験と訓練で誰でも身につけることができます。
逆に、生産性を高めて会社に貢献しても身につけることはできません。

最近本屋にいくと、「できるビジネスマン」になるための本をたくさん見かけます。
しかし、最近僕が気づいたのは「できるビジネスマン」でなくても、 「できるビジネスマン」よりお金を稼いだり、幸せを掴むことは容易だということです。

最近はますます燃え尽き症候群や鬱になる人が増えているようです。
ブラック企業の話題もつきません。
もし「何かおかしい」と感じたときは、働き方を変えてみる時なのかもしれません。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2013年6月19日水曜日

mysqlのinstall

久しぶりにmysqlを使うことになったので環境構築のメモ

環境

  • mountain lion
  • brew

insrall


brew install mysql

上記のコマンドでinstall完了

mysql起動


mysql.server start
Starting MySQL
.. SUCCESS! 

rootのパスワードを設定

初期状態だとrootのパスワードは空白なので設定します。


mysql -u root password 'new_password'

セキュリティ設定

全部デフォルト設定にします


mysql_secure_installation

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

失敗。mysql.sockがないみたいです。mysqlを止めて調査。


 mysql.server stop

 ls -l /tmp/mysql.sock
 ls: /tmp/mysql.sock: No such file or directory

セーフモードで起動

 
mysqld_safe
130619 05:24:50 mysqld_safe Logging to '/usr/local/var/mysql/Macintosh.local.err'.
130619 05:24:50 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql

別タブでターミナルを開く

 
 ls -l /tmp/mysql.sock
 srwxrwxrwx  1 username  wheel  0  6 19 05:25 /tmp/mysql.sock

OK。自動でmysql.sockが作成されました。接続します。

 
mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

え???調べると権限がなくてもこうなるとか。面倒ですね。postgres万歳。


 // ソケット作成のため起動させていたセーフモードを解除
 kill -KILL mysqld_safeのPID
 
 // 権限システムを使用しないで起動
 mysqld_safe --skip-grant-tables &
 
 // パスワードなしで入る
 mysql -u root
 
 // userチェック
 select host, user from user;
 +-----------------+------+
 | host            | user |
 +-----------------+------+
 | 127.0.0.1       | root |
 | ::1             | root |
 | Macintosh.local |      |
 | Macintosh.local | root |
 | localhost       |      |
 | localhost       | root |
 +-----------------+------+
 6 rows in set (0.00 sec)
 

なんじゃこりゃ。ユーザーがいっぱいいますね。バグ?とりあえず削除。


 mysql> truncate table user;
 Query OK, 0 rows affected (0.03 sec)

 mysql> flush privileges;
 Query OK, 0 rows affected (0.00 sec)

 mysql> grant all privileges on *.* to root@localhost identified by 'new_password' with grant option;
 Query OK, 0 rows affected (0.00 sec)

 mysql> flush privileges;
 Query OK, 0 rows affected (0.00 sec)

 mysql> select host, user from user;
 +-----------+------+
 | host      | user |
 +-----------+------+
 | localhost | root |
 +-----------+------+
 1 row in set (0.00 sec)

これでいいはず。サーバースタート。


mysql.server start

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.28 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

おお。ログインできましたね。最後にもう一度セキュリティ設定


mysql_secure_installation

rootパスワード以外はYESと答えて終了です。お疲れさまでした。

つーか、みんなpostgres使いましょうよ。何この糞RDB。


参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2013年6月18日火曜日

フルスタックエンジニア

フルスタックエンジニアという言葉を最近知りました。
フロントもバックも作成できて、統計、機械学習なんかも理解しているエンジニアのことをいうようです。

ITの世界では様々なことが低コスト化し、標準化が進んでいます。
一方でエンジニアに求められる能力がやたらと高くなっていて、どこもスーパーマンのような人材を求めています。

特に最近は基礎学力を求められる技術が重要になってきています。私も今更ながら統計の勉強で線形代数や微分積分を勉強しているのは典型的な出来事だと思います。

グローバル化が進めばますますこの傾向は強まっていくのでしょう。
今はITの世界が顕著ですが、他の業種もどんどんと求められる能力は高くなっていくはずです。

競争は悪いことではありませんが、そろそろ自分のペースで歩けるなにかを探す時期にきているのかななんて思いました。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2013年6月17日月曜日

統計学の時代というけれど

今後10年-20年は統計学が支配的な学問となる。
そんなことが囁かれている今日ですが、統計学の勉強はなかなか敷居が高いですよね。

とはいえこれだけ多くの情報が溢れる時代ですから、データをまとめる技術というのはとっても重要です。
私もいよいよもって重い腰をあげて統計学の勉強をちょこちょこ始めました。

これまでは本を買っても1週間ともたずに本を読まなくなってしまったのですが、以下の本はなかなかわかりやすくて良い本です。

私のさびついた数学力でもきっちり理解できる本です。
まずは基礎が身に付くまでしっかりとこれで勉強をしたいと思います。

最初の目標は実際にexcelやRを使ってアプリのデータ解析ができるようになることですね。
地道にやっていきます。

あと統計学の勉強をしていて思ったのは、英語ができたほうが絶対いいです。
プログラムもそうなんですけど、やっぱ情報の量も質も全然違います。
情報系のお仕事はますます英語が必須になりそうで、ほんと負担大きいです。

もっと楽な仕事ないかな。なんてちょっと弱気になってしまいますw

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2013年6月2日日曜日

RailsでWEBアプリのベースを作成する手順 その1

RailsでWEBアプリのベース部分(ほとんどのアプリで共通に利用)作成の手順を紹介します。
いつも色々調べるのが定型作業になっていて面倒だという私自身のメモ書きの意味も含んでいます。

環境

  • rails3.2.13
  • postgres
  • rvm
  • grunt(なくてもよい)
  • git
  • home brew

機能

  • devise(ログイン管理)
  • twitter(ログイン認証)
  • rspec(テスト)
  • cucumber(受け入れテスト)

はじめに

以下は2013/6/02の情報です。railsは開発速度が早いので注意してください。

gemset作成からプロジェクト作成まで

 
作成
rvm gemset create {projectname}

利用
rvm gemset use {projectname}

rails導入(version指定なし)
gem install rails

プロジェクト作成フォルダに遷移
cd /Users/{username}/Documents/wworkspace/rails/

プロジェクト作成
rails new {projectname} -T
-TでUnitテストをスキップ

git登録

 
cd {projectname}
git init 
$ git add -A
$ git commit -m 'Initial commit'

Gemfileの記載


 gem 'rails', '3.2.13'

 # Bundle edge Rails instead:
 # gem 'rails', :git => 'git://github.com/rails/rails.git'

 gem 'sqlite3'

 # Gems used only for assets and not required
 # in production environments by default.
 group :assets do
   gem 'sass-rails',   '~> 3.2.3'
   gem 'coffee-rails', '~> 3.2.1'

   # See https://github.com/sstephenson/execjs#readme for more supported runtimes
   # gem 'therubyracer', :platforms => :ruby

   gem 'uglifier', '>= 1.0.3'
 end

 group :development do
   gem "quiet_assets", ">= 1.0.1"
   gem "better_errors", ">= 0.2.0"
   gem "binding_of_caller", ">= 0.6.8"
 end

 group :test, :development do
   gem "rspec-rails", ">= 2.11.4"
   gem "factory_girl_rails", ">= 4.1.0"
 end

 group :test do
   gem "database_cleaner", ">= 0.9.1"
   gem "email_spec", ">= 1.4.0"
   gem "cucumber-rails", ">= 1.3.0", :require => false
   gem "launchy", ">= 2.1.2", :group => :test
   gem "capybara", ">= 2.0.1", :group => :test
 end

 gem 'jquery-rails'
 gem "bootstrap-sass", ">= 2.1.1.0"
 gem "devise", ">= 2.1.2"
 gem "cancan", ">= 1.6.8"
 gem "rolify", ">= 3.2.0"
 gem "simple_form", ">= 2.0.4"
 gem "figaro", ">= 0.5.0"
 gem "paperclip", "~> 3.0"
 gem 'omniauth-twitter'

bundle install

 
bundle install

install後にメッセージが出力されるかもしれません。その場合はメモとして残しておきましょう。

applicationの起動

 
rails server

http://localhost:3000/にアクセス

これで準備OKです。
次回はdeviseと連携させます。

でわん

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...