「MySql」を含む日記 RSS

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

2016-12-04

macbookpro 2016 bootcampwindows10入れてxampp導入したときmysqlエラーが起こ

こちらに書いてある

https://community.apachefriends.org/f/viewtopic.php?f=16&t=72437

Open MySQL config file byConfig” —> “my.ini”.

Insert

innodb_flush_method=normal

between

innodb_lock_wait_timeout = 50

and

## UTF 8 Settings

Start MySQL again in xampp.

2016-11-06

http://anond.hatelabo.jp/20161106094548

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

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

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

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

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

エンジニア雇いたい

CakePHPでの開発がちょろっとできて、

jQuery程度がちょろっと使えて、

MySqlがちょろっと使える。

そんなLv10程度のエンジニアを、月収25~30万、賞与入れて年収400万くらいで雇いたいんだけど。

ゴリゴリスーパープログラマーとかじゃなくて全然いいんで。

けど見つからないんだよね。

そんなにエンジニア給与って上がってるのかな?

どこの求人サイトに、このクラスエンジニアが集まってるんだろ。教えてくれ。てか君を雇いたい。連絡くれ。

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-10-18

貧乏学生への学習アドバイス

http://anond.hatelabo.jp/20161017031727

老婆心ながら,おそらくSIer関係を目指しているだろう情報系?学生へのアドバイス

金銭

間違っても学生課に直接頼ってはいけない.悪手.

どの大学でも学生課は糞対応なので,カウンセラー通して学生課に学費免除なり,奨学金なり,対応を仰げ.

進路面

このままいくと研究室ゼミ配属で積みそうなにおいするから中退・途中就職大学頼らない就職)の選択肢も考えておけ.

技術

大学頼らないで就職どうするかが大変だが,とりあえず,

大学の授業だと理論多くて,

実務の話が少ないのも事実なのでおすすめは,

今はネット勉強できる時代から

- http://dotinstall.com/ title: dotinstall]

- http://gacco.org/ title: gacco]

- https://schoo.jp/ title: schoo]

- 各大学OCW

あたりがおすすめ.探せばもっとあるで.

SIer関係ないと思われるが,Web系への選択肢も拡がるしな.騙されたとおもってやっておけ.

最近だと技術文書Markdown で書く場合も多いし知っておいて損ないで.

ドットインストールにも授業がある.

基本情報持ってるなら知ってると思うが,

慣れておくといいで.ついでに言語C++でもいいが,SIerならJava8勉強しておけ.

多分授業だけだと,実際のコード使わないと思うので,自分インストールして使ってみるとええで.

実務なら絶対データベース使うんで,

MySQLインストールして使えるようにしておけ.基本コマンドだけええで.

後々データベース資格シルバーゴールド)にもつながるしな.

基本情報持ってるならある程度知ってると思うが,低レイヤIP/TCP, UDPソケット通信をCでもJavaでも書けるようにしておくとええで.

これも後々,ネットワーク関係資格もつながる.

開発の話あるしね

まず,add, commit , pushだけでええで.

ドットインストールにもある.

今までやったこと忘れるのもったいないし,他人に見せる意味でも技術ブログやっておけ.毎日更新かいらんで.

Linuxインストールしたレベルで,やったことならなんでもええで.

授業ノート電子化してもええで.

技術者就職面接で,(関係ない)バイトしてました,サークルやってましたじゃあん意味いからな.

履歴書ブログURL書いておくんやで.

技術面(余裕があるなら)

SIerに限らず技術関係の人たちの情報拾える.

SIerネタにされがちだが..

BS放送大学の授業タダで見れるので,

録画して好きな時間観て見ておけ.

情報系の授業もある.

コード書くようになったら騙されたと思って読んどけ.

自分の中の名著にしておけ.

優先度は低い.研究者になるなら重要なんだが..

技術文書を書くとき必要から読んどけ.

進路面

大学を頼らない方向で,地方住みでないなら,

Code IQかPaizaおすすめ

スカウト来たら,入らないにしても会ってみるとええで.

バイト大事なのはわかるが,大学目的は,知識選択肢拡げるというのもあるので,頑張って生きるんやで.

じゃあの

2016-10-13

アプリエンジニアだけど、サーバーエンジニア尊敬する

3人くらいで集まってBtoBtoCアプリサービス作ってるんだけど

お金いから一旦俺がアプリサーバーデザインサービスモデル化までやってる

(ちなみに得意なのはiOS

それで一番苦戦するのがサーバー

サーバーサイドってなんでああも意味不明なのか

Rails覚えりゃいいんだろ? と思ったら

RailsRubyNginxUnicornJbuilderSQLiteAWS、その他いろいろ

とにかく多い

芋づる式にいろいろ必要になる

linux知識が薄いから更にアレだし、IDE入れたら更にアレだ

(いや、AptanaEclipseベースからまり問題はなかったか

しかも、そこまでに取捨選択が入るから、登場する「ナニコレ」はもっともっと多くなる

 

まあそこまではまだいいんだけど

一個一個のバージョン差とか、書き方の差でハマる

「まあこの書き方が主流だよね」があまりない

MySQLは書けるのにSQLiteでハマるしActiveRecordでドハマリする

自由すぎる

そして問題が起きた時にどこでコケてるのか調べるのが骨すぎる

何でコンパイラ無いんだよ

テストとかだるい

優しく教えてよエラー場所

 

おまけにググっても色々出てこない

これはやってみると、いかアプリが恵まれてるかがわかる

99%の問題はStackOverflowに書かれているか

 

完成しても「本当にこれでいいのか?」がよくわからない

色々蓄積してどっかで問題が起こるかもしれない

アプリならそんなこと滅多にないのに

 

難しいよサーバーサイド

俺やだよ

まあ片手間でやってるからなんだけどさ・・・

 

サービスリリースしたらWeb必要だよね」って話もあるんだけど

たぶん無理だな、外注しないと

 

___

 

ちなみに、複数領域を1人でやったときの利点と欠点

利点:設計とかあとで適当に変更してもコミュニケーションコストがかからいから楽

   デバッグ捗る

   複雑な仕様を全部把握できる

   まだサービス全体像ふわふわ場合試行錯誤できるから非常に有効だと思う

欠点:ドハマリする回数が単純にN倍になる

   頼れない

   進みが遅くてイラつく

 

みんなもやってみて

2016-10-07

http://anond.hatelabo.jp/20161006230637

thinkpad x230でメモリ16GBでSSD載せれば最高

12.5inchでmsataSSDにすればHDDも載せれるしバッテリ交換で一日余裕

EclipseとAndroidStudioとMysqlが動けばいいので

DVDなんて捨てろ

2016-08-10

http://anond.hatelabo.jp/20160810154352

サーバを立てんでも良いからね。

テーブルメモリ上だけに作れたりするし。

ものぐさにはぴったり。

というかさ、テストはどこで走らせることになるか分からんものから

MySQLが無くても動くように作るとなると、SQLiteが便利だったりする。

開発環境sqliteで本番はMySQLとか分けるのって何の意味があるの?

2016-07-18

IT業界認定試験もっと重要視すべき

IPAのやってるやつだけじゃなくて、ベンダーのやってる言語とかDBとかああいうのも。

PHPプロジェクトPHP認定試験に受かってる奴しか使わないとか、MySQL資格もってないとテーブル設計やらせないしSQLも書かせないみたいな。

認定試験なんて実力とは関係ないって言う人いるけど、SIerではびこってる「経験年数=技術力」って基準より数段マシになると思うわ。

Java入門書も読んだこと無いレベルの人が、コードを書くどころかレビュワーをやっていて、しかも「経験年数=技術力」って世界観から自分は実力あるとナチュラルに信じこんでるし。

VBから来たベテランが「エラーハンドラを全サブルーチンで書くべし」みたいなルールJavaに持ち込んで「全メソッドcatch(Exception e)するべきだろ」とか自信たっぷりに言ってる世界

ダメ技術者が、年をとってるってだけで評価されて上にたってダメ技術者を育成するって負のループに入り込んでるから一定客観的基準評価する仕組みをもちこんで負のループを断ち切るべき。

2016-07-16

エンドユーザコンピューティングの話

社内SE転職した俺。

もともとその会社には専任IT担当者がいなくって、俺が初の担当者

で、色々な素人達が片手間に作ったシステムメンテナンスをすることもある。

殺意最初に芽生えたのはホームページビルダーで作ったHTMLソース

完全に物理タグレイアウトしてるじゃん!くっそ汚えコード

次はExcelVBA。なんでサーバDB上のデータを取り込むのに、

サーバ上でCSVにするプログラムをわざわざ動かして、

APIFTPを叩いてダウンロードODBCじゃダメなんですかね...

今やってるのは、素人MySQLPHPに手出しをしたプログラム

なんと、正規化という概念はないし配列も使ってない。

なんか、再コーディングした方が簡単なんじゃないかって思うプログラムマジで

2016-06-29

anond:20160629135046

右も左も分からんかったのと、python勉強たかったんで、

pythonによるウェブスクレイピング」っていう本読んでるんですよ

curlでもスクレイピングできるんすね。

curl自体初めて聞きました

簡単クローリングなら、curlの方がいいってことですね

本に従ってbeautifulsoap使ってますそれから本の内容的にデータ分析のためにmysql使い始めました


将来的には、クロールしてデータかき集めて、自動取引なんぞに取り組みたいと思ってまして。

からmysql使うのなれとくもいいんではないかと思ってます

素人判断なので、間違ってたら教えてください

MySQLの初期設定何か知らんけどできた

http://anond.hatelabo.jp/20160629121342

http://anond.hatelabo.jp/20160629121054

お二方反応して下さりありがとうございました.

まじで何も理解してないけど

http://qiita.com/YamKenta/items/a33499a7db7946a43381

http://www.goofoo.jp/2011/11/1457

読んでそのままやったらよく分からんけどできた.

しかし,unixかのこ全然分からん

どう勉強すればいいんだろう.まじで

MySQLインストールしたのにログインできない.原辰徳

あああああああああああああ

home brew使ってmac(yosemite)にmysqlいれたんだけど,いきなり使えんのだけど

意味わかんねえええ

The server quit without updating PID file

ってどういうことだ?

unix詳しくないんだけど.コマンドちょっと知ってるだけなんだけど

はらたつーー

ぐぐってでてきた処方箋試しても変わらんのだけどおおおおおお

2016-06-05

アダルトOKな無料レンタルサーバーってねえかなぁ

無料レンタルサーバーは腐るほどあるけど、アダルトOKってなると

一気に選択肢が狭くなるなぁ。

寝取られまとめサイトブログじゃないよ)作ろうと思って普段使ってる

Conohaってサーバにあげようかと思ったんだけどどうやらアダルトNGらしい。

PHP / MySQL辺りが使えて広告付きでいいか無料~月額250円くらいの良い感じのサーバねえかなぁ。

2016-05-10

企業が持っている開発タスクチケット化してこれをこなしたら数万円

企業が持っている開発タスクチケット化してこれをこなしたら数万円もらえる、みたいなプラットホームがあればいいのに。

フルリモートで出社日決まっていない、ほぼバイトに近い働き方でベンチャー企業と関わったが、すごく良かった。

やったのはサイトパフォーマンスチューニング。(基本MySQLインデックス貼っただけだけど…

・・とは言っても、スタートアップ時などは

作りながらいろいろ思うところや、気付きとかあったりすると思うので、

手触りの感覚でやらねばならぬところがあって(たぶん)

そういうところを重視するには内製化しないといけないのかなー。

ノウハウ自分組織にためる的な意味で。



すげー優秀なプロデューサーがいて、

何が売れるのか的なところは企画数字で導き出して

開発はCTO仕事チケット化してフリーエンジニアに依頼する、

みたいな感じになればいいのになー。

おれ、金欲しいかガツガツチケット消化するわー。

仕事を引き受けられる人はある程度会員制にして

与信があるエンジニアだけにするようにすれば、

品質も保ちつつ開発リソースも柔軟に担保できるみたいな感じにならないかなー。

フリーエンジニア複数案件を持っているので、

案件過剰にならないかぎりはリソースプール可能みたいな。



会員制のクラウドワークスか。



お、会員制のクラウドワークスって面白くね?

ある程度スーパーエンジニアだけを揃える。

会員エンジニア技術担保は弊社が保証します!的な。

エンジニアの単価はdayで2.5〜4万にしてほしす。



開発僕がやるのでCEO募集しま(笑)



ある程度やってきたエンジニアを上手いこと活用するプラットホーム的なの作ればいいと思うんすよね。

26歳〜39歳ぐらいのイケイケのエンジニアプールしているみたいな。

経験してきたハイスキル業務をこなす。一回やったから負荷は少ないだろうし。



慣れてきたらエンジニア個人ではなく、エンジニアチームで仕事をこなすようにするとか。

そしたらもうある会社システムレベル仕事ができそう。

なんかSIer再開発になりそう。



わしは、そういうのがほしい!!!

定職一個持ちつつday 2〜3万の案件をこなして正社員給与+月でフリー活動24万ぐらいの収入を安定してほしいなー。

社内の技術評価とかよくわからんものに振り回されず、実案件をこなす実力を求めるようになると思うので

いいと思うんだけどなー。



↓ここ!

ベーシックインカム >> 終身雇用 >> 正社員+兼業 >> フリーランス

↑ここ!



終身雇用はやめて正社員制度は生きるけど、稼ぎたい奴はフリー活動して稼げば、的な。

安定して働きたいやつは正社員としての受け皿があるし、

もっと金ほしいんだが?ってやつは自分で働いて稼げる。

まあ、もっと金ほしいんだが?ってやつは独立するのかな・・・




・・・金がほしいある程度経験を積んだ専門職最適化したく思っただけなので

技術ブレイクスルーを起こすようなそんな奴らに最適化された仕組みはまた別なのかな。

それは未踏エンジニア的な感じでIPAとかがやってんのかな。

マジで技術以外なにもやりたくないわーっていうやつとか、

ポスドク的な奴を救う感じの何かもあればいいのにね。

2016-04-07

自己満

フリーお仕事とあるRailsサイトチューニングした。

成果としては2倍以上のレスポンスタイム改善

やった内容は

MySQLインデックスチューニング

Viewチューニング

RailsViewって意外と遅いんだなーというのが所感。

2015-11-24

http://anond.hatelabo.jp/20151124020950

javaを極めてもphpを極めてもmysqlを極めてもlinuxを極めてもどーせ、5年後にはもっと良いものが使われて主流になっているでしょう。

この辺はIT関連では固い技術で、例に挙げるには不適かな。もう10年以上使われてるし、この先10年も使われると思う。

あーでも、クラウドが主流になって、環境構築/運用ノウハウが要らなくなる可能性はあるか。

ブラックIT企業ガンバリマスは死亡フラグ

「手に職を付けたい」程度の薄っぺら理由IT系ブラック企業正社員を志望するのは絶対にやめた方がいい


理由1 絶対に「手に職が付く」事は無い

そんな程度の情熱しか持ち合わせないなら絶対に「手に職が付く」事は無い。

よっぽど優秀なら話は別ですが、ブラック企業しか就職できなかった貴方ですよ?無理ですね。

システム能力が低い人、脳みそそっち系用に構築されていない人にとって最初は相当つらいです。

耐え切れなくて100%逃げるでしょう。「手に職を付ける」だけなら他の仕事でもいいはずです。

理由2 体力的に耐えられない

IT系ブラック企業場合マニュアルなんて無いから投入時間に成果が比例しないです。その場合一定能力以下の方は、9時出社の25時帰宅になります

成果の方程式は「投入時間 × (能力ー最低限必要能力) ≒ 成果」ですから無能だと成果はマイナスになりますデスマーチの発生ですね。

そして、大抵の場合ブラックIT企業プロジェクトリーダーがこれに当てはまりますデスマーチ確定ですね。

理由3 常に学び続けることが要求されることに耐えられない

技術の変遷速度が速いため、常に学び続けないと時代遅れになってしまうからシステム屋さんなら常に付きまとう問題です。これは、ブラック企業だけの話ではないですね。

javaを極めてもphpを極めてもmysqlを極めてもlinuxを極めてもどーせ、5年後にはもっと良いものが使われて主流になっているでしょう。

でも、考えてみてください。システムの業務なんて理数系の勉強と似たようなものです。

新しい技術が来たとしても論理的に考える事が得意な人ならば文型理系関係なくこなせると思います問題は、貴方は、学生時代そういう人でしたか?無理ですね。

理由4 金銭面の見返りはほぼ皆無

頑張って成果をあげたところでブラック企業なんて金銭面の見返りはほぼ皆無です経営者搾取されるだけです。

適度に手を抜いてある程度の成果が出せる人にしかおススメしません。3でも書いたとおりである程度能力があって、手抜きできる人にとってはブラック企業ヘルプがない代わりに放任に近いので凄く楽だと思いますネット閲覧規制などもないですし。

理由5 あれこれ理不尽責任を背負わされる

福利厚生もちゃんとしてないくせに、正社員から引継ぎするのが義務とかなんとか言われます。辞める時にめんどくさいですよ。

まずはバイトで様子見を見ましょう。「あ~ブラックだな」って思ったら適当なところでフェイドアウトするのがおススメです。

理由6 人間的に終わってる人が多いしその一員になってしま

ブラック企業なので人間的にどうかと思う人がたくさんいます上司の失敗は部下の失敗です。

良心……社会常識…人を信頼する気持ち……プライベート時間……心と体の健康など、失うものはあまりに大きいです。

理由7 教育制度なんて無い

管理体制教育制度が整っている会社ブラック企業にはなりません。つまり自力で学ぶしかないんです。

貴方学校勉強は良く出来た方ですか? もしそうでないならこの業界は茨の道ですよ?

人材が不足しているだけで人手が不足している訳ではありません。

システム業界は、正直にいえば人材不足です。人材が不足しているだけで人手が不足している訳ではありません。あなたが求められているわけではないのです。

2015-10-14

MYSQL で、ストアドプロシージャを使えるとは知らなんだ

DELIMITER //

CREATE PROCEDURE proc(IN s1 VARCHAR(32), IN s2 VARCHAR(32), OUT o INT)
BEGIN
  DECLARE a INT;

  SELECT COUNT(*) INTO a FROM TBL WHERE COL1=s1 AND COL2=s2;

  IF a = 0 THEN
    SET o = 0;
  ELSE
    SET o = 1;
  END IF;
END
//

DELIMITER ;
CALL proc('SUZUKI','ICHIRO',@a)

SELECT @a

余談だが、副問い合わせをするとものすごく遅いのは、過去ことなのか?未だにそうなのか?

2015-08-25

IT関係ないサラリーマンコミュニティサイト作っちゃいました。

私ごとですが、この度コミュニティサイト作成いたしました。

私の持てる知識を絞り出してなんとか完成しました。

**************************************************************************************

完成したサイトがこちらです。

LapyNetニュース

http://lapynetz.net/

**************************************************************************************

私は普段webとは関係ない仕事してます。なんとか休日を利用して、

webサービス作成しました。

メインのコードはこんな感じ

----------------------------------------------------------------------------------------------------------------------



App::uses('Sanitize', 'Utility');
class RssfeedsController extends AppController {

public $helpers = array('Html','Form','Session','Number','Cache');

public $uses = array(
'Rssfeed',
'Tweet',
'Wadai',
'Rank',
'Oracle'
);
 **************************************************************************************
public function index() {

$title_for_layout = "LapyNetニュース";
$content = "Hello World!!";

$this->set(compact('title_for_layout','content'));
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' = > array(
'and' = > array(
'Rssfeed.time' = > $today,
)),
'order' = > 'tweets desc',
'limit' = > '50'
);
$this- >set('posts',$this- >Rssfeed- >find('all',$params));

$paramz = array(
'order' = > 'Rssfeed.id desc',
'limit' = > '10'
);
$this->set('posts2',$this->Rssfeed->find('all',$paramz));

$paramz = $this- >Rssfeed- >query('SELECT id,title FROM rssfeeds order by id desc limit 10');

$this->set('posts2', $paramz);

$parapara = $this- >Oracle- >query('SELECT id,title FROM oracles order by id desc limit 10');

$this- >set('postx', $parapara);

$funking = $this- >Rank- >query('SELECT id,frank FROM ranks where creation=(select max(creation) from ranks)');

$this- >set('funking', $funking);


}

 **************************************************************************************
public function mizuno() {
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$recent_posts = $this->Oracle->find('all',$parapara);
return $recent_posts;

}


 **************************************************************************************
public function wadai() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 4
)),
'order' => 'tweets desc',
'limit' => '100'
);
$this->set('posts',$this->Rssfeed->find('all',$params));





$this->set("title_for_layout","2CHニュース-LapyNetニュース");


$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postyy',$this->Rssfeed->find('all',$paramz));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);


$this->set('postyx',$this->Oracle->find('all',$parapara));

$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);



}
 **************************************************************************************
public function hot() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 3
)),
'order' => 'tweets desc',
'limit' => '20'
);
$title_for_layout = "LapyNetニュース";
$this->set("title_for_layout","ニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);
$this->set('postxx',$this->Oracle->find('all',$parapara));

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postsxxx',$this->Rssfeed->find('all',$paramz));

$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);


}

 **************************************************************************************
public function newnew() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 2
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set("title_for_layout","エンタメニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));

$paramz = $this->Oracle->query('SELECT id,title FROM rssfeeds order by id desc limit 10');

$this->set('postszz', $paramz);

$parapara = $this->Oracle->query('SELECT id,title FROM oracles order by id desc limit 10');

$this->set('postzy', $parapara);


$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);



}
 **************************************************************************************
public function top() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 1
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set('posts',$this->Rssfeed->find('all',$params));

$param = array(
'conditions' => array('times > current_timestamp + interval -600 minute and Kubetu = 4'),
'order' => 'tweets desc',
'limit' => '30'
);
$this->set('posts2',$this->Rssfeed->find('all',$param));
}


 **************************************************************************************
public function view($id = null ) {
$this->Rssfeed->id = $id; //驥崎ヲ√↑荳譁・i縺励>
$user = AuthComponent::user();

$TwimStatus = ClassRegistry::init('Twim.TwimStatus');


$TwimStatus->getDataSource()->setToken(AuthComponent::user());

$statuses = $TwimStatus->tweet();
$rairai = $this->Rssfeed->read(title,$id);
$alcol = $this->Rssfeed->read();
$this->set('post', $alcol);

$this->set('post2', $user);
$this->set('post3', $statuses);
$this->set("title_for_layout",$rairai[Rssfeed][title]."-LapyNetニュース");

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '20'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$this->set('postzy',$this->Oracle->find('all',$parapara));

}
 **************************************************************************************
public function add() {

if($this->request->isPost()){
if($this->Tweet->save($this->data)) {
$this->Session->setFlash('seikou');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));

}else{
$this->Session->setFlash('sipai');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
}
}
}
 **************************************************************************************
public function delete($id = null) {
$this->Rssfeed->id = $id; 
$this->set('set', $this->Rssfeed->read());
$this->redirect(array('controller'=>'tweets','action'=>'delete',$this->data['tweet']['rssfeed_id']));


}
 **************************************************************************************
public function oracle() {
if($this->request->is('post')) {

$user = AuthComponent::user();

$TwimStatus = ClassRegistry::init('Twim.TwimStatus');


$TwimStatus->getDataSource()->setToken(AuthComponent::user());

$contents1 = $this->request->data['Rssfeed']['contents'];
$contents2 = $this->request->data;
$statuses = $TwimStatus->tweet($contents1);


if($this->Rssfeed->save($contents2)) {
$this->Session->setFlash('成功です。');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->redirect($this->referer());
}else{
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->Session->setFlash('失敗です。');
}
}


}
 **************************************************************************************
public function makelist() {
$rssfeeds = $this->paginate();
if ($this->request->is('requested')) {
return $rssfeeds;
} else {
$this->set('rssfeeds', $rssfeeds);
}
}

}

----------------------------------------------------------------------------------------------------------------------

rssフィードはこんな感じです。
----------------------------------------------------------------------------------------------------------------------

#!/usr/bin/php
<?php

header('Content-type: text/html; charset=UTF-8');


require_once ('/var/www/html/s/magpierss/rss_fetch.inc');


define('MAGPIE_CACHE_AGE', 60*5);

define('MAGPIE_CACHE_DIR', '/var/www/html/s/cache/');

define('MAGPIE_OUTPUT_ENCODING','UTF-8');


$urls = array(
'*********************************');

$items = getRssList($urls);

echo '<ul>';
foreach ($items as $item) {

$href = mb_convert_encoding($item['link'], "UTF-8", "auto");

$title = mb_convert_encoding($item['title'], "UTF-8", "auto");
$description = mb_convert_encoding($item['description'], "UTF-8", "auto");
$megami = mb_convert_encoding($description, "UTF-8", "auto");

 

 **************************************************************************************


$all = 'http://urls.api.twitter.com/1/urls/count.json?url='.$href;
$Rits = file_get_contents($all);
$Olfe = mb_convert_encoding($Rits, 'UTF-8', 'auto');
$data = json_decode($Olfe);
$tweets = $data->count;

 **************************************************************************************

$checkman = db_check_urls($href);
$checkman2 = db_check_pr($title);

$nowtimes = date('Ymd');

 


if($checkman == 0 && $checkman2 == 0){
#$hrefs = urlencode($href);
db_put_urls($nowtimes,$href,$title,$description,$tweets);
echo "<li><a href=$href>$title</a><br>$megami<p>$tweets</p><p>$checkman</p></li>";
}else{

}


}
echo '</ul>';

 

 

 **************************************************************************************
function getRssList($urls)
{
$rssitems = array();
foreach ($urls as $url) {
$obj = fetch_rss($url);
$rssitems = array_merge($rssitems, $obj->items);
}
return $rssitems;
}

 **************************************************************************************
function db_check_pr($japanese){

$moji = mb_substr($japanese,0,2);
if($moji == 'PR'){
return 1;
}else{
return 0;
}
}
 **************************************************************************************

function db_check_urls($href){

require '/var/www/html/s/database_conf.php';

try {

$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$sql = 'SELECT count(*) AS count FROM rssfeeds WHERE urls = :language';
$prepare = $db->prepare($sql);


$languages = array($href);
foreach ($languages as $language) {

$prepare->bindValue(':language', $language, PDO::PARAM_STR);
$prepare->execute();

$result = $prepare->fetchColumn();
if ($result > 0) {
return true;
}else{
return false;
}
}

} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}

function h($var) 
{
return htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
}
}

 **************************************************************************************
function db_put_urls($nowtimes,$href,$title,$description,$tweets){
require '/var/www/html/s/database_conf.php';
try {

$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sikibetu = 5;
$moto = "アニゲー速報VIP";

$sql = 'insert into rssfeeds (id, time,urls,title,contents,tweets,times,kubetu,teikyo) values (?, ?, ?, ?, ?, ?, ?, ?, ?)';

$prepare = $db->prepare($sql);

$prepare->bindValue(1, 0, PDO::PARAM_STR);
$prepare->bindValue(2, $nowtimes, PDO::PARAM_STR);
$prepare->bindValue(3, $href, PDO::PARAM_STR);
$prepare->bindValue(4, $title, PDO::PARAM_STR);
$prepare->bindValue(5, $description, PDO::PARAM_STR);
$prepare->bindValue(6, $tweets, PDO::PARAM_STR);
$prepare->bindValue(7, 'cast( now() as datetime)', PDO::PARAM_STR);
$prepare->bindValue(8, $sikibetu, PDO::PARAM_STR);
$prepare->bindValue(9, $moto, PDO::PARAM_STR);
$prepare->execute();

} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}
}
?>

---------------------------------------------------------------------------------------------------------------------

**************************************************************************************

参考にした書籍

CakePHP2 実践入門 (WEB+DB PRESS plus)

CakePHP2 実践入門 (WEB+DB PRESS plus)

作者: 安藤祐介,岸田健一郎,新原雅司,市川快,渡辺一宏,鈴木則夫

出版社/メーカー: 技術評論社

発売日: 2012/09/29

メディア: 単行本ソフトカバー

購入: 5人 クリック: 165回

この商品を含むブログ (9件) を見る

Webアプリ開発を加速する CakePHP2定番レシピ119

Webアプリ開発を加速する CakePHP2定番レシピ119

作者: 長谷川智希,デジタルサーカス

出版社/メーカー: 秀和システム

発売日: 2013/09/28

メディア: 単行本

この商品を含むブログ (1件) を見る

**************************************************************************************

一番難しいところはtwitterログインwebサイト連結でした。

cakephp直感できに操作できていいです。

素人のわたしでも操作できましたので。

cakephpを使用しています

webからニュース収集してきます

ツイート数でランキングしてますネット話題を見つけられます

twitterアカウントログインできます

ニュースに対するコメントもできるし、

自分記事投稿できます。(画像も可)

デザインはよくわからないので、

ホームページビルダーを使用しています

今のホームページビルダーは昔と違って高機能ですね。

テンプレートも何種類もあって今はすごいです。

アマゾンawsを使用してます

サーバーWebサーバーデータベースサーバmysql)

に分かれています

今更cakephpを使っている人は少ないかもしれませんが、

データベースとの接続などは楽でした。

twitterアカウントあるといつでも参加できますので、

ニュースを通してコミュニケーション目的としたサイトを目指します。

2015-08-07

一体なんだよこの記事

http://webbingstudio.com/weblog/cms/entry-773.html

知ってか知らずかちょっとこの記事ひどいので、突っ込む。

共用SSL証明書が当たり前?

小規模の商用サイトでは、フォーム暗号化する際には、共有SSLを利用するのが当たり前となっています独自ドメインSSL証明書を取得すると、フォームを通して得られる収益よりも、維持費の方がはるかに高くなってしまうからです。

とこの記事では書かれていますが、一体どこで「当たり前」なんでしょうか?

SSL証明書の取得費用は、サーバーホスティングによって額がまちまちなのは確かですけれども、

安く独自SSL証明書を取得して利用できるサーバーホスティングは山ほどあります

WEB制作者として「自分が良く知っているだけ」のサーバーレンタルクライアント押し付けはいませんか?

また、小規模商用サイトにしても、仮に年額35,000円のSSL証明書をつけ、かつ、月額3,000円のサーバーを借りていたとすると

月額でいえば6,000円くらいの負担ですが、

いくら小規模とはいえ、広報活動の中核をなすWEBサイトであるならば、

月額6,000円をペイできないとすると、

ちょっと商用サイトとしては破綻しているように感じます

(というか、効果測定をしていないだけ?)

改ざん認識

共用SSLリスクに関して言えば、この記事引用している、高木浩光氏の書かれている通りではあります

cookieを取得できてしまうという点においては。ですね。

で、その部分の帰結が、完全におかしい。

cookieが取得できてしまう結果として、一番最初に狙われるのは、管理画面へのログイン

いわゆるセッションハイジャックです。

ログイン状態を乗っ取られた時点で、どんなCMSでも、WEBサイト改ざんは可能です。

なぜか。

CMSは「コンテンツマネージメント」する仕組みで、

そのコンテンツは多くの場合MySQL代表されるDBに保存してあります

したがって、ファイル改ざんなどを行わずとも、WEBサイトの内容は書き換えることが可能なのです。

WEBアプリケーションの仕組みに明るくない方が読むと

「なるほど」と思ってしまうかもしれないので、

早々に訂正していただきたい。

また、この記事にある a-blog cmsというCMSについてはよく知りませんが、

多くのモダンCMSでは、ほとんどの管理画面ログインにおいて、

セッションハイジャックに対する防衛は行われていますので、

cookieの取得が、即WEBページの改ざんに繋がるような書き方も、

CMS利用者に対して、誤解を広げる結果になりそうですので、

ここも早々に訂正していただきたい。

CMSを過信していないか?

この筆者さんは、a-blog cmsというCMSを利用されているようだ。

このCMSはどうやら、PHP製ながらPHPソース暗号化しているようだ。

なるほど、それならばファイル改ざんは確かに起きにくい。

が、それはあくまで起きにくいだけの問題

こう言ってはなんですが、攻撃者にしてみれば、a-blog cms攻略するくらいならMovable TypeWordPressを攻めた方が楽というものです。

この記述むちゃくちゃである攻撃者にしてみれば、誰でも手に入れられるCMSであれば、

ファイル構造の解析はそんなに難しい話ではない。

a-blog cms公式サイトを拝見すると、MySQLを利用しているようで、

ともすれば、インストールさえしてしまえば、

ファイル暗号化はなされていようとも、DBの中身の仕様は丸見えだ。

前提条件として「知っている」「知らない」の差はあれど、攻撃に関して「ラク」というのは

どう考えても楽観的に過ぎる考えだ。

安全」の認識

最後に突っ込んでおきたい。というか質問というか。

どうも「SSLで確保される安全領域」について、かなり認識が甘いようだ。

SSLあくまで、TCP/IPネットワークにおいて通信経路を暗号化するための技術だ。

通信する際に、通信先のサーバーが正しく認証されているかどうか?に必要なのはSSL証明書

で、ここに書いたとおり、SSLあくまサーバー利用者通信においての暗号化だ。

この記事に書かれていることは「メールフォームについて」のことのようだが、

サーバーに到達したあとのメールについては安全性をかんがえていますか?

メールは全く暗号化されず平文で送信されるとても脆弱通信手段だ。

いくらSSL通信暗号化しようとも、問い合わせフォームの送信がメールだったとすると…

外部から傍受される危険性が高くなります

とこの記事ではかかれていますが、そもそもHTTPHTTPS通信を傍受するより遥かに

メールを傍受したほうがラクとも考えられるはず。

CMSを使っている方を非難するわけではないが、

CMS機能に甘んじて、こういったベーシック問題に考えが及んでいないとすると、

WEB制作者としては、ちょっと配慮が足らなくはないですか?

とおもう。

P.S SSLということばはもうないよ。

記事に対するつっこみではないですが、

SSLということばは、とても古い言葉です。

便宜上みんな「SSL」といっているだけで、

正しくは「TLS」でっせ。

2015-07-28

ばかどもが

MySQLのことを話あってるけど突っ込みどころ満載でさっきからニヤニヤが止まらない。

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