タグ

関連タグで絞り込む (519)

タグの絞り込みを解除

programmingに関するghostbassのブックマーク (1,769)

  • トランクベース開発とデプロイ - Mitsuyuki.Shiiba

    前回は Git-flow とデプロイについて書いたので bufferings.hatenablog.com 今回は、トランクベース開発とデプロイについて考える。LinkedIn, Facebook, Google などもトランクベースの開発をしてるんだね 参照: Agility Requires Safety | Y Combinator トランクベース開発は Git じゃなくてもいいと思うんだけど、この記事では Git 前提で考える トランクベース開発? 幹(trunk)となるブランチにみんなが小さな変更を加えていくブランチモデル。寿命の長いブランチを作らないようにすることで、マージでつらい思いをしなくて済むようになって、ビルドも壊れないようにできて、ヤッター!というもの trunkbaseddevelopment.com Git-flow みたいに develop ブランチで開発をする

    トランクベース開発とデプロイ - Mitsuyuki.Shiiba
    ghostbass
    ghostbass 2022/04/10
    常にリリース可能って言うのが肝なので、中途半端な変更がテストもされずにメインブランチに紛れ込むと詰む。
  • The State of JS 2021

    A lot happened in 2021. So much in fact that the survey was pushed back all the way to 2022! Between a slew of faster build tools and a new crop of back-end frameworks, the JavaScript world kept evolving. And we did our best to keep up, giving this survey a couple new power-ups (read more about what's new) such as new question types, the ability to cross-reference two datapoints (such as yearly sa

    The State of JS 2021
    ghostbass
    ghostbass 2022/02/17
    100%回避できるかと言うとわからないけどデスクトップに他所から落としたファイルは置かない、何かやるときはエクスプローラー/リスト表示を常に使う、で結構防げそうな気もする
  • Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション - Flatt Security Blog

    記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日語に翻訳したものになります。 TL;DR Node.jsのエコシステムで最も人気のあるMySQLパッケージの一つである mysqljs/mysql (https://github.com/mysqljs/mysql)において、クエリのエスケープ関数の予期せぬ動作がSQLインジェクションを引き起こす可能性があることが判明しました。 通常、クエリのエスケープ関数やプレースホルダはSQLインジェクションを防ぐことが知られています。しかし、mysqljs/mysql は、値の種類によってエスケープ方法が異なることが知られており、攻撃者が異なる値の種類でパラメータを渡すと、最終的に予期せぬ動作を引き起こす可能性があります。予期せぬ動作とは、バグのような動作やSQLインジェクションなどです。 ほぼすべてのオンラ

    Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション - Flatt Security Blog
    ghostbass
    ghostbass 2022/02/16
    普通は「プレースホルダ使え」でなく「パラメータクエリー(prepared statement)使え」なのでちょとイケてない感ある
  • assertEqualsやassert_equalの引数はなぜ expected, actual の順なのか、調べてみた - Qiita

    そこで、expected, actualの順で引数が並ぶのには何か理由があるのか、ちょっと調べてみました。 調査方法 "unit test assert equal argument order why" みたいなキーワードでググってみました。検索の上位に毎度お馴染みのStack Overflowのリンクが上がってきたので、いくつか回答を覗いてみました。 Kent Beck氏は何と言っているか? JavaのJUnitRubyのtest-unit/minitestなど、いわゆるxUnit系のテスティングフレームワークはKent Beck氏が始祖の一人であると言われています。 1997年に、Smalltalk のためのユニットテストのフレームワークであるSUnitをもとにして、エーリヒ・ガンマと、SUnitの開発者のケント・ベックが中心となって開発された。 JUnit - Wikipedia

    assertEqualsやassert_equalの引数はなぜ expected, actual の順なのか、調べてみた - Qiita
    ghostbass
    ghostbass 2022/01/14
    面白い考察
  • decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita

    この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavajava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte

    decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita
    ghostbass
    ghostbass 2021/12/28
    javaでオペレーターオーバーロードが出来れば割とましになるんじゃないか説。
  • MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub

    こんにちは、freee Developers Advent Calendar 2021、19日目のid:shallow1729です。昨日はtdtdsさんで【マジで】サイバー演習シナリオの作り方【怖い】でした!障害訓練後に攻撃方法を解説された時はリアリティの高さに驚きました。 僕はMySQLを使っていて発生した不思議な挙動の調査の話をしようと思います。 今回問題となったクエリ 今回話題にするクエリは以下のようなシンプルなものです。 SELECT * FROM hoge WHERE id IN (...) MySQLのパラメーター次第ですが、デフォルトの設定だとこのIN句の中の値の数が数万になると適切なインデックスが用意されていてもフルスキャンが発生する事がありました。このクエリがテーブルのほとんどのレコードを網羅するような場合や高速でレコードを大量にinsertして統計情報が追いつかないケー

    MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub
    ghostbass
    ghostbass 2021/12/19
    IN句の中の値の数が数万<ちょっと考えにくいけどどういうユースケースなんだろ
  • 個人的にコーディングで心掛けていること - Qiita

    3行 クソコードは無知から生まれる 個人的にコーディングのときに心掛けていることのまとめ ここに書いてあるのが全て正しいわけではないので参考程度に、という保険 クソコードを滅ぼしたい おはようございます。デブです。 早速タイトルと趣旨がい違っているような気がします。 さて「クソコード」という言葉があるようにコードにもピンキリがあります。 因みにピンキリの語源はポルトガル語のpintaとcruzらしいです(諸説あります)。 時としてクソコードは見た者の精神を破壊します。 私の場合は、年上で先輩で異性であんまり話したことのない方のコードをレビューしろと言われたときに「今まで何やってきたの?」という感情を常識と礼節でねじ伏せて柔らかく表現しようと言葉を選びまくったときが一番精神にキました。 虚空に口汚く文句叫ぶのが一番冷静になれる方法だと学びました。リモートワークで丁度叫びやすいので毎日叫んで

    個人的にコーディングで心掛けていること - Qiita
    ghostbass
    ghostbass 2021/11/26
    なかなか良い
  • 設計書・仕様書のレビュー方法を定めたJIS規格登場 チェック体制を標準化しやすく

    経済産業省は11月22日、システム開発時に使う設計書・仕様書などの「作業生産物」のレビュー工程についてJIS規格を制定したと発表した。仕様書などの見直し方や観点などを規格化し、ソフトウェアの品質向上や開発の効率化を促す。 「JIS X 20246」は、設計書・仕様書の見直し作業を「計画作業」「レビューの立ち上げ」「個々人のレビュー」「要検討項目の共有および分析」「修正作業および報告作業」の順に整理し、実行するべきタスクや手順を規定するもの。システム開発や試験、保守などの場面で作るあらゆる仕様書に適用可能。 レビューの曖昧さをなくすため、「目的」「役割」などのレビューの観点10種、「執筆者確認」「同僚との机上確認」などのレビュー手法9種を定めた。JIS制定により、組織や個人のノウハウに依存することなく一定水準のレビューができるようになり、ソフトウェアなどの制作物の品質向上につながるとしている

    設計書・仕様書のレビュー方法を定めたJIS規格登場 チェック体制を標準化しやすく
    ghostbass
    ghostbass 2021/11/23
    xシリーズは最近ISOとの関連で整備されている/そのうち読む
  • 「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまで - Qiita

    「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまでC#DIDependencyInjection依存性の注入 DIはインタフェース定義しなくても十分実用的だし、むしろそっちの方が質だよ、という話をします。C#や.NETを使っていますが、それに限らず普遍的な内容です。 インタフェースと実装に分けるとか無理。DIなど不要! 中堅社員のA氏は、「DIっていちいち実装とインタフェース分けないとダメなんでしょ?。さすがにやってられんわ」と言って頑なにDIを導入しようとしません。 DIはテスタビリティと併せて語られることが多かった為か、A氏は「注入するクラスは基的にインタフェース定義しましょう」という記事ばかりを読んでいたのです。 インタフェースと実装を分けるとは、例えば次のような事です。 services.AddScoped

    「DI使うとインタフェース地獄に陥るらしいから使いたくない」と言っていたA氏がインタフェースを使わずにDIで幸せになるまで - Qiita
    ghostbass
    ghostbass 2021/10/20
    Attribute付けたりInterface付けたりでまとめてコンテナに登録とか色々。/個人的にはinterfaceあまり使わないけど実装クラスをnewすることもほぼない
  • サブミット (送信) ボタンをデフォルトで無効化しない | Accessible & Usable

    公開日 : 2021年10月14日 (2023年10月11日 更新) カテゴリー : ユーザビリティ / アクセシビリティ ウェブのフォームにおいて、サブミットボタンをデフォルトで無効化しておいて、ユーザーの入力不備がなくなったときにボタンを有効化する UI があります。たとえば、利用規約などの文書を読んで同意する旨のチェックを入れないと、あるいは、入力必須フィールドにすべて正しく情報を入れないと、ボタンがアクティブにならない、というものです。 サブミットボタンがデフォルトで無効化されているフォームの例。 このような UI は、アクセシビリティやユーザビリティの観点で、以下の問題があります。 そこに存在しているはずのサブミットボタンが使用できないことに対して、その理由をユーザーが理解できずに、混乱してしまう恐れがある。(ユーザーの側に誤っているという自覚がなくても、ちょっとした見落としや入

    サブミット (送信) ボタンをデフォルトで無効化しない | Accessible & Usable
    ghostbass
    ghostbass 2021/10/14
    ちゃんと実装できるならリアルタイムバリデーションの方がましじゃないか、と思う
  • ソフトウェアデザインにおける構造設計を実践!マネーフォワードさんとワークショップを開催しました|Goodpatch Blog グッドパッチブログ

    Goodpatchでは、UIの構造設計を重視したデザインプロセス「モデルベースUIデザイン」を推進しています。最初にコンセプト定義やユースケースを定義し、情報整理をして最終的に機能やビジュアルなどの具体的なところを詰めていく考えをとっていくプロセスです。 今回は、マネーフォワードさんと「デジタルプロダクトのUI設計のプロセスと考え方を学び、実践することでスキルのベースを身につけること」をテーマに、モデルベースUIデザインについて理解・実践するワークショップを開催しました。記事では開催の背景から当日の様子をご紹介します。 参加いただいたマネーフォワードのUI/UXデザイナーさんによるnoteもぜひご覧ください! マネーフォワードがGoodpatchさんとUIデザインワークショップを実施しました! ご相談いただいた背景 「お金を前へ。人生をもっと前へ。」をミッションに掲げる株式会社マネーフォ

    ソフトウェアデザインにおける構造設計を実践!マネーフォワードさんとワークショップを開催しました|Goodpatch Blog グッドパッチブログ
    ghostbass
    ghostbass 2021/10/07
    ソフトウェアデザインにおける構造設計<このタイトルはないだろう
  • ITエンジニアを目指すなら知っておきたい!システム開発における「テスト工程」とは - paiza times

    Photo by Ruiwen Chua こんにちは。倉内です。 皆さんは「開発系のITエンジニアの業務」と聞くと、システムを開発するためにコードを書くというのがまず浮かぶのではないでしょうか。 それも間違いではないのですが、実務では要件定義・設計・開発・テスト・運用といった工程があります。すべてを担当するかは開発規模や企業にもよりますが「書いたコードをテストする」という作業は必ず発生するため、ITエンジニアにとってテスト工程は避けては通れない道だと言えます。 しかし、実務経験がない方にとっては、「テストってなんとなくは分かるけど、具体的に何をするかはよく分からない…未知の領域…」という感じかもしれませんね。 テストは突き詰めるとかなり奥が深い(それこそ分厚い参考書になるくらい)ですが、今回は「なぜテストをやるのか?」「どのようなテスト方法があるのか?」など、システム開発における「テスト工

    ITエンジニアを目指すなら知っておきたい!システム開発における「テスト工程」とは - paiza times
  • 大規模リファクタリングの極意

    iOSDC 2021 での登壇資料となります。 登壇内容 https://www.youtube.com/watch?v=yWO47AFkDls 以下、スライド内に登場するリンク一覧です。 MoT Teck Talk vol.3 「タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場」 https://www.youtube.com/watch?v=KwaMV7-uMdI 不要なコードを検知して PR にコメントする Danger プラグイン https://github.com/imairi/danger-detect_unused_definition xcode-select の自動切り替えツール https://github.com/klaaspieter/chxcode RIBs アーキテクチャのボイラープレート自動生成 + 依存解決ツール https://githu

    大規模リファクタリングの極意
  • マジックナンバー使うな? どんどん使え! - Qiita

    マジックナンバー使うなって言われません? 私も昔はそう思ってたんですよ。 そうでもないなあと最近思い始めたわけでして。 よくある「マジックナンバー使うな!」 消費税の税額を求めるプログラムがあるとします。(軽減税率とかいろいろありますが、面倒なので一律 10% ってことにします)

    マジックナンバー使うな? どんどん使え! - Qiita
    ghostbass
    ghostbass 2021/09/17
    円周率とかネイピア数とかなら分らんでもないけどこの例は…うーん…
  • CentOS7にMySQLをインストールして初期設定するまで - Qiita

    環境 macOS 10.12.6 MacBook pro 2016 VirtualBox 5.2.18 CentOS 7.6-1810 MySQL 5.7.25 リポジトリの追加 MySQLはyumコマンドでインストールします。 CentOS 7では公式のyumリポジトリにMySQLがないので、まずはMySQLの公式が用意しているリポジトリを追加します。 ※ yum と リポジトリ に関しては、こちらの記事をご覧ください。 rpmファイルをインストール まず、MySQL Yum リポジトリをシステムのリポジトリリストに追加します。この操作は一度だけ必要で、MySQL が提供する RPM をインストールすることで実行できます。次の手順に従います。 MySQL公式より ってことなので、公式が用意しているrpmファイルをインストールすれば、yumのリポジトリもいい感じに追加してくれるみたいです。

    CentOS7にMySQLをインストールして初期設定するまで - Qiita
  • MongoDBインストール ~ PHPで使うまで - Qiita

    1.環境 さくらVPS(CentOS release 6.5 Final) 上記サーバーにyumでMongoDBを入れたあと、PHPから使えるように設定します。 2.MongoDBをyumコマンドでインストール 【1】yumリポジトリ追加 # vi /etc/yum.repos.d/10gen.repo -------------------------------- [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=0

    MongoDBインストール ~ PHPで使うまで - Qiita
  • Vagrantのフォルダ共有機能Guest Additionsでのトラブル対応 - ゲームエンジニアの雑記ブログ

    こんにちは、エンジニアのオオバです。 Vagrant was unable to mount VirtualBox shared folders. This is usually because the filesystem "vboxsf" is not available. This filesystem is made available via the VirtualBox Guest Additions and kernel module. Please verify that these guest additions are properly installed in the guest. This is not a bug in Vagrant and is usually caused by a faulty Vagrant box. For context, the c

    Vagrantのフォルダ共有機能Guest Additionsでのトラブル対応 - ゲームエンジニアの雑記ブログ
  • PHP5.6とMySQL8で「Server sent charset (255) unknown to the client.」ハマった…

    実証環境 Windows10 Apache2.4.10 PHP5.6.4 MySQL8.0.15 (旧)MySQL5.6.43 PHPはmod_phpでApacheと連携、MySQLにはPDOで接続しています。 経緯 開発環境で使用していたphp5.6.4+MySQL5.6.43をMySQL8に移行しようとしました。 MySQL8.0.15をインストールして、既存のMySQL5.6.4から必要なDBだけdumpして移行する予定。 MySQL8.0.15をインストール後にphp5.6.4から接続確認をする時にハマりました。 テストDB MySQL8.0.15をインストール後に下記DBとTABLEを作成。 テスト用のDB mysql> CREATE DATABASE test; テスト用のTABLE mysql> CREATE TABLE sample(id int,name text); テ

    PHP5.6とMySQL8で「Server sent charset (255) unknown to the client.」ハマった…
    ghostbass
    ghostbass 2021/09/07
    問題なのは php5.6のほうでしょ…
  • ヘタクソなコードを書いてもいい - 覚書

    プログラミング言語のお作法から外れたコードやメンテ性が悪いコードを書くのはダメとよくいわれます。わたしは学生の頃、そういう意見を過剰に気にしていました。コードを書くことそのものに慣れていないのに綺麗に書こうとして手が動かず、動かないがゆえにコーディングの練習が進まない、という悪循環になっていました。そうすると何もアウトプットしないまま知識だけが増えていって、自分がこれくらいできそうというイメージと実際のプログラミング能力とのギャップで苦しみました。 この意識が薄れたのは、あるときものすごく手が早い人のコードを偶然見たときでした。たしかにちゃんと動くものができているんですが、そのコードの中身は当時の私の基準からいって*1おぞましいほど汚いものでした。そこで「これはわたしが書けば100倍くらい綺麗なコードを書けるんでは…」と一瞬思ったんですが、その後すぐに「あ、自分は知識はあるけど練習してない

    ヘタクソなコードを書いてもいい - 覚書
    ghostbass
    ghostbass 2021/07/12
    1.思考を整理する>2.動くレベルにする>3.思考とコードを一致させる な流れが必要なところ 1と2をごっちゃにして動いた段階で「できましたっ」って言うから「汚いっ」って言うのであって…
  • Microsoft 365に「Visio」が追加。Web版として主要機能が利用可能

    Microsoft 365に「Visio」が追加。Web版として主要機能が利用可能
    ghostbass
    ghostbass 2021/06/10
    drawio が強いのですっかり忘れていたよ…/astahがcommunity廃止したのでいい感じのクラス図>クラス定義ソースなツールが見つからないが。