タグ

プログラミングに関するurahsamのブックマーク (13)

  • 【日本人エンジニア必携】英語命名規則の決定版 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 英語での適切な命名は、コードの可読性や保守性を向上させるために重要です。適切な命名規則を守ることがコードの理解や共有において不可欠です。 英語での命名規則を学び、適切な命名を行うことで、コードの読みやすさや保守性を向上させ、チーム全体でのコードの理解を促進する手助けとなります。 この記事では、日エンジニア英語での命名規則を理解し、適切な命名を行うための指針を提供します。 命名フローチャート 変数 関数 クラス 1. 変数 1-1. boolean 1-1-1. 存在するかどうかのフラグ 名詞 + exists

    【日本人エンジニア必携】英語命名規則の決定版 - Qiita
  • たのしいコーディングのための「CUPID」特性 - iki-iki

    当初はちょっとしたSOLID批判のつもりが、「藪を突ついて蛇を出して」しまったのですが、物事はそこから具体的で目に見えるものへと発展しました。仮に、近頃はSOLID原則が役に立たなくなっているのだとしたら、何に置き換えればよいのでしょう? あらゆるソフトウェアに通用する原則はあるのでしょうか? そもそも「原則」とは何を意味するのでしょう? 私は「仕事がたのしくなるソフトウェアならではの特性や性質がある」ということを確信しています。コードでそのような質が高まれば高まるほど、仕事もどんどんたのしくなります。しかし、何事もトレードオフですから、自分の置かれている状況をつねに考慮する必要があります。 そうした特性はたくさん存在しており、互いに重なりや関連がありますし、説明の仕方もさまざまです。ここでは私がコードで気にかけている要素を強く支えていると思える5つを選びました。選ぶ数はこれぐらいが丁度良

    たのしいコーディングのための「CUPID」特性 - iki-iki
  • ソケットプログラミングのTips

    概要 ソケットプログラミングに関するTipsをメモレベルで記載する。 切断検知と経路切断 TCPコネクションの切断検出 対向がclose()、shuttdown()、プログラム終了等をしたときの切断検出について。 OSをシャットダウンさせた場合も通常はアプリケーションの終了処理が走り、正常な切断が動く。 受信側の切断検出は、recv()がlength==0で返ってきたとき、または、errno==ECONNRESETとなる。(ECONNRESETはRSTによって切断された場合) 送信側の切断検出は、切断された後2回目のsend()がエラーとなる。 ※相手がclose()→こちらがsend()→相手にパケットが飛ぶが待ち受けプログラムがいないためRST応答が来る→もう1度send()→エラー ※send()自体はカーネルの送信バッファにデータコピーするだけなので、TCPレベルの応答(送信完了)

    ソケットプログラミングのTips
  • 実践的低レイヤプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

  • もし新人プログラマが「プリンシプル・オブ・プログラミング」を読んだら - ecbeing labs(イーシービーイング・ラボ)

    概要 ブンブン Hello world. はじめまして! ecbeing新卒1年目の開発です。 名が開発です。部署名や役職名ではありません。 某有名Youtuberと同じ苗字なんです(血縁関係は恐らくありませんが)。 現在ecbeingチームで日々製品の改善等に努めております。 プロダクト開発チームは非常にメンバーの交流が活発で、学ぶことが多いなぁと感じる今日この頃です。 さて、そんなプロダクト開発チームではありますが、新人3人が配属され少し落ち着いたころに上司からこんな指令を頂きました。 「君たちには新人ミッションに取り組んでいただきます」 プロダクトの取り組み(新人ミッション) 前述のとおり、新人3人にはミッションが課されました。 内容としては「プリンシプル・オブ・プログラミング」をそれぞれ読み、各々が気になったトピックについてプレゼンするというものです。 書籍内容の深い理解や情報収

    もし新人プログラマが「プリンシプル・オブ・プログラミング」を読んだら - ecbeing labs(イーシービーイング・ラボ)
  • 型推論と型検査、静的な型つけと動的な型つけ、強い型つけと弱い型つけ - sumiiのブログ

    ついでに追加。 型推論:変数や式の型をプログラマが宣言しなくても、言語処理系が文脈から推論してくれる機構。MLとかHaskellとか。 型検査:変数や式の型が合っていることを言語処理系が(普通は静的に)チェックしてくれる機構。CとかJavaとか、MLやHaskellも。 静的な型つけ:プログラムの実行前に型を検査する機構。MLとかHaskellとかCとかJavaとか。 動的な型つけ:プログラムの実行中に型を検査する機構。LispとかSchemeとかPerlとか。 強い型つけ:検査を通れば、安全さ(safety)が保証される、という(普通は静的な)型つけ。MLとかHaskellとかJavaとか。Javaはバグがあったりしたので少し怪しいですが。 弱い型つけ:検査を通っても、安全さ(safety)は保証されない、という型つけ。CとかPascalとか。 安全さ(safety):プログラムが言語仕

    型推論と型検査、静的な型つけと動的な型つけ、強い型つけと弱い型つけ - sumiiのブログ
  • プログラミングの変数・メソッドの命名でよく使う英単語まとめ - SE_BOKUのまとめノート的ブログ

    目次 プログラミングの変数・メソッドの命名でよく使う英単語 ログイン・認証 許可・権限 ネットワーク ファイル操作 外部入出力 データ入出力 データベース操作 オブジェクト操作 生成・構築 削除・破棄 変更 変換・結合・排除 分割・切り出す(スライス) 登録・設定 検索・置き換え 状態・状態変更 計算 プロセス操作 処理サイクル 確認(1) 確認(2) 比較 その他対で使う単語 コード・ID・引数(変数) 機械学習関連 その他(未分類) データベーステーブルのカラム名の工夫(変数) 変数の頭につける接頭語 プログラミングの変数・メソッドの命名でよく使う英単語 プログラミング時の「メソッド名」「変数名」の命名で使いそうな英単語を「同じ意味でもニュアンスによって使い分けされるもの」あたりを注意してまとめます。 ログイン・認証 単語 意味 log_in/log_out ログインする/ログオフする

    プログラミングの変数・メソッドの命名でよく使う英単語まとめ - SE_BOKUのまとめノート的ブログ
  • Haskellの代数的構造入門 半群・モノイド・環とは何か? - ログミーTech

    2018年11月10日、Haskell-jpが主催するイベント「Haskell Day 2018」が開催されました。純粋関数型プログラミング言語Haskellをテーマに、Haskellに興味のある人から入門者、ちょっとできる人まで、様々な層に向けたプレゼンテーションを行ったイベント。実務から研究まで、幅広いHaskellの事例を共有します。プレゼンテーション「Semigroupとは? Monoid? 環?」に登壇したのは、aiya000氏。講演資料はこちら Semigroupとは? Monoid? 環? aiya000氏(以下、aiya000):あいやと申します。今日は「Semigroupとは? Monoid? 環?」というテーマで代数についての発表をします。よろしくお願いします。 (会場拍手) 推しVimNeovimです。活動はTwitterGitHubなどをやっています。このスラ

    Haskellの代数的構造入門 半群・モノイド・環とは何か? - ログミーTech
  • シンプルなテキストファイルで UML が書ける、オープンソースのツール

    🌱 一目でわかるPlantUML 🚀 はじめに PlantUMLは、様々なダイアグラムを迅速かつ簡単に作成できる、非常に多目 的なツールです。 シンプルで直感的な言語を利用することで、ユーザは様々なタイプのダイアグラム を簡単に作成することができます。 この言語の機能とシンタックスの詳細については、PlantUML Language Reference Guide をご参照ください。 PlantUML を初めてお使いになる場合には、 を素早く立ち上げて実行するために、クイック・スタート・ ページから始めることをお勧めします。 さらに、PlantUML は、ワークフローを強化するために、他のさまざまなツールと シームレスに統合することができます。 🧩 サポートされる UML 図 PlantUML を使用することで、以下のような構造化された UML 図を作成することができます: シーケン

    シンプルなテキストファイルで UML が書ける、オープンソースのツール
  • マルチモジュールAndroidアプリケーション / Multi-module Android Application

    ■イベント DroidKaigi https://droidkaigi.jp/2019/ ■登壇概要 タイトル: マルチモジュールAndroidアプリケーション 登壇者: Sansan株式会社 Eight事業部 山純平 ▼Sansan Builders Box https://buildersbox.corp-sansan.com/

    マルチモジュールAndroidアプリケーション / Multi-module Android Application
  • Androidにおけるパフォーマンスチューニング実践

    再現性が低い改善が難しいパフォーマンス問題に対処するために、パフォーマンスの前提知識をつけ、定性と定量との両輪からアプローチしていく方法論に関して話しています。 - パフォーマンス改善の発端 - アプリパフォーマンスの定義 - パフォーマンス課題 - UIの改善 - データ通信量 - バッテリー消費

    Androidにおけるパフォーマンスチューニング実践
  • 組込み開発向け C言語コーディング規約 | 組込みエンジニアの思うところ

    このc言語コーディング規約の目的 このc言語コーディング規約は、組込みソフトウェア向けのC言語コーディング規約について説明します。
C言語の規格には理解しづらい規則が多くあり、それを知らずにコーディングしてバグを出してしまうことがままあります。C言語の規格を理解すればそのようなバグは避けられますが、難解な規格書を読破するには多くの時間を費やさねばなりません。そこでこの書籍では、C言語コーディング規約としてC言語の間違えやすいところを選別して記載し、開発者のみなさんがC言語の細微の規則を理解する手間を省けるようにしています。 つまり、開発者の皆様にこの文書の規約を守っていただくことで、瑣末なC言語の文法的な規則を気にせずに付加価値を高めるための作業に専念していただくことを目的としています。

    組込み開発向け C言語コーディング規約 | 組込みエンジニアの思うところ
  • プログラマの採用面接で聞かれる、データ構造とアルゴリズムに関する50以上の質問 | POSTD

    情報科学科の卒業生やプログラマの中には、UberやNetflixのような新興企業や、 AmazonMicrosoftGoogle のような大企業や、InfosysやLuxsoftのようなサービスを基とする企業で、プログラミング、コーディング、ソフトウェア開発の仕事に就きたいと考える人が大勢います。しかし、実際にそういった企業で面接を受ける場合、大半の人が プログラミングに関してどのような質問をされるか 見当もつきません。 この記事では、 新卒生からプログラマになって1〜2年までの 経験値が異なる人たち向けに、それぞれの プログラミングの面接でよく聞かれる質問 をいくつか紹介していきます。 コーディングの面接では、主に データ構造とアルゴリズムに基づいた質問 がされますが、 一時変数を使わずにどのように2つの整数をスワップするのか 、というような論理的な質問もされるでしょう。

    プログラマの採用面接で聞かれる、データ構造とアルゴリズムに関する50以上の質問 | POSTD
  • 1