ASKUL Engineering BLOG

https://tech.askul.co.jp/

ASKUL(アスクル),LOHACO(ロハコ)のエンジニアによる技術ブログです

フィード

記事のアイキャッチ画像
VPCエンドポイントを活用したコスト削減 完全版 - 後編
ASKUL Engineering BLOG
こんにちは。アスクルの荒木(@news_it_enj)です。 先日投稿したVPCエンドポイントを活用したコスト削減 完全版 - 前編の後編になります。
1ヶ月前
記事のアイキャッチ画像
VPCエンドポイントを活用したコスト削減 完全版 - 前編
ASKUL Engineering BLOG
こんにちは。初投稿するアスクルの荒木(@news_it_enj)です。 先日第1回 AWSコスト削減 天下一武道会で登壇した「VPCエンドポイントを活用したコスト削減」について泣く泣く削った内容などを補足した記事になります。 ブログ慣れするために、前編・後編に分けてお届けさせてください。
2ヶ月前
記事のアイキャッチ画像
ECSのRunTaskはECSの起動を保証するわけではないという話
ASKUL Engineering BLOG
こんにちは。ASKULのほかほかごはんです。現在は商品チームで主にバッチアプリケーションの開発を担当しています 😀 本記事では AWS上でのECSを利用したバッチアプリケーション開発で遭遇した運用上の問題について記述します。
2年前
記事のアイキャッチ画像
懇親会する時にイケてる振り分けをしてくれるシステムを新卒4人で作った話 【Internal Hack Day 19】
ASKUL Engineering BLOG
はじめに こんにちは! 初めまして! 今年の新卒としてアスクル株式会社へ入社したラーメン (@ramendaDev) です。 今回の記事では、 2022年8月6日-8日にかけて開催された、ヤフー株式会社主催の「Internal Hack Day19」について振り返ります。
2年前
記事のアイキャッチ画像
Kotlin の emptyList.all { false } が true になるということ
ASKUL Engineering BLOG
こんにちは。しゅん(@MxShun)です。 突然ですが、次の Kotlin コードの「any」「all」「none」がそれぞれ true/false のどちらを返却するか分かりますか? val numbers = listOf(1, 2) numbers.any { it > 0 } numbers.all { it > 0 } numbers.none { it > 0 }
2年前
記事のアイキャッチ画像
🆒 な関数名選手権
ASKUL Engineering BLOG
こんにちは。しゅん(@MxShun)です。 はじめに みんな~コーディングしてる~?(Yeah~!)命名してる~?(Yeah~!) コーディングをしていくうえで避けては通れない、関数や変数のネーミング。 この記事では、言語公式・組込みなメソッドの中で、私が 🆒 と感じた関数名をランキング形式で 3 つ紹介します。 ※本記事は、社内で実施した Advent Calendar 投稿記事を一部改変したものです。
2年前
記事のアイキャッチ画像
Kotlin Coroutines のために AWS SDK for Java でノンブロッキングを実現する
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 Kotlin で AWS SDK を利用するには、今現在はJavaのものを使う必要がある AWS SDK for Java 2.x の非同期プログラミングはブロッキングされる AWS SDK for Java でノンブロッキングを実現する まとめ Kotlin で AWS SDK を利用するには、今現在はJavaのものを使う必要がある KotlinでAWSのいろいろを操作する際に、AWSが提供しているSDKを利用すると便利です。 が、2022年3月現在、Kotlin向けのAWS SDKはプレビュー版で、正式リリースがされていません。 AWS…
2年前
記事のアイキャッチ画像
Kotlin における trailing comma(末尾カンマ) について
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 2020年のリリースですが、Kotlin 1.4からtrailing commaが実装 されました。 trailing comma とは 末尾カンマ と訳されるもので、関数などの引数のリストの末尾にあるカンマのことを指します。 fun usingComma( first: String, second: String, third: String, // <- ココのカンマのことを trailing comma(末尾カンマ) と呼ぶ ) めちゃくちゃ細かい仕様ですが、Kotlin1.4からは、このtrailing commaを記述できるよう…
2年前
記事のアイキャッチ画像
MyBatisで大量データを扱う
ASKUL Engineering BLOG
こんにちは。ASKULのほかほかごはんです。最近は商品データに関するバッチ開発を担当しています。 バッチ開発では、社内外へデータを連係する際に大量のデータをDBから取得し、csvなどのファイルに加工する機会が多くあります。 本記事では効率的にQuery結果をハンドリングする方法として、 MyBatisの ResultHandler と Cursor を紹介します。 なお、弊社ではSpring Boot上でMyBatisを利用しています。 本記事のサンプルコードもその前提で紹介させていただきます 🙇‍♂️
2年前
記事のアイキャッチ画像
MyBatis 動的SQL の trim が便利なので使い方のまとめ(ついでにコード読んでみた)
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 アスクルでは、O/Rマッパーに MyBatis3 を使っています。 MyBatis は、単純なCRUD操作だけでなく、 動的SQL という便利な拡張構文があります。 たとえば、本の情報を管理するテーブルから、本の一覧を抽出したいSQLがあったとします。 本のタイトルを指定しなければ全件SELECT 本のタイトルを指定していればWHERE句を入れてSELECT と、本のタイトルの指定有無でif文を書きたいような場面では、次のようにif要素を利用すると解決できます。 <select> SELECT * FROM BOOK <if test="t…
2年前
記事のアイキャッチ画像
Kotlin 1.6ではList.minus(List)の処理速度がデフォルトだと若干遅くなってしまうという話
ASKUL Engineering BLOG
こんにちは。ASKULのほかほかごはんです。今回はKotlin1.6におけるCollection操作についての記事になります。 List1からList2の要素を除去する場合、Kotlinでは次のように書けます。 val result = list1 - list2 このコードはKotlin 1.6ではこう書いたほうがパフォーマンスがよくなります (とIntelliJ先生が教えてくれました 😇) val result = list1 - list2.toSet() しかし、Kotlin 1.5まではこのコードについてIntelliJがアドバイスをくれることはなかったはずです 🤔 これは、Kotl…
2年前
記事のアイキャッチ画像
【社内勉強会】クリーンアーキテクチャ【AStudy】
ASKUL Engineering BLOG
こんにちは、のんです。 今回は2021/10/28(金)に実施したAStudyより、タイタンさんに登壇いただいた「クリーンアーキテクチャ」をとりあげます。
2年前
記事のアイキャッチ画像
【社内勉強会】Spring Boot Camp【AStudy】
ASKUL Engineering BLOG
こんにちは、のんです。 今回は2021/10/28(金)に実施したAStudyより、ほかほかごはんさんにご登壇いただいた「Spring Boot Camp」をとりあげます。現在アスクル社内で行われているエンジニア育成を目的とした取り組みについてのご紹介です。
2年前
記事のアイキャッチ画像
Kotlin で DX がめちゃくちゃ改善されました
ASKUL Engineering BLOG
この記事は、Advent Calendar 2021 / Qiita主催「開発者体験:DXをめちゃくちゃ改善した話」 2日目の記事です。 はじめに こんにちは。しゅん(@MxShun)です。 私は昨年アスクルに入社し、中小事業所向けサービス「ASKUL」と大企業向けサービス「SOLOEL ARENA」を統合することで売上1兆円企業をめざす取り組み「PJ Trylion(プロジェクト・トライオン)」でサーバサイド Kotlin を書き始めました。 今回の記事では、アスクルで Kotlin を書き始めて、DX、とりわけ開発者体験がめちゃくちゃ改善された話をしたいと思います。
2年前
記事のアイキャッチ画像
【社内勉強会】いまさら聞けないAWS【AStudy】
ASKUL Engineering BLOG
こんにちは、のんです。 今回は2021/10/28(金)に実施したAStudyより、とくむらさんにご登壇いただいた「いまさら聞けないAWS」をとりあげます。 AWSの基礎的な知識や用語を知るための導入となる内容になります。普段AWSを使っている方だけではなく、AWSに興味があるけどなかなか初めの一歩を踏み出せない方や勉強したいけどいまさら聞けない!という方も是非参考にしてください。 AStudyとは? 今更聞けないAWS サービス基盤 リージョン AZ コンピューティング EC2 ECS ネットワーク VPC ELB ALB セキュリティ IAM IAMユーザ IAMポリシー IAMロール ス…
2年前
記事のアイキャッチ画像
DynamoDBのThrottlingExceptionを書き込みシャーディングで対策した記録
ASKUL Engineering BLOG
こんにちは。ASKULのほかほかごはんです。最近は商品データ管理の開発を担当しています。 ASKULではBtoB, BtoCのお客様に最適な商品を提供するために大量の商品データを管理しています。 一方で、データを加工する夜間バッチの処理速度に問題を抱えていました。 今回、商品データ管理にDynamoDBを利用することで、バッチ処理におけるパフォーマンスの大幅更新にチャレンジしました 🚀
2年前
記事のアイキャッチ画像
エンジニアインターンシップ2021夏を開催しました!
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 アスクルでは毎年夏、エンジニア学生を対象とした5日間のインターンシップを開催しています。 今年度のインターンシップは、2021年8月23日(月)〜27日(金) の5日間でオンラインにて開催しました。 テーマ 『アスクルに日々寄せられる「お客様の声」を軸に社内をDXする!』 アスクルが運営する「ASKUL」「LOHACO」のeコマースでは、お客様サービスデスクへのお問い合わせ、商品レビュー、SNSなどのさまざまな方向から、多くの「お客様の声」をいただきます。 「お客様の声」を全社に広め改善を促すことが、アスクルの成長のカギとなります。 自由な…
3年前
記事のアイキャッチ画像
Internal Hack Day 18参加レポート
ASKUL Engineering BLOG
はじめに はじめまして、アスクル株式会社へ4月に入社したのんです。 7月31日から8月2日にかけて開催された、ヤフー株式会社主催の「Yahoo! JAPAN Internal Hack Day18」のハッカソンへ新卒エンジニア4名と先輩エンジニア2名でチームを組み参加させていただきました。その際に、新卒エンジニアとして初心者ながら開発を通じて学んだことや感じたことをまとめていきます。ヤフー株式会社の記事はこちらになります。
3年前
記事のアイキャッチ画像
【社内勉強会】第27回AStudy開催レポート
ASKUL Engineering BLOG
こんにちは。 実はコーヒーソムリエ資格を持っている しゅん(@MxShun) と、最近はいろんな食材でアヒージョを作るのが趣味の かとちゃん です。 2021/4/22(木)にAStudyを実施しましたので、その内容をお届けします!
3年前
記事のアイキャッチ画像
アスクルにKotlin技術顧問として長澤太郎さんと竹端尚人さんがジョインしました!
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 アスクルでは現在、主力事業である事業所向け通販事業『ASKUL』のサービスレベルを高めるための大規模リニューアルプロジェクトに取り組んでいます。 プロジェクトを進めていく中で、JavaをサーバサイドKotlin・インフラをクラウドネイティブに移行など、技術環境を一新しています。 現在プロジェクトは開発フェーズに入り、サーバサイドKotlinでの実装を多く進めています。その中で、最高なサーバサイドKotlinアプリケーションを作り上げるべく、長澤太郎さんと竹端尚人さんに技術顧問としてジョインしていただきました! ということで、お二人に軽くイン…
3年前
記事のアイキャッチ画像
【社外向け勉強会】AStudy+ 開催レポート
ASKUL Engineering BLOG
こんにちは。いそのといずみかわです。 2021年3月25日(木)にパブリック開催のAStudy、"AStudy+"を実施しましたので、その内容をお届けします!
3年前
記事のアイキャッチ画像
【社内勉強会】第26回AStudy開催レポート
ASKUL Engineering BLOG
こんにちは。ライターのじゅりとかとちゃんです。 2021/02/25(木)にAStudyを実施しましたので、その内容をお届けしたいと思います!
3年前
記事のアイキャッチ画像
【社内勉強会】第25回AStudy開催レポート
ASKUL Engineering BLOG
こんにちは。ライターのしゅん(@MxShun) といずみかわです。 2021年1月28日(木)にAStudyを実施しましたので、その内容をお届けします!
3年前
記事のアイキャッチ画像
新人エンジニア(新卒)が語るアスクルの魅力
ASKUL Engineering BLOG
こんにちは。2020年4月に新卒入社した、しゅん(@MxShun)です。 本記事では、入社1年になる新人エンジニアが「なぜアスクルに入社しようと思ったのか」「実際に入社してどうだったのか」という切り口で、アスクルでエンジニアとして働く魅力をご紹介します。
3年前
記事のアイキャッチ画像
【社内勉強会】AStudy Advent Calendar 2020開催レポート
ASKUL Engineering BLOG
こんにちは。たっつーといそのです。 昨年の12月に社内限定公開のAdvent Calendar 2020を実施しました! 遅くなりましたが、その様子をお届けします。
3年前
記事のアイキャッチ画像
JIRA API を叩いて担当者ごとのストーリーポイントを算出する
ASKUL Engineering BLOG
アスクルの こたにん (@Kotanin0) です。 アジャイル開発向けプロジェクト管理ツールである JIRA を用いてスクラム開発をすることで、チームの状況を可視化できます。 JIRAには、スプリントの状況を分析するためのレポーティング機能やダッシュボード機能が備わっています。 スクラムにおいては 「チームの生産性を高める」 ことが大事な要素のひとつです。 そのためには、これらの分析機能を用いてスプリントの状況を細かく分析する必要があります。 わたしが現在担当しているスクラムチームにおいてもJIRAのレポートやダッシュボードを利用してスプリントの分析をしているのですが、その中でひとつ、どうし…
3年前
記事のアイキャッチ画像
gRPC Request MessageをBean ValidationでValidateする
ASKUL Engineering BLOG
こんにちは。ASKULのほかほかごはんです。 grpc-spring-boot-starter で Spring Validationがサポートされました。Version 4.3.0 から利用できます。 Spring BootでgRPCメッセージをValidateする方法についてはこれまでもprotoc-gen-validate などの選択肢がありましたが、使い慣れたBean Validationが利用できるのは嬉しいニュースです。 やってみる Request/Response両方のValidationを定義できますが、今回の記事ではRequestのValidationを試してみます。 次の環…
3年前
記事のアイキャッチ画像
AWS Transfer FamilyをFTPで利用して、ホームディレクトリを論理ディレクトリとして実装する
ASKUL Engineering BLOG
こんにちは、ASKULのユウです。 FTPでログインしたユーザに対して、ホームディレクトリを論理ディレクトリとしてルートディレクトリに設定したい場面があると思います。 今回は、AWSのサービスであるTransfer FamilyをFTPで利用している際に、同様の対応をおこなったため記載しておきます。 調べてもAWSのこの記事しか存在していなかったため、対応方法を記事にしておきます。
3年前
記事のアイキャッチ画像
【社内勉強会】第24回AStudy開催レポート
ASKUL Engineering BLOG
こんにちは、てんてんです。 沖縄から上京してきた自分はもうすでに外が寒くてコロナ関係なく家に篭って震えてます。 11月26日(木)にAStudyを実施しましたので、その内容をお届けしたいと思います!
3年前
記事のアイキャッチ画像
半分は経験して学んだ。マネージャーにおける学びを振り返る
ASKUL Engineering BLOG
この記事は Engineering Manager Advent Calendar 2020 22日目の記事です。 はじめに アスクルの いのだい です。 私はLOHACOの複数のエンジニアチームを管理するポジションにいて、各チームのマネージャーを育成するミッションがあります。育成するためにはまず何が必要なのか考えた時、以前書いた 記事 を見返して、いかにして学んだのかを振り返ることにしました。なお、この記事で扱うマネージャーとはチームを取りまとめるポジションのことです。 現在マネージャーとして奮闘する方に少しでも参考になれば、という思いと、私をマネージャーにさせてくれた先輩方や元チームメンバ…
3年前