「Join」を含む日記 RSS

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

2018-04-19

"イエメンになるには"

1 件 (0.19 秒)

The latest Tweets on #三外はアラビア語へ. Read what people are saying and join the conversation.

2018-04-08

読んだページを全部自動ブクマする

数日前に puppeteer で自動PDF にする試みを書いたブログホッテントリに入ってるのを見た

それに影響されて自動ブクマするもの作ってみた

bg.js

const username = ""
const api_key = ""

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
	if(message.bookmark){
		bookmark(message.bookmark)
	}
})

async function bookmark(url){
	fetch("http://b.hatena.ne.jp/atom/post", {
		method: "POST",
		referrer: "no-referrer",
		headers: {
			Accept: "application/x.atom+xml, application/xml, text/xml, */*",
			"X-WSSE": await createCredential(),
		},
		body: `
			<entry xmlns="http://purl.org/atom/ns#">
				<link rel="related" type="text/html" href="${url}" />
			</entry>
		`.replace(/\t/g, ""),
	}).then(e => {console.log(e)})
}

async function createCredential(){
	const non = Math.random().toString(36).substr(2)
	const now = new Date().toISOString()
	const buf = new TextEncoder().encode(non + now + api_key)
	const u8a = new Uint8Array(await crypto.subtle.digest("SHA-1", buf))
	const str = Array.from(u8a, e => String.fromCharCode(e)).join("")
	const b64 = btoa(str)
	return `UsernameToken Username="${username}", PasswordDigest="${b64}", Nonce="${btoa(non)}", Created="${now}"`
}

username と api_key を埋めてバックグラウンドで動かす

page.js

chrome.runtime.sendMessage({
	bookmark: location.href
})

ページ内で動かすコード

URLバックグラウンドに投げる

今は全部投げるコードになってるが、必要に応じていらないドメインを弾いたりする

2018-03-28

anond:20180328214304

海外ブログから原書の該当部分の引用だけ拾ってきたので考察は任せた

In the early days of airmail flying, the mail pilots came to believe that their crash rate was unacceptable, even for people accustomed to danger. Finally, a group of them convinced the U.S. Air Mail Service that postal supervisors at the airports were ordering them aloft in bad storms and poor visibility. The solution? Not a new regulation spelling out what weather was safe and unsafe, but rather this simple order: if an outgoing pilot desired, his supervisor had to join him in the cockpit to fly a circuit around the airport before the pilot went off on his mail run. Quickly the supervisors’ tolerance for bad weather dropped.

2018-02-25

pythonって一貫性なさすぎじゃない?

いや、実用的で素晴らしい言語だと思うよ。

でもさ、なんか一貫性が無いように感じるんだよね。

まず、言語の大半の部分がオブジェクト指向言語っぽいデザインになってるのに、listの要素数を測る手段len()って*関数*なのはどうなの?

(しか略語って...)

a = [1, 2, 3]
len(a)  # 3

他にもあるよ! pythonくんのアレな所

俺は、sortとsortedって言う命名からこの挙動をまったく予測できなかった。

  • 破壊的変更をする list.sort()
a = [1, 3, 2]
a.sort()  # None
a  # [1, 2, 3]
sorted([1, 3, 2])  # [1, 2, 3]

しかもsortedにdictを渡すとkeyがlistに変換されてソートされて返ってくる。

コードリーダビティに関する本を開けば、どの本にだって「良い名前選択する」ことの重要性が書かれていると思う。

「sort()が破壊的で、sorted()が非破壊的、sorted()にdictを渡すとkeyのlistがソートされて返ってくる」これって良い命名なのかな?

pythonくんってこう言う所あるよね

配列の要素を文字列連結

", ".join(['1', '2', '4', '8', '16'])  # "1, 2, 4, 8, 16"

えーっ、join()のレシーバー区切り文字って…引くわー

しかも、これに対する「文字列リテラル (文字列定数) のメソッドを使うのは*醜すぎる*」という意見に対しての公式の返答が、これってのも凄い。

かにそうかも知れませんが*文字列リテラルは単なる固定された値に過ぎないというのが答えです。文字列に束縛された名前メソッドが許されるなら、リテラルに使えないようにする論理的理由はないでしょう。

https://docs.python.jp/3/faq/design.html#why-is-join-a-string-method-instead-of-a-list-or-tuple-method

The Zen of Pythonで「醜いより美しい方がいい」って言ってましたやん。

そもそもリテラルかどうかに関係なくstrインスタンスにこのメソッドがある事がおかしいと思った。

なんでpythonくんって一貫性ないの? pythonくん「歴史です」

pythonmap関数として実装されている。(まただよ...)

list(map(lambda x: x*x, [1, 2, 3]))  # [1, 4, 9]

なんでメソッドにしなかったの? って質問に対して公式がこう答えてる。

主な理由歴史です。複数の型に対しての総称的な操作で、対象オブジェクトメソッドを全く持っていなかった (例えば、タプル) としても働くよう意図したもの関数は使われました。

(中略)

個々のケースについては粗探しのしようがありますが、Python の一部であるし、根本的な変更をするには遅すぎます

https://docs.python.jp/3/faq/design.html#why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list

うわー、信じられねぇ…

歴史的経緯があるから一貫性が無いのは仕方ないみたいなこの感じ。

これが設計思想に「醜いより美しい方がいい」を掲げるpython実装なんだねぇ…

pythonくんの良い所

散々pythonの事を悪く言ったけど、おれ実はpythonくんの良い所もいっぱい知ってるんだ。

pythonくんの良い所:

ライブラリが超充実してる!
インデントコードブロック表現する文法クール!
PEP8という規約であるべきコードフォーマットを明示したのが良いよね。
Cythonで高速化楽ちん!
namespaceが使いやすい! デコレーター便利!

美しくない、それゆえに強いプログラミング言語python

The Zen of PythonPython設計思想が色々書いてある。

「醜いより美しいほうがいい」という指針があることはさっき紹介した通りだ。

pythonがそれを体現してるとは、僕にはどうも思えない。

でもThe Zen of Pythonには「Although practicality beats purity.(実用性を求めると純粋さが失われることがある。)」とも書いてある。

pythonはこの設計思想を他の言語には無い高いレベル体現してるとは思う。

pythonは、

節操に色々取り入れた上で、「tupleからメソッドはやせないから、map関数にする」とか、メチャクチャ方法でそれらを統合した言語だ。

だが、そういう言語からこそ、pythonで書いたコードを育てていく中で様々なパラダイムへとシームレスに変化させていく事ができる。

そういう「不純であるがゆえに柔軟性を持ったプログラミング言語pythonだと思う。

ruby純粋性はすごいよ。イカれたくらい徹底されたオブジェクト指向

BaseObjectをrootとする継承のツリーの中に世界のすべてが収まっている。

haskell純粋性も凄い。「代入が無い」プログラミング言語に初めてであった時の衝撃。

でも、そういう純粋性をかなぐり捨てたpythonにはタブーが無い。

不純で醜い、それゆえに強い言語python.

から僕はrubyとの思い出を反芻し、haskellに焦がれながら、明日pythonを選び、書いていく。

2018-02-06

anond:20180206194356

2018/03/21

不調が多いrubyオンラインやめて、JavaScriptリライトした

しばらくはこっちで。不具合が怖い・・

http://www.geocities.jp/s107ken/prog/tokyo-js.html

2018/03/02 5時

登録ユーザーだと実行回数・期間の制限がある?

スマホPCで実行できなくなった

(実行してもなにも表示されない)

 

追記

過去のやつも全部できなくなってる

 

追記

翌日は実行できるようになった

 

追記 3/14

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

2018/02/15 v5.2 http://tpcg.io/hFEB8W

五輪マークへ「0」を含む場合に、「0」へ置換せず「○」へ置換する

 

 

不具合多いなw

2018/02/14 v5.1 http://tpcg.io/VUTY6d

全角空白レイアウトがうまくいってなかったので、不可視文字wでレイアウト調整

2018/02/13 v5 http://tpcg.io/q47ler

大胆に全角空白を駆使してレイアウト調整

2018/02/10 v4 http://tpcg.io/gu9yQ2

五輪マークマージ

https://anond.hatelabo.jp/20180209193332

def ato
#require 'date'
    # Date.new(2020, 7, 24) - Date.today
    (Time.new(2020, 7, 24, 20, 0, 0, "+09:00") - Time.now.getlocal("+09:00")) / 60 / 60 / 24
end


# 文字
ar = [
'',
'',
'',
'',
'',
''
]

br = sprintf("%05d日", ato).tr('0-9', '0-9').split('')

cr = Array.new
for i in 0..(ar.length-1)
    cr.push(ar[i] + br[i] + '')    
end

puts br.join
puts '[東京五輪まで]', cr.join


# 五輪マーク
dr = [
' ',
'',
'',
' ',
'

   ', ' ' ] er = sprintf("%03d日◯◯", ato).tr('0-9', '0①②③④⑤⑥⑦⑧⑨').split('') fr = Array.new for i in 0..(dr.length-1) fr.push(dr[i] + er[i] + '') end puts '

' puts fr.join puts er.join

v3 http://tpcg.io/4X3DHT

タイムゾーンフィックス

require 'date'

def ato
    Date.new(2020, 7, 24) - Date.today
    (Time.new(2020, 7, 24, 20, 0, 0, "+09:00") - Time.now.getlocal("+09:00")) / 60 / 60 / 24
end

ar = [
'',
'',
'',
'',
'',
''
]

br = sprintf("%05d日", ato).tr('0-9', '0-9').split('')

vr = Array.new
for i in 0..(ar.length-1)
    vr.push(ar[i] + br[i] + '')    
end

puts br.join
puts '*[東京五輪まで]', vr.join
puts "z"

v2 http://tpcg.io/wPYegY

タイムゾーンテスト

2018/02/06 v1 http://tpcg.io/L01oUk

初版

require 'date'

ar = [
'&lt;font color="blue" size="10"&gt;',
'&lt;font color="#FFD700" size="10"&gt;',
'&lt;font color="black" size="10"&gt;',
'&lt;font color="green" size="10"&gt;',
'&lt;font color="red" size="10"&gt;',
'&lt;font color="gray" size="6"&gt;'
]

br = sprintf("%05d日", Date.new(2020, 7, 24) - Date.today).tr('0-9', '0-9').split('')

vr = Array.new
for i in 0..(ar.length-1)
    vr.push(ar[i] + br[i] + '&lt;/font&gt;')    
end

puts '*[東京五輪まで]', vr.join

2/6 ~899

2018-01-19

事業会社データサイエンティスト 会社退職しました

元々コンサル会社から事業会社のほうでデータサイエンティストをやるようになって1年経つが辞める。そのきつかったことを匿名という場所卑怯ながらも話したいと思う。

元々私は大学院でそこそこ統計をやってきてからコンサル会社に行きデータサイエンティストとして事業会社へ移った口だ。

根本的にデータサイエンティストとしての資質としてざっくりいうと以下の3つが必要だと思われる。

1. 統計能力関係及びそのプログラミング可視化能力

2. KPI設計及び事業からKPIへの落とし込みからそのKPIからどう事業繋がるかというビジネス設計能力

3. 上を基にしたコンサル能力

能力的には1がやや強く、その次に2がまぁまぁそして3はまだまだといった所で事業会社データサイエンティストとして孤軍奮闘をすることになった。

 入社理由

データはあるが、なかなか活用できていないこともあり、分析から企画から関われるという事で入社しようと思った。

後そこそこ大きな会社で働くのも良い経験と思い入社を決意した。ニッチな分野ではあるが、この分野ではTopカンパニーである

 実際の業務

最初の4日ぐらいは会社研修とかで潰れるのは仕方ないもので、それが終わり早速の業務を行う事になった。

まずはデータ各部門に依頼してから頂くのだが・・・

貰えない。

許可申請関係で3週間程かかってからまず最初データを頂けるようになった。この時点でやる気を削がれた。

更にデータ確認という事で事業へのヒアリングを進めるだけで・・・6週間程かかった。更にやる気を削がれた。

この辺りで気付いた事だが、コンサル会社でいたときは、データ確認がスピィーディーだったのに何故こんな遅い作業なったかというと

日本企業部署跨ぐというのはとても大変で、コンサルとしてやっていたときは単価も高いし、期間内でやらないといけないという事で

いろいろと調整がスムーズに進んでいたという事がこの時に分かった。コンサルとして外から見ているとやはり分からない事は多い物である

分析ツールエクセルだけ

データ確認も終わり、分析をし、改善を行うテーマを決めて進める事になった。この時点で2カ月ぐらい過ぎていた気がする。R/Python自分パソコンへの許可申請を出すが、降りない・・・会社的にはCならばOKだと言われる。でもCの追加ライブラリー関係ダメらしく・・・悩んだ結果エクセルを基に分析をする事になった。現状把握のために基礎集計をするが、エクセルSQLで言うGroup_byやら違うデータ同士をくっつけるためのJoinを32 bit エクセル関数ベースでやると何度も落ちる・・・。この時点でやる気は地の底へと落ちていた。

この辺りでCベースでもう書き直そうかと悩むが、流石にCのライブラリーがない所でフルスクラッチ調に書くのは工数的にかかると考えたのでvbaを用いていた。

エクセルベースでの可視化から上司関係者データ分析の結果を見せていく。この辺りでデータ分析から改善策はまとまっていた。しかしこの辺りでやる気をマイナスにして頂ける言葉を伺う。

私がVBAを書いているのをちらっと見て

プログラミング何かやっていても仕方ないし、プログラマーではねぇ・・・。今後会社ではプログラマーなんていらないか企画できるようにならないと」

勿論これは直属の上司からのお言葉ではないが・・・正確には同期である・・・もはや殺意すら覚える。因みにこの人の既存サービスの改良プロジェクトが回った時のデータ収集したら分析する事になっていたが、プロジェクトスケジュール感を見ると

要件定義 2週間

画面設計及び機能設計 3カ月

開発 4カ月

単体テスト・移行テスト 5カ月

運用以降

みたいな形でうん?何か少なくないか?と思ったら既存サービスに関してのギャップ分析無しに既存サービスの改良を進めているらしい

・・・その上取れるデータは〇〇〇で〇〇〇は無いらしい。あっそんなん改善出来んやん・・・。一応私はアリバイ工作のためにメール会議にて発言する

・・・空気を読めないと言われ会議呼ばれなくなってしまう(因みにこのプロジェクト要件定義から運用以降まで外注である)。

最早これは逃亡しかないだろうと心に固く決めてしまう。

私のコンサル的な能力がなかったと言えば確かにその通りである。でもいやうん日本企業の中で、分析をやっていくのは本当に難しいというのがよくわかる。

一人だったというのもある・・・でも殆ど基礎集計レベルで難しい用語を使わず改善を行おうとしたいやでもこの日本企業では無理だった。そしてやりたいと思わなかった。

たまに日本企業でのエンジニアの不遇差を嘆く記事を見かけるが、割と同じようなパターン臭いがする。

2017-12-21

PCパワーをマイニングもいいけど、人類のために使ってみない?

やすっかり定着した暗号通貨マイニングマイニング専用PCを作るためのビデオカードが売れたりと、活況を呈していたりする。

これまでもっぱら個人目的ゲーム動画etc)のためだったコンピュータ演算資源

自らの利益のもののために使うという発想が一般に広まってきつつあるのは歓迎すべきだと考えている。


が、その演算資源科学の発展(人類利益にも通じるかな)に使ってしまおうという発想が、遡ること18年前、1999年に始まった。

SETI@homeであるSETIはSearch for Extra-Terrestrial Intelligenceの略である映画コンタクト」を見た人になら覚えがあるかもしれない。

まり地球外知的生命宇宙人から発せられて地球に届いているかもしれない電波を見つけるという目的運営されており、

それは、プエルトリコにあるアレシボ電波望遠鏡キャッチした電波の中から特定パターンに一致するもの

分散コンピューティング、つまりこのプロジェクトに参加するユーザPCのパワーをちょっと間借りして解析し、宇宙人から電波を見つけるというとてもチャレンジングなもの

これは誰でも参加できる。

この辺の詳しい沿革概要についてはSETI@home - Wikipediaを読んでほしい。

いまではBOINCというカリフォルニア州立大学バークレー校分散コンピューティングプラットフォーム上で動くものであり、

SETIのほかに計算リソース必要とするタンパク質構造予測や、ある種の糖尿病などの先天性疾患の原因遺伝子発見などの

興味深いプロジェクトが行われている。

伝えたいのはここから

夜空を見上げてほしい。東京の人でも今の時期なら冬の大三角形を南の空に見ることができると思う。

私も含めた田舎在住の人ならもっとたくさん、もしかしたらオリオン星雲なんかも見ることができるだろう。

肉眼で見える星の数というのはおよそ8600個。私たちの住むこの銀河系には1000億というオーダーで存在する。

思いを馳せてみよう。

その中にもきっと私たちと同じような文明があること。

私たちと同じように苦しいこともあったり、楽しいこともあったりする生活を送っているだろうこと。

いろんなことを考えているだろうこと。

そして、きっと私たちと同じように彼らの星の外に知的生物を探しているのだろうこと。

そんな途方もないことは現実には知りようがない?

いや、私は考えている。それを知るためにこのプロジェクトがある。

自らのコンピュータ演算が、その途方もないことを知るための小さい一歩であること。

そしてそれが人類にとっての大きな飛躍につながっていること。

この考えとともに今までおよそ10年ほどこのプロジェクトに参加している。

まだ有望な電波は見つかっていないようだが、それでも私は今日コンピュータを走らせる。

強要するつもりはなく、はてなーの皆さんに認知だけでもしてもらいたいと思いこれを書いた。

もしすでに豊富CPUパワーを持っていて知らなかったという人はぜひ参加を検討してほしいし、

マイニングをしているという人は、もしふっとこれが頭によぎることがあれば、参加してくれればいいと思っている。

また最近プロジェクト自体かなりの財政的困難にも見舞われているようなので、寄付ができるのであればしてもらえたらとも思う。

ぜひ、あなたコンピュータ科学の発展のために役立ててみてほしい。

蛇足だし、リテラシーの高いはてなーなら自分で調べてインストールすると思うが、SETI@home

Join SETI@home

からダウンロードできる。

2017-11-22

2017-11-22 の『死にたい

anond:20171122153136 を見つけた今日は、『死にたい記念日

http://anond.hatelabo.jp/20170125102038

約 6,230,000 件 (0.31 秒)

検索結果

相談先のご案内 日本:

0570-064-556

こころ健康相談統一ダイヤル

時間: 都道府県によって異なります。詳細

言語: 日本語

ウェブサイト: www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000117743.html

フィードバック

疲れた・・】死にたい人、鬱な人が必ず見るべき7項目【消えたい】 - NAVER ...

https://matome.naver.jp/odai/2141091366365039201

人を傷つけられない人にとって「逃げる」と言う行動はとても生産的です。自愛と共に生きましょう。

‎消えたい · ‎死にたい人、鬱な人が必ず見る ... · ‎【疲れた・・】死にたい人、鬱な人 ...

#死にたい hashtag on Twitter

https://twitter.com/hashtag/死にたい

See Tweets about #死にたい on Twitter. See what people are saying and join the conversation.

トップニュース

座間遺体】「死にたい」けど「迷い」 田村愛子さん、揺れ動く心書き込み 案じていた兄 産経ニュース 9時間

死にたいSNSが救いの場 規制弱者追い詰める? 朝日新聞デジタル 1日前

座間遺体殺人容疑で追及 「死にたい人いなかった」 - 毎日新聞 毎日新聞 2週間前

死にたい」のその他のニュース

死にたいあなたへ飛び降り自殺失敗者が送るメッセージ - 専業主婦卒業 ...

www.tukishiro01.com › メンタル

2017/07/23 - 死にたい疲れた、消えたい。。。 今あなたはそんな気持ちで、ここに訪れたのではないでしょうか?そして周りに「死にたい、消えたい、もう疲れた」と言って、一度は「でも、死ぬのはだめだ」と言われたことがあるのではないでしょうか? 大丈夫 ...

http://archive.is/AG4rV

死にたくない

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

5 reasons why Japanese Engineer are fu*king da*n

  • Because they likes "Technical document" much, though they usually study with books even it's Front-end latest technology, Many of them are just translated original EN contents or da*n not sexy sample code, it's worthless in the world which dynamically changing day by day in few months. Regardless of free latest contents which can be found everywhere, they just get Secondary Information given by some evangelists with passive mindset, it causes making this Evangelist? market stable due to this kind of information gap structure.

See also : https://anond.hatelabo.jp/20170728223725

2017-05-31

http://anond.hatelabo.jp/20170530233852

SQL意識して書かないと死ぬほど読みにくくなるのが気に入らない。

前の職場には何もかも全部大文字表記し、ろくに改行も入れないバカが居て死ぬほどつらかった。あろうことか、読みづらいクエリを書ける自分プライドを持ってるっぽかった。ああいう奴とは二度と仕事をしたくないよ。

SELECT COL0,COL1,COL2 FROM TABLE0 WHERE COL0=1000 AND COL2 IN (100,102)

これを少しでも読みやすくするために予約語大文字カラム名テーブル名を小文字表記している (カラム名テーブル名が大文字で決め打ちされているなら、予約語を小文字統一している)。

SELECT col0,col1,col2
FROM table0
WHERE col0=1000
  AND col2 IN (100,102)

しかしこの方法も万全ではなくて、例えば複数テーブルが関連するクエリ

SELECT t0.col0, t0.col1, t0.col2, t1.col0
FROM table0 t0
  LEFT OUTER JOIN table1 t1 ON t0.col3=t1.col3
WHERE t0.col0=1000
  AND t0.col2 IN (100,102)

みたくなってしまう (テーブル名のtable0、仮名t0、カラム名col0が全部小文字になっているため、なかなか読みづらい)。

皆さん、どうやって工夫されてますか?

2017-05-13

発達障害だけど社会に出たらむしろ鬱が治った

中学生の頃、発達障害人達が集まる2ちゃんねるスレを見て自分発達障害であることを知った。

そこに書かれていたのは社会に出た後の発達障害の心の叫び阿鼻叫喚の図だった。

そしてそれは恐らく自分も今後否応なしに同じ道を辿るであろう、自分人生ネタバレ

これから自分は彼らと同じ地獄の道を辿り、最後には社会に捨てられ惨めに首を括るのか、そんな未来予想を想像するのは中高生のクソガキの精神的には少しきつすぎた。

こんな社会ゴミ、死んだ方がいいと何千万回も考えた。

心療内科に行くと発達障害副作用的な抑うつ症状だと診断された。

なんやかんやで口からでまかせ言って就活はなんとかなった。趣味プログラミングをやっていたのがよかった。

頭が悪い学歴もないので大手とかはそもそも諦めていたが、なんとか地方の小さなIT企業に入れた。

まあこんな茶番みたいな就職したところで2週間くらいで首になるか首を括るかするものかと思っていた。

しかし予想に反して、なんやかんやで4年くらい続いてしまった。今年度で社会人5年目。思ったよりなんとかなってしまったのだ。

更に社会の中でいろんな人と触れ合う中で、いつの間にか希死念慮とかも心から小さくなっていることに気づいた。

・間に挟まってる社会的意義が全くない(むしろ社会悪に近い)3次請け案件の某2次請け企業

・3年目でずっとWeb系の下流工程にいるはずなのにJOIN句も知らなかった先輩社員

・2人日仕事10人日に変えてしま錬金術師

ドキュメントバージョン管理どころかRedmineすら使いこなせないSIer

女子中学生買って捕まった某社のプロマネ

etc

自分が死んだ方が良い社会ゴミであることは今でも間違いないと確信している。

でもよかった。

この世界自分が思っていたよりもゴミ人間で溢れていた。

2017-03-09

女性技術者コミュニティについて

女性技術者コミュニティ運営するイベントの甘さについて考えていたところ、技術者の知人の「あれは女子会」という指摘にものすごくわかりみを感じた。

甘さの例

以上は一例であって、コミュニティ内にいる女性たちからは他にも不満が聞こえてくるが、それについてよく知らない僕が言及するのはアンフェアだと思う。(それにしてもこの業界狭いな……)

なるほど女子会

SIerからスタートアップJOINする際、いろいろな人に相談に乗ってもらったのだけれど、「きみは潜在能力たかフレンズなんだねー!」と言いたくなるような素敵な女性技術者大勢見てきた。そういう女性たちの中には「女性であるがゆえに」「会社に縛られて」潜在能力を発揮できない人も多くいた。そういう女性が集うコミュニティがあることは、とてもいいことだと思う。

ただイベントレポートを見ていると、どうもイベントの本題への言及より、懇親会の話のほうがウェイトが大きいように感じる。確かに懇親会が充実しているイベントはあるんだけれど、本題<懇親会なのはどうなんだろうなー。

飲み会で僕が参加したイベント感想をこんな風に述べた際、知人が指摘したのが「あれは女子会である。これには膝を打った。

女子会から、多少の遅刻はオッケーなのだ女子会から、名札を付けていなくても誰かわかるはずなのだ女子会から、きっと誰かが質問してくれるし、ハッシュタグを付けて呟くほどの内容がなくてもいいのだ。

まり僕は、女子会合コンに招かれただけだったのだ。彼女のいない僕を何度も合コンに誘ってくれていたYさん、ありがとう。今度は普通合コンに誘ってください。

2016-12-30

http://anond.hatelabo.jp/20161229172137

 最近になって二次創作の良さを知り、デレマス二次創作同人誌を買いだした人間からひとことふたこと。

 わたしがその二次創作同人誌(以下同人誌表記)を買ったのは、アニメなどからしか見られない、うかがい知れない高垣楓さんの、アナスタシアの、新田美波の「こうであってほしい」という願望が描かれていること(ギャグを含めて)、同人誌を手に入れることで、いつでもそのキャクターを身近に感じられるから、ということだった。それらの作品に、どれほど心慰められたかからない(かめれおん先生ありがとう)。

 こういう二次創作ものを描く側も、同様の理由から作品化しているものと信じている。だから、そういったリスペクトを感じられない二次創作は、消えてなくなっても構わない。特に18禁物の場合、ただただ劣情に訴えるような二次創作は今すぐ消えていい。たとえわたしが、その作品を見たいとしても、やはり消えてなくなれ。それが、二次創作という遊びとコミュニティルールだと思う。

 二次創作18禁を描く場合特にデレマスのようなキャラクターもの場合。昨今のやおいものBLものはわからない)、そのどこにリスペクトがあるのかを探るのはかなり難しいし、書き手もまた「こうであってほしい」という思い以上の熱量と決意が必須であるはずだ。そう信じている。

 以上の「前提」を踏まえたうえで、公式側は、その手の「原作レイプ」と思われる作品の作者に対してバンバン抗議し「この二次創作は認めない」と広く公表したら良いと思う。もちろんそれで「前提」なき者たちの手は緩むことはないだろうが、少なくとも安易二次創作は抑えられるかも知れないし、そんな愛なき同人誌を買う側もそれがアンモラルである、という印象を持つようにはなるのではないか

 何より、今さら当たり前のことを書くが、「前提」があろうがなかろうが、公式が認めない、ロイヤリティーも払わない二次創作原則すべてアウトである。それを黙認しているのは、法に訴えても見合わない、また多くのクリエイター二次創作同人誌から生み出されているかである

 なので、この方の心情をわたし全面的に支持し肯定する。重箱の隅をつつくようなコメントを書く奴は、この苦さに少しは思いを馳せるべきだ。この苦い思いをわかった上で、ただキャクターへの「愛」だけがオリジナルへの「愛」だけが、すぐれた二次創作の源泉となるべきだ。もちろんそんな「愛」をもって明確な線引など出来ない。それでもなお、二次創作者もその買い手側も、そのラインを常に問い続けながら描き、問い続けながら購入すべきである

 ただ「愛」だけが、すべての約束反故に出来る。

 You may say I'm a dreamer. But I'm not the only one. I hope someday you'll join us and the world will live as one.

2016-12-18

"チ○コ"の3文字から2文字抜き出して伏字にしたら"チ○コ"に見える仮説

チ○ン
チ○コ
ン○チ
ン○コ
コ○チ
コ○ン

いかがかな?


ソース

import itertools

for chars in itertools.permutations(u"チンコ", 2):
    print(u"○".join(chars))

2016-10-18

vimの:cq

こんなの潰しておくべきだと思う

:cnoremap cq <Nop>

:cqしたいならこう打つべきだ

:exe join([':c','q'],'')

exe join(map([58,99,113],"nr2char(v:val)"),'')

2016-09-29

http://anond.hatelabo.jp/20160928185212

みんなで騒いで盛り上がってるのに、遠目で見ながらなんであん寒いので騒いでるの? とか冷や水をあびせようとしてるのを見るのもつらいものなのよ

輪に入りたいのに入れなくてひがんでるのかなって

こわがらなくてもだいじょうぶ、一緒に騒ごうよ

Come on! Join us!

2016-08-17

Downvote because of recommending iPhone/Windows Phone. Btw, that's not a fix, the bug will still be there. – Jorge Fuentes González Aug 4 '13 at 10:55

Yes, "reboot and you're done" is not a fix, and still it's considered a fix in this all-fanboy world. Windows must be better than fanboy-exclusive software because it has tons of haters and absolutely no advocate, resulting in freedom of speech secured for healthy criticism and feedback. Don't join the uneducated witch hunters.

2016-05-28

lingr vimjoinできません!

裏ワザurl使っても会員登録できません!

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん