タグ

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

  • スケールする要求を支える仕様の「意図」と「直交性」 - Qiita

    はじめに どんなソフトウェアエンジニアも拡張しやすくメンテナンスしやすいソフトウェアを作りたいと思っているはずです。また、どんなプロダクトマネージャも同様に拡張しやすいシンプルな要求を作りたいと考えているはずです。 しかし、将来の不確実性や発展性に対して見通しを立てるのは難しいものです。そのため、開発チームの思いとは裏腹にソフトウェアの複雑性はどんどんと増大していきます。気がついたら技術的負債と呼ばれるような手もつけられない泥団子になってしまうということもしばしばです。誰もが生産性を下げるために機能を追加したいわけではなく、ビジネス価値を提供するために機能を追加したいだけなのにです。 このような状況を避けるためにはどうしたらよいのでしょうか。今回はその一つの手段として、要求には隠れた「意図」があり、それを発見していくことの重要性についてまずはお話しします。さらにわかりやすい要求が持つ仕様の

    スケールする要求を支える仕様の「意図」と「直交性」 - Qiita
    mak_in
    mak_in 2021/07/06
  • 綺麗なコミットログを作りたいときのgitテクニック - Qiita

    これは何 僕は開発作業をしているとき、PRをあげるまでの開発途中はwipコミットに変更を記録していき、最後にコミットを仕上げていくような作業をよくします。 初めからコミットを綺麗に書きながら開発ができれば良いのですが、 にあるようなコミットログを仕上げていこうと思うとどうしても最後にコミットログを整理したくなります。 この記事はこのようにgitを使うと綺麗なコミットログを作れるよ、というTipsです。 具体的にこういうコミットを作ると良いよ、みたいな話はこの記事ではしません。 僕はこのような工程でPRを出す前にコミットログを作っています。 git rebase -iで作業中のコミットを全て一つのコミットにsquashする git reset HEAD~で一度コミットを取り消す git add -pで作りたいコミットごとに変更をstageにあげていく コミットを作成する git rebase

    綺麗なコミットログを作りたいときのgitテクニック - Qiita
    mak_in
    mak_in 2021/06/21
    昔は真面目に考えてたけど、プルリクをマージする時に真面目にコメント書けばいいじゃん、ってなって諦めた。 しくじって消えたら元も子もないし、汚くても思考のプロセスも見えるから、いいかな、と。
  • 「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita
    mak_in
    mak_in 2021/04/03
    文字コードうんぬんよりも、これまでの信頼関係が全然できてないせいじゃないの?と思ったのだが…使わないという対応含め怪しい感じがしたまま完了できてるのは、信頼関係の不備を象徴してる気が…そんなもんなの?
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    mak_in
    mak_in 2021/03/25
    forもだけど、datetimeもよく調べる。書き方、と言うよりも、仕様が言語やフレームワークによって微妙に違うので。
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    mak_in
    mak_in 2021/03/18
  • 【Windows 10版でどこまでできるか】Power Automate Desktop のライセンスやできることや気になることまとめ【随時更新】 - Qiita

    Windows 10版でどこまでできるか】Power Automate Desktop のライセンスやできることや気になることまとめ【随時更新】AzureRPAPowerAutomateDesktopQiitaAzure はじめに 2021年のMicrosoft Igniteの発表でPower Automate Desktop が追加費用なしでWindows10ユーザーにて利用可能になりました。 大きな反響がある発表でしたが、デジタルプロセスの自動化を実行するPower Automate は以前から存在しており、また、2020年からPower Automate の有償プランの一部でPower Automate Desktop は利用できていました。 記事では、Windows 10 や Windows 11 で追加費用なしで使用できるPower Automate Desktop について

    【Windows 10版でどこまでできるか】Power Automate Desktop のライセンスやできることや気になることまとめ【随時更新】 - Qiita
    mak_in
    mak_in 2021/03/07
  • マイクロサービスアーキテクチャの経済と適応度 - Qiita

    はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての質的な難しさやアーキテクチャの移行の質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき

    マイクロサービスアーキテクチャの経済と適応度 - Qiita
    mak_in
    mak_in 2021/03/06
  • 10年間使ってみて見えたHaskellの闇と光 - Qiita

    はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュールはありません) 最初のビルドに20分くらい待つのはザラです。 複雑な型システムをつかうと型推論や型レベル計算に時間がかかります。 高速なHaskellプログラムを書くためには多くの関数をインライン化する必要があります。最適化ビルドではインライン展開によってコードサイズが大きくなるので時間がかかります。 デバッグが難しい 公式のGHCiデバッガはありますが、今のところIDEから簡単に利用できるわけではないですし、コンパイル済みのライブラリはデバッグできないです。 近年スタックト

    10年間使ってみて見えたHaskellの闇と光 - Qiita
  • HttpClientをusingで囲わないでください - Qiita

    上記の通り、HttpClientオブジェクトは一度作成するだけでそれをずっと使い続けるのが正しい使用法です。知ってる人には当然なんですけども、知らないと結構驚くかも知れません。APIドキュメントにはこう書いてあります。 HttpClientは、1回インスタンス化し、アプリケーションの有効期間全体に再利用することを目的としています。 すべての要求に対して HttpClient クラスをインスタンス化すると、大量の読み込みで使用可能なソケットの数が枯渇します。 これにより、SocketException エラーが発生します。 間違った使い方をしていても普段はあまり問題は起きませんが、高負荷時に突然ダウンすることが起こりえます。 Azure App Service で問題になりやすい理由 間違った実装のアプリをAzure App Serviceで運用している場合、特に問題になりやすいです。どうし

    HttpClientをusingで囲わないでください - Qiita
    mak_in
    mak_in 2020/12/23
  • Scratch、Viscuit の次は 「9VAeきゅうべえ=第3のプログラミング学習環境」 - Qiita

    スクラッチ、ビスケット、9VAeきゅうべえは、まったく違う特長をもっているので、それぞれ体験してみるのがよいでしょう。 スクラッチと9VAeきゅうべえの連携 - 9VAeきゅうべえは実はスクラッチのスプライト作成ツールとして使えます。作り方はこちら(9VAeアニメ研究所) スクラッチでネコの表情を変えたり、しっぽを振ったりするには、コスチュームと呼ばれる画像を何枚も作成する必要があります。このコスチューム作成に 9VAeきゅうべえが使えます。 9VAeきゅうべえでは何枚も絵を描かなくてもアニメが作れます。完成したアニメを連番PNG出力すれば、必要な枚数のコスチュームがすぐ作れます。自分のキャラクタを自由自在に動かせます。下図は9VAeきゅうべえでコスチュームを作った例です。 「コスチューム」をクリック 「ファイルから新しいコスチュームをアップロード」をクリック 9VAeきゅうべえ>ファイル

    Scratch、Viscuit の次は 「9VAeきゅうべえ=第3のプログラミング学習環境」 - Qiita
    mak_in
    mak_in 2020/12/09
  • .NET 5 を使いたい理由6選 - Qiita

    速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

    .NET 5 を使いたい理由6選 - Qiita
    mak_in
    mak_in 2020/11/28
    C#はいいぞ
  • C#の他言語と比較して優位な点不利な点まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ###注意### これは掲載者の主観であります。 場面によってはメリットとなる場合もあります #C#についてメリット、デメリット# 私はC#をおすすめしています 理由としては以下のメリットがあります ###メリット### Microsoftが開発しているためWindowsとの相性がいい オブジェクト指向プログラミングができる 最新の技術が早く取り入られる GUIアプリケーションの開発が簡単にできる 人気が高いため情報が多い Unityに対応しているためゲーム開発が可能 VisualStudioといった強力なIDEがある マルチプラットフ

    C#の他言語と比較して優位な点不利な点まとめ - Qiita
    mak_in
    mak_in 2020/05/05
    こういう比較は、客観的に作ったつもりでも、立ち位置などにより、見る人書く人の主観が入るので、正解はない。 個人的に欲しいのは、複数の言語を実際にやってて辛いところ/嬉しいところの比較かな。
  • メインフレームの異常処理 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されて

    メインフレームの異常処理 - Qiita
    mak_in
    mak_in 2020/05/04
  • 最近のポケモンはデザインが複雑になったのか?【Python】【OpenCV】 - Qiita

    はじめに 先日、ポケモンたかさおじさんこと、生㌔Pのブログにて次のような記事が投稿された。 ポケモンらしさ-2_意見分析 マスコット感検証 https://pkmnheight.blogspot.com/2020/04/2.html ざっくり引用すると、以前バズってた以下の海外の分析画像を、転載したTweetがあった。 ポケモンのデザインはどんどん生物的じゃなくなって行ってて、色んな部位が丸みを帯びてただの可愛いマスコットキャラクターと化してるっていう海外の分析画像が凄い pic.twitter.com/qHHVaHzEue — Χ十 ◤カイジュー◢(⃔ *`꒳´ * )⃕↝♡ (@KaijuXO) June 13, 2019 このTweetに対して、ポケモンたかさおじさんが 猛撃 していたというものである。 ざっっっくり要約すると、各世代ごとに幼虫・昆虫ごとに部位をピックアップし、 そう

    最近のポケモンはデザインが複雑になったのか?【Python】【OpenCV】 - Qiita
    mak_in
    mak_in 2020/04/23
  • プロジェクトリーダーというお仕事 - Qiita

    たとえば、詳細設計から結合試験までを行う場合なら、 13sp + 13sp + 13sp + 19.5sp = 58.5sp と計算します。 スクラムでやるなら1スクラムあたり何sp消化できるか、ウォーターフォールなど日数を見積もりたい場合は、そこから1spが何人日かを予め定義しておいて、実際の工数を割り出します。 (1スプリントで10sp消化できるとした場合は6スプリントかかる計算になるし、1sp=0.5人日とした場合は、29.5人日≒1.5人月となります) なお、この比率は求められる品質レベルから算出します。 たとえばドキュメントをかっちり書く必要があるのなら設計の比率を上げる必要がありますし、メモレベルでよかったり、GitのPullRequestなどに記載する程度でいい場合は比率は下がるでしょう。テストの工数も同様です。なお、上記のは「ある程度かっちりやる」場合の比率です。 比率を算

    プロジェクトリーダーというお仕事 - Qiita
    mak_in
    mak_in 2020/03/31
  • 製造現場向けの自動化ツールをPythonで作る時に留意すること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事のモチベーション 昨年、生産技術職からデータ分析業に転職し、Pythonを書く機会が多くなりました。今は機械学習用の前処理ツールを開発する案件に携わっています。そんな中、生産技術者として働いていた時のことを顧みると自動化できた作業が色々あったなーと思いました。転職後に得たPythonの知識と生産技術者時代の知見を踏まえて、再び製造現場で働く際に使えそうなネタを記載します。同じようなニーズに直面している方の参考にもなれば幸いです。 記事は既存技術を組み合わせてこうしたら良さそう!ということを記載したものであり、技術的に目新しいこ

    製造現場向けの自動化ツールをPythonで作る時に留意すること - Qiita
    mak_in
    mak_in 2020/03/21
  • Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita

    図にすると以下のようになります。 Strict 外部サイトからのアクセスではCookieを送らない。 Lax 外部サイトからのアクセスはGETリクエストのときだけCookieを送る。 None 従来通りの動き。 【追記】なおChrome 80以降でSecure属性を付けずSameSite=Noneを指定した場合、set-cookie自体が無効になります。 セキュリティ上の効果 CSRF対策になります。 CSRF (クロスサイト・リクエスト・フォージェリ) とは、 WEBサイトがユーザー人の意図した動作であることを検証していないためにおこる脆弱です。 たとえば会員の退会ページを https://example.com/mypage/delete/で用意し、 ボタン操作でsubmit=1が送信されて退会処理が実行される仕様の場合、 パラメータが誰でもわかるので、外部に用意された悪意のあるフォ

    Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita
    mak_in
    mak_in 2020/02/02
    コレ、つい最近仕事でも調べた。 某PKGのSSOが完全に動作しなかった。認証は通るんだけど、アクセス時のURLをcookieに持つ作りだったせいで、必ずトップページにリダイレクトする、という。動作確認するしかない。
  • 【ハーレム】多すぎて選べない!Pythonで円周率πを計算する13の方法 - Qiita

    \displaystyle\int {\rm d}\boldsymbol{r}\hat{\psi}^{\dagger}(\boldsymbol{r})ぽっぴんフレンズ\hat{\psi}(\boldsymbol{r}) です!今回は、Python円周率 $\pi$ を計算する方法を13通り紹介したいと思います! 以前、「もう円周率で悩まない!πの求め方10選」という(円周率界隈では有名?な)記事を拝読し、「π求めてぇ」という欲望が増幅したので、今回の記事を執筆するに至りました。そして今回、記事にある $\pi$ を求める方法のほとんど全てをPythonで実装してみました! いざやってみると、Pythonの基礎知識(関数、Numpy、for文、while文、if文、クラスなど)がふんだんに盛り込まれていたので、(筆者のような)プログラミング初心者が Python の練習としてやってみるのは

    【ハーレム】多すぎて選べない!Pythonで円周率πを計算する13の方法 - Qiita
    mak_in
    mak_in 2020/01/21
  • 段階的に理解する O/R マッピング - Qiita

    はじめに O/R マッピングとは O/R マッピングとは、一言で言えば、オブジェクト指向プログラミング言語においてリレーショナルデータベースのレコードを通常のオブジェクトとして操作する方法である。より詳細な定義を述べるより、実際のコードを見たほうがわかりやすいだろう。以下に、低レベルの JDBC API の利用例と、高レベルの O/R マッピングフレームワークの代表格である JPA の利用例を挙げる。 public List<Issue> findByProjectId(long projectId) { String query = "select id, title, description from issue where project_id = ?"; try (PreparedStatement ps = connection.prepareStatement(query))

    段階的に理解する O/R マッピング - Qiita
    mak_in
    mak_in 2019/12/23
  • Microsoft Azure のオススメの学習方法についてまとめてみる - Qiita

    はじめに 新しいサービスにはじめて触れるとき、どうやって学べば良いかが分からずに困ることってありませんか? 特にパブリッククラウドは、サービス数が非常に多い上にアップデートが早いため、キャッチアップするのが大変ですよね。 記事では、Microsoft Azure を学びたいと思っている方を対象に、オススメの学習方法についてまとめていきます。 想定読者 記事が以下の皆様の Azure 学習の一助になれば幸いです。 これから Azure を学ぼうと思っている方 既に Azure を使っており、もっと学びたい方 AWS (Amazon Web Services) 経験者の方で Azure に興味がある方 GCP (Google Cloud Platform) 経験者の方で Azure に興味がある方 主要な学習リソースの概要 色々な学習リソースがありますが、Azure 公式ドキュメント と

    Microsoft Azure のオススメの学習方法についてまとめてみる - Qiita
    mak_in
    mak_in 2019/12/18