「postgresql」を含む日記 RSS

はてなキーワード: postgresqlとは

2018-08-12

なぜSQLけがこの世界で未だに職人芸じみているのか

1.リファレンス無料で読めないか

標準SQL仕様書は有料である。このご時世ありえん。

たとえばC#など.NET系のリファレンスMSDNで読むことができる。

RubyだってHaskellだってScalaだって公式サイトガイドぐらい置いてある。

そもそも標準SQLサイトは有料ですら見つけるのが難しい。

2.実装ごとに仕様が違いすぎるから

OracleDB2MySQLPostgreSQLSQLite、AccessなどSQL実装されたDBMSは様々にあるが、どれを取っても仕様が違う。

皆が標準SQLに従っていてその上で適当増設している程度ならよいが、もはや誰も標準SQLに従う気が無い。

この点でCコンパイラ多様性のようなものとはわけが違う。

根幹的に必要機能があったりなかったりするから、あるDBMSで書けるようになったからと言ってSQLを覚えたとは言えない。

これと上記1とのせいで、何かググった時に特定DBMSしか解決法にならないものが大量に出てくる。

3.最適化人間任せだから

最近プログラミング言語は大抵、雑に書いたってコンパイラ適当最適化してくれる。

同じ結果を生むような二つのコードは、よほど下手くそに書かない限りは同じような実行速度になる。

SQLオプティマイザが最適化はするが、ほぼ同じような二つのコードで速度が全く変わったりする。

そのため実行計画というオプティマイザの中間言語のようなものを読んであげて、

より速い中間言語が生成されるようSQLチューニングし直さなければならない。

これでは何をやっているのかわからない。

有名なサイトでは、初心者必死で書いたような可愛らしいSQLを「それでは遅すぎるんじゃ」とけちょんけちょんにけなし、

なんかシンプルなのだけれどよくわからない文法を一杯使って実行速度を高めたのを「正解」としていたりする。

しかもその文法、ググってもろくな解説が無かったり、特定DBMS依存してたりと使えないオチ

4.スタイルガイドがないか

上手い人はSQLを綺麗に書く。だけど、その綺麗さの基準が人によって違う。

エディタが単なるメモ帳しかないようなDBMSも多いから、インデント文字数さえ個々人に任される。

インデントは2文字か4文字か。SELECTで改行するかしないかカンマは列の後ろか、前か。

いろいろなサイトに色々なことが書いてあったけれど、全部違うこと言ってた。

まり各々綺麗に書ければいいやということであり、読むほうも宗教が違ってもまあ綺麗なら読めるから困りはしない。

困るのは初心者である

何かの解決法をググるたびに違うスタイルからどう書いていいのかわからない。

結局なんかいろいろな上手い人のスタイルをツギハギした新たなスタイルが世に誕生してしまうのだ。

最後

だけど、そんな職人芸じみたSQL世界が私は好きです

2018-05-26

anond:20180526085316

async えいしんく

nvidia いんびーでぃあ

postgreSQL ぽすとぐrしーくえる

ISO あい

or whatever

I've had enough of that kind of thing. It sucks.

2018-05-18

anond:20180518175740

Access製造業」で出てきた業者を何社か呼んでプレゼンしてもらう

あくまで社内でなんとかする話ならAccess勉強するしかない

OracleとかPostgreSQLを利用したシステムを作る話ではないだろうという前提)

2017-09-13

LAMP環境って

今でも主要な開発環境なの?

この前某社の面接(中途採用)を受けて、結果的には落ちたわけだけど、

LAMP環境がなんとかってコメントとしてあり。

(落ちた直接の原因はLAMP環境経験ではないと思う)

Rails流行ってからPHPPerlはそれほど需要高くなくなったと思ってるし、

業務システムを開発している身としては、PostgreSQLのほうが使いやすイメージが強くて。

今でもWeb系開発ってLAMPが圧倒的なの??

2017-09-11

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-05-22

なんでAzureってこんな空気なのかなあ

Build2017 で MySQLPostgreSQLサポートしましたって言っても誰も見向きもしてないよね。

AmazonAurora との比較記事くらいあっても良いんじゃないの。

2017-05-14

http://anond.hatelabo.jp/20170513223605

関西圏でLaravel(PHP)+Postgresql+jQuery開発でプログラマーネットワークアナリスト2年目

基本給22、残業60-80hで手取り30ぐらいなんだがこれって妥当

60とか80って部長でさえそんなにもらってないのに、一体どこに行けばそんな給料貰えるの教えてマジで

2016-12-29

はてブで「Amazon」と検索してみると

昨今話題になってるヤマト佐川関連のブックマークが上位を占めるかと思いきや、まったく違った。

2016年12月29日10:54時点、本文、新着順で検索

Amazon検索結果 (絞り込み: 3 users 以上) 約 3,423 件中 1 - 40 件目 (0.26 秒)

以下略

ECサイト連想させるトピックほとんどなくて、AmazonB2B向けサービスを充実させていることに驚いた。

Amazonって表向きは物流業界革命問題を起こしている要因に挙げられているけど、EC以外のインパクトがどれだけ大きいのか門外漢なので分からない。

↑でブクマ付けた人、何が起きるのか教えて

2016-11-06

http://anond.hatelabo.jp/20161106094548

LaravelのCRUD程度ができる、CakePHPはやったことないけど同じPHPフレームワークだし覚える気はある。

jqueryアコーディオンとかは何も見ないでも作れるが他はネットで調べつつ。

PostgreSQLをよく使ってたけどMySQLはしたことない。

でもフレームワーク使うならSQL文ほぼ使わないだろうから追々覚えたら行けるだろ

って考えの大阪プログラマーだけど雇ってもらえます

2016-11-04

IT界隈の動物たち

GitHubの謎生物が気になり、せっかくなのでIT界隈の動物(?)を用いた名前ロゴの由来など調べてみた。

※追記あり:Gopherファンに襲われそうなので。ごめんねGopher

GitHub

種類:octocat(ネコタコ

名前:monalisa

Q.どうしてタコなのに8本足じゃないの?

A.なにも考えずに描いたからね!

もともとデザイナーはoctopussと呼んでいたが、いくら訂正してもGitHub社員がoctocatと呼ぶため、octocatで落ち着いた。

octocatはあの生物種の名称であり、monalisaという名前社員の娘が学校課題で名付けたもの

Python

種類:ニシキヘビ

名前: -

イギリスコメディ番組空飛ぶモンティ・パイソン』より。

またPythonという英単語はニシキヘビを意味するため、マスコットとしてヘビが用いられる。

オライリーの本とかすごい表紙だよね。

PHP

種類:ゾウ

名前:ElePHPant

PHP」という字面が、横から象を見たような感じなので。

PostgreSQL

種類:ゾウ

名前:slonik

動物ロゴにしたいなら、象なんてどうだい?アガサ・クリスティ小説にもある『象は忘れない』だ」

   ― PostgreSQL発足時のメーリスより

Evernote

種類:ゾウ

名前: -

象は記憶力が非常に優れた動物のため。PostgreSQLと同じで、象の優れた能力あやかっている。

GNU

種類:ヌー

名前: -

GNU is Not Unix.

Mozilla Firefox

種類:キツネ

名前: -

もともとPhoenixという名前だったが、商標権侵害していたので、公募Firebirdという名前に決定。

しかし今度はDBに同じ名前があったので、Firefoxレッサーパンダの別名)に改名

みなさん命名は慎重に。

Docker

種類:クジラ

名前Moby Dock

白鯨Moby-Dick)』より。クジラ採用した理由デザイン見れば納得。

個人的に一番センスのある名前デザインだと感じる。

Linux

種類:ペンギン

名前Tux

名前タキシードTuxedo)を着ているように見えるから

ロゴコンテストで決定されたが、他の作品を見ればなぜ選ばれたのかよくわかる。デザインって大事

https://www.cs.earlham.edu/~jeremiah/linux-pix/linux-logo.html

Twitter

種類:鳥

名前:ラリー・バード

名前NBAのラリー・バード選手より。社員ファンだったらしい

ちなみに初期のTwitterデザインGitHubデザイナーが手掛けたもの。すごいっすね。

Seaser

種類:シーサー

名前: -

開発者出身地沖縄だったので。

MySQL

種類:イルカ

名前:Sakila

データ大海原を進む、という意味をこめてイルカ採用

Apache Tomcat

種類:ネコ

名前: -

オライリーの本に載ることを考慮して動物マスコットにしようと考え、「自立した強かさ」を持つという意味Tomcat(雄猫の愛称)を採用

しかし、猫はオライリーUML本で使われてしまい、念願のTomcat本にはユキヒョウが使われたという…。

が、最近Tomcat本には猫が使われた。めでたし。

Apple

種類:Dogcow(イヌ+ウシ)

名前:Clarus

昔々、Mac OSで用紙の向きや色を表示するために使用されていたらしい。

知らんわ。

Plan 9 from Bell Labs

種類:ウサギ

名前:Glenda

OS名前であるPlan 9~」はエド・ウッドの『Plan 9 from Outer Space』に由来。

ウサギ名前であるGlendaはエド・ウッドの『グレンとグレンダ』に由来。

どんだけエド・ウッド好きなんだよ。

Go

種類:ホリネズミ

名前Go Gopher

彼の歴史Goプロジェクトよりずっと前、1999年に遡る。

ニュージャージーのWFMUラジオで、Renee Frenchによって宣伝用のTシャツに描かれたのが、彼の初登場。

その後、Bell labsのメールシステムアバターとして起用もされた。

(ちなみにReneeはBell labsのGlendaを描いた人。Glendaもアバターの一員だった)

そうして2009年Goプロジェクトが発足し、ロゴ検討していたメンバーにReneeが無償で描いてあげたのが「Go gopherである

みんなGo Gopherと呼ぶので、特に固有の名前は無いらしい。

由来は下記サイトにありました。

https://blog.golang.org/gopher



調べてみた感想:週末にエド・ウッド作品見てみようかな、と思いました。

2016-08-07

ディープラーニングAV女優類似画像検索サイトをつくった

Babelink

http://www.babelink.net/

作った動機は、そっくりNAVIをつくった人と似ていて技術勉強のためと今ある類似検索サイトへの不満からです。

そっくりNAVI - 気になる子顔写真で、似てるAV検索できるサイトを作った

http://anond.hatelabo.jp/20160719033025#tb

... 素人からも探せるのは素晴らしいと思います

ディープラーニング最近流行りの技術で、一般的物体認識では人間匹敵するか

もしくは超えるぐらい画像認識の精度がいい手法です。

今回は自分が持っている画像有名人に似ているAV女優を探すという

極めて実用的な問題にその手法を試したいと思い、サイトをつくってみました。

使った主要なライブラリを紹介しておきます

■使ったライブラリなど

python (プログラミング言語)

PostgreSQL (データベース)

・flask (Web構築)

opencv (画像認識)

・dlib (顔検出)

chainer (ディープラーニング)

・FlexSlider (画像スライダー)

・Awesomplete (入力補完)

ぼくは一応エンジニアのはしくれですが、pythonとか仕事でちゃんと使ったことなレベルです。

それでも3~4ヶ月程度である程度のサイトはつくれるので、みなさんも是非つくってみてください。

課題

ディープラーニングでは非常に多くの画像機械学習させる必要があるのですが、

現状では学習のための画像がまだまだ足りていないので、あまりいい精度はでていません。

あとはディープラーニングで精度を高めるには、ハイスペックGPUマシン必要になるのですが、

そんなもの持っていないので精度をこれ以上あげるのは難しかったです。

そんなかんじで、まだまだ改良の余地はたくさんあるので、楽しみにしていてください。

■参考にしたサイト

完全に一致

http://anond.hatelabo.jp/20101203150748

京大画像処理を学んだ僕が本気でエロWEBサービス作ったった

http://anond.hatelabo.jp/20130122180847

UIは一応Netflixを参考にしてます

画像収集サーバー容量の問題もあり、していないので画像検索を気軽に試してみてください。

Babelink

http://www.babelink.net/

2015-08-06

とうとう人類幸せに導くpgbouncer1.6が公開された

みんな大好きPostgreSQL

複数DBマルチテナントシステムを構築するなら忘れてはいけないコネクションプーリング

大量コネクションを扱うなら都度forkやpre-fork式ではちょっと辛い、イベントベースが好ましい。

もうお分かりですね。pgbouncer1.6の話題です。

PostgreSQL界隈では有名なコネクションプーリング実装が2つあります。 pgpool-II と pgbouncer。

ざっくり言うと高機能の pgpool-II に対して、軽量・大規模向けの pgbouncer という棲み分けがあると言えるでしょう。

pgpool-II は最近日本トレジャーデータ社の Prestogres ( https://github.com/treasure-data/prestogres ) という痺れるようなプロジェクトベースとして採用されていることで名前を聞いたことのある方もいるのではないでしょうか。

pgbouncer は少し古いですが LastFM( http://www.lastfm.jp/user/Russ/journal/2008/02/21/zd_postgres_connection_pools:_pgpool_vs._pgbouncer )の事例が有名でしょう。Instagram も使ってますネ。

pgbouncerは現行のバージョンは1.5系で、最新は1.5.5です。1.6系は8月1日リリースされ、複数DBマルチテナントシステムに向けた大規模な機能強化が行われています

この1.6系では複数DBマルチテナントシステム開発者にとって嬉しい機能がたくさん搭載される予定です。本番運用に投入する前に一足お先にリリースノートを読んで夢を感じましょう。

バージョン2013年ぐらいからリリースノートは準備されているのにさっぱりリリースされなくて関係者をやきもきさせていました。(想像

記事では以下のリリースノートをもとにザックリ読み解いたものです。

http://pgbouncer.github.io/2015/08/pgbouncer-1-6/

主要新機能

接続ユーザーパスワードハッシュDBからロードできるようになった

プーリングモードの設定をデータベース毎、ユーザー毎に設定できるようになった

データベース毎、ユーザー毎にコネクションの最大接続数を制御できるようになった

・新しいコネクション確立を避けるための DISABLE/ENABLE コマンドが追加された

・新しい推奨のDNSバックエンド c-ares が追加された

設定ファイルに include ディレクティブを追加した

ではリリースノートをそれぞれ細かく見ていきましょう。

接続ユーザーパスワードハッシュDBからロードできるようになった

新しく以下のパラメータが追加された

1.5までのpgbouncerは userlist.txt というテキストに静的に接続ユーザを書かなければいけませんでした。

これは動的に接続ユーザーが増えるようなマルチテナントシステムを構築するのに不向きという事です。

この機能はその悩みを解消するための機能と言えるでしょう。

プールモードデータベース毎、ユーザー毎に設定することができる。

タイトルがすべてを物語ってます。柔軟にできますねぇ('∀`)

ただ、私にはちょっと有用な利用シーンが思いつかなかったです。

たとえば分析ユーザーではトランザクションなんて使わないので statement モードにしてコネクションの消費を抑えたりできるという事でしょうか。

データベース毎、ユーザー毎にコネクションの上限を設定できる。

max_db_connections と max_user_connections という設定が追加されます

テナント毎にユーザーを分けているような複数DBマルチテナントシステムにとって必須といえる機能です。

特定ユーザーリクエストコネクションをすべて占有されてしまい、他のユーザーサービスできないという事態を避けることができるようになるでしょう。

新しいコネクション生成を防止する DISABLE/ENABLE コマンドを追加。

特定データベースの新しいコネクション確立を抑止・再開することができます

新しいDNSバックエンドとして c-ares を導入した。

c-ares名前解決の非同期化を行うためのライブラリです。c-ares名前解決をブロックしないし、いろいろな方式名前解決に対応している唯一のプロダクトとのこと。

名前解決をブロッキングしてしまうようではpgbouncerのような大規模向けシステムでは役に立たないのだというpgbouncerの強い意志を感じる。

というか、ドキュメントを見る限り pgbouncer は名前解決にかなりこだわりを持っているらしい。それだけそこが重要ということでしょう

個人的には困ったことがないのでそこまでだわる理由はよくわからない。)。

SHOW CLIENTS, SHOW SERVERS で remote_pid を出すようになった。

UNIXドメインソケットで接続しているクライアントと、TCPまたはUNIXドメインソケットで接続しているサーバーでremote_pidを取得できるようになりました。

tcp serverの場合、pid はキャンセルキーから取得できる。(?ドキュメントから意味が読み取れず)

キャンセルキーとは何でしょうね。ちょっとリリースノートから判断できませんでした。

pg_cancel_backend とかに使えるPIDだよという事なのでしょうか。

ネガティブDNSキャッシュのために dns_nxdomain_ttl を分割した。

DBの数なんてもはや何台あるかわからない。ホスト名の解決はもはやDNSで行っておるよという皆様にとって必須機能

…なのでしょうがちょっとこの機能必要となるようなシステムとはどんなものなのか、私も未経験なのでよくわからないです。

クライアントIPアドレスポートapplicationネームに追加する

この設定は application_name_add_host=on にすることで有効となる。

今や接続アプリケーション名がWebだとかBatchだとか区別できるだけで問題が解決するような時代ではない。

どのホスト(ポート)レベル区別しないと。という事なんだろう。

「おお、Webサーバーから死ぬほど重いクエリが飛んでる、今すぐ調べないと!で、どのWebサーバーよ?100台あるんだぜ」みたいなときに助かりますね。

設定ファイルに外部ファイル読み込みディレクティブを追加することができるようになります

設定ファイル大規模化してくると、切り出して整理したいという要望はどうしてもでてくるもの

データベース毎、ユーザー毎に設定できる項目が増えてきたので必要になったという事でしょう。

以上。

以降はバグフィックスとかクリーンアップだとかで自分はあまり興味がないので各自読むように。

本番運用突撃するPostgreSQL界の猛者の報告待ってます

2015-02-02

不正アクセスされた

まえがき

恥ずかしすぎてハンドルネームでやってる自分ブログにすら書けず、かと言ってどこかに吐き出したくはあったのでここに書いておく。

見た人は存分に笑い飛ばして欲しい。


不正アクセスされたことについて

先週、趣味で立てたVPSサーバー(CentOS 6.5)のCPU使用率が、気付くまでの9時間ずっと100%になっていた。

作動中のプロセスを見ると、2つのperlプロセスがその原因であることが分かった。

そのプロセスユーザー「postgres」によって実行されたプロセスだった。

postgresは、PostgreSQLインストールすると勝手に作られるユーザーだ。

先日自分PostgreSQL9.4をインストールしたので、このユーザー存在自体問題無い。

その時このpostgresに、「postgres」という簡素パスワードを、passwdコマンドで設定した。

特に理由はない。その時理由を聞かれていたとしたら、

「まぁ無いよりはマシなんじゃね?サーバー内でしか使わないユーザーからハッキング心配とかないしどうでも良いけど〜。」

と言ってたと思う。

その程度の認識だった。

これにより下記コマンドでpostgresとしてサーバーに入れてしまう状態になっていた。

$ ssh postgres@my.server.address.com

実行するとパスワードを求められるが、もちろんそれは前述のパスワード「postgres」だ。

それまではパスワードを設定していなかったので逆に助かっていた。

パスワードが設定されていないユーザーにはsshでは入れないからだ。

「もちろん」というが、それまではユーザーパスワードsshで入る時のパスワードになることを知らなかった。

そしてそれだけで接続可能になる可能性があることを知らなかった。

sshサーバーの設定はひと通り、自分が使っているVPSサービスがやってくれており、多分大丈夫だろうとそのまま使っていたからだ。

それでハッキングされ、そいつに謎のperlスクリプトを走らされていた。

具体的なスクリプトファイルや.bash_historyは消されていたようで、どんなものを走らせられていたのかよく分からない。

踏み台としてどこかにDoS攻撃していたんだろうか。

ハッキングであることを知ったのは、/var/log/secure を見たからだが、そもそもこの自体に陥るまで /var/log/secure の存在とその役割を知らなかった。

「ポスグレ(PostgreSQL)がなんかバグったわ〜でも原因がよく分からんわ〜ヒマだしハッキングの可能性も考えとくか〜でも絶対ポスグレがバグったんだわ〜」

でググって初めて知ったぐらいだ。

それで見たらパスワード設定してから9日間でそれぞれ別の端末23から不正アクセスを受けていたことが分かった。

VPSサービスコントロールパネルを見ると、その内の1件が侵入した3分後にCPU100%現象が始まったので、十中八九そいつ仕業だろう。

それ以外の連中が何をやったのかは分からない。

からないのでOSを再インストールした。DoS攻撃だったらあとで攻撃先に訴えられるかもしれないので、全データを家のパソコンDLする事で証拠(?)を保存してから

不正アクセスに気付いてからやったこと
1. パスワードによる認証原則不可にした

/etc/ssh/sshd_config には、sshサーバーの設定が書かれている。

その中のPasswordAuthenticationをnoにし、公開鍵暗号方式による認証のみ受け付けるようにした。

2. ユーザー「postgres」のパスワードを削除した


3. http://www.websec-room.com/2014/02/09/1822 を全て適用した




他になんかやることとかある?おしえてぴょーん

2014-08-12

コーディングスタイル論争「カッコを省略するな」が出るたびに思う事

こういう記事が上がって

それへの反応

記事最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)

で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。

自転車置き場の議論的な、素人でも分かりやすポイントからこのツッコミって人気あるのかね。

―――――↓見てないかもしれないけどブクマとかへの返信を追加―――――

2chあたりでコーディングスタイル議論になったときは、俺様基準じゃなくて実際に成果を出してる人たちが採用してるコーディングスタイル基準にしようぜってことで、誰もが認める成果を出しててソースを見れるオープンソースコードを引き合いに出すことが多いんだけど、そうするとよくある反論が二つある。

みたいなの。

さすがにはてなツイッターじゃ、前者のような「お前は20年前からタイムスリップしてきたのか」みたいな認識の人はいないみたいだけど後者のような人は何人もいるね。

高度なコードを書いてる人とITドカタのコーディングルールは違うってなんなんだろうね。

「高度なコードを書いてる人は低レベルケアレスミスなんてしない、だからカッコを省略しても平気なんだ、レベルの低い連中はケアレスミスをするからカッコが必要なんだ」って認識なのかね。

まあたしかに「viは一晩で書かれた」みたいにハッカーが複雑なコードを一気に書きあげてバグがなかったみたいな伝説ってあるけど、素人じゃないんだからそういうハッカーイメージで高度な人たちをとらえるのはやめよう。

集中力が高度でケアレスミスをしないとか、今どきのソフト開発の「高度」はそういう意味じゃありません。

高度なソフトを開発している人たちは、おおむね読みやすさや保守性にセンシティブです。そのらのSIerなんかに比べたらはるかに。

で、そういう人たちが、カッコを書くか書かないかなんてどうでもいいって認識からカッコを省くコードが書かれてるんです。

ハンガリアン記法コードの質を高めると信じられてたときとか、if (100 == n) のように比較で定数を左にもってくるのが流行ったときも、そういう流儀の人たちは自分らは安全側に倒してるから正義だって信じて主張を全然曲げなかったですね。

むやみに安全側に倒せばプロだとか、コードの質にセンシティブだって思考は恥ずかしいみたいな風潮になればいいのにね。

2014-07-22

MySQLを商用利用すると無料で使えないという都市伝説

MySQLに限らないけど、「GPL営利目的では使えない的な思い込み」は止めて欲しい。

先週、システム開発の提案で客先に行ってきた。

当方、30前半のSE対応してくれた担当者40代後半の情報システム部門の方。

提案したシステムの規模はそれほど大きくはなく、お客さんからもあまり予算はないと言われていたため、RDBMSに「MySQL」を使ったWebシステムを提案したところ、「それほど可用性は求めてないし、無料で使えるDBの方がいい」と言われた。

あぁ、商用ライセンスを購入すると勘違いしたんだな、と思ったので、「MySQLGPLライセンスもあるので無料で使うことができますよ」と説明したところ、担当者の顔が険しくなった。

GPLだとソースコードを公開しないといけないんだよ?たとえMySQLソースコードを改変していなくても、MySQLを使ったソフトウェアであればソースコードを公開しないといけないし、それを企業で使おうとすると犯罪になるよ。」

「だからウチでは重要システムOracleを使っているし、重要度が低いシステムPostgreSQLを使ってる。」

たまたま提案先がウチだからいいものの、他の企業にそんな提案すると恥をかくし、あなた会社の信用も堕ちる。」

いろいろ言われたけど、要約するとこんな感じ。


「確かにGPLだと他の誰かにMySQLを使ったソフトウェア頒布する場合ソースコードも渡さないといけないですが、今回は御社に導入するWebシステムですから問題ないですよ」

とは返したものの、

Webシステムなのが問題なんだ。システムを使う人にソースコードを公開しないといけないんだよ。TOPページとかにリンクを貼るの?ソースコードはこちら、みたいなの。ありえないよね?」

システムを使った社員ソースコードを持って帰って公開したらどうなるの?機密情報流出だよ。」

と捲し立てられてしまった。

心の中では「Webシステムだと利用者全員にソースコード公開とか、なわけねーだろ」と思いつつも、相手の勢いがスゴいし反論するための明確な情報を持っていなかったので一旦持ち帰って再検討することになりました。


http://www.ipa.go.jp/files/000028332.html

英語が苦手なのでIPAが公開しているGPLv3の日本語訳で確認したところ、「0. 定義」の項目に以下の文言があった。


著作物の「コンベイ」(convey)とは,プロパゲートに当たる行為のうち第三者が複製すること又は複製物を受領することを可能にする行為をいう。ただし,コンピュータネットワーク上での単なるやりとりであって複製物の伝送を伴わない場合は,コンベイに当たらない。



そりゃそうだよね。てかWebシステム利用者ソースコードを公開しないといけないとか誰が言い出したんだよ。


で、結局提案はPostgreSQLに変更しました。ライセンス云々関係なくPostgreSQL統一されているんだったら運用コスト面でその方がいいし、MySQLを提案したのは俺がPostgreSQLより得意だからってだけだから

ライセンスについては調べたことを担当者に伝えるかどうか思案中…。

ここまで捲し立てられたのは初めてだったけど、今までもお客さんからGPLだけど商用ダメなんじゃないの?」って言われたことが多いんだよね。

もう一度言うが

GPL営利目的では使えない的な思い込み」は止めて欲しい

2013-12-10

環境設定が一番大変

Redmineインストールがようやく終わった。

rubyインストールして、railsインストールして、PostgreSQLインストールして、OpenSSLインストールして、ImageMagickインストールしたけどrmagickがインストール出来ずに断念して、ようやくRedmineインストール可能な状態になったって敷居高すぎだろ。手順に沿って上記のソフトを入れるだけでも面倒なのに、所々でエラーになるし、手順は大抵Unix/Linux環境向けだし、インストールで力尽きた感がある。

大体新しい物を学習しようと思った時は一番最初環境設定の部分で躓くんだよな。

2013-12-09

postgresqlで指定桁数で値を受け取る方法

real型で、5.0などと値を受け取りたい場合はnumericにキャストする。

2013-11-09

http://anond.hatelabo.jp/20131109013939

IT系の知識って多岐に渡るくせに、初めの一歩のために浅く広くで体系立てられた情報源が無いんだよね。

DBならOraclePostgreSQL…、言語ならC、Java…みたいな感じで各技術分野の中の特定の技術ってのを学ぶ手段は山ほどあるんだけど、その技術分野同士の相関関係や各技術の違いなどのメタ情報が個人ブログとかで部分的表現されてるだけで、体系立てられてないから、とにかく実務で身に付ける、アンテナ張って色んな技術情報を身に付けていく内に段々分かってくるってモノになってる気がするんだよな。ググって調べても説明文にまた分からない言葉や腑に落ちない部分があるからまたその言葉をググってみたいな事を繰り返してようやく何となく分かったみたいな経験がこの仕事をしてる人は誰にでもあると思う。

から、用意されたインフラ上で実装するって現場ばっかり回されるような人は知らなくても不思議ではないと思う(若干酷いなとは思うけど)。

プライベートキャッチアップし続けてようやく知って当たり前の知識が身に付くって構図はあまり良いとは思えないんだよな。

Iパス基本情報所詮はバラバラの情報の寄せ集めなんで書いてある内容の理解や各技術分野の関連を理解するには行間自分で埋めなきゃならないんだけど、まさにその行間を埋めるための全体像を把握するための知識が今この業界に欠けているものであり必要なのだと思う。

2013-09-18

Ruby on Rails可愛い子が集まるエロサイトを公開するまでの24H

仕事で3ヶ月ほどRuby on Railsに触れる機会があったので、色々と調べているうちにRailsエロサイトを作るのが流行っているというのを知りました。

そこで、自分でも作ってみようかと思いました。

2番煎じなのは重々承知ですが、とにかく作ってみることが重要なのです。

最低限、自分で使うことが出来るレベルにはしたいと思います

今回のエントリでは、個人的にエロサイト作成して公開するまで自分でやった方法を紹介します。

※公開後の状況なども書き込みします。

作成したサイト

可愛い子が集まる動画共有サイト

CuteClipper : http://cuteclipper.night-generations.info/

目標

準備するもの(私の環境

目次

  1. ( 0:30)作成したい機能を考える
  2. ( 1:00)ドメインを取得する
  3. (12:00)アプリ作成する
    1. 基本部分を作成する(rails new)
    2. Xvideosをスクレイピングする(gem : nokogiri)
    3. 動画管理タグで行う(gem : acts-as-taggable-on)
    4. 動画ストック機能追加(javascript)
  4. (16:00)本番環境で動かしてみる -環境周り-
  5. (17:00)Google Analytics / ウェブマスターツール に登録
  6. (20:00)公開の準備をする
  7. (24:00)公開
  1. 今後の野望

( 0:30)作成したい機能を考える

既にあるものなら新しく作る必要はないわけで、、、今回は自分の使いたい機能を作ってみました。

Xvideosの動画サイトの多くは、動画を選択すると他のサイトブログみたいなやつ)に飛ばされてしまい、

そのサイトで、動画のある場所を探さないといけないことが多くてめんどくさい。

動画がないこともシバシバ

自分で作るのならh300さんのように分かりやすサイトにしたいと思いました。

たくさんの動画を観て廻るものの、本当にいいと思う動画は大体3本くらいです。(自分場合

なので、3本まで動画ストックする機能があるといいなと思いました。

( 1:00)ドメインを取得する

今回はムームーさんでドメインとりました。

本番環境herokuドメインの設定も簡単で助かりました。

(12:00)アプリ作成する

基本部分を作成する(rails new)

rails newしてdb作成して、基本的なアプリ作成しました。

Xvideosをスクレイピングする(gem : nokogiri)

動画情報の解析のため、RailsGemのnokogiriを使用しました。

nokogiriはhtmlなどの解析をして、情報を取得することができます

Ruby - Nokogiriでスクレイピング - Qiita [キータ]

動画ストック機能追加(javascript)

動画ストック機能javascript作りました

WebStorageを使用してストックしています

//localStrage.setItem("key","value");
localStorage.setItem("test","テスト");

//localStrage.getItem("key");
localStorage.getItem("test"); //"テスト"

こんな感じで、DBを使わずストックが可能です。

レイアウト改善(gem : twitter-bootstrap-rails)

レイアウトにはあまり時間を掛けず、bootstrapを利用しました。

殆ど時間を掛けずにそこそこのレイアウトが作れます

twitter bootstrap railsを使ったら職が見つかり彼女も出来て背も3センチ伸びました。 - ppworks blog

タグクラウドを実装(gem : acts-as-taggable-on)

タグクラウドはacts-as-taggable-onで簡単に実装できます

備忘録.りくわいやー

(16:00)本番環境で動かしてみる

とにかく本番環境デプロイするんだ!!

ということで、ここまでで出来上がったものを本番環境にアップします。

本番環境にはherokuを選びました。

herokugitpushをするだけで簡単に本番環境デプロイ出来ます

とにかく動かすという目標のためにはherokuベストチョイスです。

スピードに関しては、海外サーバという点が難点ですが、今回はjavascriptをメインにしたことで、それほど問題はありませんでした。

(17:00)Google Analytics / ウェブマスターツール に登録

サイトを公開する場合、解析が必要となります

解析の仕方を覚えるためにもGoogle Analyticsを使用しました。

(20:00)公開の準備をする

公開の準備として以下の作業をしました。

ただ、公開することを最優先にしたので、しっかり作りこんではいないです。

  1. title,キーワードなど基本的なSEO実施
  2. ソーシャルブックマークTwitterなどのソーシャルボタンをつける
  3. googleクロール申請をする
  4. この記事を書く

(24:00)公開

公開します。

今後の野望

動画投稿をみんなでできるようにする。

今の投稿方法だとエラーが発生しやすいので修正してからじゃないとなぁ

ストック回数の多い順にソート出来るようにする。

ストック回数のカウント機能は実装してあります

後は、並び替えるだけなんですが、まずはカウントが貯まるまではソートも何もないので・・・

動画の評価を出来るようにする。

ストック回数だけじゃ物足りないので、評価をつけれるようにしたいです。

Xvideos以外の動画も観れるようにしたい。

もっとたくさんの動画を観たいよね。

まとめ

Webアプリを作ること自体は、思っていたより簡単でした。

でも、たくさんの人に使ってもらえるものを作るというのは、とても大変ですね。

今回、CuteClipperを作りながら、他のWebアプリを観てきました。

オリジナリティアイデアの優れたアプリが沢山あります

そういうアプリの中で、自分アプリを埋もれさせない努力を続けていかないといけないですね。

がんばります。というやる気がでました。

2013-03-04

http://anond.hatelabo.jp/20130303084659

デザイナー搾取と役所におけるボランティア活用を別の問題として考えるべきで

ごちゃまぜにしているから噛み合わないだと思う。

一般論としてNPOも含め公的な目的でのボランティア活用は認められてもよいと思う。

ダンピングとの指摘もあるが、ダンピング規制されるのはガソリンスタンドの値下げのように競合を潰して自らの利益にする目的で行われるからであって

目的の異なるボランティア活用と同列にすることはできないと思う。

海岸で清掃ボランティアをするひとは、清掃業者に対するダンピングなのでやめるべきですか?

近所の掃除は? ほぼボランティアで近所の子供にサッカーを教える人は?(これは公的ではないか・・)

個人的にはよくも悪くも、社会の変化による避けられない現象だと思う。

IT業界におけるフリーソフトの台頭に近い。これまで有償提供されていたスマホアプリが、個人が作ったフリーソフトに負ける。

MySQLPostgreSQLに潰された中小データベースメーカー多いだろう。

これはダンピングと見えなくもないが、フリーソフト提供者も利用者も社会的に認められている。

Wikipediaだってボランティアによる百科事典業界に対するダンピングに見えなくもないが否定する人は少ないだろう。

今回のケースでは社会に対するボランティア意識の高まりと(似非も含めた)デザイナーの過多が原因ではないかと思う。

一般論について話したいのでこれ以上突っ込まない)

ただし大前提としてボランティアとして成り立つのは動機が奉仕の心によってのみであるべきで、

それ以外の邪念(今後の仕事に役に立つとか)を応募側も持つべきでないし、募集側も匂わせるべきではない。

追記

今回のケースは当初から募集側応募側双方に邪念があったので、ボランティアじゃないよね。

皮肉にも無償デザイナーというのは正直正しい。

ボランティアならは「自発」「見返りを求めない」が守られている必要がある。

そういった意味ボランティアとするならば、バーターの要素を一切排除し

・「見返りを求めない」というボランティア理念を明記する

・応募側の実績にならない形にする(匿名デザイナー

・可能であれば何らか別の形でデザイナーに報いる

ターゲットは元デザイナー専業主婦とかで

デザインの力で行政を変えるのは無理だと思うけど・・

2012-09-26

【2012超まとめ】確実にWEBサービスを作りたい人へ【中編】

前編はこちら

http://anond.hatelabo.jp/20120926165407

ステップ6:MySQL(10時間)

会員情報や文章などのコンテンツを保存しておくデータべース、MySQLを調べます

データベースは他にもPostgreSQLSQLiteなどが有名ですが、やはり王道勉強します。

MySQLCakePHPや、ステップ4のWordPress他、よく使いますので把握しておきましょう。

基礎からのMySQ

http://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AEMySQL-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E7%A8%AE%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%A5%BF%E6%B2%A2-%E5%A4%A2%E8%B7%AF/dp/4797344385/ref=sr_1_1?s=books&ie=UTF8&qid=1348063628&sr=1-1

今はまだ関係ありませんが、余裕があればこれも読むといいです。

MySQLによるタフなサイトの作り方

http://www.amazon.co.jp/MySQL%E3%81%AB%E3%82%88%E3%82%8B%E3%82%BF%E3%83%95%E3%81%AA%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E4%BD%90%E8%97%A4-%E7%9C%9F%E4%BA%BA/dp/4797353937/ref=sr_1_1?s=books&ie=UTF8&qid=1348063787&sr=1-1

操作コマンドラインを覚えていく方向で、始めはブラウザ操作できるphpMyAdminを使ってOKです。

ストレージエンジンはとりあえずInnoDBで。

ステップ7:休憩(10時間)

技術調査はこの位にして、これからは実際にWebサイトを作っていきます

ここまで来ると何となくWebサイトがどんな仕組みで動いてるかが分かってくるので、

ステップ0でイメージした作りたいサイトがどんな技術で実現出来るか調べます

冒頭の「完全に一致」の中の人のようにスクレイピングしたり、

TwitterGoogleYahooAmazonなどのAPIを使ってサテライトサイトを作っても良いと思います

が、高度な事をするとはまりやすいので、ある程度やって無理だったらあきらめて次回にまわしましょう。

まずは何か一つ完成させる事のほうが大切です。

それから開発効率UPのため、Chromeプラグインを入れましょう。

説明はそれぞれのリンク先を見て下さい。

CSSViewer

https://chrome.google.com/webstore/detail/ggfgijbpiheegefliciemofobhmofgce

Firebug Lite for Google Chrome

https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench

View Selection Source

https://chrome.google.com/webstore/detail/fbhgckgfljgjkkfngcoeajbgndkeoaaj

Pendule

https://chrome.google.com/webstore/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi

BuiltWith Technology Profiler

https://chrome.google.com/webstore/detail/dapjbgnjinbpoindlpdmhochffioedbn

iPSim

https://chrome.google.com/webstore/detail/gcligifbhamdimemnemmlkffkpmflehh

Color Picker

https://chrome.google.com/webstore/detail/ohcpnigalekghcmgcdcenkpelffpdolg

CSS Tester

https://chrome.google.com/webstore/detail/pjncppaiejjkcjlcgegcbmhgkflhenfp

MeasureIt

https://chrome.google.com/webstore/detail/pokhcahijjfkdccinalifdifljglhclm

あとはFireFoxにはFireBugデバッグ定番らしいです。

https://addons.mozilla.org/ja/firefox/addon/firebug/

それから、空いた時間無料プログラミング動画サイトドットインストール」を見ておくと

ここまでの知識が定着すると思います

ドットインストール

http://dotinstall.com/

ステップ8:ドメインを取る(10時間)

ステップ7で作りたいサイトイメージ出来てきたら、ドメインを取りましょう。

サーバーさくら場合ドメインさくらで取得すると楽ですが、もっと安いところもあります

希望するドメインが空いているか調べて取得、空いていなければ他のドメインを考えます

さくらドメイン取得

http://www.sakura.ne.jp/domain/

ムームードメイン

http://muumuu-domain.com/

バリュードメイン

http://www.value-domain.com/

定番の.com、.net、.orgは誰が見ても親しみがあるし安いので、できればこの3種類のどれかにしたい所ですが、

一般的な言葉はほぼ埋まっているので、その場合.jp等にしても良いでしょう。

日本語ドメイン(www.日本.netみたいな)は流行っていないですが、

自分サイト名が「○○○.com」のような名前場合は一緒に取得して、アルファベットドメインリダイレクトしましょう。

ChromeユーザーURL欄で検索する時、「○○○.com」のように後ろに.xxxが付いているとそのURLに直接アクセスしてしまい、

 検索にならないので、アクセス機会損失を防ぐため。)

僕はバリュードメインで取得して、サーバーさくらレンタルサーバーしました。

その際の親切な設定方法の解説はこちら。

VALUE DOMAIN で取得したドメインさくらレンタルサーバで使う

http://nekohacks.com/wordpress/domain/value-domain/

ステップ9:サイトの基礎部分の開発(100時間)

実際にサイトを開発していきます

どんなサイトで、どんな機能があって、どんなページがあるかノートに書き出して行きます

初めにデータベースのテーブルやレコード構造を考えて、

次にメインとなる機能プログラムして行きます

サイトの基本的なレイアウトCSSで組みながら、デザインイメージもしておきましょう。

ここではデザインはまだやりません。

先にデザインを作っても、プログラムを進めていく過程で変更がでたりする為です。

(でもあんまり後回しにしても、見た目がチープなせいでモチベーションが下がったりするので、次のステップでやります

あと、ここで気をつけたいのは、あくまでメインとなる機能の開発を優先することです。

「あったほうが良いな」程度の機能は後回しにします。

外堀から埋めていくとそこでモチベーションが尽きてしまったり、

メインの機能を実装してみたら外堀の修正が発生してしまったりするためです。

始めると分からない事がどんどん出てくると思うので、本を読み返したりGoogle先生検索しながら進めて行きます

なかなか進まなくて検索8割、コーディング2割くらいの進め方になると思いますが、それでOKです。

長い暗闇を抜けると、少しづつ視界が開けてきます

メインの機能がなんとなく出来たら次に進みます

ステップ10:サイトデザイン(30時間)

メインの機能何となくできたら、デザインをやります

鉛筆殴り書きで良いので紙に描いてみます

いきなり慣れないCGソフト上でデザインすると、

いじっているだけでモチベーションを使い切ってしまったりするので危険です。

CGソフトは色々ありますが、おすすめフォトショ(Photoshop)です。

WebサイトデザインFireworksなども有名ですが、学習コストがかかるので、

Webサイトにもそれ以外にも使えて一番つぶしが効くフォトショップでOKです。

今年からクラウド契約が始まり、今なら1ヶ月8000円、年間契約なら1ヶ月5000円で

Adobeソフトが全部使い放題です。

Adobe Creative Cloud

http://www.adobe.com/jp/products/creativecloud.html

お勧めの本はこれ

10日でおぼえるPhotoshop入門教室

http://www.amazon.co.jp/10%E6%97%A5%E3%81%A7%E3%81%8A%E3%81%BC%E3%81%88%E3%82%8BPhotoshop%E5%85%A5%E9%96%80%E6%95%99%E5%AE%A4-CS2-CS%E5%AF%BE%E5%BF%9C-%E4%BA%95%E4%B8%8A-%E3%81%AE%E3%81%8D%E3%81%82/dp/4798111953/ref=sr_1_1?s=books&ie=UTF8&qid=1348498454&sr=1-1

基本操作を覚えたらWeb情報を収集します。

PHOTOSHOP VIPさんが親切です

http://photoshopvip.net/

から全部自分で作らなくても、素材サイトからダウンロードして加工するなどして手間を省きます

PCスマホ携帯(ガラケー)全部に対応するのは大変なので、

初めはそのサービスを最も使うだろうと思われるどれか1つに絞ります

初めに作る際のお勧めPCサイトです。

PCサイトならスマホでも最低限アクセスはできるし、携帯は縮小傾向なので優先度低、

スマホ画面サイズがまちまちでタブレット端末が目下発展中、AndroidブラウザがたくさんあるがChromeに統一されていくかも、

混沌とした状況なのでお勧めしません。

複数デバイスへの対応リリース後でも遅くありませんが、

対応する際はCSSを切り替えてレスポンシブレイアウトにするのがお勧めです。

その他、困ったらTwitter社が公開しているブートストラップを使うのもお勧めです。

ブートストラップcssフレームワークで、簡単にシャレ乙なデザインに仕上がります

超便利!Twitter BootstrapでさくさくWeb開発

http://blog.asial.co.jp/887

どうしても自分イケてるデザインが出来ないと思ったら、友だちに頼んだり、SNSコミュで募集したり、

デザイン系の大学専門学校掲示板にビラを貼らせてもらったりしましょう。制作費が出せればランサーズで募ってもいいかも。

Lancers - 仕事フリーランス発注できるクラウドソーシングサービス

http://www.lancers.jp/

僕はたまたまフォトショップの使用経験があったので、ここにかけた時間は30時間ではなく5時間程です(トータル275時間で開発)。

後編はこちら

http://anond.hatelabo.jp/20120926165920

2011-03-07

イケてるWebサービスを作ったのでeHubインタビューズっぽく宣伝してみる

あなたウェブアプリケーション/サービスは何ですか?

【音注意】Count Down Tube http://www.leno-ig.com/ja/youtube/channel/

Count Down Tubeチャンネル別に、トップソングをカウントダウン形式で視聴出来ます

このプロジェクトを始めた理由は?

iTunes Music Storeプレビュー(30秒)では物足りなかったのが一番の理由です

プレビューの短さを補うために、YouTubeにあるPV再生しようと思いました

また、1曲づつクリックして再生するのが手間だったので、カウントダウン形式で自動再生させました

製作にかかった時間は?

計4日で内訳は

チームの規模はどれくらいですか?また、あなたの素性および経歴は?

現在使用しているインフラ技術は何ですか?

技術的な特徴があれば、紹介してください。

開発の際に気を付けたことはありますか?

iTunes Music StoreYouTubeアーティストユーザすべてにメリットがある」

プロジェクトは次の半年でどこへ向かうと思いますか?

アクセス増への対策」

広告

  • 載せません。

「機能追加」

自分Webサービスを作りたいと思っている人に向けて何かありますか?

利用者に向けて何かありますか?

  • 自分では、かなり実用的だと思っているのですが、実際の所、どうなんでしょう。使ってみて、ダメ出しでも何でも良いので、感想を聞かせてもらえると嬉しいです

[twitter:@leno_ig]

元ネタ

http://anond.hatelabo.jp/20101219185436

http://anond.hatelabo.jp/20101203150748

  • eHub Interviews

http://emilychang.com/ehub/app/category/ehub-interviews/

http://d.hatena.ne.jp/brazil/20051102/1130901002

ログイン ユーザー登録
ようこそ ゲスト さん