「push」を含む日記 RSS

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

2017-10-13

敢えて今からアプリを作る必要があると言われた時の対応ガイドライン

◎ START
↓
● 既存Webサービスはありますか?-yes→● 既存WebサービスCSSをいじってスマホ対応しましょう。おわり
↓no
● そのスマホアプリ関係しそうな要素を次の中から選んでください。いくつありますか?

カメラ
マイクロフォン
3Dレンダリング
スピーカー
バイブレータ加速度センサ
GPS
BlueTooth
NFC
内蔵DB
地図
動画
Push通知
  -2つ以上→● ネイティブ一択です。端末ごとにプログラムを書くのは面倒ですが、それを明らかに上回るメリットがあります。おわり
↓1つ
● Webに置いておけば誰でも見ることができるコンテンツを、あえてApp StoreGoogle Play配信する理由はありますか?-no→● お察しの通り、Bootstrapか何かを使って普通Webサイトを作るのが良いと思います。あとでURL教えてね。おわり
↓yes
● そこまで言うなら、PWAが良いと思います。あとで追加機能が欲しいと言われたら、PWAはすぐに捨ててネイティブ移植すること。それができないならあなたの気力が尽きておわり

https://medium.com/@takeshiamano/ios-android%E3%81%AE%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%A2%E3%83%97%E3%83%AA%E7%B5%82%E4%BA%86-7f4fc4f98656

2017-09-28

push the button

濡れた唇が口火を切る

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

https://anond.hatelabo.jp/20170818053646

あんたら、と言われるのは心外ですが、確かに他者プライベート問題について差別ロジックを用いて指弾するものはたくさんいます

例えば欧米ではジェンダーに対する差別是正の為に、街中やネットテレビ広告の中にジェンダーロールを強化するような思想を入れ込んではいけない、と言う考え方が最近とても根強いようです。女性は痩せていてかつグラマーでなければならない、男性は勉学に励んで要職に就く努力をすべきだ、そのようなストーリー内包する広告は全く歓迎されず、場合によっては規制されます

そういう話を聞くと我々などはあまり過激だと思うものですが、これもパブリックプライベート問題なのです。広告というのは黙っていても目に飛び込んでくるものでしょう? その様に個人意志選択ができない情報なので、これは大いに公共的な性質のものだとされています、この様な性質情報push型の情報と言います自分から好んで選択しなければ行きあたらない例えば書籍などのpull型情報とは違うという事ですね。ゾーニング問題というのも実にこの様な話と関わるものです。

はいえ先にも述べた様に、どこまでがパブリックでどこからプライベートと言えるかは難しい問題になります映画パブリックプライベートか? 大々的に公開されるビックバジェット映画パブリックで、細々とした単館上映はプライベートかもしれません。でもどこで線引き出来るかは決めきるのは無理でしょうね。曖昧さはどうしても残ります

しかどうでしょう?公私の線引きをしようという努力はなされるべきで、それは正当だと思いませんか?そして公私の線引きのない差別根絶の指摘はそれ自体無意味だというのは前のエントリでもしていますし、貴方同意見かと思います。とかく日本人は何が"公共"なのかという事に対する意識が著しく低いのだと思います。それには様々な理由もあるのだろうと思いますが、しか差別というロジックをこの社会インストールしなければならない以上、それについてをこそ考えなければならないという主張に、元増田反論できますか?特に反感を覚えるところはないと思いますけどね。

そうして元増田差別差別と喧しく他者を指弾するヒステリックプライベート侵害野郎とは決別して、決然と賢くなる道を歩み始めることができるのでした。めでたしめでたし

2017-08-09

push通知の売買が行われるようになる可能性?

ふと思ったんだけど

審査がないブラウザでのプッシュ通知が広く普及したら

push通知でリーチする人数が力になるから、これが売買される可能性出てくるよね

いやそんな方法じゃなくて、単純に広告があるページにランディングさせるだけでいいか

 

ブログにもpush通知を仕込む時代が来るのか

通知ばっかでウザくなりそうだな

 

今のところブラウザpushは全力でオフにしてる

2017-07-27

NASGITやってみたい

GIT

よく理解してない

GITHUB

するとパブリックになって拙い。

非公開は有料。そんな金ない。

NASGITだと、職場にいるときだけしか作業できなくなることに?

どうすればいいのか?

リモートリポジトリクローンする まで読みました。

リモートリポジトリにプッシュする 〃

マージという作業を行なって他の履歴での変更を取り込むまで自分push拒否され」

文章が分かりにくい

マージ作業により他ユーザーの変更履歴を採り入れれば、自分PUSHは通る」


帰宅前に最新のファイルをMegasyncにコピーして

翌朝出社時に最新のをコピーする?

2017-07-17

経営者は「スーパーエンジニア定義が違う件」の記事を1000000回読め

先日こんな記事話題になっていた。

俺はまさに弱小ベンチャーで働く「何でも屋」のエンジニアだが、普段感じていたモヤッとした気持ちをこの記事ドンピシャ突いている。

 

スタートアップベンチャースーパーエンジニアを求めるけどエンジニア界隈と起業家界隈で想像しているスーパーエンジニア定義が違う件】

http://htanaka0828.hateblo.jp/entry/2017/07/11/220141

 

IT系ベンチャー経営者またはこれから起業しようとしているやつはこの記事を1000000回読めと言いたい。

愚痴りたいことは山ほどあるが、特に言いたいことは次のことだ。

 

なんでも屋を当然だと思うんじゃねぇ!

俺はサーバ構築もする、サーバアプリも作る、クライアント側も作る、簡単ものならデザインも作る。

まりさなシステムなら1人でまるごと作れるわけだ。

 

でもそれは俺がたまたまそうなだけであって、大抵のエンジニアはそうじゃないわけ。

それを理解せず、フリーランスに開発を依頼しては「この人はAndroid開発しか出来ないから駄目だね〜」とか、何を言っているんだと。

 

その人が駄目なんじゃなくて、俺がすごいの!!!

 

いや、ごめん、うそ

本当は俺はそんなにすごくない。

何かに特化している人の方が、その分野においては優れていることが多い。

どちらがすごいとかじゃなくて、スキルセットが活きるシーンが違うだけ。

 

ただ、傍から見たらiOSだけの人は「駄目」に見えるらしいね

専門外の人はそう思っていても当たり前だが、でもITベンチャー経営者プロ側の人間からな?

 

なんでも屋じゃない人の方が多いんだから、チームを組んで開発しないといけないわけで、そこら辺のヒト・モノ・カネを何とかするのが経営者の役目だからな?

 

2人に増えれば2倍、3人なら3倍の開発スピード!!じゃねぇぞ

SI人月の話に近い感じもするが、ここで言いたいのはそういうことじゃない。

言いたいことは「エンジニアは1人でなんでも出来ること前提」に話を進めるな、ということだ。

 

そうだな、俺がこれから起業するやつの脳内エスパーしてやる。

 

夢追い人の脳内

画期的アプリリリースするためにエンジニアを1人雇おう!まずはスモールスタート!でもスケジュールによっては2〜3人必要だな!」

 

どうだ?大体こんな感じだろう?

まずこの妄想は3つの過ちを犯している。

 

1.アプリ開発のために"1人"雇う

この妄想は"1人雇おう"の時点から間違っている。

アプリは1人では作れない。

(正確には1人でも作れるが、それは小規模なアプリだ。きっと夢追い人の妄想の15%くらいしか満たせないだろう。)

 

iOS開発者Android開発者サーバアプリ開発者インフラ担当、最低でもこれだけ必要だ。

1人で何役か出来たとしても、全て出来る人は少ない。

それでも1人目エンジニアは専門外の技術勉強しながら頑張るだろう。

 

するとどうなるか?

進捗が思うように進まず、リリース延期、またはひどい品質アプリ誕生するのだ。

 

2.それはスモールではない

一般的な開発案件でもそうだが、素人が言う「ちょっとしたアプリ」はちょっとしていない。

 

夢追い人の発言

「まずは最低限の会員管理投稿機能だけあればいいよ!」

 

この発言には注意が必要だ。

なぜなら、この発言には以下の機能が含まれからだ。

 

Push機能(言っていないけど入っていて当然だよね!)

ブラウザアクセスできる管理機能(言っていないけどry

メール通知系機能(言っていないけどry

全文検索機能(言っていないけどry

バックアップ機能(言っていないけどry

・問い合わせ機能(言っていないけどry

・各種設定機能(言っていないけどry

・1秒以内の快適なレスポンス(言っていないけどry

・完全無敵のセキュリティ対策(言っていないけどry

etc(言っていないけどry

 

そもそも開発者でもない者がなぜ「ちょっとしているかどうか」を判断できると思っているのか。本当に不思議だ。

上記を理解しているのなら問題ない。

しかし、もし理解していない場合、それはリリースの延期、またはリリースできずにコケることになるだろう。

 

3.人を増やせばスピードアップ!ではない

そもそも1人で全てできるわけではないということは前述の通りだ。

まり開発には役割分担があり、全ての役割網羅されるように人員を配置しなければならない。

そのために2〜3人必要、ということならば、正しい考え方だろう。

 

家を建てる時、大工100人いれば半年で家が建つか?

建たないだろう。

設計する人、建材を用意する人、監督する人、その他諸々がチームとして必要だ。

 

じゃあチームを5セットに増員したら、工期は1/5になるか?

ならないだろう。

人が増えればコミュニケーションコストも掛かる。

それに、現場に過剰な人がうじゃうじゃいても邪魔なだけだ。

 

作りたいものを早く作りたいのであれば、そのために適切な人員配置必要なのであって、大工だけ雇っても完成しないし、人を増やせば良いということではないのだ。

 

まとめると

ITを飯の種にする経営者は、もっとエンジニアのこと、開発のことを理解してくれ。

2017-05-07

http://anond.hatelabo.jp/20170507022743

Can I get a refund on my Moz Local purchase?

Once your purchase is complete we push your listing updates to all of our partners. This process can't be reversed once it has started. Because of this, we unfortunately are unable to process refunds at this time. If you accidently used the wrong card, let us know and we'll help you get the charge sorted out.

Mozローカル購入で払い戻しを受けることはできますか?

購入が完了したら、リスティング更新をすべてのパートナーにプッシュします。このプロセスは、開始後は元に戻すことができません。このため、現時点では残念ながら払い戻しを処理することはできません。誤って間違ったカード使用した場合は、お知らせください。

あばばばばば

2017-01-31

【開発】アンテナサイトのジェネレーターを作った

しがないWebエンジニアをしています

今年の1月からチマチマ作っていたアンテナサイトのジェネレータを公開しました

アンテナサイトメーカー

http://antena-mk.com/home

サービス説明

お好みのRSS登録するだけであなただけのアンテナサイトの完成です。

自身広告掲載できるので、お小遣い稼ぎもできます

Google Analyticsコードを使ってアクセス解析もできます

ダッシュボードにて、アクセスランキング、逆アクセスランキングなんかも見ることができます

今後はアクセスに応じて調整するような機能などを追加していく予定です。

使用技術

作ってみた感想


ぜひ使って感想ください!

2016-12-06

MERYほぼ日ステマナタリーはなぜ指摘されないの?

やまもといちろう氏が「ほぼ日」ってステマだよね、って言う記事を書いていたが。

http://bylines.news.yahoo.co.jp/yamamotoichiro/20161205-00065171/

ナタリー(昔は独立系だったが、今はKDDI系列会社)のPower Pushもあれぜんぶ広告だよ。

http://natalie.mu/music/pp

中の人から聞いたが、初期は1インタビュー30万円ぐらいは取っていた。今はもっと高くなってると思う。

最近はSuper Power Pushなんていう枠もあって、あれは100万以上するんじゃないか

レコード会社も「紙媒体広告払うより反応がぜんぜん違うので」と、人気の枠だと聞いた。

だが、Power Push記事にも、どこにも「【PR】」とか「広告」という文字は見当たらない。

ずっと気になっていたがこれもステマだよね?誰か詳しく掘り起こしてほしい。

もしかしてPower Push」という言葉自体がそれを指すとかいことなのか?

読者がそれを認識できなければそれはステマではないのか?

ある意味、社内のEC誘導するほぼ日より明記していない分ナタリーのほうが悪質だと感じる。

以前は、東村アキコ氏がナタリーインタビューを受け、

それが知らぬうちに求人誌の広告に使われていたと告発していた。

http://togetter.com/li/758024

KDDI系列会社がこういうことしてていいのか?

2016-11-18

Google翻訳が賢くなったと聞いて

文脈に応じて一般用語専門用語の使い分けをしたり出来るのかしら?と思っていろいろ試してみた。

クリスマスの飾り付けが、街中のほとんど至るところで見られる。

二人で身体を寄せ合ってホラー映画を観ていたら、いい雰囲気になった。

強い力で押し倒さないでください。

Christmas decorations are found almost everywhere in the city.

It was a nice atmosphere when two people brought their bodies together and watch horror movies.

Please do not push down with a strong force.

この関数は、ほとんど至るところで微分不可能である

その物質は、特定雰囲気下で激しく反応する。

強い力の到達距離は、弱い力よりもずっと長い。

This function is almost impossible to differentiate almost everywhere.

The substance reacts vigorously under a specific atmosphere.

The reach of strong force is much longer than weak force.

うーん、もうちょっと頑張ってほしい。

2016-11-01

git commitのタイミングがわからない

キリの良いタイミングっていうけどさ

一日の終りにキリが悪くてもcommitしたいときない?

セーブポイントみたいに

消えると怖いし、差分取りたいし、バンバンやりたいんだけど

バンバンやるとログが汚れるからそれもいやだ

あとで整理するのも面倒くさい

仮commit、仮pushみたいなのがあればいいのに

 

例えばcommit単位でbranch切って、どんどんcommitしていって、最後複数のcommitをまとめるとか

面倒くさいか

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-05-16

http://anond.hatelabo.jp/20160516200723

for文満載とか、これだけのことするのに、やたら長いコードだとか、いろいろつっこみどころあるけど、

とりあえず、配列

this.PenLog=[];

で、 PenLog.push([Pen,pos]);

とか、配列プッシュして積み増してるのが、関数型と標榜するコード野ざらしになってるのが気になるし

ミュータブルだ!とまでは言わない。積み増してる)

この調子もっと複雑なコード書こうとするといろいろすぐ破綻しそうだというのは書いてる君がよくわかってるんじゃないかな?

あと例のわけわからんインデックス」で現在状態を取得するみたいな実装がどこにあるのか?

状態渡し」の関数型でなんでもできるようなこと喧伝している嘘くさい連中と変わらん。

2016-05-12

memo

Web + DBより

Git

コミットを遡る指定
HEAD ~1

HEADの親

HEAD ~2

HEADの親の親

HEAD ^1

HEADの1番目の親

HEAD ^2

HEADの2番目の親

コミット指定する方法
HEAD

現在ブランチの最新コミット

ORIG_HEAD

git merge や git reset でHEADが移動してしまう.

ORIG_HEADを使うことで移動前のHEADを指定できる.

FETCH_HEAD

git fetch によってリモートリポジトリから取得した最新のコミット指定できる.

変更履歴確認する方法
git log --oneline

logを一行で表示する.

git log --decorate

tag名前ブランチマージ履歴を表示する.

git log --follow FILENAME

FILENAMEファイルの変更履歴を,たとえ途中でリネームされたとしてもそれも見る.

git log --author <name>

nameログ検索できる.

git log --graph

ブランチコミットグラフを表示する.

git log -p

コミット差分を表示する.

差分を見る
git diff <base commit>...<opposit commit>

コミット差分を表示する.

トリプルドット指定する必要がある点に注意しましょう.

問題のあるコミットを探す
git log -S "string"

履歴string検索する.

git bisect start <bug commit> <correct commit>

二分探索の開始

git bisect good

提示されたコミットが正しい挙動を示すとき

git bisect bad

提示されたコミットが正しくない挙動を示すとき

git bisect reset

二分探索の終了

rebase
git checkout <branch name, needs to be rebased>
git rebase <base of rebase>

rebase

注意
git pull --rebase

git pull は git fetch + git merge

merge ではなく rebase したい場合に利用するのがよい.

git log --merge

コンフリクトを発生させたコミットを表示する.

高度な機能
git stash

内容の退避

git stash pop

退避した内容の復活

git stash list

退避した内容の一覧

git worktree

作業ワークツリーの追加

git submodule

外部のリポジトリ管理する

git rebase -i HEAD~N

Nは自然数

過去コミットを消したり編集したりする.

最新からN個まえのコミットまでを対象編集できる.

編集時にエディタが開くが,編集を終えてエディタを閉じてもrebase機能しないことがある.

その場合は次のように, .gitconfig へエディタパスを書けばよい.

   [core]
     editor = /usr/bin/vim
フック

2016-04-01

下痢国務長官

われら脱糞大尉とともに

アメリカ国家♪)

ブッシュではない。

PUSHだ。

アメリカ国家♪)

意味はない

意味などない

でも、脱糞とか下痢とかそういうもの

アメリカ国家MIXしたら

とっても素晴らしいかもって

そう思ったんだ

アメリカ国家♪)

2016-03-04

window.OBR = window.OBR||{};(function(OBR){window.OB_releaseVer="01000501";window.OBR=window.OBR||{};OBR.k=OBR.k||;OBR.La=OBR.La||{};window.OBR$=function(d){return document.getElementById(d)};OBR.d=OBR.d||function(){var d={},a={v:function(){return d},h:function(a){d.X=a;d.cb=;d.startTime=(new Date).getTime()},startTime:function(){return d.startTime},log:function(a){var e=((new Date).getTime()-d.startTime)/1E3;1E3>d.cb.length&&d.cb.push(e+" >"+a)},printLog:function(){if(d.X.c.dj)window.console.log(d.cb.join("\n"));else{var a=d.X.b.Ia();a&&(a.innerHTML=d.cb.join("
"),a.style.display="block")}return d.cb.join("\n")}};a.h(OBR);return a}();OBR.printLog=OBR.d.printLog;OBR.H=function(){this.J=[]};OBR.H.prototype.add=function(d,a){var c;"string"===typeof d&amp;&amp;"function"===typeof a&amp;&amp;(c={},c.name=d,c.ai=a,this.J.push(c))};OBR.H.prototype.Qf=function(d){var a,c;OBR.d.log("remove event :"+d);a=0;for(c=this.J.length;a<c;a+=1)if(this.J[a]&amp;&amp;this.J[a].name&amp;&amp;this.J[a].name===d)try{this.J.splice(a,1)}catch(e){OBR.d.log("rm evnt err: "+e)}};</p&gt;

OBR.H.prototype.o=function(d,a,c){var e,b,f,g;a=a||[];c=!!c;OBR.d.log("event fire:"+d);e=0;for(b=this.J.length;e<b;e+=1)if(f=this.J&amp;&amp;this.J[e]?this.J[e].name:"",g=this.J&amp;&amp;this.J[e]?this.J[e].ai:null,f===d&amp;&g)try{g.apply(this,a)}catch(h){OBR.d.log("fire event *"+d+"* error: "+h)}!0===c&amp;&amp;this.Qf(d)};OBR.H.prototype.sa=function(){this.J=[]};OBR.b=OBR.b||function(){var d={},a={},c=document,e=OBR,b=null;a.v=function(){d.X=e;return d};a.h=function(a){e=a};a.Ba=function(){return function(){}};a.Gi=function(){var a=window.jQuery;return void 0!==a?!(/1\.(0|1|2|3|4)\.(0|1)/.test(a.fn.jquery)||/^1\.1/.test(a.fn.jquery)||/^1\.2/.test(a.fn.jquery)||/^1\.3/.test(a.fn.jquery)):!1};a.F=function(a){return null===a||isNaN(a)?null:e.n("outbrain_widget_"+a)};a.Ia=function(){return e.n("ob_holder")};a.ne=function(f){var g=a.Ia();null===g&amp;&amp;(g=e.b.createElement("div",</p&gt;

"ob_holder"),g.style.display="none",f?e.b.insertBefore(g,f):document.body.appendChild(g));return g};a.Vc=function(){if(!e.n(e.c.Pb)){var f=e.b.createElement("iframe",e.c.Pb),g=f.style;g.display="none";g.width="1px";g.height="1px";f.src="about:blank";(g=a.Ia())||(g=a.Va());e.b.Q(f,g)}};a.Va=function(){if(c.body)return c.body;var a;a=e.b.K("","","body",!0);return 0>=a.length?c.lastChild:a[0]};a.createElement=function(a,g,b,e){var d;a=c.createElement(a);"string"===typeof g&amp;&amp;a.setAttribute("id",g);"string"===

typeof b&amp;&amp;(a.style.cssText=b);for(d in e)e.hasOwnProperty(d)&amp;&amp;a.setAttribute(d,e[d]);return a};a.G=function(a){if(e.c.$d===e.c.Od)try{c.createStyleSheet().cssText=a}catch(g){OBR.d.log(g)}else{var b=c.createElement("style"),d=c.body?"string"===typeof c.body.style.WebkitAppearance:!1;b.type="text/css";c.getElementsByTagName("head")[0].appendChild(b);b[d?"innerText":"innerHTML"]=a}};a.N=function(a,g,b,d){var m=c.createElement("script");m.type=e.c.wj;m.src=a;m.charset="UTF-8";m.async=!!g;m.defer=!1;b&amp;&amp;

e.b.s(m,"load",function(a){var f=a.target;f&amp;&amp;setTimeout(function(){f.parentNode.removeChild(f)},3E3)});d&amp;&amp;e.b.s(m,"load",d);return m};a.Cl=function(a,g){var b=e.b.createElement("link",a);b.setAttribute("rel","stylesheet");b.setAttribute("type",e.c.Eh);g&amp;&amp;b.setAttribute("href",g);return b};a.ih=function(a){var g=e.n("ob_iframe");g&amp;&amp;(g.src=a)};a.Hf=function(){var a;a=isNaN(a)?1E5:a;return Math.floor(Math.random()*a)};a.nk=function(a,g,b){return a.replace(g,b)};a.Ll=function(){var f;if(f=OBR.n("objsonpp"))if(a.kj())a.Ka(f.parentNode)&amp;&amp;

f.parentNode.removeChild(f);else return OBR.n("objsonpp");f=c.createElement("iframe");f.id="objsonpp";f.tk&amp;&amp;(f.tk="seamless");(f.frameElement||f).style.cssText="width: 0; height: 0; border: 0";f.src="";c.body.appendChild(f);return f};a.R=function(a){var g,b;b=c.getElementsByTagName("head");try{b&amp;&amp;0<b.length?b[0].insertBefore(a,b[0].firstChild):(g=c.getElementsByTagName("script"),g[0].insertBefore(a,g[0].firstChild))}catch(d){e.d.log("Err insertToHead:"+d)}};a.Kl=function(a){a=a||OBR;return"function"!==</p&gt;

typeof a.H?(OBR.d.log("namespace.EventManager not function"),null):new a.H};a.O=function(a){return encodeURIComponent(a)};a.Ka=function(a){return null!==a};a.pj=function(f){var b,c=!1;if(a.Zc(f))return!1;b=f.Oe().recMode||"";f=f.Oe().dynamicWidgetLayout||"";b=e.c.rk[b]||"";"2"===b&amp;&amp;"1"===(e.c.sk[f]||"")&amp;&amp;(c=!0);c||"1"!==b&amp;&amp;"3"!==b||(c=!0);return c};a.Zc=function(a){return void 0===a||null===a};a.tj=function(b){return a.Zc(b)||""===b};a.getElementsByClassName=function(b,g){g||(g=document);return g.getElementsByClassName?

g.getElementsByClassName(b):a.K("class",b,"*",!0,!0,g)};a.K=function(b,g,e,d,m,l){var p,q,n;p=[];e=e||"*";d=!!d;m=!!a.tj(m);e=l?l.getElementsByTagName(e):c.getElementsByTagName(e);l=0;for(q=e.length;l<q;l+=1)n="class"===b?e[l].className:e[l].getAttribute(b),null!==n&amp;&amp;(!1===m&amp;&amp;(n=n.toLowerCase(),g=g.toLowerCase()),(n=""===b?!0:d?-1<n.indexOf(g):n===g)&amp;&amp;p.push(e[l]));return p};a.Wb=function(a,b,c){a.detachEvent?a.detachEvent("on"+b,c):a.removeEventListener&amp;&amp;a.removeEventListener(b,c,!1)};a.s=function(a,</p&gt;

b,c){a.attachEvent?a.attachEvent("on"+b,function(){c.call(a)}):a.addEventListener&amp;&amp;a.addEventListener(b,c,!1)};a.Q=function(a,b){try{b.appendChild(a)}catch(c){e.d.log("Fail insert into Dom:"+c)}};a.lb=function(b){b=e.n(b);!a.Zc(b)&amp;&amp;a.Ka(b.parentNode)&amp;&amp;b.parentNode.removeChild(b)};a.insertBefore=function(a,b){return b.parentNode.insertBefore(a,b)};a.isArray=function(a){return a instanceof Array?!0:"[object Array]"===Object.prototype.toString.call(a)};a.sb=function(a,b){var c=/htt(p|ps)?:\/\/127\.0\.0\.1(:\d\d\d\d)?/i;

return/^htt(p|ps)?:\/\/([\w\-]*|[\w\-]*\.[\w\-]*)\.outbrain\.com(:\d\d\d\d)?/i.test(a)||c.test(a)?a:b};a.al=function(a){a=a.replace(/^(\s*)/g,"");var b=c.createElement("div");b.innerHTML=a;return b.childNodes};a.Ua=function(a,b){return a?a.getAttribute(b):null};a.xa=function(a,b,c){a&amp;&amp;a.setAttribute(b,c)};a.I=function(a,b){var c=RegExp("[ '\"|]"+b+"[ '\"|]");a&amp;&amp;!c.test("|"+a.className+"|")&amp;&amp;(a.className+=" "+b)};a.ma=function(a,b){a&amp;&amp;typeof b===e.c.$k&amp;&amp;(a.classList?a.classList.remove(b):a.className=

a.className.replace(RegExp("(^|\\b)"+b+"(\\b|$)","gi")," "))};a.$=function(a,b){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c,e;try{return c=RegExp("[\\?&amp;]"+a+"=([^&amp;#]*)","i"),e=c.exec(decodeURIComponent(window.location.href.replace(/\+/g," "))),null===e?b:e[1]}catch(d){return b}};a.sh=function(a){"string"===typeof a&amp;&amp;0<a.indexOf("#")&amp;&amp;(a=a.substr(0,a.lastIndexOf("#")));return a};a.ie=function(a){var b=e.c.ga+"/strip_default.png";a.src!==b&amp;&amp;(a.alt="",a.title="",a.src=b)};a.Oh=function(){var a=</p&gt;

null,b,e,d=null;if("string"===typeof window.OB_MP_feed)a=window.OB_MP_feed;else if((b=c.getElementsByTagName("head"))&amp;&amp;0<b.length)for(e=b[0].getElementsByTagName("link"),b=0;b<e.length;b+=1)if(d=e[b],null!==d.type&amp;&amp;("application/rss+xml"===d.type||"application/atom+xml"===d.type)&amp;&amp;null!==d.href&amp;&amp;""!==d.href){a=d.href;break}return a};a.D=function(a,b){var c=null;a.currentStyle?c=a.currentStyle[b]:window.getComputedStyle&amp;&amp;(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b));return c};</p&gt;

a.xk=function(){var b=a.Ia(),g,c;a.Ka(b)&amp;&amp;(g=e.b.createElement("span","ob_a"),a.insertBefore(g,b),g.innerHTML=".",c=a.D(g,"color"),a.lb("ob_a"),g=e.b.createElement("a","ob_a"),g.setAttribute("href","void(0)"),g.innerHTML=".",a.insertBefore(g,b),b=a.D(g,"color"),a.lb("ob_a"),c="rgb(0, 0, 0)"===c||"#000000"===c?"#555":c,a.G(".ob-tcolor{color:"+c+"} .ob-lcolor{color:"+b+"} .ob-bgtcolor{background-color:"+c+"} .item-link-container:hover .ob-tcolor{border-color:"+c+"} "+(document.addEventListener?"":".odb_li:hover .ob-zapping-icon,.odb_div:hover .ob-zapping-icon,.item-container:hover .ob-zapping-icon,.ob-dynamic-rec-container:hover .ob-zapping-icon,.odb_li:hover .ob-textual-zapping-icon,.odb_div:hover .ob-textual-zapping-icon,.item-container:hover .ob-textual-zapping-icon,.ob-dynamic-rec-container:hover .ob-textual-zapping-icon{display:none !important;}")))};

a.Ke=function(b){var g=a.Ie("property","og:url","meta","content");null===g&amp;&amp;(g=a.Ie("rel","canonical","link","href"));null!==g||b||(g=window.location.href);null===g&amp;&amp;(g="");return g};a.Ie=function(b,g,c,e){var d=null;b=a.K(b,g,c,!1);null!==b&amp;&amp;0<b.length&amp;&amp;(d=b[0].getAttribute(e));return d};a.jh=function(b){var g,c,d;g=b.g("tracking",!1);c=b.g("comScoreEnabled",!0);d=e.c.je;!1===g&amp;&amp;(!0===c&amp;&amp;!1===d&amp;&amp;!b.Pe())&amp;&amp;(a.Vc(),g=b.q("pid",""),b=e.n(e.c.Pb))&amp;&amp;(b.src=e.c.ga+"/"+e.c.Ub+"3rd/comScore/comScore.htm#pid="+</p&gt;

g,e.c.je=!0)};a.Ei=function(){var b=a.Lb(8);"string"===typeof window.name&amp;&amp;(""===window.name||-1<window.name.indexOf("frame"))?(window.name=b,b=window.name):"string"===typeof window.name&amp;&amp;""!==window.name&amp;&amp;(b=window.name);return b=e.b.O(b.substring(0,9))};a.Lb=function(a){var b,c;b=[];a="number"===typeof a?a:8;for(c=0;c<a;c+=1)b.push("0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt(Math.floor(61*Math.random())));return b.join("")};a.me=function(a){for(var b="",c=0;c<a.length;c++)b=</p&gt;

b.concat(a[c]?"1":"0");return parseInt(b,2)};a.Xc=function(b){var g=b.getElementsByTagName("a")[0];if(null===b.offsetParent||0===b.offsetHeight||0===b.offsetWidth||0===b.clientHeight||0===b.clientWidth||"none"===a.D(b,"display")||"hidden"===a.D(b,"visibility"))return!1;var c=parseInt(a.D(b,"padding-top"),10)+parseInt(a.D(b,"padding-bottom"),10);return 0===b.clientHeight-c||g&amp;&amp;"none"===a.D(g,"display")?!1:!0};a.Oc=function(a){for(var b in e.La)if(e.La.hasOwnProperty(b)&amp;&amp;e.La[b].l===a)return e.La[b];

return null};a.Rl=function(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0};a.Ga=function(a,b){return"function"!==typeof a?null:void 0===b?a():a(b)};a.kj=function(){return"Microsoft Internet Explorer"===navigator.appName};a.Fh=function(a,b){return a*b};a.Ge=function(a){if(!a||""===a)return[];a=a.replace("","").replace("http://","").replace("https://","").replace("www.","").replace("www2.","").split("/");a.pop();return 0<a.length?a:[]};a.ki=function(b,g){var c=a.Ge(b),e=[],d="";if(g>=c.length)d=

c.join(".");else{e[0]=c[0];for(d=1;d<=g;d+=1)e[d]=c[d];d=e.join(".")}return d};a.ti=function(){return"http"+("https:"===c.location.protocol?"s":"")};a.si=function(){var b,g;b=c.getElementById("widgetVersionSync");null===b&amp;&amp;(b=a.createElement("iframe","widgetVersionSync"),g=a.createElement("div",null,"display:none; height:0px; width:0px; border:none;"),g.appendChild(b),a.Va().appendChild(g));return b};a.ql=function(b){var g;g=window.OB_releaseVer;isNaN(g)||(isNaN(b)||g>=b)||(b=a.ti()+"://widgets.outbrain.com/external/sync/outbrainjs.html?needToBeVer="+

b.toString(),g=a.si(),g.src=b)};a.Sg=function(b){b=b.g("widgetVersionSync",0);isNaN(b)||""===b||(b=parseInt(b,10)||0,a.ql(b))};d.Rc=function(){if(b)return b;var a;try{var g=window.localStorage;g.setItem("OBtst","");g.removeItem("OBtst");a=g}catch(c){a={$b:{},setItem:function(a,b){this.$b[a]=b},removeItem:function(a){this.$b[a]=void 0},getItem:function(a){return"undefined"!==typeof this.$b[a]?this.$b[a]:null}}}return b=a};a.hg=function(a,b){d.Rc().setItem(a,b)};a.Qc=function(a){return(a=d.Rc().getItem(a))?

a:null};a.Gh=function(){d.Rc().removeItem("OB-USER-TOKEN")};a.h(OBR);return a}();OBR.ya=function(d,a,c,e,b,f,g,h,k){var m,l;m=this;l=0;k="function"===typeof k?k:OBR.b.Fh;m.start=function(){var p;l+=1;OBR.b.Ga(d,l)?OBR.b.Ga(a,l):(p=OBR.b.Ga(h,l))?OBR.b.Ga(e,l):(p=l===f&amp;&amp;1E3!==f)?OBR.b.Ga(e,l):(OBR.b.Ga(c,l),p=g?k(l,b):b,setTimeout(function(){m.start()},p))};m.start()};OBR.re=OBR.re||{fj:function(){return"complete"===document.readyState}};

OBR.Hc=function(){var d={},a=[];d.add=function(c){a.push(c)};d.remove=function(c){a.splice(c,1)};d.top=function(){return 0<a.length?a.shift():null};d.jj=function(){return 0>=a.length};d.Jl=function(){return a};d.qh=function(){a=[]};return d};

OBR.Ra=function(){function d(e,b){a.pb="resolve"===e?function(a){a&amp;&amp;a(b)}:function(a,g){g&amp;&g(b)};a.Pa=a.kk=function(){throw Error("Promise already completed.");};for(var f,g=0;f=c[g++];)f[e]&amp;&amp;f[e](b);delete c}var a={},c=[];a.pb=function(a,b){c.push({resolve:a,reject:b})};a.Pa=function(a){d("resolve",a)};a.kk=function(a){d("reject",a)};return a};

OBR.Ag=function(d){var a={},c=null,e,b;a.onClickOrAutoplay=void 0;a.onDisplayReady=void 0;a.onError=void 0;a.fetch=function(a){null===c?(c=a,b&amp;&amp;b(c,this),b=null):(c=a,OBR.Ja.of([this]))};a.shown=function(a){e=a;OBR.Ja&amp;&amp;OBR.Ja.pl(d.widgetId,d.playerId,e)};a.stopTimer=function(){if(this.tg){window.clearInterval(this.tg);var a=document.querySelector('[data-ob-player-id="'+d.playerId+'"] .timerNumber');a&amp;&amp;(a.textContent=a.parentElement.getAttribute("data-time"))}};a.placed=function(){OBR.Ja.ol(d.playerId)};

a.uj=function(a){b=a;c&amp;&amp;b(c,this)};a.Ue=function(){return d};a.Hl=function(){return e};a.Nl=function(){return d.when};return a};OBR.Fg=function(){var d={},a="00.000",c=null,e=null,b=0;d.start=function(){null===c&amp;&amp;(c=new Date);null!==e&amp;&amp;(b+=new Date-e)};d.stop=function(){var f=new Date(new Date-c-b),g=f.getUTCSeconds(),f=f.getUTCMilliseconds();e=new Date;return a=(9<g?g:"0"+g)+"."+(99<f?f:9<f?"0"+f:"00"+f)};return d};</p&gt;

OBR.rd=OBR.rd||function(){function d(){var a=window;a.googletag=a.googletag||{};a.googletag.cmd=a.googletag.cmd||[]}function a(a,g,c,e){var d=window;d.$revee&amp;&amp;d.googletag.cmd.push(function(){d.$revee.track({obpid:a,obsid:g,obdid:c,obpu:e});b.d.log("revee fire:"+e);b.d.log("revee fire id:"+c)})}var c={},e=!0,b;c.h=function(a){b=a;c.cc={}};c.Yb=function(f){if(f&amp;&amp;!1!==f.g("activateRevee",!1)){d();var g=f.q("pid",0),h=f.q("sid",0),k=f.q("did",0),m=f.ka();e||c.cc[k]?e&amp;&amp;(e=!1,f=b.b.N(b.c.U+"rva.outbrain.com/analytics-v1.js",

!0,!0,function(){m=document.location.href;a(g,h,k,m)}),b.b.R(f)):a(g,h,k,m);c.cc[k]||(c.cc[k]=!0)}};c.B=function(){e=!0;c.cc={}};c.h(OBR);return c}();OBR.c=OBR.c||function(){var d={},a={},c=OBR,e;a.Cg="opera";a.Od="msie";a.zg="firefox";a.xg="chrome";a.Eg="safari";a.Bg="mozilla";a.Al="boolean";a.$k="string";a.Vl="object";a.gl="undefined";a.Ul="number";a.Pb="ob_iframe";a.$e=!0;a.Ff=0;a.ec="outbrain_widget_";a.wj="text/javascript";a.Eh="このエントリーをはてなブックマークに追加ツイートシェア

2016-02-07

var work_init = function(){
 	work(); 
}

var array = [work_init];

for(var i = 0; i&lt; 10000; i++){
  
  var working = function(){
  	work();
	};
	array.push(working);
}

array.forEach(function(entry){
	loop(entry, 1);
});

start();

2015-12-03

スマホアプリの全画面広告

俺がそのへんにスマホを置いておくと親(還暦くらい)がゲーム遊んだりするんだが、無料ゲームの全画面広告で躓く事が多い。

bejeweledを遊んでたはずが、困った顔でモンストやらGame of WarやらのDL画面を見せてきて「壊れた、動かなくなった」と言う。

課金して広告排除したけど、クソ広告回避するスキルが無く、PLAYやらPUSHやらをとりあえず押してしまう人がいるということを忘れてはいけないなと思った。

2015-11-28

NeoBundleを窓から投げ捨ててvim-plugに乗り換えようと思った理由

今日NeoBundleUpdateでプラグインアップデートしてからVim再起動し直すと、ファイルを開いても何も表示されなかった。

ついでにvimを最新に更新してみる。

まだ直らなかった。

引数に-u NONE を付けてファイルを開いたらファイル内容が表示された。

問題vimrcの中にあることがわかった。

とりあえず全てのプラグイン無効にする。

おおお治った。

今日更新されたプラグインでNeoBundleが原因であることが分かった。

ツイッターでNeoBundleについて検索したら同じ症状の人がいたから元凶はNeoBundleにあると確定だ。

やらかすの何度目だよいい加減にしろ

なんで確認もせずにmasterにあげちゃうの?

ちゃんとテストしてからmasterにpushしろや。

あと、お前すぐissue閉じ過ぎなんだよ。一定期間はオープンにしとけよ。

この作者、他人プラグインをよくdisってたので、俺も遠慮なく記事にさせてもらった。

からもうvim-plugに乗り換えた。


作者が見なくてもいいようにエゴサでもしない限り閲覧できないようにここに書いてるのに、

わざわざlingrに貼り付けて事を大きくしようとしているのはどっちだよ。

悪意があるのはコミュニティー拡散しているお前や便乗で批判に乗っかってるお前だろボゲが。

プラグインに対して要求を突き付けるのと批判するのをいっしょくた一緒くたにするな。

そこを勘違いするなよ小僧

2015-11-23

やったぜ。

やったぜ。 投稿者変態IoT土方 (11月23日(月)19時47分42秒)

昨日の11月22日にいつもの組み込みエンジニアおっさん(34歳)と先日DMくれた機械学習好きのPythonエンジニアのにいちゃん

(27歳)とわし(30歳)の3人で県北にあるコワーキングスペースで開発しあったぜ。

今日明日休みなんでコンビニでRedBullとお菓子を買ってから滅多に人が来ない所なんで、

そこでしこたまRedBullを飲んでから開発しはじめたんや。

3人でGithubコード眺めあいながらTシャツだけになり持って来たRasberry Pi3台にコードインストールした。

しばらくしたら、EthernetLEDがピカピカして来るし、ログが解析基盤を求めてS3の中でぐるぐるしている。

組み込みエンジニアおっさんセンサーデータ取得コードデバッグさせながら、兄ちゃんの実装した分類アルゴリズムを眺めてたら、先に兄ちゃんのRasPyがわしのDBログをドバーっと出して来た。

それと同時におっさんもわしもコードpushしたんや。もうDB中、ログまみれや、

3人で出したログfluentdで掬いながらお互いのコードレビューしあったり、

欠損値まみれの時系列を取得しあってDNNで学習したりした。ああ~~たまらねえぜ。

しばらく学習しまくってからcross validationをしあうともう気が狂う程気持ちええんじゃ。

組み込みエンジニアおっさんのRasPyにわしの切ったブランチコードを突うインストールっでやると

DB経由で取得したログPythonでするする解析できて気持ちが良い。

にいちゃんもおっさんのRasPyにコード突っ込んでC++ をつかって居る。

ログまみれのおっさんDBを掻きながら、思い切り解析したんや。

それからは、もうめちゃくちゃにおっさんと兄ちゃんのコードレビューあい

プルリクを送りあい、二回も修正を出した。もう一度やりたいぜ。

やはり実機でデータまみれになると最高やで。こんな、変態親父とデータサイエンスあそびしないか。

ああ~~早くデータまみれになろうぜ。

岡山の県北であえる奴なら最高や。わしは@__hentai_IoT,おっさんは@IoT_kumikomi_ossann、や

データまみれでやりたいやつ、至急、DMくれや。

エンジニア姿のままデータ解析して、実データだらけでやろうや。

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