タグ

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

  • HTTP/3が出るらしいという話を雑に書く - Qiita

    概要 インターネットに関する技術の標準化を司る、IETF(Internet Engineering Task Force)のWG(Working Group)において、HTTP-over-QUICが正式にHTTP/3という名前になることで合意が取れました。(ゆきさんからのご指摘内容を修正しました) しかし、そもそもこのQUICやHTTP/3って何なんでしょうか? Webに関わる僕たちエンジニアにとってどういう関わり方をするのか、考えてみました。 この記事は怪文書ですので、雑と書いてあるところは私見として軽く流してください。 追記 詳解HTTP/3を翻訳しました!雑に理解したあとはこのを読んでみるといいと思います。 QUIC・HTTP/3ってなに? QUIC QUICは、Googleエンジニアが提案した仕様が発端となって作られている、新しいトランスポート層のプロトコルです。 従来はgQU

    HTTP/3が出るらしいという話を雑に書く - Qiita
  • 罵声を浴びて疲れた...入社3日目 - Qiita

    はじめまして、PHPプログラマーのアリスです。私はこう見えて日人ですが、母親はイタリア人です。さて、今回は入社3日目の初心者PHPプログラマー仕事でどんなことをしているか書きます。 1日目 1日目は、最初に自己紹介を行いました。 「山田アリスと申します。専門学校でプログラミングを学びました。バックエンドプログラマーとして配属されましたが、最初はわからないことが多いと思いますが、よろしくおねがいします。」 と言いました。歓迎ムードではなく、みんな無表情で手をぱちぱちしていました。 その後、「新人は入社後の手続きをしてください」と言われ、そのとおりにしました。その日の記憶は、それしかありません。 2日目 配属先で何をするかと思ったら、上司から「自分のPCの環境を完璧に設定しろ。後からバカみてぇにコロコロといらねーもん入れたら承知しねーから、今のうちに必要なものは入れておけ」と言われ、Ema

    罵声を浴びて疲れた...入社3日目 - Qiita
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
  • 今後必要になるプログラム言語

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

    今後必要になるプログラム言語
    aosiro
    aosiro 2018/11/07
    そういう世界もあるのかもしれない(震
  • なぜビンゴゲームで同じ数字を書いてはいけないのか

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

    なぜビンゴゲームで同じ数字を書いてはいけないのか
  • プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita

    先日、サイバーエージェントさんの「身に着けた技術をいかに捨てられるか。エンジニア歴39年、今でもエンジニアで居続ける理由。」という記事が大変話題になりました。 プログラミングやテクノロジーが大好きでWeb業界で働いているエンジニアの方の多くは、「可能であれば50代以降も現場で"手を動かすエンジニア"として働きたい」と考えてらっしゃると思いますが、平松さんのような方はかなり例外的で、Web業界で多数の現場を経験してきた私でも、50代以上の現役エンジニアの方とご一緒にお仕事をさせて頂いた経験は残念ながら一度もありません。 私は現在、雑エンジニアTVというYoutubeチャンネルで、Web系エンジニアのキャリアに関する情報を色々と発信させて頂いているのですが、視聴者の方から「Web系エンジニアの50代以降のキャリア」に関してご質問頂いても、完全に未知の領域になる&ロールモデルとなる方があまり

    プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita
  • 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
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
  • staticおじさんの逆襲 - Qiita

    実はオブジェクト指向ってしっくりこないんです! 私はJavaでキャリアを始めたので、当然、オブジェクト指向を前提としてプログラミングを学んでいきました。オブジェクト指向の概念を聞いたとき、なるほどこれはよくできているなと思ったのを覚えています。オブジェクト指向では、現実世界の「もの」をそのままオブジェクトに表現します。なるほど、合理的でプログラミングが簡単になるように感じます。ちょうど現実のものを操作するようにプログラミングができるのですね。 実際にオブジェクト指向でプログラムを書こうとして分かったのは、私が作っているのはコンピューターのコードであって、現実のものではなかったということです。ArrayListって現実の何に対応するんでしょうか? 棚? 「プログラミングはデータの入出力と、その変形のことだ」というデータ指向プログラミングの考えを知ったことが、決定的にオブジェクト指向への興味

    staticおじさんの逆襲 - Qiita
  • Node.js でちょっとしたサーバーサイドやるなら、 Micro が良いかも - Qiita

    ZEIT が作っている Micro という Node.js のフレームワークがあり、使いやすそう。 ZEIT は、かの Next.js を作っていて、 Mongoose を作った人や socket.io を作った人が所属しており、とても信頼できる。 ちなみに、 ZEIT は Now という、 Node.js (及び Dockerized されたもの)を動かせる、サーバーレスのサービスもやっている。 ZEIT(時) と Now(今) という世界観が良いですね。 初動が早くて、快適だった。 [追記] 何かに Micro 8 と書いてあって、最初、そういう名前のフレームワークと思ったのですが、実際は 8 はバージョン名で、 Micro のようです。また現行バージョンは9でした。 多分これ https://zeit.co/blog/micro-8 [/追記] Features README の F

    Node.js でちょっとしたサーバーサイドやるなら、 Micro が良いかも - Qiita
  • 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita

    開設して3週間ほどで収益10万円を個人開発サイトから得たので、そこでやったことを全部ここに公開する。 世の中には**億ドルのバリュエーションを獲得したスゲー起業家の話か、個人開発サイトを立ち上げたものの収益なんてゼロに近い話かの両極端しか無いように感じる。 パッと立ち上げてだいたい1ヶ月でiPhoneXが買えるぐらいのサイト規模というのは、どんなレベルのエンジニアでも手が届く範囲内にあるのが実感だ。「人生賭けて起業!」とかそんな熱い話ではない。普段の仕事が終わったら、ちょこちょこコードかいて個人的にアプリを公開して収益を得る、ぐらいの話。「1億総クリエイター時代」ではこんなやり方が世の流れに合っている気がする。 この記事でも「エンジニアアウトプット至上主義であるべき」と主張している。自分で主張するからにはやっぱり得たノウハウは全部公開するのは当然だな、と。だいたい数週間で収益が10万円な

    開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita
  • AWS、何から勉強したらいい?に対する俺の答え - Qiita

    このツイートがわりと好評だったので解説。 「AWS、何から勉強したらいい?」に対する俺が考えた回答がこれ。 pic.twitter.com/ouuP3P27Bu — 伊藤 祐策(パソコンの大先生) (@ito_yusaku) 2018年4月17日 これは誰向け? メンテナー以上の領域を目指す人向け。 オペレータ ... システムの運用、監視、障害調査&対応をする人 メンテナー ... システムの拡張、改善をする人 アーキテクト ... システムを1から設計、構築する人 解説 各科目の選定基準 必修科目 ... AWS番運用するにあたって絶対に避けては通れないサービス。 重要科目 ... 間違った設計をすると、あとから取り返しがつかないサービス。 選択科目 ... 学習量を削るために仕方なく必修から外したが、Webサービスを構築するにあたりほぼ必須となるサービス。 必修科目で押さえておく

    AWS、何から勉強したらいい?に対する俺の答え - Qiita
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • 工数見積もりのコツ - Qiita

    はじめに 稿では、仕事をする上での作業工数の見積もり方法について説明します。 工数とは何か 工数(こうすう1)というのは、仕事において、あるひとつの作業を完了するまでにかかる総累計時間のことです。情報処理技術者試験に出てくるTAT(ターンアラウンドタイム)とは意味合いが異なります2。 例えば、ある作業に40時間(40H3)かかるとした場合、工数は40時間であるといえます。1日8時間勤務だとした場合、40時間は5人日(にんにち)と表現することができます。さらに、1ヶ月20日勤務だとした場合、0.25人月(にんげつ)と表現することもできます。 一般的に工数の単位は「人日」および「人月」で扱います。 学生時代は工数を気にすることはないですが、ITエンジニアとして会社で働くようになると、かならず工数を意識する必要があります。 なぜ工数を意識する必要があるのか なぜ工数を意識する必要があるのかとい

    工数見積もりのコツ - Qiita
  • 2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

    可及的速やかにReactが絶滅しますように。 以下はFront-End Developer Handbook 2018の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール 開発者向けドキュメント、APIリファレンス Dash 200以上のAPIリファレンス、100以上のチートシートを一括ダウンロードできる。有料、Mac用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。有料、Windows用。 Zeal WindowsLinuxMacOS用各種揃っている無料のオフラインドキュメント。 チートシート devhints.io JavaScriptCSSGovim等のショートカット、書式などチートシート。字が薄くて見辛い。 SEOツール Key

    2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
  • 「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita

    自己紹介 こんにちは。 Hirozといいます。 タイトルにある「中年の危機」は、かっこよく言えば「ミッドライフ・クライシス」と言うそうです。 私は、そんな中年の危機ど真ん中の文系非エンジニアのアラフォーおっさんです。 35歳くらいから「このままでいいのか」と思うようになり、葛藤の迷宮に入り込んでしまいました。 今もまだ抜け出せていません、たぶん。 その過程で「組織の肩書きによらない素の自分の力でやってみたい」、「直接人の役に立つ実感が得られることがしたい」と思うようになり、それを具現化する手段としてWEBサービスを造ってみたいと思うようになり、2017年12月にWEBサービスをリリースしました。 自分でプログラミングを習得しながら作るぞと思ったのが2017年の2月。 開発環境作りなどのトラブルに翻弄され、格的にコードを書き始めることができたのは2017年の5月末。 そこからコツコツと開発

    「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita
  • Javaではif (isAdmin == true)というコードを書いてはいけない - Qiita

    はじめに 当たり前だと思うのですが、意外と守られていないことがあります。その1つの例として、条件分岐でのbooleanの扱いを挙げてみます。 ~~タイトルには「Javaでは」と書きましたが、おそらくどの言語でも同じです。~~JavaScriptなど他の言語では当てはまらないので取り消します1。 何がダメか 明確にコーディング規約で否定しているケースもありますが2、Javaでは以下のようなコードは書いてはいけません。 if (isAdmin == true) { // isAdminがtrueのとき } if (isAdmin == false) { // isAdminがfalseのとき }

    Javaではif (isAdmin == true)というコードを書いてはいけない - Qiita
  • エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita

    はじめに 時の経つのは早いもので、私がIT業界に身を置いて四半世紀になってしまいました。 その間、膨大な数の「設計書(仕様書)」を書いて来ましたが、未だに悩み・迷いは尽きません。 それでも、亀の甲より年の劫とも申しますので、私なりの経験則を「個人」と「チーム」の両観点でまとめてみました。 稿のテーマは、「主に設計書を想定した、開発ドキュメントの書き方」です。 稿で前提とする設計書は、ExcelやWordで書かれた、フォーマルな(≒納品物になりえる)設計文書、です。 したがって、自社サービス開発よりも受託開発、アジャイルよりもウォーターフォール、を前提として読んでいただいた方が、しっくりくると思われます。 <ご注意> 稿の内容は執筆者独自の見解であり、所属企業における立場、戦略、意見を代表するものではありません。 個人的に心がけていること 当該文書の作成目的や位置付けを冒頭に記載する

    エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita
  • “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita

    Double O というサービスを作りました。 フロントエンドはピュアな Web Components を採用していて、バックエンドは Lambda と DynamoDB のみで構成しました。 (厳密には CloudFront とか API Gateway とかもあるけどそこは省いていいよね?) REST API 以外の Util 系の Lambda 関数はすべて AWS Cloud9 で管理することで環境構築も不要な Lambda ができて楽でした。 TL;DR サーバーレスについてはごく普通のことしかしていないので、詳しくは触れないでおきます。 ピュアな Web Components だけでサービスを成立させることができた。 HTMLElement クラスを継承するだけなのでメジャーライブラリは不要になった。 Web Components の Custom Elements は標準仕様

    “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita