「class」を含む日記 RSS

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

2016-05-26

http://anond.hatelabo.jp/20160525171859

[].forEach.call(document.querySelectorAll("h3,.section>p:not([class]),div[id^=excerpt]>p,.user-comment,.comment"),(e)=>{e.innerHTML="\u202E"+e.innerHTML})

ブックマーク使ってないからこっちに書く。ブコメのページで使ってもいいのよ。

2016-03-29

株式会社DYMがYahoo知恵袋自演書き込みしてる件

http://chiebukuro.search.yahoo.co.jp/search?fr=common-navi&p=DYM&class=1&flg=0&ei=UTF-8

タイでの全裸騒ぎが報道された日から急激に投稿数が増えているんだけど、SEO的に効果あるんかね。

こんな質問が何百件ってある。

Yahoo通報したらけど無視されたし。

2016-03-26

quizletcom/class/2594322/ quizletcom/class/2594324/ quizletcom/class/2594326/ quizletcom/class/2

quizletcom/class/2594322/

quizletcom/class/2594324/

quizletcom/class/2594326/

quizletcom/class/2594327/

quizletcom/class/2594329/

quizletcom/class/2594330/

quizletcom/class/2594331/

quizletcom/class/2594333/

quizletcom/class/2595678/

quizletcom/class/2595682/

quizletcom/class/2595683/

quizletcom/class/2595684/

quizletcom/class/2595686/

quizletcom/class/2595688/

quizletcom/class/2595690/

quizletcom/class/2595691/

quizletcom/class/2595714/ quizletcom/class/2595713/ quizletcom/class/2595719/ quizletcom/class/2

quizletcom/class/2595714/

quizletcom/class/2595713/

quizletcom/class/2595719/

quizletcom/class/2595720/

quizletcom/class/2595721/

quizletcom/class/2595723/

quizletcom/class/2595724/

quizletcom/class/2595726/

2016-03-23

JAPAN SHINE

増田綴るカスのREAL

てーへんに暮らす底辺CLASS

規約すら揺らぐKーYAKUーSHINE

人混みに揺られ人売りに売られ人並みと信じ

一つまた老けて一息に切られ無職になって一人ぼっち

引きこもり今日増田書き込むよNIOHNーSHINE

2016-03-22

株式会社DYMが悪評をもみ消してる件

>>223

http://chiebukuro.search.yahoo.co.jp/search?fr=common-navi&p=DYM&class=1&dnum=0&flg=0&ei=UTF-8

>どんどん増えてる。スレ落としと同じで物量なのか。

2016-03-17

生物の分類

http://www.triplefalcon.com/Lexicon/Life-1.htm

生物の分類

  • 界(kingdom)
  • 門(phylum)
  • 網(class)
  • 目(order)
  • 科(family)
  • 属(genus)
  • 種(sapiens)

上-(super-),亜-(sub-)と分類することもある.

界の分類

モネラ界(monera)

原核生物.他はすべて真核生物

原生生物界(protoctista)

原核生物でなく,動物植物,菌でもない例外

菌界(fungi)

カビ,きのこなど胞子をだすもの

植物界(plantae)

細胞,有性生殖葉緑体などの特徴をもつもの

動物界(animalia)

細胞,有性生殖などの特徴をもつもの

2016-03-09

cssclasstitleを略すのにttl派とtit派がいるらしい

ボクはそれぐらい略すなクソが派です

2016-01-31

RedditなどのURL連続投稿スパムあぼーんする方法

Masuda A boneを利用します。

http://d.hatena.ne.jp/ku__ra__ge/20080311/p5

下記の設定済みスクリプトコピペして使えば、Masuda A boneをインストールする必要はありません。

ChromeならTampermonkey、FirefoxならGreasemonkeyインストールします。

Chrome

https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=ja

Firefox

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

Chrome場合

拡張機能-Temperamonkey-オプションクリック

プラスアイコン新規スクリプト)をクリック

最初に表示されているメタデータブロックは削除

下記スクリプトコピペして保存アイコンクリック

Firefox場合

メニューからツール-Greasemonkey-ユーザスクリプト管理

(もしくはアドオンマネージャユーザースクリプトクリック

以下のスクリプトを先にコピーしておく

ユーザスクリプト新規作成クリック

クリップボードスクリプト使用する」ボタンクリック

注意点

スマホで使えるかは確認していません。

var ignore行を編集すれば、好きな言葉を追加できます

お願い

AutoPagerize対応していません。

URLが2行連続するとあぼーん対象になってしまうので、本文があればあぼーん対象から除外したい。

あとURL1行のみの投稿あぼーんしたい。

どなたかエロい人お願いします。

// ==UserScript==

// @name Masuda A bone

// @namespace http://www.petitnoir.net/

// @description

// @include http://anond.hatelabo.jp/

// @include http://anond.hatelabo.jp/?page=*

// ==/UserScript==

///////////////////////////////////////////////////////

//あぼーんしたい言葉

//あぼーんしたい言葉を「""」でくくって入力します。複数個追加したい場合は「,」でくぎります

//入力

// igonore =["あぼーんしたい言葉1","あぼーんしたい言葉2","あぼーんしたい言葉3"]

// var ignore = ["死ね","糞","クソ","くそ","<●>","ばーか","スイーツ(笑)"];

var ignore = ["[0-9a-zA-Z/\-]https?://"];

///////////////////////////////////////////////////////

///////////////////////////////////////////////////////

//あぼーんした時タイトルに表示する言葉

//

var abonemessage = "__";

///////////////////////////////////////////////////////

(function abone(){

//本文

var section = document.evaluate('//div[@class="section"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);

for (i=0; i < section.snapshotLength; i++) {

var sec = section.snapshotItem(i);

var p = sec.textContent;

for (t=0; t < ignore.length; t++){

var reg = p.match(ignore[t]);

if(reg){break;}

}

if(reg){

while(sec.firstChild){

sec.removeChild(sec.firstChild);

}

var message = document.createElement('h3');

message.textContent = abonemessage;

sec.appendChild(message);

}

}

//言及

var refererlist = document.evaluate('//ul/li',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);

for (i=0; i < refererlist.snapshotLength; i++) {

var list = refererlist.snapshotItem(i);

var p = list.textContent;

for (t=0; t < ignore.length; t++){

var reg = p.match(ignore[t]);

if(reg){break;}

}

if(reg){

for(y=0;y < 8 ; y++){

list.removeChild(list.firstChild);

}

var message =document.createElement('span');

message.textContent = abonemessage;

list.insertBefore(message, list.firstChild);

}

}

})();

2016-01-29

こんなEXCELマクロやばい

・textbox1から100まである。(名前を変えない)

グローバル変数がすべてセルに格納されている。

変数名はrange("c72")とか)

ソースを見ても処理がどうやって動いてるのか分からない。

セルチェンジイベントやformのloadイベントで処理がつながっていた。

(多分関数名でshift +F2とか使ったことがない)

・毎朝、自動で動かしたい→タイマーコントロール時間設定(帰る前に毎日設定。タスクは知らない)

DBデータを1件更新する→全件とってきて全件まわしながらIF文で更新データ判別

業務ロジックはvlookup

マクロを使って、dbからデータをシートに転記して、5回以上ネストしたvlookupやらiserrorやら

index関数がちりばめられたシートで報告書作成印刷マクロ

関数の書いてあるセルしか処理はできない。)

・すべてSUB

ネットからコピペしたfunctionはあるが、自作したfunction多分ない。

値を返すならどっかのセルに突っ込むだけ。

classなんてもってのほか

うちの会社はこんな感じのEXCELマクロによって動いてる。その数、数百本。

2016-01-10

違い

呼び出し方が変わってきます。詳細は、以下のコードをみてください。

 

使い方

import MODULE

import decimal
y = 0
for i in range(1,10):
  y = y + decimal.Decimal('0.1')

 

from MODULE import CLASS

from decimal import Decimal
y = 0
for i in range(1,10):
  y = y + Decimal('0.1')

 

ちなみに

from MODULE.CLASS import CLASS_METHOD とはできない。

http://stackoverflow.com/questions/21347346/python-importerror-no-module-named-datetime

2015-12-05

仕事ばかりつかれた

仕事ばかりつかれた

どうしたもの趣味もないし


class HtmlObjs

def GetHtmlObjs(init_url, n)

obj = URLList.new

urls = obj.GetURLListAll(init_url, n)

htmls = Array.new

Anemone.crawl(urls, :depth_limit =&gt; 0) do |anemone|

anemone.on_every_page do |page|

htmls &lt;&lt; page.doc

end

end

return htmls

end

end

class ProductInfo

def GetProductName(html)

return html.css("h1[class='product-name']").text

end

end

2015-11-29

aliexpressをrubyスクレイピング

rubyスクレイピング

aliexpressの検索結果から

検索結果のURLを抜き取るのは、

結構簡単にできた。

ここから、ページ切り替えてURL収集する処理も追加すれば、

クローロング部分は完成。

あとは、各ページに対するスクレイピング問題



require 'open-uri'

require 'nokogiri'

# スクレイピング先のURL

url = 'http://ja.aliexpress.com/category/200003482/dresses.html?spm=2114.52010108.6.7.gT0qlW&addpid=32546825642&isOnSale=yes%22'

charset = nil

html = open(url) do |f|

charset = f.charset # 文字種別を取得

f.read # htmlを読み込んで変数htmlに渡す

end

# htmlパース(解析)してオブジェクト作成

doc = Nokogiri::HTML.parse(html, nil, charset)

num=0

doc.css('a[class = "product "]').each do |product|

p product.attribute("href").text

p num = num+1

end

2015-10-27

ノンプログラマーでもシステム出来る系製品はことごとく地雷

SIerが欲しがるプログラマーなしでもシステムできちゃう製品あるでしょ。

分岐アイコンのようなやつでつなげるとか、ものっすごく単純にしたドメイン固有言語コピペするだけでシステム完成するやつ。

パソコンのノの字も知らないオッサンは、上流の設計をそのまますぐに設定をしてお客に売る。

人月めっちゃ安くなるよ―!!っていうアイドルと付き合えちゃうくらいなレベル妄想をもっているらしい。

でもね。

今まで見てきたけど全部燃えてたよ。

ガソリンがたんまり仕込まれている焼夷系の地雷なんだよあれは。

大体お客さんは安い安いとか言っときながら、SIシステム買おうとしているか絶対自分らの社内ルールに合わせた複雑な要望を持っている。

社内ルールパッケージに合せることや、システム設計と社内のルールを歩み寄らせるというのは理想だが根付いていない。

本来ならばシステム担当役員企業全体のフローごと改革するような強い権限を持っていればいいが、システムを買う窓口になっているお客サンがわのSE普通の平だし、ヘタしたら外部の人間だし、

とにかく既存フローを変える権限はないし、変える気もない。

から企業ごとのカスタマイズ必要になるのだが、あのノンプログラマー大丈夫製品はほっとんどかゆいところに手が届かない。

ノンプログラマー大丈夫ってことは、プログラミングでの抽象度の高い操作を極力無くしてほぼ設定段階で済ませようとしているのだとおもう。

そしてノンプログラマーでも大丈夫製品なので本当にノンプログラマー構成された上流たちが、お客の要望をきいて「できそうじゃね?」「販売元にきいてみっべ」「いざとなれば誰か外注すっか」みたいなノリでやりがち。

そして実はその製品ではお客の要望を満たすことは出来ない。

で、「仕方ないプログラマ様にきていただぐべ」とかなるんだけれども

プログラマ様も謎の製品について学習するコストもかかってしまって余計時間がかかってしまう。

はっきりいってピュアJavaで書いてくれたほうがわかりやすい。

この手の製品で本当に挙動が分からなくて、サポート電話しても要領を得なくて、でも上からは「おら、やれよバカ」っていわれて

しかたないからClassデコンパイルして読んで、できません…っていうこともできないから、結局別プロセスで動かす逐一データを変換するような物をつくらなくちゃならなくなった。

それ誰が面倒を見るの?

納期に迫られてしかたねーしかたねーでとりあえず作ったし、オレは外部の人間からすぐ抜けちゃうけどさ

ノンプログラマープロジェクトの方たちホントどうするの?

こんなことここ五年で4回くらいみた。

簡単にする仕組みは良いよ。

でもコード隠蔽するような奴はだめだ。

ブラックボックスだし小回り聞かないし、でも色々な要望がでてきて結局袋小路に追い詰められるんだよ。

使って良いのはプログラミング言語の上を覆うくらいのフレームワークまでだね。

あとね。

お客サンは大体自分らの要望仕様しらないんだよ。

でもこっちで提案してもダメなんだよ。

作っている途中で思い出す感じなんだよ、

そんな状態なのに機能制限されている簡単ツールなんて使うなよ。

ねえねえ。

業務系以外のIT業界ってどうなの?

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-&gt;set(compact('title_for_layout','content'));
if(date("G")&gt;0 and date("G") &lt; 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

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

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

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

$this-&gt;set('posts2', $paramz);

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

$this- &gt;set('postx', $parapara);

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

$this- &gt;set('funking', $funking);


}

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

}


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

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





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


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

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


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

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

$this-&gt;set('funking', $funking);



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

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

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

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

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

$this-&gt;set('funking', $funking);


}

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

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

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

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

$this-&gt;set('postszz', $paramz);

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

$this-&gt;set('postzy', $parapara);


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

$this-&gt;set('funking', $funking);



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

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


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

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


$TwimStatus-&gt;getDataSource()-&gt;setToken(AuthComponent::user());

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

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

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

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

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

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

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


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

$user = AuthComponent::user();

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


$TwimStatus-&gt;getDataSource()-&gt;setToken(AuthComponent::user());

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


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


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

}

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

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

#!/usr/bin/php
&lt;?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 '&lt;ul&gt;';
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-&gt;count;

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

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

$nowtimes = date('Ymd');

 


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

}


}
echo '&lt;/ul&gt;';

 

 

 **************************************************************************************
function getRssList($urls)
{
$rssitems = array();
foreach ($urls as $url) {
$obj = fetch_rss($url);
$rssitems = array_merge($rssitems, $obj-&gt;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-&gt;setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


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


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

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

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

} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e-&gt;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-&gt;setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db-&gt;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-&gt;prepare($sql);

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

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

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

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

参考にした書籍

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-06-03

http://hikarujinzai.hatenablog.com/entry/2015/06/02/180651 クソ米バッタ群て無能なら

無能なら黙っておけばいいのに!(でも、無駄口だけは叩きたくなるんだよね、どうしてだろねwww)

他人ごと勢)

htnmiki めんどくさいからEさん以外はクビで

class-11-design 運よくどのタイプも遭遇してなくて良かったです・・・

xevra 全部クビでいいんじゃまいか? メンドクセー

ディスり勢)

miruna 筆者自身からすごいクズオーラが出ている

tamtam3 わざわざ悪い面を見ず、その人の長所や良い面を見るだけも、大分仕事はやりやすくなるわけだが・zanac-ai これは居酒屋ドヤ顔で語るべき内容で、ネットに放流すべき内容ではないと思う。

penguaholic これあれだ、出来の悪い自己啓発系ののにおいがぷんぷんする。出来はすごく悪いと思う。

minaka_saikyo これを読んでいたらイラっとしてきた。「思いどおりにはいかないよ」と誰もから言われるようなタイプだったんじゃないか?

luccafort なんだこのゴミ記事以上の感想が出てこない。

higejr 飲み屋上司から話されたら「まじですかすごいです勉強になります」って相槌打ちながら帰りたくなるタイプ話題

IzumiMihashi この中で問題のある主張をしているのはセクハラ人間だけで、他は全部まっとうな主張なので、むしろ上司というだけで自分の言うことを従順に聞かせられるものだと考えているブログ主問題があるんじゃないかね。

全員無能すぎて掃除したい。

(よく読めば補足を加えてる勢)

mojo_nobu 手持ちのカードを書き換えようとするのはあまり良くないんじゃないの?管理職のことはよくわからないけど。

kaz_the_scum 年上の部下といっても、階級差がある場合(正規非正規)と異なり大変なんだろうなぁ・・・まぁ・・・私のような雑魚労働者は使えない年上の部下になることしかないので、精精雑魚としておとなしく働こう。

sakura_123 だいたいこういう場所に回される「年下の上司」って、『厄介者のクビ何人か切っておいてね。汚れ仕事の代わりに役職あげるから。何人クビ切ったかでお前の今後も決まるけど』ってパターンだと思ってました。

(ディスらない勢)

・これはこれは経験あるので頷きました(笑)

・よくできてる。攻略は実際にはなかなか難しいけど、「心を開きたくない年下の上司タイプ」も当たってると思う。

・目指しているのはここなのだが…対象価値観学歴・家柄みたいな権威なので今からだと難易度高い  “業績、技術資格等の絶対的能力(ry

・部下なしだけど。その通りと思うことも多々。もちもん自分にも、上司・先輩にも。

・“自分が辞めると会社が潰れると大きな勘違いをしている。残念なことにこういう人が辞めると大体会社は業績が上がり人が育つ。” ああ……

・これから先、人口分布関係でこのような『年上の部下』を抱える企業特定の業種に限らず増えていく筈なのだが、なぜかそれへの対処法を説いた書物は少ないので、貴重な指南ブログ

2015-03-16

点滅するカーソルを見ると死にたくなる

点滅するカーソルを見るのが苦しい。

見ていると吐き気頭痛がして、作業どころではない。

個人的にはCapsLockがCtrlになっていないこと以上に辛い。

Windowsなら「コントロールパネルキーボードカーソル点滅速度」をなしに振り切ることで、

gnomeLinuxなら「設定→キーボードテキストフィールドカーソルを点滅させる」のチェックを外すことで、

ArchLinuxなら/sys/class/graphics/fbcon/cursor_blinkの中身を0にすることで

FreeBSDならXを入れないことで、

gvimなら.gvimrcに「set guicursor=a:blinkon0」と書き加えることで、

止められることには止められるけれど、

殆ど環境デフォルトカーソルが点滅するようになっていて辛い。

デフォルトなのだから、ちゃんと理由があるとは思うけれど、

願わくばカーソルが点滅しないのがデフォルトになってほしい…。

2015-02-12

メンバ名を見直す前にスコープを見直すべきだ!!!

例えば、こういうクラスがあったとする

/**
** ゲームキャラクラス
**/
class Character {

    /**
    * 歩行の状態にする。
    * @param $place 歩行する場所。
    */
    private function _walk($place){
        $this-&gt;_state = Const::STATE_WALK;
        $this-&gt;_place = $place;
    }

    /**
    * 山を歩いている状態にする。
    */
    public function walkInMountain(){
        $this-&gt;_walk(Const::PLACE_MOUNTAIN);
    }
}

「walkIn~~ってメソッド名長くね?」

「良く使うメソッドから、あんまり書くと、ソースが読みづらくなるんだよね。」

という突っ込みが入ったとする。

対応として、

walkInMountain → walkInMt

とかやってもいいけど、逆に分かりづらくなる。mtってなんやねんと。

そういうときは、メンバのスコープを見直すべきだ。

/**
** 歩行クラス
**/
class Walk {

    private $_chara = null;

    public function __construct($chara){
        $this-&gt;_chara = $chara;
    }

    /**
    * 歩行の状態にする。
    * @param $place 歩行する場所。
    */
    private function _walk($place){
        $this-&gt;_chara-&gt;state = Const::STATE_WALK;
        $this-&gt;_chara-&gt;place = $place;
    }

    /**
    * 山を歩いている状態にする。
    */
    public function mountain(){
        $this-&gt;_walk(Const::PLACE_MOUNTAIN);
    }
}

とすれば、呼び出し元から

$chara = new Character();
$chara-&gt;walk-&gt;mountain();

みたいに、

主語-&gt;動作-&gt;述語

という構文で記述できるので、すっきりすると思う。

before)
$chara-&gt;walkInMountain();

after)
$chara-&gt;walk-&gt;mountain();


アレ?名前の長さが変わらない!!!

でも、やりたいことはそういうことだ!

つたわれ!俺の思い!

他にも、メソッドスコープでいくと

int write()
{
    int numberWritable = 0;
     :
}

こんなのは

int write()
{
    int number = 0;
     :
}

にしてしまえ!

writeメソッドにあるんだから、writableだろう!

みたいな。

2015-01-24

class Obj{
	HashMap&lt;String,Double&gt; v = new HashMap&lt;&gt;();
	public double distance(Obj o){
		double s = 0;
		for(String k:v.keySet()){
			s += (o.v.containsKey(k))?(Math.pow(o.v.get(k)-v.get(k),2)):(0);
		}
		if(s == 0)return 0;
		return Math.sqrt(s);
	}
}
		
		Obj p1 = new Obj();
		Obj p2 = new Obj();
		p1.v.put("X",1.0);
		p1.v.put("Y",2.0);
		p1.v.put("Z",3.0);
		
		p2.v.put("X",3.0);
		p2.v.put("Y",4.0);
		p2.v.put("Z",5.0);
		
		
		System.out.println(p1.distance(p2));

ううううつくしい!

2014-10-11

http://anond.hatelabo.jp/20141011221350

Firefoxでも同様の表示を確認した。

で、開発者ツールちょっと追いかけてみたが、このイメージ自体はwidth:100%が設定されているものの、本来親になると想定しているclass:hatena-module-bodyのDIVではなく、BODYタグのものブロック親要素とされている模様、

2014-08-12

保守性・管理性が上がるPHPスマートコードレビュー12

1. 括弧の省略

PHPにおいてはif文やwhile文において、1行であれば括弧を省略することができます

&lt;?php
if (...) 
  hoge();
while(...)
  hoge();

これは、保守性・管理性を上げたいのであればやってはいけません。括弧がつくことで視認性が下がることなどありません。むしろインデントに騙されてしまい、ミスが増えます。例えば下の例です。

&lt;?php
$a=0;
$b=0;
while ($a &lt; 10)
  $a++;
  $b++;

さて、このとき $a はいくつですか? $b はいくつですか?

答えは $a が 10、 $b は 1 です。$b は while のスコープにはないので、ループしません。

括弧でくくられていればこのようなミスを防げます。括弧はきちんと書きましょう。

2. 三項演算子

ネストしすぎると可読性が損なわれるため注意が必要ですが、うまく使うとスマートに書けます。うまく活用しましょう。

3. switch

条件分岐が多い時にうまく使いましょう。

ただし if 文で素直に書いた方が速度は速いという噂もあります

実用上の違いはほとんどありませんので、チームの方針に従いましょう。

4. ループ

PHP にはループ制御構文が用意されています。主に下記の3つを用途にあわせてうまく使い分けましょう。他にもループに関する構文や関数はありますが、基本的には下記で事足りるでしょう。

  1. for

主に回数でループさせたい場合は for 文を利用するといいでしょう。

例えば、10回同じ処理をする場合は下記のように書きます

&lt;?php
for ($i=0; $i&lt;10; $i++) {
  // 


  

2014-06-04

http://anond.hatelabo.jp/20140604133746

どうでもいいけことで申し訳ないんだが・・・

C#ならいいのかもしれんが、フットプリント的にどうなのよ。

現実問題 中身を実装するとこういうことだよねぇ。

class {
 bool nullable,
 bool value,

 bool operator == (NULL){
    if(nullable){
       return true;
     }
     return false;
  }
 bool operator == (bool){
    if(nullable){
       throw;
    }
    if(value){
       true;
     }
     return false;
  }

というオーバーヘッドフットプリントを許容してまでクラス化するようなものなんだろうか?

便利そうだけど すっげぇ 気になる。

C#からいいような気もするが、 bool演算つのために 関数コールして ifステート複数回判定するのはオーバーヘッドが大きすぎる気がする。

小さいアジャイルプログラム向き なのかね。

2014-03-31

PHPを書くと手が震えてくる

俺は請負で業務アプリ作成する残念なお仕事をするプログラマーだ。

最近JavaとかJavaScriptを書いてたりする。

先日PHPコードを久々に書いたのだがあまりのすごさに手が震えてきた

$hoge = new Hoge();
$hoge.execute();

これが動かない。なぜだ。

メソッドの呼び出しが「-&gt」と気づくのに数分の時間を要した。


"hello world".split(" ");

文字列を分割したかった。

勿論これは動かない。

文字列オブジェクトではないからだ。

PHPドキュメントを参照する。

まあ普通に考えて関数名はsplitだろう。

現れる警告文。

この関数PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。

ほう。なにを使えと。

。。見当たらない。。。

下のほうの注意に書いてあるなぜここなのか。

なるほど正規表現がいらないなら「explode」を使えとな。

毎回悩む、なぜ爆発なのかと。

英語にはそういう比喩でもあるのか?

あれ?そういえば「explode」ってマルチバイト対応してなかったな。

なら「mb_split」か?

「split」が非推奨なんだから非推奨だろうがヒントはあるだろうし、一応見ておくか。

非推奨じゃない!

非推奨じゃない!

mb_splitは非推奨じゃないんだ!

俺は考えるのをやめた

だんだん記憶が蘇ってくる

「preg_split」にオプションで「UTF8」をつけるのが正解だったような。

俺は考えるのをやめて爆発の呪文を唱えた。


さてこのプログラムには他のクラス必要なんだが

Symfony2DIサポートしているからInjectするようにしようか。

たぶんAutowiredくらいあるだろう。

class Service {
    /**
     * @var \PDO
     */
    protected $pdo;

    /**
     * @param \PDO $pdo
     * @Inject
     */
    public function setPDO(\PDO $pdo) {
        $this-&gt;pdo = $pdo;
    }
}

・・・・?

ドキュメントアノテーションを書く斬新さ!

俺は震える手を押さえながらそっとパソコンの電源を切った。

2014-03-26

教えて!Scalaちゃん

// Scala

class Base {

protected def func = {}

}

class A extends Base {

(new A).func // (A)

}

class B extends A {

(new A).func // (B)

}

class C extends Base {

(new A).func // (C)

}

// ってやると(B)(C)がエラーになる。

// (C)はまだわからないでもないが、(B)がエラーになるのがわからない。

// (たとえoverrideされてたとしても)funcの中身まで知ってるのに呼べないとか。

// うーむ。

2014-01-17

http://anond.hatelabo.jp/20140117111737

守備力だとか、耐性だとかは、モンスター属性なので、影響はモンスター側で面倒見てもらいたいから

攻撃でHPを減らすのは、モンスターメソッド経由になると思う。

結局、

class 勇者 :
  method attack(モンスター: monster):
      monster.attackedBy(self.attackPower)

みたいなコードになると思うんだけど。

ぐうの音もでません、その通りですね。

攻撃方法の実装もわかりました。

遅延攻撃や即死攻撃に対応したい場合、例えば次のように変更すればよいでしょうか。

interface 攻撃方法:
    /** 対称を攻撃 */
    method apply(攻撃対象: atackee);

それで、その他のクラスは下記のような感じに。

class 勇者 :
  // 中略
  method attack(モンスター: monster):
      self.currentAttackMethod.apply(monster)

class 即死攻撃 : implements 攻撃方法
  method apply(攻撃対象: atackee):
      atackee.kill

class 通常攻撃 : implements 攻撃方法
  // 中略
  method apply(攻撃対象: atackee):
      atackee.attackedBy(self.getAttackPower)

小一時間考えてみましたが、通常攻撃は

new 通常攻撃(player)

より

new 通常攻撃(player.getAttackPower)

の方が良いかもしれませんね。攻撃が放たれたら、その攻撃を誰が行ったか関係なくなる、とした方が情報の流れがすっきりすると思います

攻撃者 → 攻撃方法(突撃・斬撃・ジャンプ即死攻撃) → 攻撃対象
ログイン ユーザー登録
ようこそ ゲスト さん