はてなキーワード: XOOPSとは
先日「飲み会版ソーシャルランチをつくってみた」を書いた者です。
上の記事では、僕がつくった「飲活」というサービスの説明が大半で、どうやってつくったのかとか説明が少なかったので、今回はそれについて書いてみようかと思います。
僕は「「飲活」」を作るまでも、iPhoneアプリを開発したり、webサービスのメンテナンスをしたりとプログラミングをしておりました。
しかし僕も何度かwebサービスの立ち上げを挫折しております。4回くらいかな。
最初はxoopsを使って、ツイッターで登録企業の広告をつぶやいたらポイントをもらえるサービスでした。
なんとxamppで門前払いされました。ローカル環境すらつくれませんでした。「くそ初心者は時間を無駄にするだけだから辞めろ」と言われた気分でした。
xamppだけに2日くらい朝まで格闘してしまい本当に時間を無駄にしました。当時はapacheの設定とかなんぞや状態ですからね。
次にやろうとしたのが、大学受験生向けのサイトで、受験生に教科ごとの講義をするのではなく、勉強のやり方を教えるよ!ってサイトです。
ほとんどhtmlでできそうなのですが、phpでメールを送ることができず挫折しました。
レンタルサーバーを借りたのですが、レンタルサーバーのphpの設定をしないといけないのを知らなかったり、やっと解決しても日本語化けに悩まされて止めた覚えがあります。これほど母国語が英語だったらどんなに楽かと思った時はありませんよ。プログラミングしてると今でもたまに思います。
次が、キックスターターのようでそうでないクラウドファンディングサービスをつくろうとしました。
ここでjavascriptと出会いました。いや、ちゃんと交際を始めたと言うべきか・・・。それまでjavascriptとすれ違っても虫を決め込んでいたのですが、いざ必要になって呼び止めてみると意外と良い奴でした。
しかし、ajaxにつまづいたり、サイト構成やディレクトリ構成、データベース構成や、デザインの調整などで複雑で面倒になり挫折してしまいました。
こうして書くと、僕がすごい諦めの早いやつで勉強もまともにしないやつみたいに思えますが、半分正解。諦めは悪いけど「ググればいける」という考えで勉強を怠っておりました。
だいたいプログラミング言語はどれも根本は似ているので、先述の3つ以外のプログラミング言語をやりたいと思ってる人でも参考になると思います。
また、以下の内容は、わけわからんけどwebサービスをつくりはじめる方を前提にしています。
まずは開発環境を整えましょう。
開発環境とは、自分の書いたプログラムをローカル(自分のパソコン)でのみ動作させる環境です。
つまり、自分がつくっているものを外部に見られることはありません。
です。
まずはこれらをインストールしてください。設定などの説明は割愛します。
僕はphpを使いました。
僕もそうでしたが、素人は当然プログラミングの全体像を想像できません。やりたいことを思いついても、どういうコードを書いたらいいかなんてすぐに想像できませんよね。
これも当然ですがその原因は、そもそもプログラムでなにができるか知らないからです。
なので、POSTやSESSION、配列などの基本的なものの存在を知りましょう。そしたら、「このページにはこの機能が必要だろう」というのが、"なんとなく"わかります。書き方はこの時点で別に覚えなくて大丈夫です。
例えば、オブジェクトを格納することが出来る「配列」という存在を覚えます。
この時点では、配列の作り方のコードとかは覚えなくていいですよ。「配列という存在を知る」ことが重要です。
基本的なことを学ぶときはネットではなく本を使う事を薦めます。
本は情報が体系的にまとめられていまうので、ネットよりも学びやすいです。
プログラミングは10年以上基本部分は変わっていませんので、「古いものを覚えちゃわない?」という無駄な心配はなくて大丈夫。
一方、発展的なことではネットで学びましょう、というかわからないことがあればネットで探しましょう。
どんなことを実現したいのかというゴールがないと必ず途方にくれます。
なので、まずはゴールを設定します。
例えば「「飲活」」なら、
などなど...。
その後に、各ページ毎に必要な機能と大まかなそのページのやることを決めます。
ログインページには、ユーザーが入力するフォームと送信ボタンがあって、なにも入力されずに送信ボタンが押されたらエラーメッセージを出そう。エラーがなくログインに成功したら、会員専用のエロビデオを見せよう。
とか。
例えば、しっかり考えず適当に、登録ユーザーのプロフィール画面を開発していて、ユーザー名、生年月日、出身大学を表示させるプログラムをつくったとします。
しかし、プロフィール画面が完成した後にメールアドレスも表示させないといけないことに気がついた場合、少しプログラムの変更が必要になります。
最初から、どのデータが必要なのかを決めていれば、こうした効率の悪さは回避できます。
実際は奇麗に開発できることは少ないですが、何も考えずに開発するよりは効率的です。
大まかな機能(ログイン)→具体的な機能(ログインページの機能)→具体的にログインページがやること→必要とするデータ
という流れでサイトの機能を決めることで、自分のやることが明確になりますし、勉強すべき内容も最小限に抑えられます。
ここで、どういうデザインにするのかを決めればもっと後で楽になります。
webサービスには必ず必須となるデータベースについて知る必要があります。
僕は、mysqlを使いました。
サーバーはさくらインターネットのレンタルサーバーを使ったので、さくらインターネットのデータベースを利用しました。
各ページで必要な機能とやることを決めたら、それを実現してくれる方法を本やネットで探します。
先述のとおり、必要な機能を決めていればそれを実現してくれるもののみを探せばいいので効率的になります。
見つけたら、あとはそれを使ってやりたいことをやるだけです。
具体的にはサンプルコードやAPI、フレームワーク(ライブラリ)を探すべきだと思います。
プログラミングに慣れるまではフレームワークを使うと上手く組み込めず、それが挫折の原因にもなりそうなので、主にサンプルコードを探せばいいと思います。
プログラミングってなんのためにあるかというと、人々の生活を楽にするためです。
人々を楽にするプログラミングで、わざわざ辛いやり方をするのは最悪です。
なので、どうぞ堂々と怠けてください。他人のつくったコードを使ってください。API、フレームワークを使ってください。
プログラムを書いたらデバッグしたり、ブラウザ(htpp://localhost)で見てやりたいことができているか確認してください。
特にこのサービスには特別なことや難しいことはやっておらず、正直phpの基本がある程度わかっていれば、このサービスの基本的部分は作れてしまいます。
デザインをつくりましょう。
僕は一から自分でデザインを考えたわけではなく、他の素敵なサイトを参考にさせていただきました。
また、サイトの見た目をつくるにはhtmlとcss、時にはjavascriptを使う必要があります。
オススメなのは、twitter社の提供するTwitter Bootstrapです。
http://twitter.github.io/bootstrap/index.html
ちなみに、「飲活」は、html、css、javascript(jQuery)を使っています。
つくったサイトをみんなに見てもらうためには、外部とネットワークのあるコンピュータにアップロードしなければなりませんし、ドメインもなければいけません。
コンピュータにはIPアドレスがあり、ネットワーク上の住所となっています。これにアクセスすると、「飲活」の住所とか「はてな」の住所とかあったりするわけです。これは数字でできており、これを人間が読みやすいものにしようというのがドメインです。
hatena.jpとかnomikatsu.comとかですね。これを取得しましょう!
自分で作ったり、VPSを使ったりすることもできますが、自分で管理をしなくていいという点で楽なので僕はレンタルしています。
僕は、さくらインターネットでレンタルしています。
僕のようにドメインの管理会社とサーバー会社が別だといろいろと設定をしなければなりません。
DNS(ドメインネームサーバ)というのがあり、「このドメインのあるサーバーはこれ、IPアドレスはこれ」と教えてくれるものです。
お名前ドットコムで取得したnomikatsu.comは、さくらインターネットのサーバにあるよと設定する必要があります。
実際には、さくらインターネットのネームサーバ情報を知り、お名前ドットコムでnomikatsu.comはこのネームサーバだよと設定してあげるのです。
これで、数分から数時間でnomikatsu.comにネットからアクセスすることが出来ました。
あとはサーバーにファイルをアップロードすれば、インターネットで自分のつくったサイトを見れます。
ファイルアップロードの仕方ですが、FTPクライアントを使います。
僕は、filezillaを使いました。
filezillaからホスト名やユーザー名などを設定してサーバーに接続します。
接続できたら、指定のディレクトリにファイルをアップロードすればOKです!
とにかく作り始めましょう。
僕は、本が書いてあるサンプルコードをそのまま勉強としてやるのはオススメしません。
だって、つまらないですもん。あれは、プログラムを書いていて基本がわからなくなったときに見返せばいいんです。
最初はまず作りたいものを決めて、PHPで何が出来るのかをざっくり勉強して、それを実現するのに必要なコードややり方を見つけて、実際に動くものをつくっていってください。
やりたいことをやらなきゃ飽きますし、本のサンプルコードよりも実際にwebサイトをつくった方が覚えます。
やったことがない人が勝手に難しいと思い込んでいるだけで、意外とやってみれば難しくありません。
簡単とまでは言えませんが、正直誰でもできます。
僕の場合は何度かプログラミングを挫折しましたが、こうして一つのものをつくることができるようになりましたし、iPhoneアプリなども会社では開発しています。
こんなやつでもできるので、諦めなければできます。
そんで、とても楽しいです。
本当につくりたいものがあるのなら、一度やってみる価値はありますよ。
明記してありますが、僕は初心者ではありません。初心者の方が勉強がてらサービスを作る一つのやり方というか流れを紹介したいと思って記事を書きました。
僕自身、なにもわからずプログラミングをはじめたときは、どう勉強したらいいかわからず辛い思いをしました。
素人がわけわからずプログラミングを始めると挫折しやすいと思いまして、僕が素人の時を振り返り、そして勉強してきた経験を使って、素人の方にサービスをつくっていく流れを書いたら素人の方も挫折しにくいかと思いました。
なので、僕は初心者ではありませんが経験者として素人がサービスをつくっていく方法を書きました。
また、飲活をつくった実際の流れと書きましたが、飲活をつくった流れを利用して、初心者がサービスをつくる流れを説明したかったんです。
某安宿ガイドに触発されて、更に安く泊まれる漫画喫茶ガイドを作ろうかと画策中。
と言っても、利用したことのある店舗は都内で30店舗ぐらいだけど。
需要があるかどうか匿名で下書き。はてな記法が分からないのでミスってるかも。
ある程度トラックバックやブックマークされたらXoopsかWiki、MTかWPあたりで作ります。
どんな情報が欲しいか書いてくれると嬉しいかも。
ちなみに以下の店舗は全店コミックのDBがあり、インターネットから在庫を確認できます。
店名 | 住所 | 電話 | 規模 | 会員制 | 基本料金 | 延長 | パック | ナイトパック | シャワー | コメント |
---|---|---|---|---|---|---|---|---|---|---|
マンボー 新宿高島屋横店 | 新宿区新宿4-1-13 | 03-5360-7997 | 小 | 任意 | 315/h | 105/15min | 924/3h | 1134/5h | 有 | 通路が非常に狭い。いつも混んでいる。コミックは弱い |
マンボー 新宿総本店 | 新宿区新宿3-32-10 | 03-5368-6116 | 大 | 任意 | 315/h | 105/15min | 924/3h | 1134/5h | 有 | 規模が大きく、席に余裕有り。地下なので携帯電波× |
マンボー 新宿靖国通り店 | 新宿区新宿3-20-5 | 03-5367-5837 | 中 | 任意 | m300/h,w200/h | 105/15min | 924/3h | 1218/5h | 有 | 地下なので電波が弱い。若干混雑傾向 |
グランサイバーカフェ バグース 新宿 | 新宿区歌舞伎町1-21-1 | 03-5155-5443 | 大 | 任意 | 420/h他 | 100/15min | 980/3h | 1200/6h | 有 | 照明暗め。ドリンク・コミック充実。オープン席有 |
グランサイバーカフェ バグース 靖国通り | 新宿区新宿3-15-11 | 03-5363-6253 | 小 | 任意 | 420/h他 | 100/15min | 980/3h | 1200/6h | 無 | 照明暗め。ドリンク充実。コミックは弱い。オープン席有 |
ワイプ 代々木北口駅前店 | 渋谷区代々木1-35-4 | 03-5365-1788 | 中 | 必須 | 280/30min他 | 100/15min | 980/3h | 1200/5h | 有 | 代々木駅前。地下だが電波強し。ビリヤード、ダーツ等有。利用時間別のパック充実。オープン席有 |
http://anond.hatelabo.jp/20070803143914
(*)このエントリでは増田がとっても感情的になって、C言語、SQL、JScript, JavaScript, Perlをけなす風潮に反発します。
確かにプログラミング言語やその周辺の技術は目的を達成するための手段でしかないのかもしれない。けれど、その手段を行使できるようになるために一週間そこらドキュメントやサンプルを読み書きするだけでおkな人って実在するのか?JavaやCにしたってどれだけ標準搭載の関数やらAPIがあると思っているんだ?そりゃあ実装に必要な部分さえ分かればいいんだろうけど、、。ぐすん。
俺はオブジェクト指向を肌で感じ取れるようになるまで1年以上かかったが、それでも完全に理解できているといえるのかよく分からない。それを一週間程度で理解できるだとおぉぉ、許せん、嫉妬してやるぅ。
ついでに言うと、誰でもできる仕事を一般化してプログラムに落とし込むのがプログラマの仕事だあああ、、、、とも思う、、、、うん、思うだけ。中学生にでもできるといいながら、人間に外注するってどういうことよ。誰でもできるんならパソコンに頼めよ。そういうプログラムを組めよ。優秀な人はコンパイラとか作れるんでしょ。もっと言えば、プリミティブな部分とやらを最初からプログラミング言語でしゃべっておけば、外注すら必要ないよ。外国の人を作業するとき英語でコミュニケーションとるでしょ?システムの設計とかもプログラミング言語でやれば?まさか日本語で適当に要件定義書書いて、外注に丸投げとか言わないよね。それとも、優秀な人はみんな理論屋になるってこと?
ぐすん、、ぐすん、、そりゃあさ、僕はHDLでCPU設計とか、 Yacc/Lexでコンパイラ作成とか、OS作成とかやったことないし、できないよ。C/C++だってDirectXの3Dに関わる理論とオブジェクト指向が分からなくて挫折したよ。XoopsみたいなCMS作ろうとして要件定義や設計がぜんぜんできなくて挫折したよ。要件を決めずにプログラム組んでたら、後から次々と要求変更を思いついてしまって、手が回らなくなって頓挫したよ。データベース設計もまともにできないしSQL?なにそれって感じだよ。電子回路?トランジスタの使い方・つなぎ方とか、増幅率とかがうまく計算できなくて挫折したよ。
だから(?)「Perlなんて簡単だよね。そんなものにしがみついてるなんてレベル低いなお前」みたいなこと言うおまえなんか大嫌いだ。
http://anond.hatelabo.jp/20070427173440
ChanKoという題名の意味のわからなさに道に迷い。
ノベルゲームのパラダイムシフトという副題のセンスの無さに絶望した。
世間需要はそれほどあるとは思えないけどさ。それなりにはあるんじゃないかな。
今みたいなMMOができる前はオンラインゲームなんてノベルゲームぐらいだったけど、あの時代の産物を今のインフラでリプレースするだけでそれなりのものができると思う。
かまいたちの夜みたいなものをプレイヤーにロールプレイしてもらえばそれなりに楽しめるんじゃない?
あれ・・・。でも、これってもしかして人狼じゃないか?
人狼xoopsにajaxなんてのがあったけど、フラグが立ったら挿絵が入るとかそういうのが入るようになっただけで大進化。
いずれにしろ題名と副題しかわからないのであまりイメージできないや。
ただ、この場合YouTubeじゃなくって、http://www.stickam.jp/ みたいなストリーミング系の方がいいんじゃないか?
さいきん爺になったのか若い人を応援するほうが楽しい……。
高校生のプログラミングコンテストとか見学にいきてぇな。
日頃から思ってるコトを書いてみる。
自分はフツーの会社員です。
カタカナの洒落た職業じゃありません。植木等の歌に出てきそうな典型的な会社員です。
フォトショ使えません。
イラレ使えません。
キャンパス使いません。
楽器弾きたいけど下手です。
絵描くのは好きですが下手です。
でも、いろんなデザインを眺めたり自分で考えてみるのは好き。
アーティストとデザイナーを一緒にするつもりはないんだけど、ああいう人たちは一般人を排他するような目で見るのだろう。
間口が狭いというか、オープンでないというか。
あるクリエイター系SNSに入ってみたく招待状を下さいと親しい人にお願いしてみたが。
「君は一般人だし、そういう職業に就いてない人は招待できないよ」
と言われた経験がある。
そういう職業てなんだ?
そういう職業って。
クリエイター系って偉いのか?
貴族か?
そういう職業の人に限って一緒に飲むと「デザインがさー」、「あ、デザイナーの方ですか、お互いコラボできませんか?」、「アーティトって・・」「イラレで加工して・・」「モリサワが・・」「SOHOで・・」「XOOPSが・・」「CSSが・」「セッションしません?」「いや、あのサウンドはね・・」「Macで・・」って話が出てきて。蚊帳の外にされててしまう。
特にこういう人等(自分が会ってきた中では)はMacの話に目がない。Macを使ってるから会社員の君とは住む次元が違う・・ってな顔をされる。
いや、Macぐらい知ってますよ。
Macぐらい。
普段はWindowsで仕事柄、自宅でMacはUNIX系OSサーバとしてTerminalからしか使ってないけど・・。
SmallOfficeHomeOfficeって。
そこで「普通の会社員ですけど、そういうのも興味ありますよー。」って答えたらなんだか会話が止まって蔑まされた目で見られる。
「●●(陶芸、作曲、小説、建築・・)家です」「●●デザイナーです」「アーティストです」「ライターです」とか最初に言うと目の輝きがお互いに違うのに、「会社員です」って言うと「はぁ・・そうですか・・」という目で、その後の会話が弾まない。
こちらか話を振っても「はぁ・・」「そうなんですか・・」とか興味なし。
勿論、アートとデザインって、それぞれ根本的な部分で違うのだろうけど。
共通するコトは「自分たちは、会社で働いていてもSOHOでも、肩書きは会社員とは違う」という見えないフィールドを張っているというコト。
彼等が叫ぶ中でそうも聴こえる。
デザインを色々見たり自分でも作ってみたいと思っていたりはするのだけど、デザイナーは嫌い。
アートを見たり参加したりするのは好きだけどアーティストは嫌い。
なんか自分がこういう態度じゃ余計ダメなのかも知れないけど・・・。
なんで、ああいう人たちは間口が狭い考え方をするんだろう。