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

  • プログラミング勉強を加速させる7つの習慣 - Qiita

    記事は自分が運営するブログに転載しています 株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』16日目の記事です。 はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、 社会人になってWebエンジニアとして初めてまともにプログラミングを勉強し始めました。 入社するまでに独学で勉強の真似事をしてはいましたが、そもそもどうやって勉強していいのか全然わからず、 を読んで写経をして何故だか理由はよくわからないが動作してしまうミニブログを眺めては、ため息を付いて挫折を繰り返しておりました。 そんな初心者だった自分が、Webエンジニアとしてべていくために気で努力して身につけたノウハウを、 「プログラミング勉強を加

    プログラミング勉強を加速させる7つの習慣 - Qiita
    enya_r
    enya_r 2016/12/16
    "車輪の再発明を積極的にする"
  • Taskを極めろ!async/await完全攻略 - Qiita

    この記事は、 Task.Runを書けばとりあえず非同期で動くのはわかる 時々なんかうまく動かなかったりするけどどうして動かないのかはよくわからない よくわからないまま書いてよくわからないまま動いてるけどこれで大丈夫なのかわからなくてこわい みたいな人を対象にしています。 Taskクラスとasync/await 皆さん、非同期してますか?当然してますね。同期処理が許されるのはC#2.0までだよねーじゃなくて、async/awaitはC# 5.0から導入された、Taskクラスと紐付いた言語構文の一つです。登場はもう数年前なはずなんですが、未だに新しい言語仕様な感じがしてフシギです。それでもさすがに今は馴染んでいて、どこにでも遠慮なく飛び出てくるようになっています。 Taskの難しさ Taskは、難しいです。 Taskがというよりは、非同期処理自体が持つ複雑さが根に存在するため、いくらシンプル

    Taskを極めろ!async/await完全攻略 - Qiita
    enya_r
    enya_r 2016/12/14
  • 筋トレを継続する技術 - Qiita

    筋肉 Advent Calendar 201611日目の記事です。 やってみたいと思う人が10万人いて、やってみる人が1000人いて、諦めずに継続する人が10人いる。こう考えると案外ライバルって少ないだろ?10万人見て競争にビビるな。先ずやれ。そして継続しろ。行動に移せる事、継続できる事は立派な才能だ。人生一度きりだ。縮こまってないで派手に行け。 — Testosterone (@badassceo) 2016年12月6日 という訳で、筋トレをはじめて2年ちょっと、その間に継続・習慣化するためにやってきたことを書く。 自宅でやる 「着替えるの面倒」とか「雨降ってるし、、」とか、そういう影響を受けないようにする。 そもそも人見知りのひきこもりおじさんにジム通いとか無理。 準備運動 トレーニング前に必ず準備運動をやる。 気分が乗らないときも、とりあえず準備運動をやる。 準備運動やったあとに「と

    筋トレを継続する技術 - Qiita
    enya_r
    enya_r 2016/12/12
  • 家族👨‍👩‍👦‍👦はreplaceされてしまうのか?あるいはZWJの話😂 - Qiita

    こんにちは、@todokrです。これは絵文字 / Emoji Advent Calendar 2016 3日目の記事です。 さっそくですがクイズです。以下のJavaScriptのコードの実行結果はどうなるでしょうか? (すぐお試しいただけるようgistにコードをアップしてみました) ... ... ... 結果はこちらです。 なんと!ママが入れ替わってしまいました! 「家族」の1文字に対してreplace したのに何故でしょうか? 「なんだこの文字は!?」に遭遇したらやることはただひとつ、そう16進ダンプでバイナリを見ることです。1 まずはプレーンな「家族」の絵文字から見てみましょう このようなテキストファイルを用意します。 odコマンドでダンプした結果が以下です。 エンコーディングはUTF-16なので2バイトずつで0xD83Dと0xDC6Aですね 先頭バイトの0xD83Dが上位サロゲート

    家族👨‍👩‍👦‍👦はreplaceされてしまうのか?あるいはZWJの話😂 - Qiita
    enya_r
    enya_r 2016/12/03
  • 高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita

    画像: N高等学校課外授業(N予備校)での生放送授業のブラウザ上での見た目、コメントが書ける 目次 はじめに 教えることになったきっかけ Web企業にエンジニアとして就職できるようになる、というミッション 既存のWeb教材に感じた問題意識 「各自進められるゲームブック形式の教材」と「徹底的にフォローする生放送授業」 コンセプトをもとに構成されたコースと内容 ゼロからプログラミングができるようになった人が生まれた日 永劫、プログラミングは一部の天才たちのためのものか? プログラミング学習のモチベーションの課題と対応 まじめなオタクたちが社会をよくしようと頑張ること さいごに はじめに 自分はこの8ヶ月間、Web上で非対面のプログラミング教育、具体的にはHTML教材と生放送授業を中心としたプログラミング教育をN高等学校の生徒に行ってきました。 ここに書かれている内容は、これからプログラミング教

    高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita
    enya_r
    enya_r 2016/12/01
    "たとえば自分がやっている仕事のドメイン(業務領域)で仕事を最適化するソフトウェアの作り手は、自身しかいない、ということがよくあるのです" / "このような利己主義的な雰囲気を払拭しなくてはいけない"
  • Android 7.0でChromeがWebViewを提供するようになった仕組み - Qiita

    Android 7.0からはChromeがWebViewを提供する みたいのはあちこちでバズってる割に、中身の仕組みをちゃんと書いた記事は殆ど見ません。 個人的にはとても残念に思います。 ということで、中を見てみました。 まずは、Lollipopまでのおさらい WebViewのAPIを提供するのが、WebViewFactoryProviderで、 WebViewFactory::getProvider のなかで ネイティブ側の準備:libwebviewchromium.soの探索とロード パッケージ名はgetWebViewPackageName()で取得 Java API側の準備:WebviewProviderの生成と初期化 WebViewChromiumFactoryProviderが内部でWebViewDelegateを実装する みたいな流れの処理があります。 ソースレベルで見たければ

    Android 7.0でChromeがWebViewを提供するようになった仕組み - Qiita
    enya_r
    enya_r 2016/10/26
  • AbemaTV の番組表リニューアルに伴うパフォーマンス改善 - Qiita

    以前の番組表 ↓↓↓ AbemaTV 新番組表 大きく変わったところ チャンネルが横スクロールですべて見れるようになった サイドバーにチャンネル一覧ができた 日付切り替えがセレクトボックスからカレンダー表示になった etc. 今まではチャンネルが 5ch 毎に区切られていたので、わざわざページを切り替えて見ないといけなかったのを、横スクロールですべてのチャンネルが一覧で見られるようになりました。 さらにチャンネル毎の番組表にもアクセスしやすくなり、日付の切り替えもしやすくなったかと思います。 このリリースによって、ユーザービリティが少しでも向上していれば幸いです。 しかし、便利になった反面、このリリースに至るまでに、パフォーマンス面で様々なところで問題になりました。 今回は実際にリニューアル中に課題となった箇所と解決方法の一部を紹介します。 AbemaTV 以外であまり参考にならないかもし

    AbemaTV の番組表リニューアルに伴うパフォーマンス改善 - Qiita
    enya_r
    enya_r 2016/10/14
  • 黒魔術(JavaScript)まとめ - Qiita

    まえがき JavaScript、書いてますか? JavaScriptは今や世界中の人々に愛されています。 stackoverflowの2016年の調査によるとJavaScriptは地球上で最も一般的に使用されているプログラミング言語だそうです。 JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language. link しかしJavaScriptは愛されすぎているが故、しばしば黒魔術のようだと比喩されることも少なくありません。 愛と憎しみが紙一重とはこのことですね。 ということでそんなこんなはどうでもいいのですが、自分もJavaScriptは大好きです。 今回は黒魔術まと

    黒魔術(JavaScript)まとめ - Qiita
    enya_r
    enya_r 2016/10/09
  • Dockerについて基本から最近追加された機能までまとめ - Qiita

    Dockerとは コンテナベースのアプリケーションを仮想化したもの。軽量なVMの様に見えるがこれまでの(VirtualBoxなど)VMでは実現が難しい、不可能であったユースケースを解決してくれる。 ホストOSとリソースを共有するのでリソースの管理がVMより効率的 基的に状態を持たないのでポータビリティが非常に高く、特定の環境に依存することがない 軽量なのでVMと比較し複数のインスタンスを実行することができる DockerHubなどのレジストリを利用することで既存のイメージをダウンロードして実行することができる コンテナとVM VM VMはハイパーバイザを通してホストOSに対してのシステムコールを解釈させるなどの必要がある それぞれのVMには全て独立したOS・アプリケーション・ライブラリが必要 コンテナ ホストのカーネルは実行されるコンテナと共有される(コンテナは常にホストと同じカーネルを

    Dockerについて基本から最近追加された機能までまとめ - Qiita
    enya_r
    enya_r 2016/10/04
  • Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita

    1ワールドで済ますというチャレンジ Nianticの求人を見ていて、凄く驚いたのは、「Software Engineer - Server Infrastructure」での次の項目。 all on a single, coherent world-wide instance shared by millions of users. 対訳 全ての(アクション)は、数百万のユーザーに共有された単一の一貫した(サーバ群で行われる) つまり、ポケモンGOは1ワールドで構成されている。MMOのサーバを作ったことがある人なら5それがどんなに大変かピンとくるだろう。特に、ポケモンGOの様に一日に数百万人とかが遊ぶゲームで、1ワールドでゲーム世界を構築するのは、結構大変だ。6 MMOで1ワールドがなぜ大変か(データストレージとの戦い) MMOの様なオンラインゲームで、1ワールドがなぜ大変かを図示する。

    Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita
    enya_r
    enya_r 2016/09/22
  • UI考:なぜそのセルには押せる感があるのか - Qiita

    この記事の目的 セル(UITableViewCell)は iOS においてもっとも一般的なビューのひとつです。セルを利用することで、コンテンツの表示、選択、スイッチやボタンの配置、テキストフィールド、ナビゲーションを実装することができます。この辺りの具体的な実装例は『設定』や『Apple Store』が参考になるでしょう。セルにはさまざまな役割を与えられますが、どのような作法に従ってデザインされているのかよく理解する必要があります。 セルの一般的な利用作法は iOS Human Interface Guidelines で解説されていますが、私はこれを読んだだけでは十分に理解が及ばなかったため、iOS 標準アプリの事例からセルのデザインについて考察したものをまとめました。この記事では iOS の標準的なセルのデザインパターンを探り、自身のアプリにどう活かせるのかの土台となるよう考察してみま

    UI考:なぜそのセルには押せる感があるのか - Qiita
    enya_r
    enya_r 2016/09/11
  • 新しいマシンやスマフォで Slack の各種チームに入るのが面倒くさい!!!という時 - Qiita

    新しいマシンやスマフォで Slack App で各種チーム(たくさんある)にログインがすこぶる面倒くさい・・・面倒くさい・・・面倒くさい・・・。という経験したことありませんか。私は4回ぐらいあります。1password 使ってるからパスワードもバラバラだしね・・・。 そんなときは https://slack.com/signin/find のページから Find Another Team を押して自分のメールアドレスを入力すると、そのアカウントに紐付いてるすべての Team アカウントにログインできるマジックリンクがメールで送られてくる・・・! あとは各種メーラーで、そのリンクをクリックしていくと、Slack app が立ち上がり自動でそのチームにログインできます。PCでもスマフォでも使えるし、うおー便利、マジックリンクが出来た当初から知っておきたかった・・・!! Register as

    新しいマシンやスマフォで Slack の各種チームに入るのが面倒くさい!!!という時 - Qiita
    enya_r
    enya_r 2016/09/09
  • 知っているようで意外と知らない、DDoSの基礎知識 - Qiita

    どうも先日(2016年9月現在)からさくらインターネット様や技術評論社様でDDoS被害が相次いでいますね。 「DDoS対策しとけ」なんてよく言われていますが、セキュリティにステータス振ってない場合は「DDoSってF5連打じゃないの?」みたいな人も結構いるんじゃないでしょうか。あとはiptablesをとりあえず入れておけば大丈夫なんじゃないの?とか。 Web系の開発者にとってのセキュリティ対策は「フレームワークをちゃんとアップデートする」に尽きるので、フレームワークの脆弱性に依存しないDDoSって意外と知らない事が多いと思います。 知っているようで意外と知らないDDoSの世界、ちょっとまとめてみました。 TL;DR スケールできる設計でDDoSに備えよう nginxは置いとけ、キャッシュは甘く見るな SYN cookiesは入れとこう 最後はカネの力でセキュリティを手に入れろ Akamai

    知っているようで意外と知らない、DDoSの基礎知識 - Qiita
    enya_r
    enya_r 2016/09/06
  • Raspberry Pi 3 で TV チューナー鯖構築 - Qiita

    Raspberry Pi 3 で Mirakurun を動かして TV チューナー鯖にします。 用意するもの Raspberry Pi 3 Model B Ubuntu or Raspbian (kernel 3.16 以上) PX-S1UD V2.0 USB 接触型 IC カードリーダー 地上デジタルテレビ放送波が受信できる環境 TV 用同軸ケーブル USB 接触型 IC カードリーダーは大体何でも大丈夫ですが、迷ったらこちらを買いましょう。 https://www.amazon.co.jp/dp/B017Y8QV4O/ OS (ディストリビューション) は Raspbian が安定するため、お勧めです。録画中に Raspberry Pi が死んでしまっては、 TV チューナー鯖として致命的なので、特に強いこだわりが無ければ冒険しない方が賢明です。(一度失敗したので…) ここでは、手元の

    Raspberry Pi 3 で TV チューナー鯖構築 - Qiita
    enya_r
    enya_r 2016/08/29
    録画鯖
  • 日本の行政機関等が公開しているAPIについてのまとめ(2016年8月17日暫定版。随時更新) - Qiita

    この記事は下記のURLにあるコミックマーケット90で頒布した同人誌と自分が管理するブログの記事を微修正し、転載したものです。 南関東開発機構 : 同人誌「日の行政機関が公開中のAPIについて調べてみた」を公開しました http://blog.livedoor.jp/south_kanto_dm/archives/52143201.html 南関東開発機構 : 日の行政機関が公開中のAPIについてのまとめ(2016年8月17日暫定版) http://blog.livedoor.jp/south_kanto_dm/archives/52143463.html 前書き この記事の目的は、日の行政機関等が公開しているAPIを紹介する事です。 日の情報技術は他国と比較して、立ち遅れている部分があり、これを立て直すのが喫緊の課題であると言えます。 日政府もこの問題に危機意識を持ち、先日、経

    日本の行政機関等が公開しているAPIについてのまとめ(2016年8月17日暫定版。随時更新) - Qiita
    enya_r
    enya_r 2016/08/18
  • 押下(おうか)にまつわる話 - Qiita

    はじめに 私が仕様書を書くようになったのは30歳を過ぎてからと遅く、仕様書の書き方が分からなくて悩んだことがありました。通常は先輩たちが作成した仕様書等を見て書き方を覚えていくのでしょうが、仕様書も無く直接プログラムを組むような体制の仕事をしていたため、SI系に転職してから苦労したのであった。 仕様書を書く際に、ボタンを「Enterキーを押す」か「クリックする」かで考えて「押下」にすれば両方満たすだろうと、それ以来ずっと使用しています。 押下については、コンピューター雑誌やマニュアル等を読んで憶えていた用語で特に気にも止めていなかったのですが、別ブログの仲間が過去に「ボタン押下?」について書いていたことを思い出し、調べてみることにしました。 調べていくと自分は誤用して使っている気がしますw 押下について 読み方 押下は「おうか」と読みます。ちなみに苗字の押下さん(読方:おしした)は全国でお

    押下(おうか)にまつわる話 - Qiita
    enya_r
    enya_r 2016/08/18
  • Github issue で質問してはいけない - Qiita

    この記事は個人ブログで海外向けに書きかけの記事の日語版です。そのため、一部日人向けではない記述が含まれます。 英語版はこちらです Why you must not ask questions on Github issues 現在は GitHub は Discussions を提供しています。 Issue Template から Discussion へと誘導するのがおすすめです。 2023-06-14 追記 TL;DR: Issue Tracker で質問するのは開発者に対する DoS 攻撃になるかもしれない。 Forum がある場合は Issue Tracker で質問してはいけない。 背景 Github の時代になる前は、ある程度の規模のOSSプロジェクトはみんな Issue Tracker と別に フォーラム (BBS, ML など) を持っていました。ユーザーはフォーラムでデ

    Github issue で質問してはいけない - Qiita
    enya_r
    enya_r 2016/08/08
  • 主要でもないプログラミング言語200種を一行で解説 - Qiita

    はじめに 家帰ったら『主要じゃない200くらいのプログラミング言語の雑な紹介』書いてやるから待ってろ — NANAKASE Kotoko (@make_now_just) 2016年7月1日 このツイートがことの発端でした。元ネタは、 主要なプログラミング言語 5種類を徹底解説! - Programming share 主要なプログラミング言語8種をざっくり解説 - shi3zの長文日記 あたりです。上の方の記事の冒頭に、 現在プログラミング言語は、200種類以上存在していると言われています。(実際に利用されているプログラミング言語の数はその10分の1くらいです。) とあったので200言語解説してみようというわけです。 200言語の解説を書くということは仮に1言語1分で書いたとしても200分、つまり3時間と20分の時間がかかるわけで、まぁそれは無駄に時間のかかる作業になります。そうなると必

    主要でもないプログラミング言語200種を一行で解説 - Qiita
    enya_r
    enya_r 2016/07/02
  • スマートメーターの情報を最安ハードウェアで引っこ抜く - Qiita

    はじめに 電力自由化にともない、スマートメーターの設置が進められています。 電力会社が設置したスマートメーターと、各社から販売されているHEMS見える化端末的なモノを導入すると消費電力などをリアルタイムに見ることができるようになります。 しかし!、HEMS見える化端末的なモノは住宅リフォーム業界的なプライス設定ですんごくお高いんです。 そこで、HEMS見える化端末的なモノを安価に自作しちゃおうというのがこの記事の趣旨です。 おことわり 東京電力供給区域での話を前提としていますが、他社供給区域にお住まいの場合は電力会社名を読み替えてください m(_ _)m なお、通信の物理レイヤは各社で決められるのですが、フタを開けてみたら全国Wi-SUN(後述)で統一されてました。購入すべきハードウェアは全国どこでも変わりません。 ハードウェア スマートメーターを設置してもらう 今となっては特別な事情が無

    スマートメーターの情報を最安ハードウェアで引っこ抜く - Qiita
    enya_r
    enya_r 2016/06/05
  • Java API 訴訟の件で私が Google よりも Oracle の肩を持つ理由 - Qiita

    はじめに Java API を巡って OracleGoogle の訴訟が続いています。世間の論調を見ていると、「OracleGoogle」の構図を「プロプライエタリ対オープンソース」と位置付け、あたかも Google が正義の味方であるかのように扱っていますが、この件に関しては、私は逆の立場です。むしろ、「Google けしからん」と思っています。私がそう思う理由をここに書きます。 Java の互換性 Android が登場するずっと前から、業界の皆は、JCP (Java Community Process) に則り、協議の上 Java API の仕様を決めてきました。仕様を策定する際には、RI (Reference Implementation) (リファレンス実装) と TCK (Technology Compatibility Kit) (テスト群) も同時に用意します。

    Java API 訴訟の件で私が Google よりも Oracle の肩を持つ理由 - Qiita
    enya_r
    enya_r 2016/05/28