yumを信頼してやっていこう
いきなり
はい、ということで、samba3を運用中にいきなりコマンドをかまします。
samba4系をyumで入れるにはsamba4を指定します。
yum install samba4
すると、samba3とのコンフリクト(競合エラー)
Japan to World. World to Japan.
はい、ということで、samba3を運用中にいきなりコマンドをかまします。
samba4系をyumで入れるにはsamba4を指定します。
yum install samba4
すると、samba3とのコンフリクト(競合エラー)
ってことで、釣り的なタイトルで始めました。
口を開けば「ブートストラップでいいじゃん」とか言っちゃうエンジニアが多いので、
ちょっと言及しときますよ。
エンジニアとして見てきた経験上ですが、
その昔から長らくは、テーブルタグとBRタグによるデータの配置
↓
そして一昨年くらいから、Twitter Bootstrap(現Bootstrap)を使ってみたりしてる。
そりゃあ、見た目には雲泥の差があります。
使いたいのは分かるし、個人的にも(見た目が重要ではないシステムでは)使っている。
別に、手っ取り早くサービスを展開させたい場合にBootstrapを使うのは間違っていない。
何より、工数も減りさくっとリリースできる。
デザインのセンスがなくてもそれなりの見た目になる。
おまけに、スマホ対応もレスポンシブで解決!
スタートアップにはこれ以上のツールは無いかもしれません。
適さない例をいくつか挙げます。
要は、カスタムしていく前提であるなら、0からCSSを書いた方が早いしメンテナンス性に優れています。
今を大事にするばかりに勢いで採用してしまいますが、懸念はいっぱいあります。
要するに、HTMLやCSSを理解する気がない場合に採用するのは開発を楽する為でしかなく、知識としての問題解決には至りません。
ユーザーの環境やユーザー層、求められるUI・UXについて理解は及んでいますか?理解する気はありますか?
また、エンジニアとして工数が減るからBootstrapを採用するという理由の場合は、サービスとしては間違っています。
開発の最適化をしても、ユーザ数や売上の最大化にはなりません。
提供するサービスの目的とサービス全体としての目標を見紛うこと無くやっていきましょう。
ツールやモジュールは用法用量を正しい知識を持って使いましょう。
JapdoorはBootstrapを応援しています。
http://getbootstrap.com/
目指すのは英語環境+日本語入力(英語キーボード)。
UbuntuStudioTips
第296回 Ubuntu 13.10と日本語入力 / Ubuntu Weekly Recipe
“クリエーターの為のOS”って事で、響きだけでごはん3杯くらい食べられそうなUbuntu Studioをインストールしてみました。
きっかけはDTM界隈での有名なライターさんである藤本さんのこちらの記事
「UbuntuでDTM」の人気再び? USBオーディオやDAWソフトとの連携を試す
Ubuntu Studioという存在自体を知らなかったので、目からうろこでした。
通常のUbuntuからも、apt-getでモジュールを入れることでアップグレード(?)できるということでやってみましたが、
なんだか半端な状態になったので、クリーンインストールしました。
OSのダウンロードとインストールはこのへん。
http://ubuntustudio.org/download/
DVDからのインストールとUSBからのインストールが公式に紹介されています。
バージョンは最新の13.10です。
デフォで色んなアプリが入っており、
マウスオーバーでどんな機能があるかを表示してくれるので、初心者にもやさしいです。
現在、取り敢えずインストールしたという段階で、
日本語入力の設定がよくわかっていないので、その辺を別途記事にできたらと思います。
クーロンジョブに登録して一括メール送信とかに使うパティーンのコード
app/Console/Command/SampleShell.php とかで保存
<?php //テキトーに書いたので動きません。 //こんな感じってのをつかむ用のコード App::uses('CakeEmail', 'Network/Email'); class SampleShell extends AppShell { // tables public $uses = array('Order'); public function main() { $data = $this->Order->find('all', 'conditions' => array(/* コンディション書いちゃいなよ */)); foreach($data as $one) { $Email = new CakeEmail('default'); $Email->template('reminder', 'default'); $Email->subject('さむしんぐらいく るーてぃーん'); $Email->to($one['User']['email']); $Email->viewVars(array( 'name' => $one['User']['name'], 'product' => $one['Product']['name'])); $Email->send(); } $this->out('Fin.'); } } |
Console and Shells
Running Shells as cronjobs
サーバーサイドはコマンド実行できれば何の言語でも問題ないです。
たとえばPHPで
php
<?php $imageName = exec("/usr/local/bin/phantomjs ./js/capture.js $target $filename $browser_width $browser_height $offset_x $offset_y $rectangle_x $rectangle_y $zoom $is_all"); echo "<img src='{$imageName}' />"; |
capture.js
var system = require('system'); var page = require('webpage').create(); var filename = 'output/' + system.args[2]; page.viewportSize = { width: system.args[3], height: system.args[4] }; if (system.args[10] != 'true') { // setting : capture offset, rectangle size page.clipRect = { top: system.args[6], left: system.args[5], width: system.args[7], height: system.args[8] }; } // setting zoom page.zoomFactor = (system.args[9] / 100); page.open(system.args[1], function() { page.render(filename); console.log(filename); phantom.exit(); }); |
パラメーターは想像してください。