ブックマーク / qiita.com (964)

  • 「通知止まらんwww」を体験できるアプリを作った - Qiita

    クソアプリ2 Advent Calendar 2018 の1日目の記事です。 今年も始まりましたアドベントカレンダー! クソアプリの人気が年々上昇しているようで、今年からカレンダーが2つに増えたそうです! クソアプリ / クソアプリ2 はじめに 突然ですが皆さん、SNSでよさげな投稿をしたのに全然いいねされなかった、という経験はありませんか? 「これは面白い」「たくさんいいねされるに違いない」とウキウキしながら投稿したのに、思ったより反応が貰えなかった・・・ 悲しいことに、このような出来事は今日も世界中で起こり続け、毎日たくさんの人々を苦しめています。 『SNSで辛い思いをする人を1人でも減らしたい・・・』 僕はそう思い立ち、アプリで世界を救うことを決意しました。 作ったもの ちょwww通知止まらんwwwwwww あなたの投稿にたくさんの人が「いいね」したかのように、大量の通知が表示される

    「通知止まらんwww」を体験できるアプリを作った - Qiita
    netcraft3
    netcraft3 2018/12/02
    この発想はなかった
  • 翻訳:AIの冬は確実に近付いている (Filip Piekniewski) - Qiita

    この記事は、Filip Piekniewski氏のブログ記事 "AI Winter Is Well On Its Way" の翻訳です。 追記:Filip Piekniewski氏による記事への補足も合わせてご覧ください。 翻訳:AIの冬はますます近付いている (Filip Piekniewski) AI Winter Is Well On Its Way ここ数年、ディープラーニングはいわゆるAI革命の最前線に位置付けられてきた。そして、多くの人が信じてきたところによると、ディープラーニングは我々をシンギュラリティ (汎用人工知能) という驚異の世界へと導いてくれる銀の弾丸なのだという。2014年、2015年そして2016年には多くの投資が行なわれ、AlphaGo のように新しい境界線が押し広げられていった。テスラといった企業は、CEOの口を通して完全な自動運転車はすぐ近くに迫っている

    翻訳:AIの冬は確実に近付いている (Filip Piekniewski) - Qiita
    netcraft3
    netcraft3 2018/12/01
  • Swiftのエラーハンドリングはなぜ最先端なのか - Qiita

    Swiftのエラーハンドリングは他のメジャーなプログラミング言語のどれとも異なる新しい仕様を持っています。特に、検査例外を持っているのですが、これはJavaで採用された以降はほとんどの言語で採用されていないため、現代では否定されている過去の間違いだったと広く認識されていると思います。そのため、Swiftユーザーで無い人は、検査例外という言葉をみた瞬間に興味を失ってしまうため、その詳細がなかなか世の中に伝わっていないと感じています。一方、私はこんなSwiftのエラーハンドリングをとても気に入っていて、様々な言語の進化の歴史を踏まえた産まれた最も優れた最先端の仕様だと思っています。この記事ではその考えを説明します。 Javaのエラーハンドリング Javaは検査例外を持っています。これにより、あるメソッドがエラーを送出するかどうかを関数のシグネチャとして静的に表明できます。 // 検査例外の例

    Swiftのエラーハンドリングはなぜ最先端なのか - Qiita
    netcraft3
    netcraft3 2018/11/25
  • iMac/MacBook購入後に必ず設定したい設定項目 - Qiita

    背景 iMacmacbookの買い替えなんかで購入直後に設定する項目のメモ ターミナルから設定できます。dotfileとして置いておいて端末購入時に実行するやり方が基のようです。 一度書いてしまえば端末購入のたびに実行するだけで同じ設定のマシンが瞬時に出来あがるのは素晴らしいですね。 vimrc同様に育てていく感覚が大事なのかも知れませんね()。 基的には以下のリポジトリとサイトを参考に記載しています。 https://www.defaults-write.com/ https://github.com/divio/osx-bootstrap/tree/master/core https://github.com/mathiasbynens/dotfiles/blob/master/.macos defaultsコマンドとは 「plist」と呼ばれるアプリやシステムの設定ファイルに、

    iMac/MacBook購入後に必ず設定したい設定項目 - Qiita
    netcraft3
    netcraft3 2018/11/23
  • [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita

    シンデレラがGoで書かれていたら。 という妄想です。 少し長いですがお付き合いください。 TL;DR ソースはここにおいてます https://github.com/lboavde1121/cinderella あらすじ 以下あらすじ。 シンデレラは、継母とその連れ子である姉たちに日々いじめられていた。 あるとき、城で舞踏会が開かれ、姉たちは着飾って出ていくが、シンデレラにはドレスがなかった。 舞踏会に行きたがるシンデレラを、不可思議な力(魔法使い、仙女、ネズミ、母親の形見の木、白鳩など)が助け、準備を整えるが、魔法は午前零時に解けるので帰ってくるようにと警告される。 シンデレラは、城で王子に見初められる。 零時の鐘の音に焦ったシンデレラは階段にを落としてしまう。 王子は、を手がかりにシンデレラを捜す。 姉2人も含め、シンデレラの落としたは、シンデレラ以外の誰にも合わなかった。 シン

    [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita
    netcraft3
    netcraft3 2018/11/20
  • PHPで簡単に永続プリロードできるようになる - Qiita

    PHPはHTTPリクエストが来るたびに全てのPHPコードをバイトコードに変換し、そして実行しています。 毎回そんなことやってるのにあれだけ速度が出るのは驚異的ですが、それでもやはりコンパイルにかかる時間だけどうしても遅くなってしまいます。 そこで、もっと高速化するためにOPcacheのような仕組みが存在します。 これはバイトコードをメモリ上に保持し、リクエストを超えて使い回すことでコンパイルの手間を省略し、高速化を実現するというものです。 効果はというと、単純なものでもターンアラウンドタイムが2/3、大きなフレームワークでは半分以下と、お手軽かつ強力な効果があります。 とはいえOPcacheには、元のPHPファイルに変更があるかどうかを監視したりといった僅かなコストが残っています。 特にバイトコードはファイル単位でしかキャッシュできないらしく、extendsなどで別のファイルを参照している

    PHPで簡単に永続プリロードできるようになる - Qiita
    netcraft3
    netcraft3 2018/11/13
    PHPは滅びぬ。何度でも蘇るさ。PHPの力こそ人類の夢だからだ。
  • Qiitaでお金が稼げるなら質の高い記事がもっと増えるのではないかという提言 - Qiita

    最近Qiitaで、全ての開発者がQiitaへのアウトプットをやめるべき理由という記事を見つけました。この記事を読んだ率直な感想は、「云わんとしていることは分かるが、解決策間違ってね?」というものでした。 僕は逆に、「Qiitaがこのように変わってくれたら、もっと良記事が増えて、Qiitaへ来る人が増えて、日エンジニア界隈がさらに盛り上がるのではないか」という視点で、Qiitaに投稿するという形で意見を書きたいと思います。 意見とは、タイトルにもあるように、Qiitaでお金が稼げるなら質の高い記事がもっと増えるのではないかというものです。 なぜエンジニアはQiitaに記事を書くのか エンジニアがQiitaにアウトプットをする一番大きな理由は、 日エンジニアが集まるプラットフォームとして最大級だから だと思っています。Qiitaに質の高い記事を書けば多くのエンジニアが注目してくれて、半

    Qiitaでお金が稼げるなら質の高い記事がもっと増えるのではないかという提言 - Qiita
    netcraft3
    netcraft3 2018/11/11
    ブログでもnoteでもそうだけど、ゴミ記事を書いている人は「自分は良記事を書いている」と思いながらゴミを書いている。お金が絡んでいても。
  • 今後必要になるプログラム言語

    今後必要になるマスター言語 JAVA RUBY C++ PL/SQL JAVA JAVAアプレット JAVAサーブレット JAVAscript この3つのうちJAVAServletおよびJavaScriptは必須。 条件としてJavaBeansについて的確な知識があり、自分で設計取り回しができるレベル。 JavaBeansの設計とは、JAVA言語特有の空間的なソースやデータの配置を把握してることが条件なので、システムエンジニアへの質問もしくは仕様理解に努めること。 国内外問わずシステムのシェアはWINDOWS主体でありほぼJAVAで統一されている。 さらに動的HTMLなどについてもJAVAサーブレットの知識が流用される。 JavaScriptの知識については特に必要ないがBeansその他に直結するケースが多いので仕様確認。 RUBY この言語についてはJAVAのサブルーチンとしての位置づけ

    今後必要になるプログラム言語
    netcraft3
    netcraft3 2018/11/06
    なにこれw
  • Webパフォーマンス虎の巻

    Webパフォーマンス向上施策のために、今更ながら超速1を読んだので、今までの自分の知見と合わせてまとめてみます。 なるべく柔らかく、改善施策ってまず何をどうすればいいの?という疑問を持った人に向けて書いています。 ▪️格言 そもそもWebは速い。遅くしているのは我々です。大抵は技術の問題ではなくて、人の問題。 引用元: テクニックではなく、今、気で取り組むべきWebパフォーマンス (html5jパフォーマンス部 部長 竹洞さん) 心得 パフォーマンス向上に対する施策は大別すると以下の2通り 軽量化 (単純にやりとりするデータ容量を小さくすること) 圧縮 削除 最適化 (その時に最も適している実装・実行をとること) 経路・順番の変更 非同期 もっとも遅くしている原因を探して、それを対策するのが原則。「対効果」が絶対的正義である。手段から入るのは愚策。まず先に原因を知ることが重要。 ▪️1

    Webパフォーマンス虎の巻
    netcraft3
    netcraft3 2018/10/25
  • 侍エンジニア塾のC言語のサンプルがヤバすぎる。

    C言語はもうかれこれ10年くらい書いていないけど、流石にこれはヤバい。 正直な感想として、ブランド毀損するくらいの危険性をはらんでいると思う。 当該記事からコピーしてきた。 #include <stdio.h> #include <stdlib.h> // 構造体の宣言 typedef struct { int num; char *str; } strct; int main(void) { // 実体を生成 strct *entity; // 動的メモリの確保。確保したメモリをstrct型ポインタにキャスト。 entity = (strct*)malloc(sizeof(strct)); // メンバの初期化 entity->num = 0; entity->str = (char*)malloc(sizeof(32)); // メモリに文字列を代入 sprintf(entity->s

    侍エンジニア塾のC言語のサンプルがヤバすぎる。
    netcraft3
    netcraft3 2018/10/16
  • 学習率の決め方 -LR range testとCyclical Learning Rate-

    記事について 記事では、Deep Learningを用いた学習の要となる学習率の決め方、また学習率更新関数の決め方ご説明します。 これから説明する方法は、米国で数多の機械学習エンジニアを輩出している学習講座 fast.ai に取り入れられている手法で、その手法はDeep Learningフレームワークに導入、または導入検討されているものです。 この学習率決定法・更新関数は導入が簡単な割に、精度が数%上昇したり既存の精度までに到達する学習時間(Epoch数)が半分以下なるため、取り入れないのはもったいないと思いから記事にしました。 この記事は fast.ai 及び 論文『Cyclical Learning Rates for Training Neural Networks』を参考しにしています。 初期学習率の決め方: LR range test LR range testとは 初期学習

    学習率の決め方 -LR range testとCyclical Learning Rate-
    netcraft3
    netcraft3 2018/10/15
  • まだXMLHttpRequestを使ってるの? fetchのすすめ

    JavaScriptでWeb的なプログラムを書いたことがある人は、XMLHttpRequestを使った経験もあるのではないかと思います。XMLHttpRequest,略してXHRは、JavaScript(+DOM)でサーバーとHTTP通信をするための唯一の方法としての地位を長らく保ってきましたが1、ここ3〜4年でより新しいAPIであるfetch APIが登場しました。fetch APIが出たばかりの頃は何だこのおもちゃはと正直思いましたが、いつの間にか仕様が充実していい感じになっていました。 皆さんは、この新しいAPIであるfetchをちゃんと使っているでしょうか。それとも、古いXHRを未だに使っているのでしょうか。この記事では、未だにfetchを使っていない人を主な対象としてfetchの使い方を解説します。(XHRと比較しながら解説するので$.ajaxとかaxiosとかしか使ったことがな

    まだXMLHttpRequestを使ってるの? fetchのすすめ
    netcraft3
    netcraft3 2018/10/11
  • なぜビンゴゲームで同じ数字を書いてはいけないのか

    先日、結婚式の二次会に招待していただきました。新郎・新婦ともに大学時代からの友人です。 歓談中にビンゴゲームが開催されました。私はビンゴゲームに完全に勝利にしたにも関わらず、景品をもらうことができませんでした。 あまりに理不尽な経験だったので、泣き寝入りしてたまるものかと思い、Qiita に初投稿してみようと思います。 ビンゴゲームとは ビンゴはビンゴですよね。「ビンゴ!」って叫ぶやつです。 今回のビンゴゲームは $3 \times 3 = 9$ マスのカードを利用しました。縦・横・ナナメに一直線に 3 マス穴を開ければ「ビンゴ!」になります。 実は、各参加者には白紙のビンゴカードが配られ、各テーブルにはビンゴゲームのルールが書かれた紙が配られていました。下記がその内容です。 真ん中のマスに "free" と書いてください。(i.e. 真ん中のマスはゲーム開始時に穴を開けて良い) それ以外

    なぜビンゴゲームで同じ数字を書いてはいけないのか
    netcraft3
    netcraft3 2018/10/03
  • 【AWS】アカウント契約の準拠法をワシントン州法から日本法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法 - Qiita

    AWS】アカウント契約の準拠法をワシントン州法から日法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法AWS要件定義契約非機能要件AWSArtifact はじめに AWSを利用しているプロジェクトのリーダーは一読ください。 AWSアカウント契約の準拠法と、管轄裁判所を変更する手順をまとめます。 お客様のAWS環境を自社が代行して契約しているようなケースの場合、米国法のままになっている可能性があります。後述するAWS Artifactから、番環境で使用しているAWSアカウントの準拠法を確認することをお勧めします。 AWSを使うプロジェクトでPLが意識すること RFPや要件定義時の非機能要件の確認事項として、「クラウドサービスの準拠法が日法であること」 を確認されたほうが良いと思います。 AWSとの契約のおさらい AWSは米国企業であるため、たとえ東京リージョン

    【AWS】アカウント契約の準拠法をワシントン州法から日本法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法 - Qiita
    netcraft3
    netcraft3 2018/09/27
  • 10年モノのインフラを3年がかりでカイゼンした - Qiita

    CI いちおうJenkinsが立ってました。失敗して赤くなってるジョブが大半で、かといって誰が治すわけでもなく、よくわからないけど失敗したり成功したり、とにかく不安定でした。 CloudWatchのメトリクスで眺めて、EBSのIOPSクレジットの枯渇から激遅になって、Jenkinsジョブのタイムアウト設定で失敗になる、まで明らかにしました。その時の対処は、IOPSクレジット上限サイズの1TBのSSDのEBSを付けることと、同時並行で動けるJenkinsジョブ数に上限を設けることで、落ち着くようになりました。 とはいえ「Jenkinsおじさん」問題があるので、CIをどうにか民主化する必要があります。SaaSから検討して、TravisCIとCircleCIが最終候補になって、トラブルシュートをSSHでできるのを決め手に、CircleCIを導入しました。 8月末にCircleCI1.0が死んだと

    10年モノのインフラを3年がかりでカイゼンした - Qiita
    netcraft3
    netcraft3 2018/09/18
    こういうノウハウは大事
  • 実際のところ「ブラウザを立ち上げてページが表示されるまで」には何が起きるのか - Qiita

    9月15日(土) DNSについて追記しました。バックエンド?今はクラウドがきっと上手くやってくれるので深く考える必要は無いんですよ(知らないので書けません😔) 問題のツイート 面接の質問で「ブラウザを立ち上げてページが表示されるまでの仕組みを全て知ってる限り説明してください」ってのをやると結構Web系の知識どれだけあるか分かると思ってる — 🍛🍺 (@tan_go238) September 10, 2018 解釈 今回は「ChromeのURL欄に入力してからページが表示されるまで」をやります。ブラウザの起動云々はWeb系の話じゃないと信じてます。 1. HTTPリクエストが飛ぶ HTTP2のヘッダ圧縮技術に全て書いてありました。 (追記)下のリクエストヘッダはテキストで書かれていますが、実際にはこれをバイナリにしたものが飛んでいるとのことです。segfoさんありがとうございます!

    実際のところ「ブラウザを立ち上げてページが表示されるまで」には何が起きるのか - Qiita
    netcraft3
    netcraft3 2018/09/14
  • 過去に開発した、高難易度案件の技術概要 - Qiita

    自分語りすみません。自己紹介ついでです 自己紹介 学生の頃ふと図書館においてあった古いゲーム雑誌に 「ゲーム業界では服装も髪も自由だ。黒髪でリクルートスーツ着ている人より、金髪でラフな服装をしている人のほうが きっとエンタテイメントな人生をおくってるに違いない。ゲーム業界では独創的な人は大歓迎だ」 といったリクルート記事をみて 一瞬でゲームプログラマに決めました 学生時代は勉強は出来たけど、集団生活や 授業を聞くことが出来ず常に授業中走り回ってました 大学も3ヶ月で教師と喧嘩して辞めて 東京に出て フリーでビジネスプログラミングをしました 高校時代に ゲームを逆アセンブルして、グラフィックローダや音楽ドライバ等を高速化して 会社に送りつけたりしてたので、すんなり仕事はできました そこからは お金がほしい時はビジネスプログラム、夢がほしい時はゲームプログラムと 業界を行ったり来たりし、ソーシ

    過去に開発した、高難易度案件の技術概要 - Qiita
    netcraft3
    netcraft3 2018/08/26
    すごい…
  • JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita

    一部修正しました UdemyReact コース公開してます。(絶対 Udemy の 1200 円割引価格にはしないので、このリンクから買ってもらうのが一番お互いに得です。) Udemy React + Redux コース 発表における Modern JavaScript とは何か Phase 1 として以下の環境での開発ができれば Modern JavaScript に入門できたものとする。 Webpack, Parcel 等の module bundler による "module system" の活用。 ES2015+ や TypeScript といった "Compile to JS *1" の使用。それに伴う Babel によるトランスコンパイルツールの使用。 ESlint, Prettier といった集団開発における、ソース品質安定のためのツール の使用。 ここまでのツール

    JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita
    netcraft3
    netcraft3 2018/08/23
  • 「世界最悪のログイン処理コード」を解説してみた

    概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、

    「世界最悪のログイン処理コード」を解説してみた
    netcraft3
    netcraft3 2018/08/13
  • OSS を収益化して持続的開発を実現する方法をまとめた - Qiita

    OSS は無償で公開されていても、当然ながらその開発には必ず誰かの時間が費やされています。 バグを修正するのも機能を追加するのも大抵はボランティアで、ほとんどの開発者は兼業で OSS に関わっているはずです。 もしも開発者がフルタイムで OSS に関わることができれば、OSS をより早く成長させられ、開発者としても 楽しい 時間が増やせるはずです。でもそのためには、OSS 活動そのものから収益を生み出すことが必要です。 最近は OSS のサステナビリティ に興味があって、いろいろと調べた+貢献できそうなものを作ってみたので、簡単な Pros/Cons と共にまとめてみました。 オンライン寄付 寄付は一番身近な収益化の方法だと思います。 Open Collective や Patreon などが代表的です。 Open Collective は OSS プロジェクトに対して寄付を募ることができ

    OSS を収益化して持続的開発を実現する方法をまとめた - Qiita
    netcraft3
    netcraft3 2018/08/11