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

  • pandasで1000万件のデータの前処理を高速にするTips集 - Qiita

    はじめに 当社にアルバイトに来ていた人(来春に新卒入社の予定)に「pandasを高速化するための情報は無いですか?」と尋ねられました。 このパッケージの使い方は多数の書籍やWebで体系立った記事で書かれています。 しかし、高速化に関しては体系的な情報源が思いつかなかったので、「実際に書いてみて、1つ1つチューニングするしかないです」としか答えられませんでした。 そこで、この方を始め、来春(2019年4月)にデータアナリストまたはデータサイエンティストになる新卒へ向けて、pandasの高速化に関する私の経験をTips集にしてお伝えしたいと思います。 この記事は今後も内容を充実させるために、Tipsを追加していきます。 この記事を読んだ後にできるようになること pandasでレコード数1000万件のデータでも1分以内で完了する前処理が書けるようになります。 その結果、1日中実行し続けなければな

    pandasで1000万件のデータの前処理を高速にするTips集 - Qiita
    kojiro-s
    kojiro-s 2018/12/22
    pandas
  • 無料で爆速なWebアプリケーションを作ろう! - Qiita

    動機 日語にはこんな格言があります。 「ただより高いものはない」 「時は金なり」 じゃあ、無料サービスで爆速Webアプリケーションを作れば最高じゃない?? →作りました。 Qiita-Trend-PWA Qiitaいいね数ランキング表示サイト ランキング上位タグの可視化 構成 サーバ 『now』(Node.jsサーバ) データストア 『Firebase』 フレームワーク 『Next.js』+『next-offline』 『now』(Node.jsサーバ) 役割 SEO対策+パフォーマンス対策のためのSSR メリット OSSプラン - FREE → 無料 サブドメイン取得可能 HTTP2対応済 → 爆速 HTTPS対応済 『Firebase』 役割 Qiitaいいね数スクレイピング結果の取得 (CloudFirestore + CloudFunctions + CloudHosting)

    無料で爆速なWebアプリケーションを作ろう! - Qiita
    kojiro-s
    kojiro-s 2018/11/28
    参考にしたい
  • Nuxt.js でバックもフロントもこれ一本

    要約 いまさらNuxt.js使ってみたらすごくいい感じだったので、その導入部分をご紹介。 あらまし 動機 ちょっとしたwebアプリを作りたかったんです。3Dデータファイルの変換をサーバーでやってくれて、変換結果をダウンロードできるやつ。スマホアプリとかから機能を利用できるAPI(別にパーミッションとかユーザー認証は要らない)があって、ついでに手動で簡単に操作できるSPAっぽいフロントエンドもあったらいいな。ああでも面倒クサいです。こんなちんまい機能のアプリこさえるのに時間かけたくないけど、一人でバックとフロント両方やらんといけん。どうしよ。 何使う 以前DjangoVue.jsでこんなことしましたけれど、正直Pythonとjs書き分けるのもダルいです。それにプロジェクト設定も多くて面倒。あー、一つの言語で両方書けてコマンド一発でいい感じに設定されたプロジェクト作ってくれるやつないかなー。

    Nuxt.js でバックもフロントもこれ一本
    kojiro-s
    kojiro-s 2018/10/19
    興味ある
  • 2018年の最先端DevOpsエンジニアになるためのロードマップ

    @rana_kualuさんの 2018年の最先端フロントエンドエンジニアになろう 2018年の最先端バックエンドエンジニアになろう という翻訳記事のDevOps版という感じですが、HackerNoonに投稿されたThe 2018 DevOps RoadMapという記事が個人的に大変参考になりましたので、翻訳してみました。 ちなみに関連記事として 2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 という私の記事もございますので、併せてご参照頂けますと幸いです。 はじめに DevOpsは最近非常にホットなトピックで、私の友人や同僚、シニア開発者のほとんどは、DevOpsエンジニアになるために非常に熱心に取り組んでおり、組織やチームの中で「DevOpsのチャンピオン」として自分自身をセルフプロデュースしていいます。 私自身は、ソフトウェア開発とデプロイプロセスの改善

    2018年の最先端DevOpsエンジニアになるためのロードマップ
    kojiro-s
    kojiro-s 2018/10/10
    ロードマップ。書いてあることは分かるレベルでした
  • [SpringBoot]RestController正常時と異常時で別の型のJSONを返却する

    SpringBootでは@RestControllerを使えばお手軽にJSONを返すコントローラーが作れて大変便利。 @RestController public class HogeController{ @Autowired EmpRepository empRepository; @GetMapping public List<Employee> getEmp(){ return empRepository.findAll(); } } こんな感じにしてあげればEmployeeクラスのリストをJSONにして返却してくれる。 でもでも、エラーのときはエラー情報返してあげたい。 そんでもってその時の型はEmployeeのリストじゃなくてエラーメッセージとかエラーコードとかを返したい。 もちろんHTTPステータスもつけたい。 戻り値の型をStringにしてJSON文字列に変換して・・・なん

    [SpringBoot]RestController正常時と異常時で別の型のJSONを返却する
    kojiro-s
    kojiro-s 2018/09/27
    例外なるほど
  • Pythonによるデザインパターン【Observer】-本日のニュースをお届けします- - Qiita

    参考 @kidachi1さんの記事のRubyの記事のソースコードをpythonに書き換えてます。 https://qiita.com/kidach1/items/ce18d2a926c558159689 @kidachi1さん、いつもありがとうございます。 概要 Rubyによるデザインパターン第5章。 Observer Pattern。 Rubyによるデザインパターン5原則に則って理解する。 この記事はPython どんなパターンか あるオブジェクトの状態に関心のあるオブジェクトに、都度通知を送る。 ニュースの発信源(Subject)とニュースの消費者(Observer)間に綺麗なインターフェイスを用意する。 Subject あるニュースを配信するクラス

    Pythonによるデザインパターン【Observer】-本日のニュースをお届けします- - Qiita
    kojiro-s
    kojiro-s 2018/09/06
    分かりやすい例をありがとう
  • モダンなJava開発ガイド (2018年版)

    2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基的にJava 8以降での開発を想定しています。 OpenJDK/OracleJDK上での開発を想定しています。 Android開発の場合は一部適用できない可能性あり。 英語のIDE、ツール等は積極的に使用します。 英語嫌いだとモダン化は難しい。 Java開発全般を前提としているた

    モダンなJava開発ガイド (2018年版)
    kojiro-s
    kojiro-s 2018/08/25
    モダン
  • RESTful API設計におけるHTTPステータスコードの指針 - Qiita

    RESTful APIを設計した際のステータスコードの指針です。 メソッド別 GET 成功した場合 200 OK:最も一般的 304 Not Modified:条件付きGETでキャッシュを使わせたい場合 POST 成功した場合 201 Created 作成したリソースのURIを示すLocationヘッダを付けておく 議論 200 OKだとまずいのか? 200 OKを応答する実装も多くあり、まずいというわけでもない 200 OKはPOST結果がキャッシュ可能、201 CreatedはPOST結果がキャッシュ不可能として分けてもいいが、そこまでする必要があるか?(POSTのキャッシュは一般的ではない) 204 No Contentだとまずいのか? クライアントがPOST結果を事前に全て知っているわけではないのでNo Contentは不親切では? 失敗した場合 409 Conflict:作成しよ

    RESTful API設計におけるHTTPステータスコードの指針 - Qiita
    kojiro-s
    kojiro-s 2018/08/14
    参考になる
  • 書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた

    記事では、書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」のポイントを抽出する。ただ、削った部分も多いので、ぜひ書籍を購入してほしい。 第1部 イントロダクション ソフトウェアを「一度だけ」動かすのは、それほど難しいことではない。正しくするのは難しい。 ソフトウェアを正しくすると、不思議なことが起こる。開発や保守に必要な人材はわずかで済む。変更は簡単で迅速になる。欠陥の数は少なく、ほとんど出てこなくなる。労力は最小に抑えられ、機能性と柔軟性は最大になる。 「あとでクリーンにすればいいよ。先に市場に出さなければ!」ソフトウェア開発者たちはそう言ってごまかす。だが、あとでクリーンにすることはない。短期的にも長期的にも、崩壊したコードを書くほうがクリーンなコードを書くよりも常に遅い。早く進む唯一の方法は、うまく進むことである。 すべてのソフトウェアシステムは、2

    書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた
    kojiro-s
    kojiro-s 2018/08/13
    “Clean Architecture” 本を探してみよう
  • 「Vue.js + Go言語 + PAY.JP 」でクレジットカード決済できるWEBアプリケーション実装ハンズオン - Qiita

    そろそろカード決済の実装経験しとくかと思い、PAY.JPを眺めたらかなりドキュメントが充実してたので使いやすかった。今後、カード決済するサービスを作るのを見越して決済サービスをgRPCでマイクロサービス化してみた。そのまま Vue.js と Go言語を使い、カード決済できるWEBサービスのサンプルを試しに作ってみた。その実装を簡略化してハンズオン形式で紹介します。 全コードは GitHub にあげてます。 (こちらの画像は僕がVue.js+Goで作ったサービスで運用されています。https://ghlinkcard.com/) 得られるもの Vue.js + Go言語で簡易的なSPAをつくる経験 gRPC で簡単なマイクロサービスをつくる経験 PAY.JP を使ったカード決済の流れの理解 今回使う技術スタック フロントエンドVue.js。サーバーサイドは Go言語で実装します。それ以外

    「Vue.js + Go言語 + PAY.JP 」でクレジットカード決済できるWEBアプリケーション実装ハンズオン - Qiita
    kojiro-s
    kojiro-s 2018/07/23
    決済機能
  • Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita

    ※ 2018/07/21 追記。 お読みいただきましてありがとうございます! すみません、実はタイトルの割には「現在回しているイケてない運用をちょっとした工夫でサクッと改善する」ことを主眼としており、セキュリティのベストプラクティスではありません。。。 稿の例で挙げているコマンドのリスクにつきましては、 注意 の項を追加しましたのでご参照ください。 公開当初は「10いいねくらいもらえたら嬉しいなー」と思っていた程度だったのですが、まさかここまでたくさんの方に読んでいただけるとは。。。 もっと内容を精査しておくべきだったと反省しております。。。 いいねやコメント等反応頂けるのはとても励みになります。ありがとうございます! TL;DR 怖いですよね、セキュリティインシデント。 インフラ系でお仕事をしていると、 Linux にログインして操作する手順書を作る事が多くなります。手順書の中には認証

    Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita
    kojiro-s
    kojiro-s 2018/07/18
    /etc/environmentで環境変数にいれちゃえば?
  • 【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita

    「ようこそ 魔境 SIerへ!」 はじめに この記事は、SIer(Systems Integrator)に入ったシステム開発未経験者の新人さんたちへ送る、研修では教えてくれないノウハウ集です。 実際、弊社の長い研修では実務に使えそうなことをあまり教えてくれませんし、ノウハウは現場の人の頭にしかない状態なので、新人さんは暗中模索で仕事を覚えていくことになります。 それも非効率なので、実際に私が2年半1で失敗したこと、やってきてよかったこと(ノウハウ)を体系化したので共有します。 新人さんは、これを参考として、使えるところだけ今後の業務に持っていってください。 (当はガッツリ社内向けに書いたものなので、一部汎用的でない表現がありますがご了承ください。) 目次 業務面 技術面 プライベート面 の三柱でお送りします。 対象読者 SIerの1,2年目相当であり、学生時代に契約のあるシステム開発を

    【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita
    kojiro-s
    kojiro-s 2018/07/18
    筋トレですね
  • ドメインモデルをコードへ落とす 〜あなたのクラスは、どこから?〜 - Qiita

    annotation: 現在コメントいただいている通り、一部誤りを含んでいる様です。 追って確認・修正いたしますが、現行ではコメントも合わせてお読み頂ければと思います。 こんにちは、風邪はだいたい喉から来るぷーたんです。 「DDDの構成要素はこれだー」というのはたくさんあったのですが、 「このドメインオブジェクトはどの要素だー」と逆引きするものがなかったので調べてフローチャートにしてみました。 例えばドメインモデル図とコードがうまく合致しない時の見直しなどに使えるのではと考えています。 ではご覧ください♪ 検討フローチャート 図1.フローチャート 1) 複数のドメインオブジェクトを扱い、整合性を担保するか まず複数のドメインオブジェクトを扱うかを考えます。 ドメインモデル図では集約線が引かれていたり、複数の関係線が引かれていたりします。 図2.ドメインモデル図の例 上記のような場合であれば

    ドメインモデルをコードへ落とす 〜あなたのクラスは、どこから?〜 - Qiita
    kojiro-s
    kojiro-s 2018/06/23
    ddd
  • ReactとVueのどちらを選ぶか - Qiita

    主に非Web系のバックエンド開発者(C/C++, Java, Python等を使用)がReactVueをそれぞれ簡単に触れて、感じたメリット、思ったことなどをまとめています。 色々と書いてますが、どちらも完成度の高いライブラリ/フレームワークですね。 結論 JavaScript等にあまり深入りせずにWebアプリを簡単に書きたい、あるいは効率的に書くことが目的であればVueの方がお勧めです。しかし開発者としてスキルや設計などについて中長期的にレベルアップを図りたいのであれば、Reactから学ぶことをお勧めします。 何故かと言うと、ReactVueにはそれぞれの利用者に対するスタンスが明確に異なり、Reactの方が利用者を開発者であることを想定/期待しているからです。 Reactは利用者が「開発者」であることを想定/期待します。 What, Whyを重視する 利用者を厳しめに教育する Vu

    ReactとVueのどちらを選ぶか - Qiita
    kojiro-s
    kojiro-s 2018/06/17
    どっち
  • バグだらけのWebアプリケーションをDjango 2(Python 3)で実装してみました - Qiita

    概要 以前紹介したバグだらけのWebアプリケーション「EasyBuggy」のDjango 2.0ベースのクローンをつくってみました(「EasyBuggy Django」)。 以下のコマンドでダウンロードから起動までできます。 $ git clone https://github.com/k-tamura/easybuggy4django.git $ cd easybuggy4django/ $ pip install -r requirements.txt $ python manage.py runserver

    バグだらけのWebアプリケーションをDjango 2(Python 3)で実装してみました - Qiita
    kojiro-s
    kojiro-s 2018/06/05
    Easy buggy
  • ワンライナーでお手軽実行可能なsed入門 - Qiita

    ワンライナー!ワンライナー! みんな大好きワンライナー。 たくさん使いこなせるとイケメンですね^^ 複数行のほうがカッコイイぜという変態の方は大変申し訳ありませんが対象外となります。 普通のコマンドはいくつかの引数(オプション等)を覚えればおしまいですが、sedはそう簡単にはいきません。 sedは、ストリームエディタ(Stream EDitor)の略でテキスト処理を行うプログラムです。文字列を置換したりする際によく使いますね。 sedの書式は、vimなんかでもよく使ったりするので積極的に覚えましょう。 sed書式 # スクリプトを直接指定 $ sed -e 'スクリプト' # スクリプトが記述されているファイルを指定 $ sed -f 'スクリプトファイル名' # 表示を抑制(明示的にスクリプト中でpをすれば表示も可能) $ sed -n 'スクリプト' # 拡張正規表現を使ったスクリプト

    ワンライナーでお手軽実行可能なsed入門 - Qiita
    kojiro-s
    kojiro-s 2018/05/17
    “指定範囲の行を削除” これが知りたかった
  • emacs の org-mode で書いた記事を qiita に投稿する org-qiita.el - Qiita

    背景 私は qiita に投稿する記事を org-mode で書いています。 emacs ユーザを除けば、簡単な文章の作成には Markdown を利用することが多いと思います。しかし、emacs ユーザは org-mode を利用することが多いのではないでしょうか? 少なくとも私は org-mode を利用しています。 org-mode で作成した文章は emacs でしか使えない、と言うことはなく、例えば github では .md と同じょうに .org を対応していますし、org-mode の export 機能を利用すれば様々なフォーマットに出力できます。 私が qiita の記事を投稿する際は、0x60df さんの ox-qmd.el(https://github.com/0x60df/ox-qmd) を利用してorg-mode から Qiita の Markdown 形式に変

    emacs の org-mode で書いた記事を qiita に投稿する org-qiita.el - Qiita
    kojiro-s
    kojiro-s 2018/05/15
    すごいね
  • 2018年のPythonプロジェクトのはじめかた - Qiita

    4/30 公開 5/1 増補改訂: 大幅加筆しました。 この記事では、2018年以降に実現可能になったモダンなPythonプロジェクトのはじめかたを整理して紹介します。 PythonにもPipenvという公式推奨の高機能なパッケージマネージャーが登場し、さらに2018年に入ってからの機能向上で、npmやyarnのような開発体験が得られるようになってきました。 私はここしばらくはフロントエンドやNode.jsに携わっていて、npmやyarnに慣れきっていたせいか、pipenv導入以前はvirtualenvやpipを組み合わせた開発が面倒で仕方なかったですが、Pipenv導入によって一変しました。 これからはPythonプロジェクトがよりクリーンかつ簡単にはじめられるようになり、開発体験も向上するでしょう。 それでは、まずはPythonのインストールからです。 Pythonのインストール P

    2018年のPythonプロジェクトのはじめかた - Qiita
    kojiro-s
    kojiro-s 2018/05/03
    pipenv
  • SpringBoot + BootStrap + DataTablesで選択画面を作成する - Qiita

    選択ボタンで検索画面をモーダル表示して検索結果を親画面に反映するケースを検討します。 1.説明 (1) 解説 画面の入力では、マスタを検索して対象を選択するようなケースがあります。このような場合において、BootStrapのモーダルダイアログの機能と、DataTablesの一覧表示機能を使って実装する方法を検討します。 (2)全体イメージ フォーム上のボタンを押して、モーダルウィンドウを表示します。一覧から対象のデータを選択するとフォームに選択したデータが入力された状態にします。 BootStrapのモーダルウィンドウを使います。 (3)モーダルダイアログの概念図 モーダルダイアログはjQuery DataTablesを使います。データは、Ajaxプロパティに、RestControllerからデータの一覧を返すという仕組みにします。ここでは、ユーザマスタ(Account)としています。 2

    SpringBoot + BootStrap + DataTablesで選択画面を作成する - Qiita
    kojiro-s
    kojiro-s 2018/04/21
    おもしろいサンプル
  • AWS、何から勉強したらいい?に対する俺の答え - Qiita

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

    AWS、何から勉強したらいい?に対する俺の答え - Qiita
    kojiro-s
    kojiro-s 2018/04/19
    確かに