kachickのブックマーク (1,032)

  • ミリタリータイムゾーン - それはそれ、これはこれ

    タイムゾーンというと、+0900 のように符号と四桁の数字か、UTC PST JST のような三文字の英字*1、Asia/Tokyo のようなzoneinfoのファイル名とかで表すが、米軍規格の一文字英字もある。UTC を一文字で Z で表すのはここから来ている。ちなみに JST は V だ。 現在でもちゃんとgnu-dateにその機能が残っている。 export TZ=UTC for T in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z JST PST do date "+$T %Y-%m-%d %H:%M" -d "2010-01-01 00:00:00 $T" done 実行結果、つまり「各タイムゾーンの午前0時がUTCで何時になるか」は、 A 2010-01-01 01:00 B 2010-01-01 02:00 C 20

    ミリタリータイムゾーン - それはそれ、これはこれ
    kachick
    kachick 2023/07/09
    JST相当のが "V" として紹介されているけれど、符号が逆で "I" の方では
  • dotfilesのこだわりを晒す - エムスリーテックブログ

    Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス

    dotfilesのこだわりを晒す - エムスリーテックブログ
    kachick
    kachick 2023/02/14
  • GitHub Actions Workflow チェックリスト | CyberAgent Developers Blog

    GitHub Actions Workflow Best Practices こんにちは。2022年新卒入社の上田です。現在は配属前のジョブロで ABEMA に所属しております。 この記事では GitHub Actions workflow/job 作成に関するベストプラクティスをまとめました。 workflow/job 追加時に参照できるチェックリストとしてご利用いただけるような一記事として公開しています。堅牢で安全な CI/CD pipeline を作る参考になれば幸いです。 (ジョブロ:メディア事業部における新卒研修の一環として二ヶ月間実施される配属前のジョブローテーション研修) 自己紹介 GitHub Actions は Beta v1 の頃から利用しており、個人としても peaceiris/actions-gh-pages などをはじめとして、いくつかのサードパーティー Ac

    GitHub Actions Workflow チェックリスト | CyberAgent Developers Blog
    kachick
    kachick 2022/10/28
    凄い!
  • 本人と直接話す方がよい - Konifar's ZATSU

    何かを伝えたり聞いたりする時には人と直接話す方がよい。当たり前っちゃ当たり前なのだが、意外とうまくできていないことも多いので最近特に強く意識するようにしている。 「どうなってるか分からなくてモヤモヤする」とか「あの発言や行動ってどういう意図なんだろう」とか、内に籠もって想像だけしているとロクなことがない。直接人と話してみると実は何の問題もなかったなんてこともある。 ただ、直接話すのは簡単なようで難しい。話す側は感情のコントロールと言語化のスキルが要求される。聞く側のスタンスも重要で、これは話す側はコントロールできない領域なのでより難易度が上がる。話す側聞く側どちらかに負荷が偏ると相手のコミュニケーション能力のせいにして余計にめんどくさいことになってしまう。組織においては、直接話して物事を解決すること自体を推奨するといった工夫が必要かもしれない。また、ある程度はスキルトレーニングもあった

    本人と直接話す方がよい - Konifar's ZATSU
    kachick
    kachick 2022/07/17
    わかりみしかない
  • 現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab

    こんにちは、はじめまして。筑波大学附属駒場高等学校 3 年生(今年 4 月から東京大学に入学予定)の米田優峻(@e869120)と申します。私は競技プログラミング競プロ)が趣味で、AtCoder・情報オリンピック・パソコン甲子園などの大会に出場しています。2021 年 3 月時点で、AtCoder では赤色(レッドコーダー)です。また、国際情報オリンピックの 2018 年/2019 年/2020 年大会で金メダルを獲得しています。*1 とはいえ、決して簡単にこの記録を手に入れられたわけではありません。何度も挫折と失敗を経験しながら自分のスキルを磨いた結果、競プロを始めてから 3 年後にはレッドコーダーになることができたのです。 今回は「わたしの選択」というテーマで寄稿の機会を頂いたので、私が中学 1 年生の秋に競技プログラミングを始めてからレッドコーダーになるまで、そして国際情報オリンピ

    現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab
    kachick
    kachick 2022/07/12
    凄い~
  • 「いつかGitHubで働きたい」10年来の空想を現実にしたソフトウェアエンジニアの紆余曲折な人生 - Findy Engineer Lab

    長永健介(@kyanny)と申します。現在はGitHubで働いています。10年前、「いつかここで働きたい」と夢見た会社です。 私は子供の頃から「考えること」が好きでした。難しいこともくだらないことも、真面目に考えて自分なりの意見をまとめる癖がありました。成長するにつれて私の思考様式は洗練され、Webとブログに出会ったことで「書く」という手段に昇華されました。書くことで考えていることを言語化し、言語化した自分の考えを読みながらさらに考えを深める ── この活動を繰り返すことで、起こりうる問題に備えたり、問題を多角的に見つめて活路を見出してきました。 とりわけキャリアの選択において「(思考|志向)を言語化する」習慣が大いに役立ちました。この記事では私のキャリアにおけるいくつかの選択と、その時々で考えていたことについて紹介します。 望んでなかった「けものみち」を変えた日記の言葉 Shut the

    「いつかGitHubで働きたい」10年来の空想を現実にしたソフトウェアエンジニアの紆余曲折な人生 - Findy Engineer Lab
    kachick
    kachick 2022/07/12
    夢が叶った話とても良い・・・
  • Rubocop でカスタムルールを作る - Money Forward Developers Blog

    こんにちは。 マネーフォワードでサーバーエンジニアをやっている江口です。 先日、開発中のプロダクトに Rubocop のカスタムルールを追加するチャレンジをしてみました。 その中で、手を動かしながら調べた内容をご紹介したいと思います。 Rubocop を全く知らない方でも読み物になるように、大まかな概要をおさらいしたうえで、題に入ります。 Rubocop とは プログラマは誰しも、わかりやすさのため、あるいは効率化のために、自分なりのルールを守ってプログラムを書いています。わざわざ明示的に定めていないかもしれませんが、下記のようなルールはどのようなプログラムであっても満たすべきでしょう。 インデントを揃える 未使用変数を使わない if 文で2回以上同じ分岐をしない Rubocop は、Ruby プログラムがこのようなルールを満たしているかチェックするツールです。変更を加えるときに Rub

    Rubocop でカスタムルールを作る - Money Forward Developers Blog
    kachick
    kachick 2022/07/08
    記事はとても有用なんだけど、例のブロック無し any? は短いから empty? の 否定形を差し替え推奨というのは falsy な 値を含むときに異なったりするのでむしろアンチパターンな気はする。![nil, false].empty? != [nil, false].any?
  • tsconfig.jsonはJSONじゃないと言う話 - 焼売飯店

    気になったので調べてみました。 tsconfig.jsonと普通のJSONの大きな違い tsconfig.jsonには、コメントが書けます。 tsc --init した時に生成されるtsconfig.jsonに、大量にコメントが付けられているので、すぐに気付くことと思います。 例) { "compilerOptions": { "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd

    tsconfig.jsonはJSONじゃないと言う話 - 焼売飯店
    kachick
    kachick 2022/07/01
    気になってた部分が詳細に
  • スムーズな開発体験を支えるデータベースリストアの仕組み - スタディサプリ Product Team Blog

    こんにちは。SRE の @int128 です。 背景 スタディサプリではいろいろな役割の人が協力してプロダクトを開発していくための文化と仕組みがあります。 例えば、Pull Request を作成すると自動的にプレビュー環境がデプロイされる仕組みや番相当のデータで動作確認するための仕組みなどがあります。 これらは、開発途中の画面をすぐに Designer や Product Manager と共有したり、番相当のデータでデザインやユーザ体験を確認したりする、といったスムーズな開発体験を支えています。 スタディサプリでは、番環境と同等*1のデータベースを開発環境で利用するための仕組みを「データベースリストア」と呼んでいます。 データベースリストアは2010年代の前半から動いており、スタディサプリの開発体験を支える重要な仕組みとなっています。 稿では、スムーズな開発体験を支えるデータベ

    スムーズな開発体験を支えるデータベースリストアの仕組み - スタディサプリ Product Team Blog
    kachick
    kachick 2022/06/27
    終始お世話になっていた。感謝!
  • Crystal言語作者がRubyを愛する理由(7)秘密のアルゴリズム(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Why I love Ruby: the secret algorithms - DEV Community 原文公開日: 2022/03/01 原著者: Ary Borenszweig -- Crystal言語の作者のひとりです Crystalの標準ライブラリがRubyのそれとほぼ同じに見えるのは秘密でも何でもありません。Rubyの標準ライブラリは実によく設計されていて便利なツールがたくさん詰まっているのですから、Crystalも同じようなAPIにしない理由はありませんし、わざわざ名前を一から考え直す理由もありません。 そこで私たちはこの数年、コンパイラで必要なメソッドを追加したり、楽しみのため、完成度を高めるために必要なメソッドを追加するようになりました。 それと並行して、RubyとCrystalのパフォーマンスを常に比較して

    Crystal言語作者がRubyを愛する理由(7)秘密のアルゴリズム(翻訳)|TechRacho by BPS株式会社
    kachick
    kachick 2022/06/06
  • 個人でもAWS Organizationsを使ったほうが良い理由 - 本日も乙

    技術書典11で「Amazon Web Servicesコスト最適化入門 マルチアカウント編」を頒布中です。 techbookfest.org BOOTHでも購入できますが、送料(370円)がかかってしまうので、7/25までであれば技術書典のオンラインマーケットだと送料がかからずお得かと思います。オンラインマーケットだと物理の発送が8月になってしまいますが、BOOTHは私が発送するので注文後数日で届きます。すぐに物理が欲しい人はBOOTHまで。 booth.pm マルチアカウントに対する障壁の高さ 個人用途におけるマルチアカウントのメリット 使い捨てのAWSアカウントを作ることができる 検証用環境として活用する GCPプロジェクトと同じような感覚 マルチアカウントのデメリット アカウントの削除(解約)が面倒 セキュリティ コスト管理 まとめ マルチアカウントに対する障壁の高さ 6/19

    個人でもAWS Organizationsを使ったほうが良い理由 - 本日も乙
    kachick
    kachick 2022/06/03
  • Ruby: US-ASCII-8BITというエンコードを理解する(翻訳)|TechRacho by BPS株式会社

    上の表のとおり、US-ASCIIとはいわゆるASCIIの別名です。とすると、ASCII-8BITの方は何なのでしょうか?EncodingsのRDocに役に立つ記述が少しあります。 Encoding::ASCII_8BITは、通常は(文字の文字列ではなく)バイト文字列に使われる特殊なエンコーディングの一種である。しかしこの名前が主張するように、ASCIIの範囲にある文字をASCII文字であるとみなされる。 これはASCII-8BIT文字とその他のASCII互換文字を併用する場合に有用である。 すなわち、ASCII-8BITは基的に現実のエンコーディングではなく、任意のバイトストリーム(0から255までの値をとるバイト)を表すものであり、生のバイトストリームに用いたり、文字列のエンコーディングが不明であることを明示したりするときに用いられます。 いわゆるASCII文字セットは7ビットのみを使

    Ruby: US-ASCII-8BITというエンコードを理解する(翻訳)|TechRacho by BPS株式会社
    kachick
    kachick 2022/05/21
    なるほどー
  • CRAからViteへ移行して190倍高速なdev server起動を得る - inSmartBank

    ある日突然、あなたに190倍(当社比)高速なdev serverができたらどうしますか...? この投稿ではWebアプリケーションのビルドツールをCreate React AppからViteへと移行した背景・手順・結果について説明します。 Vite等のビルドツールやフロントエンドアプリケーションの開発体験に興味・関心がある方、中でもCreate React App(以下、CRA)を利用していてdev server起動やHot Module Replacementの速度に課題を抱える方の参考になれば幸いです。 前置き SmartBankが提供するB/43の開発チームはユーザーが利用するモバイルアプリだけでなく、カード発行会社としてのバックオフィス業務を支援する管理機能を内製しています。 人確認業務に用いる画面イメージ。データはもちろんダミー B/43にちなんでA/43*1 と名付けられたこ

    CRAからViteへ移行して190倍高速なdev server起動を得る - inSmartBank
    kachick
    kachick 2022/05/12
    よくわかんない webpack の verup 辛くて Vite 化しようとして数日溶かしただけの成果を得た身としては流石としか言えない
  • Autify を導入したらなかなか良かった話 - スタディサプリ Product Team Blog

    スタディサプリのコーチングサービス (合格特訓コース、個別指導コース) 開発チームで Engineering Manager をしている @pankona です。 最近弊チームで取り入れている Autify の良さについて紹介します。 TL;DR 弊チームでは最近 E2E テストとして Autify を便利に活用しています。 Autify の便利ポイントは以下。 E2E テスト構築が容易。非エンジニアでもある程度すぐに作れるようになる。細かいところは JavaScriptCSS セレクタを用いてエンジニアが補うこともできる。 多少 UI の見た目が変わってもテストが壊れにくい。UI の見た目が変わったことは検知することができ、問題ないと人間が判定することでテストが修復される。 チャットで質問を出すと結構すぐに返事がきて嬉しい。感謝。 Autify について Autify ランディング

    Autify を導入したらなかなか良かった話 - スタディサプリ Product Team Blog
    kachick
    kachick 2021/11/15
    著者が腰の痛みを押して書いた、涙なくして読めない作品
  • 障害対応とポストモーテム - スタディサプリ Product Team Blog

    こんにちは。SRE の @chaspy です。 ユーザに価値が提供できなくなってしまうシステム障害は起きてほしくはありませんが、絶対に発生しないとは言い切れません。 そんなシステム障害は、そもそも発生頻度が不定、かつ多くないので、どのように対応すべきかを体系化することは(起きる事象が毎回異なることも相まって)難しいと思います。 記事では、Quipper において、どのように障害対応を行うのか、また、障害発生時の考え方を紹介します。 障害はどのように対処されていくのか 障害発生フロー Quipper では 標準化された障害時連絡のフロー / 障害レベルがあります。 これによって、障害の内容、影響範囲によっては親会社のリクルートマーケティングパートナーズへのエスカレーションが必要であることと、その基準が言語化されました。また、エスカレーション時に送るメールのテンプレートも用意されており、「誰

    障害対応とポストモーテム - スタディサプリ Product Team Blog
    kachick
    kachick 2021/06/21
    神記事だと思っている。
  • スタートアップがCTOを探すときに用意しておくべき、1つの質問とその答え - hikoharu's blog

    最近スタートアップをやっている知人から「今、CTO探していてて、、」と聞かれることが多いです。 大体フェーズはseed期で アクセラレーションプログラムでCTO見つけてきたら出資すると言われた 人脈で出資までは取り付けたがプロダクトを内製開発していきたい 受託で生まれたキャッシュで自社プロダクトを内製開発したい みたいな状況がほとんどです。 スタートアップで技術アドバイザー的なことを副業でしているというのもあり、最初は現在の状況とか、どういったことがやりたいのか細かくヒアリングしていたりしたのですが、大体の場合、結局同じところに収束することに気づきました。 どこに収束するかというと 「そのエンジニアが、メルカリやクックパッドといった大企業ではなく、自分でサービスを作るわけでもなく、 あなたの会社でやる理由は何なのか?」 ということ 紹介を求めている以上は、これに対する解は欲しいな、、、と思

    スタートアップがCTOを探すときに用意しておくべき、1つの質問とその答え - hikoharu's blog
    kachick
    kachick 2021/06/21
    自分が候補になることは無いだろうけれども、よくある募集を見たとき引っかかる疑問がだいたい言語化されてる気がする。
  • プロダクトが進捗していないと感じた時の戦い方 - hikoharu's blog

    この記事は Product Manager Advent Calendar 2019の18日目 です。 はじめに プロダクト作りにおける負債の種類 技術的負債 組織的負債 関係者的負債 思想的負債 負債の誕生 影響し合う負債の恐ろしさ 地道に負債を解きほぐしていく おわりに はじめに Yamotty氏の素晴らしい記事に触発され、 ストラテジーと実装の一致を保つのが困難な状態、つまり プロダクトに関わる負債のせいで進捗しづらくなった時に どのように戦っていけばいいのかを掘り下げていきます。 スタートアップの強みはストラテジーと実装の一致 早さが生まれる理由は「ストラテジーと実装が一致しているから」だと考えている。 逆に言うと、これらが一致していない場合、早さは生まれない。 正しい戦略が、組織や技術的負債のために実行されなければバツ。 逆に素晴らしいテクノロジーを扱えるチームがあったとしても、

    プロダクトが進捗していないと感じた時の戦い方 - hikoharu's blog
    kachick
    kachick 2021/06/15
    たのさんと一緒に働いてたときに、こういう話をもっと聞けたら良かったな。
  • RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: History of RSpec – Steven R. Baker 原文公開日: 2021/05/09 著者: Steven R. Baker 日語タイトルは内容に即したものにしました。 私がTDD(テスト駆動開発)をチームで教え始めたのは2001年のことでした。当時のTDDはまだかなり新しい概念でしたので、テストを自動化したチームもほとんどなく、XP(エクストリームプログラミング)やTDDについて聞いたことがある人も皆無でした。テストを最初に書くことで設計を進めるという概念は当時まったく知られていなかったので、TDDを理解するのに皆とても苦労していました(20年経った今でも、この事実が完全に変わったとは言えません)。 思い返せば、あの当時は厳しい状況でした。最善を尽くしてTDDの概念を説明し、どうにかしてチームの関心を惹こう

    RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社
  • ar_table の話(もっと良い提案を募集します) - Ruby インタプリタで学ぶアルゴリズムとデータ構造

    Hash なのに Hash 値を使わない O(n) な Hash table いきなり色々すっ飛ばして、hash.c に定義してある ar_table の話をする。 話の前提は Ruby 2.6 の改善を自慢したい - クックパッド開発者ブログ にまとめた transient heap。この話は今後、ここでもちゃんとまとめたい。theap の話は、記事には直接関係しない。 簡単に言うと、ar_table は、Hash を実装するためのデータ構造であり、8 要素に限定した連想配列。8要素以上であれば、st_table を使う(これも、今後紹介する)ようにするので、とりあえず 8 要素以下の Hash オブジェクトのための特殊なデータ構造、と考えて欲しい。線形探索を行うので、探索コストは O(n)。 Hash の要素は key, value の2要素、に加えて key のハッシュ値の3要素。

    ar_table の話(もっと良い提案を募集します) - Ruby インタプリタで学ぶアルゴリズムとデータ構造
    kachick
    kachick 2021/05/17
    前にHashの大きさで使ってるデータ構造違うのでこれではカバーしきれてない的なレビューコメント貰った時、あ、そうなんだ?と思ったけど、ここに細かく描いてあったっぽい!大事な記事〜
  • Elmの何が良いのか?何ができるのか? - Studyplus Engineering Blog

    こんにちは。ForSchool事業部の石上です。お菓子はばかうけが好きです。今日はElmの話です。 背景 Studyplus for Schoolには、Elmで実装された画面アプリケーションがあります。こういうやつです。 【新機能リリース🎉】 日、新機能として「入退室管理機能」がリリースされました!連携中の生徒さんならStudyplusのQRコードをかざすだけで入退室記録がつきます! 開発チームが塾の皆様にお役に立てるよう想いを持って作った機能になりますので、ぜひ皆様にご利用いただきたいです! pic.twitter.com/zy95D7AMiU— Studyplus for School(公式) (@Studyplus_FS) 2018年12月6日 仕様はとても小さく、QRコード読み取る -> APIへ投げるという機能のみだったため、Elmでの実装が許されました。今回は、Elmを普段

    Elmの何が良いのか?何ができるのか? - Studyplus Engineering Blog
    kachick
    kachick 2021/05/06
    Elmには好印象を抱いているので気になる! localStorage さわれないというのはちょっと気になったけど・・・