タグ

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

  • RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita

    はじめに 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRoRからScalaに移行したのですが、これが素晴らしく効果が高かったので以下の記事を書きました。 スタートアップである弊社が全員ほぼ未経験でRoRをScalaに移行した理由、その効果と苦労点 しかし、最後に書いたのですが、苦労する点もとても多いです。 弊社CPOが苦労する点を抽象的な部分に関しては以下の記事で書いてくれてはいます。 0からScala番導入して感じたこと・考えたこと - Qiita ただ、実際にコードを書き始めた時に引っかかりやすい点をできるだけ詳しくあげておくことで、導入しようと考えた人がなるべく簡単に導入できるという状況を作りたかったので、書きました。 それではスタートです。 RubyPHP、Py

    RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita
  • スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita

    スタートアップである弊社が全員ほぼ未経験でRuby on RailsScalaに移行した理由、その効果と苦労点RubyRailsScalaポエムスタートアップ この記事を書くに至った経緯 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRuby on RailsからScalaに移行したのですが、その効果が思ったよりだいぶ大きく、いずれこの効果を共有したいなーと思っていました。 弊社ではスタートアップで全員ほぼ未経験状態のScalaを採用するという挑戦をした結果、「Scalaを書きたい」というレベルの高い人材をかなりの確率で捕まえられるようになり、開発がものすごい加速した上に堅牢になったのでそのうちスタートアップでScalaを採用するメリットを記事にする予定。 https://t

    スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
    masa8aurum
    masa8aurum 2020/08/03
    とあるスタートアップで直面した課題やその解決のための思考過程が読める。
  • JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita

    はじめに 記事では、constこそが唯一神であることを証明したあと、letを使いがちな場面でいかにしてconstを使うかをまとめていきます。なお、ES2018までの基構文(reduce, async/await, 配列とオブジェクトのスプレッド構文)を使用します。「いや、reduceとかスプレッド構文とか難しいからlet使うわ」という方のために、便利メソッド詰め合わせであるLodashを使った例もご紹介します。もちろん、Lodashは機能に対してサイズが大きいライブラリであるため、フロントエンド開発でバンドルサイズを軽減したいという方などはLodashの例は無視し、Lodashを使っていない方の例をご参照いただければと思います。 追記:Lodashの使用について 「Lodashのコードにlet使われてるやん」というご指摘を多く頂いたので追記いたします。 誤解を招くタイトルにしてしまい申

    JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita
    masa8aurum
    masa8aurum 2020/08/03
    id:yumura_s ええのです。ライブラリの中のコードは自プロジェクトの守備範囲外です。 / 「本当に副作用が必要」なのはコードの一部のはず。通信とか。それ以外は、不変なほうが推論しやすい。分離が大事
  • DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita

    追記 2022/11/12 追記 この記事読んで、DI 便利だなって思ったらこちらも併せて読んでみてください。クリーンアーキテクチャーの開設の中で依存性逆転の説明が出てきます。難しいかもしれませんが、一度理解すればつぶしが効く考え方なので腰を据えて読んでみてください。 文 ここでは、最近のそこそこの規模のアプリだと大体使われてる(と私は思ってる)Dependency Injection(DI)について、何故使ってるのか?というのを私の理解で書いていきたいと思います。 今回の対象言語は C# ですが、DI 使ってる言語であれば大体同じ事情なのかなと思います。 単体テストしたいよね アプリケーションを作るとうまく動いているかテストをすると思います。 たとえ、そのアプリがハローワールドだとしても動かして目視で確認してると思います。 もうちょっとアプリの規模が大きくなってくるとクラス単位やクラス

    DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita
  • Kindle蔵書一覧を取得する方法 - Qiita

    Kindleの蔵書が1万冊を超えてきて、そろそろ蔵書管理したくなり、 蔵書一覧を取得する方法を調べたので、まとめておく。 概要 蔵書一覧の取得方法としては大きく2つあり、 コンテンツと端末の管理ページからスクレイピングする方法と、 Kindle Cloud Readerが使っているWeb SQL Databaseのクライアント側のDBからそのまま取得する方法がある。 後者のほうが簡単なため、ここでは後者の方法について記載する。 (前者の方法が知りたい方は、https://qiita.com/yshr1982/items/072e8b44d456f6d9358bなどを参考にしてください。) // 追記 上記の2つの方法以外のやり方を情報共有してもらったので追記。 @error_401さんから頂いた情報によると Kindle for PCを利用している場合、の情報が入ったXMLが生成されるた

    Kindle蔵書一覧を取得する方法 - Qiita
  • Python を Go に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較 - Qiita

    PythonGo に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較KotlinRustベンチマークJuliaDijkstra これは何 最短経路探索のアルゴリズムを使っていくつかの言語の性能がどれくらい違うかを調べてみました。 Python は手軽に実装できるけど遅い、Go は 早いけど C++ よりは遅い? 当? のような疑問を一定解消したかったというのが動機です。 前提条件など 対象とする言語 Go, Rust, C++ 興味Julia Python より段違いに早ければもう少し掘ってみたい 興味Kotlin 意外とトップ集団に肉薄するのではないか 参考 Python JavaScript 性能差のイメージとしては Rust == C++ > Go >> Kotlin >>> JavaScript > Python == J

    Python を Go に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較 - Qiita
    masa8aurum
    masa8aurum 2020/06/22
    こんだけ色々考察できるためには、アルゴリズムを知っている必要がある。職業プログラマとして学んでおいたほうがいいのかな
  • 爆速python-fire - Qiita

    Help us understand the problem. What are the problem?

    爆速python-fire - Qiita
    masa8aurum
    masa8aurum 2020/06/18
    「とりあえず cli を作る」には良さそう。作り込みできるのかはわからないけど。短オプションあるのか?
  • 日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - Qiita

    先日、弊社では Community Geocoder というサービスをリリースしました。 Community Geocoder 紹介記事 さて、このジオコーダーは、住所を正規化してそれを「大字町丁目コード」という12桁の数字に変換し、そのコードをファイル名として GitHub ページ上に大量においた JSON ファイルにアクセスして緯度経度を取得するということをやっています。 つまり、住所の正規化からコードに変換する部分がとても重要で、そもそも正規化に失敗してしまうとどうしようもないという仕様なんです。 さいわい先日経産省が公開した IMI コンポーネントツール である程度のことをやってくれるのですが(というかそうであることを期待したのですが)、いろいろ調べ始めると住所という仕組みはほんとに複雑で、Facebook で絡んでくださった @hfu さんいわくまさに「自然言語処理そのもの」であ

    日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - Qiita
    masa8aurum
    masa8aurum 2020/06/04
    泥沼だ
  • 転職したらKubernetesだった件 - Qiita

    TL;DR Kubernetes がどのように、人間の作業を自動化しているのかを、実際に Kubernetes がやっている作業を手作業で行なう ことで学びましょう。 このQiita の内容は、CloudNative Days Tokyo 2019 における発表の、「転職したらKubernetesだった件」を書き下ろし、実際にデモが行えるように修正を加えたものになります。 YouTube Speakerdeck この物語はフィクションであり、登場する団体名・会社名・人名等は架空のもので、実在する団体・会社・人物等とは、一切、関係がありません。 これまでのあらすじ ある日、某Z社に転職した稲津さんに与えられた仕事は、“Kubernetes の一員”になることだった!? 某Z社は、親会社からの依頼で Kubernetes クラスタを運用しなければならなくなりましたが、 「Kubernetes

    転職したらKubernetesだった件 - Qiita
  • Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita

    はじめに エンジニアにとって、仕様書などの技術的な文章を書くこと(テクニカルライティングとも言います)は避けて通れません。ただ20年来多くのエンジニアの方々と同僚として接してきて思うことは、エンジニアの方の中には「文章を書く」ということに苦手意識がある方が一定数いるということです。 でもこの「テクニカルライティング」のスキルは、才能というよりは一種の「技能」だと思うんです。ある一定の原理原則を理解して実践を繰り返すことで、必ず一定レベルで習得できるものだと著者は信じています。 もしこのテクニカルライティングの原理原則をまだ体系的に学習したことがない、または過去学習したが改めて再学習したいという方に、お勧めのコンテンツを見つけたのでご紹介します。 https://developers.google.com/tech-writing Every engineer is also a write

    Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita
  • 仮想DOMの作りかた - Qiita

    どうもこんにちは、ウマシバ(@UMASHIBA)といいます! 先日、仮想DOMを個人的に実装してみまして、その際に得た知見を記事という形で共有したいと思います。 仮想DOMを作成するという内容上とても長い記事になってしまっていました。時間がある時や何日かに分けたりして読んでくださるとうれしいです。 それでは記事文です。どうぞ、 はじめに この記事はReactVue, Angular等のモダンなフロントエンドフレームワークの基礎部分となっている仮想DOMを作ってみようという記事です。 形式は、先日私が作成した仮想DOMと同じモノを順を追って実装してみるという形でやります。 完成形はここ(https://github.com/UMASHIBA1/UMASHIBAVirtualDOM) にあります。 ※もしよければスターください。すごくよろこびます。 この記事を読むには TypeScript

    仮想DOMの作りかた - Qiita
  • メインフレームの異常処理 - Qiita

    はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されていて、メインフレームのとあるコプロセッサのドライバを書いたりしていました。この際、その異常処理における考え方を体験する機会が多々あり、当時のその経験が20年後の現在でも大いに役にたっていると感じていたからです。 そもそもメインフレームは、これまで長年にわたっ

    メインフレームの異常処理 - Qiita
    masa8aurum
    masa8aurum 2020/05/04
    “メインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多い”
  • このFat View Controller、あなたはリファクタリングできますか? - Qiita

    iOS アプリ開発において、 Fat View Controller はよく知られたアンチパターンです。 iOS アプリ開発では View Controller が大元にあるので、 View Controller になんでもかんでも実装していると、どんどん View Controller が肥大化してしまいます。 Fat View Controller には、たとえば次のような問題があります。 UI とロジックが分離されておらずテストしづらい。 コードの見通しが悪く、可読性が悪い。 状態管理が複雑になり、修正時の影響範囲を見通しづらい。 みんなで同じファイルを触ることになり、コンフリクトが起こりやすい。 そんな Fat View Controller との戦い方の知見を共有し合うために、たくさんのiOSエンジニアで同じ Fat View Controller のリファクタリングに取り組んで

    このFat View Controller、あなたはリファクタリングできますか? - Qiita
  • SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜 - Qiita

    SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜JavaScriptRailsJWT認証React SPAのログイン周りについて、「これがベストプラクティスだ!」という情報があまり見当たらないので、様々な可能性を模索してみました。 いろいろな状況が想定され、今回記載する内容に考慮の漏れや不備などがありましたら是非コメントでご指摘いただきたいです!特に「おすすめ度:○」と記載しているものに対しての批判をどしどしお待ちしております! この記事でおすすめしているものであっても、ご自身の責任で十分な検討・検証の上で選択されてください。 前提 想定しているAPIは、 ログイン外のAPIにはPOST/PUT/DELETEのものがなく、GETのみ GETのAPIにはDBを更新するなどの操作がない とし、そのためログイン外では

    SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜 - Qiita
  • 大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita

    数日前(4/21頃)に Next.js のチュートリアルが一新されました。 Next.js は 3 月頭に ver 9.3 がリリースされ、ビルド時に静的に HTML を生成する関数などが追加されるなど、今までよりもかなりパワフルになり、いわゆる JAMstack と呼ばれるようなアプリケーションを作りやすくなりました。 そのバージョンアップに対応するかたちで、チュートリアルも大幅に書き直されました。 参考(開発チームの @chibicode さんのツイッター) Next.jsの公式チュートリアルを最新版に沿ってゼロから書き直しました! 🎓英語ですが初心者向けです! ⚛️最近導入されたgetStaticProps等の関数や、 🎨CSS Modulesの解説をしています! 🗣ブログを作りながら学びます 🤗ご感想お待ちしております!https://t.co/R4j9vpAQoc — S

    大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita
  • ぼく「何度も聞かれるのでZOOMの”安全な設定"まとめ教えます」【待機室,2要素認証など】 - Qiita

    関連記事 ■急にZOOMを使うことになったあなたへ送るZOOMの基的な使い方マニュアル →使い方わからない人には「これ見ろ!」と言って渡してください。そういうのなかったので作りました。 結論 ・ランダムパスワード生成 ・URLにパスワードを埋め込まない ・待機室を有効にする ・2要素認証(2ステップ検証)設定する(管理者権限必要) ・参加者へのZOOMアカウントログイン強制 ※設定画面はブラウザからを前提にしています。 ほんとは調べてほしい かえるくん「なぁ,会社でZOOM使い始めてんけど,なんかいろいろまずいらしいな」 ぼく「あー,ね。」 かえる「なんかGoogle検索でURLヒットするらしいな」 ぼく「まぁ,ね。」 かえる「色々調べたけど,SkypeとかTeamsの方がええらしいな」 ぼく「うーん...」(こいつ調べてないやん) かえる「でも切り替え面倒やしZOOMの方がみんな使っと

    ぼく「何度も聞かれるのでZOOMの”安全な設定"まとめ教えます」【待機室,2要素認証など】 - Qiita
  • アブノーマルアプリケーション・リファクタリング - Qiita

    まえがき 主にWebプログラミングをターゲットとして書いていますが、汎用的に使えることも書いてると思います。 リファクタリングメソッドをメモろうとした経緯 コーディングをしていると、外科医のお医者さんにでもなったような気分になります。現状の病に侵されているプログラムを、みると、どうしてもっと早く処置をしなかったのかという段階や、周りの人には手が負えなくなっていてもこの程度のアプリケーションなら苦もなく直せますよっていうレベルの作りのものまで、色々なフェーズのアプリケーションを見てきました。 ただし、例外なく処置が遅れるほどリファクタリングには痛みを伴わなければなりません。それでもできる苦痛なくリファクタリングを行う方法を体系化していれば、ある程度巨大なプログラムの変更に立ち向かうスキルを得られたことになります。このようなスキルはとても大切であるにも関わらず、あまり体系化されていないように思

    アブノーマルアプリケーション・リファクタリング - Qiita
    masa8aurum
    masa8aurum 2020/04/09
    リファクタ実施について、実践的な原則が生々しく書いてある。
  • [Excel]イラっとする罫線の挙動、その原因と対策をまとめた - Qiita

    セルをコピーしたり行を追加するときに罫線が崩れることがあった。 その仕様を把握し回避する方法を忘れないようまとめた。 いろんな種類の罫線を使ってなんとなく雰囲気出そうとしている表で大体遭遇する。 こんなのとか。 こんなのとか。 これも何気にイヤ。 精神的にくるやつ。 なんでこうなるの? 仕様は仕様なのだが普段注意深く観察していないと理解できないものだった。 2行でまとめると 書式変更は変更した罫線以外も更新している 書式変更はまわりのセルの書式も更新している 前提となる仕様 細かい仕様の前に、前提となる軽めの仕様を2点挙げる。 1.罫線はセルごとに上下左右4箇所に指定できる 例えば、書式設定やリボンのボタンを押して簡単に四角い罫線を引いてはいるが、その裏では1つのセルに上下左右4か所の罫線を指定している。 実際マクロの記録をしながら四角を書くと4つの罫線が指定されていることが分かる。 Su

    [Excel]イラっとする罫線の挙動、その原因と対策をまとめた - Qiita
    masa8aurum
    masa8aurum 2020/04/04
    セルをコピーしたとき等に罫線が思うようにならないことがある。その対策。
  • Boolean型の変数名・メソッド名に主語を含めたい時はどうしたらいいか - Qiita

    前提 Javaを中心に考えています。 他の言語でも大体成り立つ話になるとは思いますが、Rubyとかは怪しいです。 基のおさらい Boolean型の変数名・メソッド名には、以下のような名前がいいと一般的に言われています。 ・isEmpty ・canRead ・hasChanged ・exists これらの名前はif文の中で特に効果を発揮します。 例えば、

    Boolean型の変数名・メソッド名に主語を含めたい時はどうしたらいいか - Qiita
  • VSCodeのマルチカーソル練習帳 - Qiita

    VSCodeを使いこなしている人がカーソルを複数置いて手早く作業してて、カッコいいなと思ったことありませんか?こんな感じで。 私はマルチカーソル使います(キャー素敵!)。冗談はさておき、VSCode使ってる人全員がマルチカーソル使ってるわけではなさそうだと最近知ったので、基をまとめてみました。 なお記事では、以下のテキストをサンプルとして使用しています。お手元にVSCodeを用意できる方は、サンプルを使って同じ操作を試しながら覚えてみてください! { "id" : "12345678-1234-1234-1234-123456789012", "title" : "myTitle", "content" : "myContent", "createdAt" : "2019-09-01 00:00:00", "createdUser" : "12345678-1234-1234-1234-

    VSCodeのマルチカーソル練習帳 - Qiita