タグ

kotaro-onoのブックマーク (1,410)

  • direnvを使うときは環境変数を.envrcに書くより.envに書いた方が使い勝手が良い - ぷらすのブログ

    こんにちは、@p1assです。 自分はローカル開発時に、環境変数を設定するために direnv を使っています。 その際に、環境変数を.envrcに書くより、.envに書いた方が諸々の使い勝手が良いと感じたので紹介します。 tl;dr .envは汎用性が高いので様々な用途で使い回せる。 .envrcにdotenvと記述するだけで、自動的に.envファイルを読み込んでくれるので楽。 そもそも direnv とは direnv はディレクトリごとに環境変数を設定することができるツールです。 .zshrcなどにeval "$(direnv hook zsh)"と書くことで、カレントディレクトリに存在する.envrcに書かれたスクリプトを実行してくれます。

    direnvを使うときは環境変数を.envrcに書くより.envに書いた方が使い勝手が良い - ぷらすのブログ
  • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

    他の言語になれた人が、初めてGoを書いた時にわかりにくいな、と思った部分はどのようなところがあるのか、難しいポイントはどこか、という情報を自分の経験や、会社の内外の人に聞いたりしてまとめてみました。まだまだたくさんあるのですが、多すぎるのでまずはこんなところで。コンテナで開発することがこれからますます増えていくと思われますし、その時にコンテナとの相性が抜群なGoをこれから使い始める人もどんどん増えていくと思います。 Goは特に言語のコアをシンプルに、何かを実現するときはそのシンプルな機能を組み合わせて実現しよう、というコンセプトです。つまり、他の言語で実現したいこと・できていることに比べて、Goは組み合わせ(イディオム)でカバーする領域が広くなります。そのあたりのとっかかりになる情報を提供することが、これからGoを触る人にとってつまずきを減らすことになると思います。 Go Conferen

    Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
  • Lesson: Generics (Updated) (The Java™ Tutorials > Learning the Java Language)

    The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Dev.java for updated tutorials taking advantage of the latest releases. See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases. See JDK Rel

    kotaro-ono
    kotaro-ono 2021/09/29
    ジェネリクス備忘
  • Compare and Swap

    Compare and swap is a technique used when designing concurrent algorithms. Basically, compare and swap compares the value of a variable with an expected value, and if the values are equal then swaps the value of the variable for a new value. Compare and swap may sound a bit complicated but it is actually reasonably simple once you understand it, so let me elaborate a bit further on the topic. By t

    Compare and Swap
    kotaro-ono
    kotaro-ono 2021/09/27
    AtomicBooleanやAtomicReferenceなどCPUレベルでCompare and Swapを実現するクラス。
  • 【Java】初期化ブロックについて - TASK NOTES

    初期化ブロックとstatic初期化ブロックについて使い方と実行順序をまとめました。 初期化ブロック(オブジェクトイニシャライザ) オブジェクトの初期化を行うための仕組みに初期化ブロックがあり、インスタンスの生成時に実行されます。復数の初期化ブロックがある場合はコードに書かれた順に実行されます。 import java.util.Date; public class InitializerSample { private final Date date; { // 初期化ブロック System.out.println("初期化ブロックの実行"); date = new Date(); } public Date getDate() { return date; } public static void main(String[] args) { InitializerSample init

    【Java】初期化ブロックについて - TASK NOTES
  • アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)

    毎週金曜の定時後に弊社でアーキ部なるものが開催されています(✌'ω' ✌) スピードラーニング的に@kawasimaさんのお話を聞く会ですが、今週はテーブル設計がテーマでした! この記事がすごく良かったので、触発されてブログ書く!!! developer.hatenastaff.com お題 ↓のお題が出て、テーブル設計を考えてみるはなし。 要求仕様は以下のとおり。 ・宿の部屋は、シングルやツインのような部屋タイプが設定できます。 ・宿側で宿泊プランを設定できます。宿泊プランは適用される日付が設定できます。 ・プランには複数の部屋タイプが含まれることがあります。 ・宿側でプラン・部屋タイプ・宿泊日ごとに宿泊費の設定ができます。 ・カスタマはプラン・部屋タイプ・宿泊日を指定して宿泊予約ができます。 ・予約は会員でも非会員でも可能です。 ・また、会員・非会員に関わらず、宿をお気に入りに登録でき

    アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)
  • What Is a Spring Bean? | Baeldung

  • Redirecting to https://goswagger.io/go-swagger/

  • go-swaggerを用いたWebアプリケーション開発Tips19選 | フューチャー技術ブログ

    はじめにTIG DXユニット 1の真野です。echo → 生net/http → gorilla/muxgo-swagger, gqlgenの経歴でGoのHTTP APIを実装してきました。記事では最近業務でヘビーユーズしているgo-swaggerについての開発Tipsをまとめました。 背景フューチャーではGoを採用する案件が増えて来ており、その際にgo-swagger というツールを利用することが多いです。 2 理由はWeb APIのスキーマを駆動に開発することに慣れているという開発文化DBレイヤのERDやデータフローを駆動に開発することは今も多い)や、リリース後の保守や将来のマイグレーションを考慮しなるべく特定のDSLに依存したくないというポリシーを強く持つこと、開発前にある程度固く機能数を洗い出して工数見積もりや開発スケジュールに活かしたいといった大人な事情など、色々相性が

    go-swaggerを用いたWebアプリケーション開発Tips19選 | フューチャー技術ブログ
  • IntelliJ does not show project folders

    I have an issue with IntelliJ. It doesn't show any folders in my project view on the left. My setting is "View As: Project" How can I manage it so that the folders and packages are shown again? I don't have any clue because I didn't change any options! I'm using IntelliJ 10.0.3. I am working on a Maven Lift Project.

    IntelliJ does not show project folders
    kotaro-ono
    kotaro-ono 2021/07/24
    rootフォルダもsrcフォルダもサイドバーに表示されなくなった時の対処
  • Goではどんなライブラリがデータベースにアクセスするときにベストか考える - ぷらすのブログ

    この記事はGo5 Advent Calendar 2019の 1 日目の記事です。 はじめに Go のメジャーバージョンはいつの間にか 5 まで到達していたようですね、@p1assです。 Go でデータベースにアクセスするときに使うライブラリはdatabase/sqlや それをラップしたsqlx, gorm, gorpなど様々なライブラリがありますが、皆さんはどのライブラリを使っていますか? おそらく様々な理由があってどれか(ここに挙げられていないものかもしれない)を使っているでしょう。 しかし、それは当にベストな選択だったのでしょうか? この記事では、Go でデータベースをアクセスする際に、どんな機能が必要かを考えつつ、上に挙げたのライブラリを比較していきます。 あくまでこの記事で述べるのは僕個人の意見ですが、この記事を通して皆さんが改めてライブラリ選定を考えるきっかけになれば幸いです

    Goではどんなライブラリがデータベースにアクセスするときにベストか考える - ぷらすのブログ
  • あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ

    2023.10.5追記: Goチームからプロジェクトの目的に応じたディレクトリ構造についてのドキュメントが公式に公開されています。 https://go.dev/doc/modules/layout Goプロジェクトのフォルダ構成どうしよう、とググると見つかるStandard Go Project Layout。とはいえ、これはかなりコード量を増やしてしまう恐れがありますので、導入する場合のデメリットも考えておく方が良いです。 特に、プログラマーは、最初にみたプログラミング言語のフォルダ構成を親だと思う特性があり、Javaや.NETに影響されるとかなり細かくフォルダを切りたくなったり、package privateなど細かく可視性を制御しようとしたりして、なおかつ「privateのテストってどうすべきなんですか?」とか議論を始めたりもしますが、Go先生によればこれぐらいは1パッケージにフ

    あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ
  • [発表] Lambda 関数が VPC 環境で改善されます | Amazon Web Services

    Amazon Web Services ブログ [発表] Lambda 関数が VPC 環境で改善されます 投稿は AWS サーバーレス アプリケーションのプリンシパルデベロッパーアドボケートであるChris Munnsによる寄稿です。 元の投稿からの更新情報: 2019年11月28日(PST):  次のリージョンに対して、元の投稿に記載されている改善を完全に展開しました:中東(バーレーン)。 2019年11月25日(PST):次のリージョン、米国東部(バージニア北部)、米国西部(オレゴン)、カナダ(中央)、EU(ロンドン)、EU(ストックホルム)、およびアジア太平洋(香港)に対して、これらのリージョンのすべてのAWSアカウントには、元の投稿で概説した改善を展開しました。 2019年11月6日(PST):次のリージョン、米国西部(北カリフォルニア)、EU(アイルランド)、EU(パリ)、ア

    [発表] Lambda 関数が VPC 環境で改善されます | Amazon Web Services
  • DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか

    商品リンクはこちら https://little-hands.booth.pm/items/1835632 DDDはドメインモデリングを通じてソフトウェアの価値を高めようとする設計・開発手法です。 新しく得られたモデルに関する知見を頻繁にコードに落とし込む必要があるのですが、 それはソフトウェアにとっては非常に高い要求をしていることになります。 そこでDDDでは、オブジェクト指向の手法を利用して、メンテナブルで、拡張性の高いコードを書くことを目指しています。 このセッションでは、DDDではモデリング結果をどのようにコードに落とし、どのような利益を得られるのかを、具体的なコードを交えながら解説します。

    DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
  • マイクロサービス設計原則: SOLIDではなくIDEALS

    この領域では、核となる一連の原則が、開発者がマイクロサービスベースのソリューションの正しい方向に設計決定を向けるのに役立ちます。 SOLIDの原則の一部はマイクロサービスに適用されますが、オブジェクト指向は、一般に分散システムの要素、特にマイクロサービスとは根的に異なる要素 (クラス、インターフェイス、階層など) を扱う設計パラダイムです。 したがって、マイクロサービス設計のために、次の一連の核となる原則を提案します: Interface segregation: インターフェイス分離 Deployability (is on you): デプロイ容易性 Event-driven: イベント駆動 Availability over consistency: 整合性よりも可用性 Loose coupling: 疎結合 Single responsibility: 単一責任 原則は、マイクロ

    マイクロサービス設計原則: SOLIDではなくIDEALS
  • 【Figma】を使ってチームでUI/UX設計するといいこと | フューチャー技術ブログ

    概要Figmaとは何か、何ができるのか、チームでシステムデザイン設計するときにFigmaを使うと何がいいのかを初心者向けにざっくり紹介していきます。 「〇〇するにはどうすれば?」といった具体的な疑問はYouTubeに動画がたくさん上がっているので見てください。 目次 Figmaとは何か 画面の作り方 チーム設計でFigmaを使うメリット Figmaを利用してみて まとめ Figmaとは何かFigmaはユーザーインタフェース(UI)のデザインをブラウザ上で簡単に作れるデザインツールです。 デザインツールといえばデスクトップアプリのAdobe XDやSketchが有名どころですが、Figmaも負けず劣らずの操作性と利便性を兼ね備えています。また、エディターが2名までなら無料で使うことができるので1人での利用だけでなくチームでの利用にも始めやすいツールです。 記事でFigmaの利便性を紹介して

    【Figma】を使ってチームでUI/UX設計するといいこと | フューチャー技術ブログ
  • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

    MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Visual Studio Code で置換で改行する - rksoftware

    テキストファイルに対して、とあるルールの下で改行を差し込む編集をしたいことが良くあります。しかしメモ帳では厳しい要求です。 そんな時は Visual Studio Code です。 ■ 置換 - 正規表現を使用する Ctrl+H で置換のビューを表示します。 そして置換元文字列の右の3つのアイコンの一番右「正規表現を使用する」を ON。 すると、「\n」が改行ということになります。

    Visual Studio Code で置換で改行する - rksoftware
  • スケーラブルデータベース ~クラウドにおける後悔しないデータベース選定~ | フューチャー技術ブログ

    はじめにエンタープライズでのミッションクリティカル領域においてもクラウド利用が普通になってきています。 その過程において今までできないことを指向する試みも行われてきています。その代表的なものがクラウドの備えるリソースの高い拡張性と弾力性を利用したシステム展開です。例えば「より多くのデータを扱う」「同業他社に向けたサービス展開をする(マルチテナンシー)」といったものがあります。その際のアーキテクチャ選定では将来の利用を想定した選択を行う必要がありますが、データベースのスケールというのは非常に難しく簡単ではありません。 各種の要件に応じてデータベースを選定するということは多く行われていますが、その中で一番考え方が難しいスケーラビリティにどう立ち向かうかについて記載していきます。データベースについては全ての要件を満たせる「万能」なアーキテクチャが存在しないのが実情です。そのためスケーラビリティを

    スケーラブルデータベース ~クラウドにおける後悔しないデータベース選定~ | フューチャー技術ブログ
  • 【2021年】AWS全サービスまとめ | DevelopersIO

    こんにちは。サービスグループの武田です。このエントリは、2018年から公開しているAWS全サービスまとめの2021年版です。 こんにちは。サービスグループの武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2021年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2020年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 205個 です。 まとめるにあ

    【2021年】AWS全サービスまとめ | DevelopersIO