プログラム言語において、被演算子(引数・オペランド)を3つ取る演算子のこと。C言語やそれから派生した言語では三項演算子と呼んだ場合には三項条件演算子 ?: を指すことが多い。
(A ? B : C)
式Aが真ならば式Cは評価されず、偽ならば式Bが評価されないという特徴がある。 人によってはこの演算子はとても読みにくいもののようで、コーディング規約などで三項条件演算子が禁止されていることも多いらしい。
前回、Web版読書ログサービスについて、バリデーション処理を施しましたが、バリデーションエラーとなった場合、フォームに入力された値が全てリセットされてしまう仕様となっていました。 そこで、今回はエラーとなっていない箇所の入力値を残すように修正しました。 フォームの入力値を残すには value属性とは サンプルコード ラジオボタンで入力値を残すには 三項演算子とは サンプルコード テキストエリアで入力値を残すには サンプルコード 読書ログサービスに実装 フォームの入力値を残すには inputタグのvalue属性を使う。 value属性とは input要素の値を指定する属性 テキスト入力欄などにお…
こんにちは。みなみんです。C#入門シリーズの続きです。 今回は、三項条件演算子について記事にしました。
GraphQLのDirectiveという機能を使って三項演算子を再現する。 実行環境にはhttps://graphql.org/learn/queries/#directivesを使う(いつか動かなくなってしまうかもしれない)。 例ではwithFriends variableの真偽値を変えることによって、friends.nameを取得結果が変わることが確かめられる。 ここでqueryを以下のように書き換えてみる。 query Hero($episode: Episode, $withFriends: Boolean!) { hero(episode: $episode) { name frie…
箕面プログラミングスクールの授業一回目を受けた(PHP) 今回初めて箕面プログラミングスクールというスクールに完全オンラインで通うことになりました(2021年2月20日) 受講はPHPで、5回目の授業から途中参加となりました。 進度はゆっくりなので、ついていくことに苦労はなさそう。 月額料金7800円。最初の1か月は無料です。 qa-link.net 全部で24回/4回/月=6か月はWeb プログラミングコースはかかりそうです。総額7800円 X 5(1か月目は無料)= 39,000円だいぶ安いのではなかろうか。 ■Formタグ、Inputタグの理解必須。PHPはinputタグ中で入力された情…
ReactのJSXの中で、Reactの開発者が条件を設定する方法は複数あります。 if/else文やswitch文も使えますが、第三の方法として三項演算子がございます。 この記事では、Reactで三項演算子を使用する方法について学習します。 Vanilla.JSでの三項演算子の基礎は下記で解説しております。 dev-k.hatenablog.com 三項演算子 Reactでの三項演算子 JSX内に記述する Reactでのネストされた三項演算子 論理積演算子 インラインスタイルでの三項演算子 最後に 軽く三項演算子のおさらいをしときましょう。 三項演算子 条件付き三項演算子は、3つのオペランド(…
8月と大して変わらず暑かった9月ですが、学習を振り返りです。8月はRuby教材でのインプットが主体でしたが、9月は1ヶ月通してRuby課題に対するアウトプットに打ち込む月間となりました。 9月上旬 ターミナル上に計算結果を表示させるプログラムの実装。表示されるレイアウトも考慮して実装しなければならないが、ここで9月アップした別記事にもあるようにoptparseライブラリ・コマンドライン引数の学習、if, unless, rjustメソッド、raiseによる意図的な例外発生の実践的な活用法を学びました。 value = 1 unless value == 0 # value ≠ 0 'hello…
はじめに こんにちは、ラクスでインフラを担当しているftkenjです。 弊社ではサービスの製品サイトをAWSで運用していますが、リソースの追加・変更が発生するたびにコンソールにログインをして画面をポチポチして行っています。 オンプレよりは楽ですが、クラウドサービスの利点を生かし切れていませんでした。 そこでサービスでも利用してるTerraformで構成管理を行っていくことにしました。 コード化していく中で苦労したことなどを伝えられればと思います。 目次 はじめに 目次 Terraformって何? きっかけ 苦労したこと ディレクトリの構成 リソースの取り込み 実環境との差分埋め 良かったこと …
可読性の高いクリーンなコード記載方法 現場で1年弱働いて、可読性の高いクリーンなコード記載を学んだので、備忘録としてこちらにまとめます。 三項演算子を利用して変数に値を設定 food = 'fruit' food == 'fruit' ? select_food_type = 'フルーツ' : select_food_type = 'フルーツ以外' ↓ food = 'fruit' select_food_type = food == 'fruit' ? 'フルーツ' : 'フルーツ以外' # 上記で変数foodに[fruit]が格納されていれば、select_food_typeには[フルーツ…
こんにちは。 今回は「Stone Story RPG」というゲームを遊んでみます。 ちょっと長めのイントロが入ります。 友人と Steam の無料ゲームを発掘することがままあるのですが、そこで「Super Auto Pets」というゲームを見つけました。 これがなかなかおもしろく、友人が見つけてくれたんですが、以前にも「Muck」という良ゲーを見つけてくれたので見る目あるなと思っていました。 「Super Auto Pets」ですが、アプリ版もあるようだということでせっかくなので入れることにしました。 アプリを入れるときは、おすすめのゲームみたいなものがいくつか表示されると思うのですが、その中…
もう一度Rustを勉強したくなったが The Rust Programming Language をやる気力はなかったので、Tour of Rust をやってみた。 tourofrust.com 大部分が日本語に翻訳されている。ありがたい。 ざっとやってみた感想としては、 基本的な文法、概念は一通りカバーできていて良い 文字列だけでまるまる1章使ってるのは良い(第6章) 所有権、借用、ライフタイムについては難しさに対して説明はさらっとしててこれだけでの完全理解は無理だった 第8章 スマートポインタは何もわからない Tour of Rust をやってもまだ理解が不十分なところとしては 所有権と借…
発端 会社で、リーダブルコードの理解度について質問をされた時に、少し自信がなかったのでこれを機に自分の言葉で振り返ってみる 1章 理解しやすいコード この章の中で、優れたコードについて触れられている 本書が提唱する優れたコードとは理解しやすいコードと書かれている では理解しやすいコードって一体どんなコードだろう ※筆者はPHPerなので、PHPで書きます。 行数の短い条件分岐 $isMax = $max_number > REQUEST_LIMIT ? true : false; 行数の長い条件分岐 $isMax = false; if ($max_number > REQUEST_LIMIT…
JavaScriptはプログラマーの人気1位の言語と言われています。ブラウザで唯一動作が保証されているプログラミング言語ですし、サーバーサイドではNode.jsとして動作します。さまざまな分野で使われているプログラミング言語、それがJavaScriptです。 1つのプログラミングを習得すれば、他のプログラミング言語の学習も容易になります。まずJavaScriptをしっかりと学んでみましょう。 この記事ではそんなJavaScriptを学ぶ上で良くある疑問を、なるべく分かりやすく解説します。今回は「if判定」について解説します。
JavaScriptはプログラマーの人気1位の言語と言われています。ブラウザで唯一動作が保証されているプログラミング言語ですし、サーバーサイドではNode.jsとして動作します。さまざまな分野で使われているプログラミング言語、それがJavaScriptです。 1つのプログラミングを習得すれば、他のプログラミング言語の学習も容易になります。まずJavaScriptをしっかりと学んでみましょう。 この記事ではそんなJavaScriptを学ぶ上で良くある疑問を、なるべく分かりやすく解説します。今回は「var/let/constの違い」について解説します。
複数の場所にスムーススクロールで移動させたい場合 以下の指定でa要素のhref属性の頭に#がついている場合という設定が出来ます。しかしこのままでは全てのa要素が対象になってしまうため、a要素にクラスを付けて対象を限定しましょう。 $('a[href^="#"]')対象を限定した場合 $('a.scroll[href^="#"]') 位置の取得 offset()は、親要素関係なく、documentから見た座標を取得します。 さらに複数回使う要素は変数に置き換えた方が効率的なので記述するパターンも覚えておきましょう。 以下はターゲット要素より、50px上にスクロールするサンプルです。 var po…
はじめに こんにちは akihiyo76 です。現在、私のチームではレビューガイドラインを明文化して、レビュアーはガイドラインに従ってコードレビューを行なっています。このガイドラインは、チームで運用を開始して2年になりますが、チームでも浸透しレビュー時に必ず利用するようになりました。 はじめに コードレビューの課題感 課題改善に向けて 採用したコードレビュー観点 1. Design(設計) 定義 具体例 2. Simplicity(理解容易性) 定義 具体例 3. Naming(命名) 定義 具体例 4. Style(コードスタイル) 定義 具体例 5. Functionality(機能要求)…
週刊しいたけ占いがついに復活しましたね、しいたけ占いは読んでいて元気が出たり励まされたりするので好きです。 ということで今週の自分の星座のしいたけ占いにバチっと一発でアクセスしたい*1ので、ブックマークレットを書きました。*2 コピペ用のコードはGistを眺めていただくとして、シンプルなコードではあるのですが微妙に引っかかったところの知見でもまとめておこうと思います。 gist.github.com 最初はわりとスタンダードなお作法(?)に従ってこんな風に書いてたんですが、これだとブランクタブでは動作しないという罠に引っかかりました。 (読みづらくて仕方ないので以降のコードは適宜改行とインデン…
初めに C# には、通常の値と null がとれる型が欲しい場合のために null 許容型が存在します。本記事では、null 許容型について、まとめます。
はじめに 完全未経験からプログラミングを勉強して、約5ヶ月経ちました。 FJORD BOOT CAMP(フィヨルドブートキャンプ)では、fizzbuzzなど初心者向けの課題に取り組んでいる時から、メンターさんに本気のレビューをしていただきます😊 今回は「超初心者編」として、学習1~2ヶ月目にRubyのコードレビューで学んだことを中心にまとめたいと思います。 はじめに スペースを適切に入れる 演算子の前後には、半角スペースを入れる。 メソッドと引数の間には、半角スペースを入れない。 変数・定数をわかりやすく 変数名に抽象的すぎる名前をつけない マジックナンバーは、定数として定義する 無駄な処理を…
難しすぎる。死ぬ。
こんにちは、YOUTRUSTでWebエンジニアをしている今井(YOUTRUST / X)です。6月に入社してから、もう少しで3ヶ月経過するのですが、徐々にできることも増えてきて、成長を実感できる日々を過ごしています。 そしていきなりの告知で申し訳ないのですが、昨日(8月21日)YOUTRUSTは最強人事桃太郎の新CMを開始しました!(書かずにはいられなかったです笑) 新CM開始を、事業部関係なく会社全員で盛り上げるところを、手前味噌ですが良い文化だなぁと改めて感じた1日でした。 (新CM動画はこちらです!) youtu.be 白熱した議論が巻き起こったLT 記事の本題に戻るのですが、今回のテー…