タグ

kazumeatのブックマーク (3,974)

  • マネーフォワード社内PRに見られるRubyの書き方について - (2) ハッシュの生成 - Money Forward Developers Blog

    エンジニアの澤田です。 この連載では、社内のRuby (on Rails)コードで気になった箇所の問題点やそこから発展して関連事項を議論しています。 1回目の 社内PRに見られるRubyの書き方について (1) では配列の生成を扱いましたが、今回はハッシュ(Hash)の生成を考察します。 題材とするコードは、社内のGitHubプルリクエストで実際に見かけたコードから問題点に関係する部分を抽出し、抽象化したもので、見かけたものそのままではありません。 また、稿で述べるオブジェクトの分類や用法は筆者独自の見解であることをご了承下さい。 ハッシュは配列に似ている面があります。配列では「要素」、ハッシュでは「値」と呼ばれる、(実用上)任意の個数のオブジェクトの集合を蓄えるという点です。一方で、ハッシュは配列よりも複雑な情報を持ち、多様な使い方があるため、その生成を考えるに当たっては、配列ではあま

    マネーフォワード社内PRに見られるRubyの書き方について - (2) ハッシュの生成 - Money Forward Developers Blog
    kazumeat
    kazumeat 2022/09/18
  • マネーフォワード社内PRに見られるRubyの書き方について (1) | Money Forward Engineers' Blog

    エンジニアの澤田です。 マネーフォワード社内のGitHubプルリクエストに見られるRubyの書き方について、気になったところをもとにして、関係することを連載で考察していきます。 ※ 題材とするコードは、社内のGitHubプルリクエストで実際に見かけたコードから問題点に関係する部分を抽出し、抽象化したもので、見かけたものそのままではありません。 初回の今回は、配列の生成について考察します。 プログラム中で使う配列には、他の情報から導かれない一次的なものと、もととなる他の情報を変形させて得られる二次的なものがあります。 前者の場合、次のようにプログラム体や設定ファイルなどのどこかにリテラルとして書くより他にありません。 [23, 12938, 382] 対して、上の配列が既にどこかに書かれていて、その各要素を2倍にして次の別の配列を作った場合、これは後者の例です。 [46, 25876, 7

    マネーフォワード社内PRに見られるRubyの書き方について (1) | Money Forward Engineers' Blog
    kazumeat
    kazumeat 2022/09/17
    partition便利
  • Angularアプリケーションの状態管理パターン | Marginalia

    Angularアプリケーションの状態管理の方法はさまざまな実装がありえるが、その中でも典型的ないくつかのパターンを、それがどのようなニーズがあって選ばれるのかという考察を踏まえながら列挙する。パターンとその特徴を例示するのであって、それぞれのパターンにおける最良の実装を示すものでもないし、これらのパターンに該当しない実装を否定するものでもない。 Standalone Componentsなど、Angularのメンタルモデルが変わっていく兆しを見せる今、これらをまとめておくことは諸々のAngularアプリケーションの状態管理のあり方を見直すきっかけになるのでないかと思う。特に、NgRxがデファクトスタンダードであり唯一の選択肢だと考えている人には、それが単にひとつの選択肢であることを思い出してもらえるのではないだろうか。 コンポーネントクラスによる直接の状態管理一番最初のパターンは、次の例の

    Angularアプリケーションの状態管理パターン | Marginalia
    kazumeat
    kazumeat 2022/05/13
  • 状態、結合、複雑性、コード量の順に最適化する - valid,invalid

    There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state)、結合 (coupling)、複雑性 (complexity)、コード量 (code) の順に削減することでコードを最適化する。 コードがよりステートレスになるなら、結合を増やすこともいとわない 結

    状態、結合、複雑性、コード量の順に最適化する - valid,invalid
    kazumeat
    kazumeat 2022/02/01
  • Hardening 2021 Active Fault 参加レポート - 桐生あんずです

    この記事は Classi developers Advent Calendar 2021 8日目の記事です。 前回の記事は id:kazumeat さんの「リモートワークのための質問力向上研修を実施しました」でした。 こんにちは、桐生あんずです。 同僚からお誘いをいただき、去年に続きHardening戦にチーム参加してきました。今回も振り返りレポートを書いていきたいと思います。 去年の記事は以下のものになります。 kiryuanzu.hatenablog.com Hardening とは? 一言で説明するのが難しいのですが、もし自分が知らない人に向けて説明する際は、サイバー攻撃からサービスを守りつつ限られた時間の中で売り上げを伸ばしていくことがメインとなるセキュリティ系の競技だと伝えています。 公式サイトの募集要項ページでは以下のように説明がされています。 Hardening競技会は、基

    Hardening 2021 Active Fault 参加レポート - 桐生あんずです
    kazumeat
    kazumeat 2021/12/09
  • Amazon EventBridge(CloudWatch Events)で動かしているバッチをDatadogで監視する仕組みを構築した話 - Classi開発者ブログ

    開発部 認証連携チームでエンジニアをしている、id:ruru8net です。 これはClassi developers Advent Calendar 2021の9日目の記事です。 昨日の記事はこちらです。 Hardening 2021 Active Fault 参加レポート - 桐生あんずです 以前のClassi Advent Calender 2019では新卒が入社半年で社内サービスをリリースしてエンジニア楽しいってなったお話を書かせていただきましたが、あれから2年の間に業務の中で様々な経験をし、さらに知識やスキルを身につけていくことができました。 今日はその中でも自分が担当しているサービスの、バッチ監視の仕組みを考えたので紹介させてください。 背景 担当チームでは毎日深夜2時にDBからデータを削除するバッチを動かしています。 他にも社内では様々なバッチが動いていますが、これらを監視

    Amazon EventBridge(CloudWatch Events)で動かしているバッチをDatadogで監視する仕組みを構築した話 - Classi開発者ブログ
    kazumeat
    kazumeat 2021/12/09
  • Writing Good Design Documents | Mercari Engineering

    The first day’s post of Mercari Advent Calendar 2020 is brought to you by Ann Kilzer from the Mercari Web Platform team. As developers, we’re known for writing code, but often, there is a lot of planning and preparation to ensure we write the right code. Design Documents are a helpful tool in this planning. When should I write a design document? Design documents are best for projects of significan

    Writing Good Design Documents | Mercari Engineering
  • 英語長文読解の勉強法|8のコツで読解力が上がる!|ゆきみん通信

    8つのコツで、英語の長文がもっと楽に読めるようになります! 少し意識するだけなので、ぜひ試してみてくださいね。 英語長文読解の勉強法|8のコツで読解力が上がる! 文法や単語が分かっていても、 「長文になると急に解けなくなる!」 と悩んでいる方も多いはず。 かつての私も、 意味が分からなくてイライラする読んでるつもりが、内容が頭に入ってこない時間がかかってなかなか読み進められないと、勉強方法にはかなり苦労しました。 この記事では、そんな私が英語の長文を克服した方法について、8つのコツをお話します! ※こちらの記事の内容は、↓の動画でもお話しています。 お時間のある方は、ぜひこちらもご参考ください! 下記にも、具体的な内容を書いておきます。 お時間無い方はそのまま読み進めていただければ! 英語長文読解のコツ① 段落ごとの要点を意識する 英語の長文も、現代文の読み方と同じ。 「1つの段落につき、

    英語長文読解の勉強法|8のコツで読解力が上がる!|ゆきみん通信
  • iHerb(アイハーブ)で買える!おすすめデオドラントグッズ3選【臭い対策】|ゆきみん通信

    クリスタル ボディ デオドラント, 回転塗布式ミネラルデオドラント、無香 クリスタル ボディ デオドラント 回転塗布式ミネラルデオドラント、無香アイハーブのデオドラントといえば、何年もずっと人気がある「クリスタル ボディ デオドラント」シリーズ。 シリーズの中でも特におすすめなのがこちらの回転塗布式のものです。 スプレーよりも密着させて使えるので、塗り残しが無いのが嬉しいポイント。 で、敏感肌さんでも安心して使えます。 成分自体も、水/水、カリウムミョウバン(無機塩)、セルロース、重炭酸ナトリウム、安息香酸、グルコン酸亜鉛のみ。 とってもシンプルな配合なんですよね。 ウーマンズチョイスアワードを2017年、2018年と2年連続受賞するのも頷ける商品です。 朝塗っておけば、夜帰宅するまで効果が持続しますよ。 香りは無香料タイプの他にも、ジャスミンやカモミールなど、日の商品にはあまりないライ

    iHerb(アイハーブ)で買える!おすすめデオドラントグッズ3選【臭い対策】|ゆきみん通信
  • 新年の抱負 : Amazon DynamoDB のベストプラクティスを守る | Amazon Web Services

    Amazon Web Services ブログ 新年の抱負 : Amazon DynamoDB のベストプラクティスを守る Amazon DynamoDB のベストプラクティスを守ることを新年の抱負としてみてはいかがでしょうか。これらのベストプラクティスに従うことで、DynamoDB を使用する際のパフォーマンスを最大限に発揮し、最小限に抑えることができます。以下のリンクをクリックして、DynamoDB ドキュメントで各ベストプラクティスの詳細をご覧ください。 パーティションキーを効率的に設計して使用する DynamoDB テーブルにある各アイテムを固有に識別するプライマリーキーは、シンプルなキー (パーティションキーのみ) または複合キー (ソートキーと組み合わされたパーティションキー) にすることができます。アプリケーションは、テーブルとそのセカンダリインデックスの論理パーティションキ

    新年の抱負 : Amazon DynamoDB のベストプラクティスを守る | Amazon Web Services
    kazumeat
    kazumeat 2020/01/09
    dynamodb
  • デザイン = 感情 + 使いやすさ|選ばれるウェブデザインとは デザイン会社 ビートラックス: ブログ

    近年ウェブデザインに関する様々なテクニックや理論が注目されているが、ユーザーを引きつけるデザインとはなんだろうか。意識してこのサイトのデザインが好きだからと選ぶ人もいるが、大抵の人は無意識に感覚で選ぶことが多い。 私がデザインを勉強していて思うことは、無意識に選ばれるデザインこそが一般ユーザーから見た客観的なユーザビリティを理解したデザインができていると思う。使いやすさはユーザーに選ばれる一番の理由である。 さらに、彼らの心をつかむには感情に訴えるデザインも大切である。論理的に文字で訴えることも大事だが、ビジュアルなどを使って感情に訴えるデザインはサイトを見ている人との距離を縮めることができる大切なポイントである。 選ばれるウェブデザインはいくつかの点に注意すれば作ることができる。その為には今から紹介する9つの基的なルールと感情に訴えるデザインがキーポイントとなる。 1. ゴールを明確に

    デザイン = 感情 + 使いやすさ|選ばれるウェブデザインとは デザイン会社 ビートラックス: ブログ
  • Microservices と会計システム | メルカリエンジニアリング

    この記事は、 Mercari Bold Challenge Month の18日目の記事です。 こんにちは。メルカリで Product Manager として働いている津田と申します。私は社内で「会計システム」と呼ばれる、会社が運営するサービスに付随して発生した債権債務の増減を記録・集計するシステムを開発するチームで働いています。 はじめに メルカリでは、お客さまの行動に応じて日々さまざまなお金の流れが発生しています。たとえばメルカリで商品が出品され購入された(取引が行われた)場合を考えてみます。 この取引は、会社から見るとそれぞれの相手先に対する債権債務関係の変化と捉えることができます。メルカリにとっては、購入したお客さまに対する債権(= 商品代金)と出品したお客さまに対する債務(= 売上金)が発生します。このとき、商品代金の一定割合(通常は 10%)が販売手数料としてメルカリの売上とな

    Microservices と会計システム | メルカリエンジニアリング
  • 知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO

    仕事ではよくPythonを書いています。 よく使うのでそれなりに知っている気になっていたのですが、 コードをレビューしてもらったりを読んだりしているうちに”もっと早く知っておきたかった・・・”というネタが溜まってきたので、その中から厳選した5つの小ネタをまとめてみました。 *この記事で使用しているPythonのバージョンはPython 3.7.3です。 この変数、一体何桁? 例えばこんな変数があったとします。 num1 = 100000000 num2 = 10000 num3 = 3023204903 こんな変数がたくさんあったらどうしましょう。 桁を数えるだけで目が疲れそうです。 ぱっと見でだいたい何桁あるかわかるといいですよね。 Pythonでは数値型に_を挟んでも、そのまま数値として計算することができます。 >>> num1 = 100_000_000 >>> num2 = 10

    知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO
  • JavaScript: フレームワーク React/Vue/Angularについて

    フロントエンドの開発に用いられる人気のフレームワーク(ライブラリ)に、ReactVue.jsおよびAngularがあります。これらフレームワークのフロントエンド開発における役割と、3つの違いについて簡単にご紹介します。 データバインディングとコンポーネント化 フレームワークReactVue.jsおよびAngularは、いずれもHTMLの要素(DOM)をデータと関連づけて(データバインディング)、データの変化に応じた動的なページ構成を行います。 DOMの操作には、かつてはjQueryが用いられました(今だに、使われていることは少なくはないでしょう)。けれど、モダンブラウザが対応するECMAScript 2015(ECMAScript 6)以降でしたら、標準JavaScriptでもDOMの操作は難しくありません。 動的にページを構成するコンテンツの典型は、シングルページアプリケーション(S

    JavaScript: フレームワーク React/Vue/Angularについて
  • NoSQLデータモデリング技法

    NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

    NoSQLデータモデリング技法
    kazumeat
    kazumeat 2019/08/07
    [dynamodb]
  • 【レポート】クラウド時代に再設計されたRDBMS・Amazon Auroraの最新情報から内部アーキテクチャ、運用Tipsまで #AWSSummit | DevelopersIO

    【レポート】クラウド時代に再設計されたRDBMSAmazon Auroraの最新情報から内部アーキテクチャ、運用Tipsまで #AWSSummit 水曜よりより開催されています AWS Summit Tokyo 2019。こちらで開催された技術セッション B3-06 をレポートします。 Going Deep on Amazon Aurora with MySQL Compatibility スピーカー(敬称略) 桑野 章弘 アマゾン ウェブ サービス ジャパン株式会社 技術統括部 ソリューションアーキテクト 好きなサービス : DocumentDB,Route53 Amazon Auroraは、クラウド時代にAmazonが再設計したRDBMSです。また、システムを構築する上でデータベースを切り離すことはできません。 Amazon Auroraの最新情報や、リリースされてから行ってきた機

    【レポート】クラウド時代に再設計されたRDBMS・Amazon Auroraの最新情報から内部アーキテクチャ、運用Tipsまで #AWSSummit | DevelopersIO
  • 【旧版・説明欄参照ください】 サーバーレスアプリケーション向きの DB 設計ベストプラクティス

    202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...

    【旧版・説明欄参照ください】 サーバーレスアプリケーション向きの DB 設計ベストプラクティス
  • Sqlectron - One single DB client for any relational DB

    A simple and lightweight SQL client desktop/terminal with cross database and platform support.

    Sqlectron - One single DB client for any relational DB
    kazumeat
    kazumeat 2019/04/08
  • How to ensure JavaScript code quality | DeepScan

    Beyond Conventions DeepScan focuses on finding runtime errors and quality issues rather than coding conventions. Ideal for you if you are serious about JavaScript code quality. Semantic Analysis DeepScan is a cutting-edge static analysis tool for JavaScript code. By following the execution and data flow of program in greater depth, it can find issues that syntax-based linters can't.

    How to ensure JavaScript code quality | DeepScan
  • PenTesterが知っている危ないAWS環境の共通点

    JAWS DAYS 2019に登壇した時の資料です。 セッション中の攻撃デモの動画は以下となります。 https://youtu.be/AyzrYEM601wRead less

    PenTesterが知っている危ないAWS環境の共通点