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

  • 「ゼロトラストネットワーク」を読んだので要約する - Qiita

  • Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita

    はじめに Pythonは今最も習得希望人口の多い言語である。 それはヘビーなデベロッパーからライトなオフィスコンピューティングまで多岐にわたる。 おそらく「Pythonを使えば○○ができる」と喧伝されているのを見聞きしているからだろう。 この記事ではそんなPythonを一から導入し開発できるようにすることを主にする。 OSのセンテイ Pythonの開発でもっとも優れたOSはWindowsである。 単純にPython.orgの公式から対象のバージョンをいくつか選んでダウンロードして適当にインストールすればそれですべてを始められるので、MacLinuxのようにシステムデフォルトと別verとのインストール共存やパッケージ管理ツールを意識する必要はない。 パスは通るし、複数のバージョンを同時に入れてもビルドバージョンですら分けて共存できるので簡単。 処理系 Pythonはインタプリタ界の変態言語

    Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita
  • フロントエンドを100倍速くした( ^ω^) - Qiita

    おはようございます、なのくろです。年の瀬ですね。 この記事は ABEJA Advent Calendar 2020 の最終日です。 追記:おかげさまで Qiita LGTM賞 を受賞いたしました、ありがとうございます! 私は2020年01月にABEJAへ入社しました。チームではフロントエンド開発全般を任されています。 参入してちょうど1年が経過しましたので、今年取り組んだことをまとめました。 「フロントエンドを100倍速く」というタイトルは誇張気味なのですが、難しいことはせず、基的なパフォーマンス改善を素直に実践したという話を書きます。 稿では事例とやったことを紹介するのみですが、何かしらの知見や改善のきっかけに役立てば幸いです。 サービスについて 話をする前に、どんなサービスを開発しているかについて少しだけ触れます。 ABEJA社では「Insight for Retail」という、小

    フロントエンドを100倍速くした( ^ω^) - Qiita
  • 文字列からリソースIDを取得する - Qiita

    随分前にブログに書いたのですが、アクセスが多かったのでこちらにも書きます。 http://t-kashima.hateblo.jp/entry/20110203/1296748262 ここでは色々な方法でリソースIDを取得する方法を説明します。

    文字列からリソースIDを取得する - Qiita
  • [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita

    こんにちは、べログシステム部長の京和です。 エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 べログではユーザーや飲店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、

    [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita
  • Python コードの高速化のアプローチ - Qiita

    はじめに こんにちは。こんばんはかもしれません。爲岡 (ためおか) と申します。 2020年4月から株式会社グロービスにて機械学習エンジニアとして働いています。 グロービスでは機械学習技術を利用したプロジェクトや、データ基盤の運用改善プロジェクトを担当しています。 機械学習技術を利用したシステムには様々なものがあると思いますが、 現状のグロービスにおいては、ユーザのリクエストに対して機械学習を行い、 すぐに結果を返す必要があるようなシステムは扱っておらず、 ある程度の時間をかけて学習、推定した結果を非同期にアプリケーションに連携するシステムのみを扱っています。 ゆえに、今のところは機械学習技術を利用したロジックを書くときに、速さを意識することはあまりありません。 一方で、空いている時間に競技プログラミングをやっていることもあり、 高速なコードについて考えたり、書いたりすることは個人的には好

    Python コードの高速化のアプローチ - Qiita
  • 自作コンパイラ基盤の話 - Qiita

    これは、言語実装 Advent Calendar 2020 19日目の記事です。 最近は、コンパイラやインタプリタなどの言語処理系や、それに類するものを作る人が増えてきています。(私の周りだけかもしれませんが。) しかし、もう一歩進んで、コンパイラ基盤を作ってみたという話はあまり聞きません。 コンパイラ基盤は、それの対象とするアーキテクチャについてや、それ自体の使い勝手を考えるのが非常に面白いものです。また、コンパイラ基盤を作る中で、コンパイラや計算機自体についてより深く学ぶことが出来ます。 この記事では、私が開発中のコンパイラ基盤を例として、コンパイラ基盤について語っていきます。 そもそもコンパイラ基盤とは コンパイラ基盤と言えば、近年色々な所で目にするのがLLVMです。 LLVMを使うことで、コンパイラの複雑で面倒な部分を避けつつ、コンパイラを構成することができるようになりました。 下

    自作コンパイラ基盤の話 - Qiita
  • 結局、Go言語をやめる理由はなかった件 - Qiita

    この記事は Go 2 Advent Calendar 14日目の穴埋め記事です。 はじめに @okdyy75 さんによる Go 5 Advent Calendar 14日目の の記事「だから僕はGo言語を辞めた」 が「ベンチマークっていうのはこうやるんだよ」というのを説明するために反面教師的な意味で良い教材だと思ったので、反証記事を書きたいと思います。 ベンチマークを取りながらコードを改善して、最終的にGoは遅くないからやめる必要はないということ、そして、なぜ遅いという結論になってしまったのかを掘り下げていきたいと思います。 下準備 幸いなことに、ベンチマークのソースコードがGitHubにある ので、こちらを実行しながら問題点を改善していきましょう。 ちゃんとコードが上がっているのは素晴らしいですね! 一方で、元記事には測定環境が明記されていませんでしたので、同じ環境で測定することはできま

    結局、Go言語をやめる理由はなかった件 - Qiita
  • 桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita

    この記事は「データ構造とアルゴリズム Advent Calendar 2020」16日目の記事です。 15日目の記事はyurahunaさんの「木分解上の動的計画法」で、 17日目の記事はtsukasa__diaryさんの「Lawler の K-Best 列挙アルゴリズム」です。 この記事内で使用しているプログラムやそのテストプログラムは全て以下のGitHubリポジトリで閲覧可能です。プログラムの詳細に興味がある方はこちらをご覧ください(ついでにStarを押していってくれると喜びます🙂)。 Github: ashiba/Imprementation_of_IKERUKANA: Momotaro Dentetsu is a game. 変更履歴 2020/12/21に「最終的に貧乏神が付かない移動方法 ~貧乏神持ちの場合~」, 「最終的に貧乏神が付かない移動方法 ~貧乏神がついていない場合~

    桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita
  • 5歳娘「パパ、型はドキュメントだよ?」 - Qiita

    とある休日 娘(5歳)「パパ、今日はお休みだから一緒にゲームしよ?」 ワイ「ええで!なんのゲームする?」 ワイ「スーパー正男ブラザーズでもやろか?」 娘「ううん」 娘「コードジャンケンしよ!」 ワイ「なんや、その恐ろしそうな名前のゲームは。。。」 娘「なんか仕様を決めて、どっちが読みやすいコードで実装できるか勝負するの!」 ワイ「おお、ええで」 ワイ「流石に5歳児には負けへんで!」 ワイ「6歳児だと危ういけどな!」 娘「じゃあ、ママ」 娘「何か仕様をちょうだい!」 よめ太郎「ええで」 仕様: 数値を文字列に変換する よめ太郎「仕様、考えたで」 よめ太郎「数値を文字列に変換する、っちゅう内容や!」 【いま考えた仕様書】 とあるAPIから0〜2の数値が返ってくるとする 0〜2の数値は、ユーザーの申込進捗状況を表しているものとする 0〜2の数値は、それぞれ以下の状態を表している 0 → 申込書到

    5歳娘「パパ、型はドキュメントだよ?」 - Qiita
  • [Swift] iOSアプリ開発の基本情報と学習ソース - Qiita

    はじめに 稿では、iOSアプリ開発に関する初歩的な情報を共有します。 ※稿の情報は2020年2月現在です。 Xcode + Swiftによる開発を前提として記述しています。 私の認識違いなどがありましたらコメントでお知らせいただけると幸いです。 iOSアプリ開発に必要なもの Mac iOSアプリの開発ツールの"王道"は、Appleが提供しているXcodeです。 XcodeはMacでのみ動作します。 まずはMacの操作に慣れる必要があります。 Mac をはじめてお使いになる方(Apple公式) Xcode Xcode(エックスコード)はAppleが提供している、無料の統合開発ツール(IDE)です。 iPhoneiPadMacApple Watchのアプリを開発することができます。 Apple製品ユーザーであれば、Apple IDはお持ちかと思います。 MacApple IDがあれ

    [Swift] iOSアプリ開発の基本情報と学習ソース - Qiita
  • 技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita

    はじめに 稿は、ソフトウェア開発を進める際に直面する様々な技術的な意思決定やライブラリ・フレームワーク・XaaS等を選択し正しく活用していくのかについての考え方をサポートすることを目的としています。「すべてにおいてこのようなワークフローを通じて検討すべきである」という主張ではありません。読者の抱える問題領域に応じて、必要な箇所を取捨選択するための1種の考え方を提供するものです。 そもそもアーキテクチャ・技術選定に時間をかけるべきか まず第一に伝えておきたいことは、技術選定やアーキテクチャ設計に常に慎重であるべきではないということです。ソフトウェアの規模やライフサイクルに応じて、そもそも時間をさく必要がないということも多くあります。書き捨てのシェルスクリプトにも読みやすいコードを求めて書くことは非常に重要ですが、だからといって組織だって議論・検討するようなものでもないのです。一方で、5年も

    技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita
  • ライブラリの紹介文でよく見かけるけどいまいち意味が分からない英単語 - Qiita

    ライブラリの紹介ページや GitHub のリポジトリで登場する「割と見るけど意味はよくわからない単語」をまとめてみました 誤りがあればガンガン指摘してもらえると助かります opinionated 意味をググると「[形容詞] 自説を固執する」という謎の和訳が出てきて理解を諦める方もいるんじゃないでしょうか opinionated については色々な記事で紹介されています https://qiita.com/baby-degu/items/7dc4548bf7befc2671f4#opinionated%E3%81%A8un-opinionated https://stackoverflow.com/questions/802050/what-is-opinionated-software プログラミングの文脈に落とし込むと「ライブラリやフレームワークが定義したやり方に利用者(プログラマ)を従わ

    ライブラリの紹介文でよく見かけるけどいまいち意味が分からない英単語 - Qiita
  • 管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita

    自己紹介 職のエンジニアではありませんが、ちょっとICT系に詳しそうなやつって感じで、部署のサーバ管理を任されたりもしています。 背景 私の(当時所属していた)部署では、毎年、数週間かけて前年の各人の業務実績をとりまとめて一つの冊子(PDF)にするという仕事があり、この作業を少しでも自動化するため、Webサービスが内製されました。当初は単純に各ユーザが自分の業務実績一覧をテキストで用意してアップロードするというものでしたが、秘伝のタレのように毎年少しずつ改良されたり、大幅に作り直されて別システムから業務データを取り込んでからブラウザ上で編集できるようになったりしつつ、なんやかんやあって私が引き継ぎます。他にやりたい人もなく、ひとり鯖管です。OSはCentOS6でした。 このシステムでは、毎年新しいデータを編集するため、その作業開始時にデータを初期化する必要があります。この作業も自動化し、

    管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita
  • 0歳娘「パパ、型を作る関数はないの?」 - Qiita

    2015年、とある休日 よめ太郎「あ・・・あんた!」 よめ太郎「こっち来て!!!」 ワイ「ど、どうしたん?」 ワイ「えらい大っきい声出して」 よめ太郎「娘ちゃんが初めて立ったんや!」 娘(0歳)「ヨチ・・・ヨチ・・・」 ワイ「おお・・・!」 ワイ「これはめでたいこっちゃ・・・!」 娘「・・・パパァ・・・」 ワイ「!?」 ワイ「いま、パパ言うたで!?」 ワイ「立ったと同時に言葉も喋れるんか!?」 ワイ「なんて末恐ろしい子や・・・!」 娘「・・・エテ・・・教エテ・・・」 ワイ「な、なんや喋っとるで・・・」 ワイ「なんや、娘ちゃん・・・?」 娘「・・・パパ・・・」 娘「・・・プログラミング・・・教エテ・・・」 ワイ「ファッ!?」 ワイ「Hello, World!でええか・・・?」 よめ太郎「いや、Hello, World!は産声で言うてたわ」 ワイ「せやった!」 ワイ「お医者さんが思わず・・・」

    0歳娘「パパ、型を作る関数はないの?」 - Qiita
  • Rustの日本語書籍紹介 - Qiita

    はじめに この記事はRust Advent Calendar 2020の3日目です。 今年の春から夏にかけて、「実践Rustプログラミング入門」というを書いていました。お陰さまで売上好調のようでありがとうございます。(ちなみにちょうど昨日、電子書籍版も出ました) このを書くにあたって、すでにいくつかRustの日語書籍があるなか新しいを出すということで、既刊との差別化をどう図るかは考えないといけないと思っていました。その時にRustを一通り読み直したので、それぞれどのようなであるかを簡単にまとめておこうと思います。 基的な書誌情報に加え、Rustコンパイラのバージョンとエディション、内容のざっくりとした方向性(実践よりか文法解説よりか、といったような)を書いていきます。いくつかのにはよく使われる呼び名があるのでそちらも書いておきました。 Rustはいろいろなプログラミング言語

    Rustの日本語書籍紹介 - Qiita
  • 今時のPythonはこう書く2020 - Qiita

    はじめに システム作ってるとかライブラリ作ってるみたいなある程度Pythonを綺麗に1書くことが求められる方々に向けた記事です。 (機械学習系のライブラリを使うためにPython書いてる方とか、初学者の方にはちょっとあわないかも知れません) 綺麗に書くための作法の難しさって共有が面倒なところだと思うんですよね。その書き方は間違いじゃない、間違いじゃないけどもっといい書き方があるぞみたいなやつってなかなか指摘し辛いですし、じゃあ1人に対してレビューしたら他のメンバーにはどう伝える?そもそも伝える必要?俺の工数は?みたいになりがちです。 一番いいのはこういう時はこう書く!みたいなドキュメントを作って「ドキュメント違反です」ってレビューをしてあげることなんですが、まーそれもそれで超面倒じゃないですか。なのでこの記事がそのドキュメントの代わり、とまではいかなくとも礎くらいになればいいなと思って書き

    今時のPythonはこう書く2020 - Qiita
  • ニコニコで12年運用した決済システムを移行する上で必要だったこと - Qiita

    はじめに 今日は、ニコニコのプレミアム会員サービスを支える「プレミアム課金システム」を動画システムのモノリスから切り出し、変更可能にしていった過程について書きます。プレミアム課金システムは金銭を扱うシステムですので、「(特に、失敗した)話を聞くのは面白いけど、自分で触りたくない」と思われる方も多いのではないでしょうか。 この記事では、決済にかかわるシステムでも一般的なシステム改善の方法が適用できることをお伝えしたいと思います。また、コストを抑えつつ着実なシステム改善を行う方法論としてもご理解していただけると嬉しく思います。 背景 プレミアム会員サービスについて 月額500円(税別)のプレミアム会員制度には159万人(2020年9月末現在)の方が加入してくださっており、ニコニコ事業を支える主要な有料サービスです。 ニコニコ動画は2006年にサービスを開始し、2007年にプレミアム会員サービス

    ニコニコで12年運用した決済システムを移行する上で必要だったこと - Qiita
  • 本番環境でsudo yum updateしてサービスが動かなくなった - Qiita

    EC2 (Amazon Linux) Apache php7.1 私がやってしまったこと この事件が起きたのは2020年6月。既に稼働しているWebサービスでとあるデータ取得の処理が止まってしまっているので調査してほしいと頼まれました。また、サービスに影響が出るものだからなるべく早めに対処してほしいと言われました。 マネージャー 「今日の夕方までにはお願いね。もし難しそうだったら午後イチで一旦MTGしよう。14時までに連絡をください。」 わたし 「任せてください!」 ・・・・ とは言ったものの、番サーバーで起きている障害の調査は今までやったことがありませんでした(もちろん番サーバーにログインしたこともない)し、進め方も全く思いつきませんでした。しかも、対応するサービスの開発には携わったことがなく、sshログインの設定から行う次第でした。 まあ、今まで頼まれたタスクを期限内に終えられなか

    本番環境でsudo yum updateしてサービスが動かなくなった - Qiita
  • Rust、こんなときはこう書こう - Qiita

    こんにちは、Rust2 Advent Calendar 2020の1日目を担当させていただくyasuo-ozuです。 今回は特にまとまったネタを思いつかなかったのでtips集としてお送りします。有名なものばかりで恐縮ですが、何かありましたらご指摘いただければ幸いです。 Enum型の要素を賢く使う イテレータを Option でマップしたいとき、通常では以下のようにすると思います。 let v = vec![1usize, 2, 3]; let v = v.into_iter().map(|v| Some(v)).collect::<Vec<_>>();

    Rust、こんなときはこう書こう - Qiita