タグ

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

  • 覚えておきたい「シリアライズ serialize」 | hijiriworld Web

    シリアライズとは、ソフトウェア内部で扱っているデータをそのまま、保存したり送受信することができるように変換することです。 データベースに配列データをそのまま保存したい時などに使います。 通常、データベースには「フィールド:値」という形式で保存される為、配列データをそのまま保存することはできません。 仮に「array(‘a’, ‘b’, ‘c’)」という値を保存したとしても、それはただの 文字列 にすぎません。 一方、シリアライズすると、配列データを配列データとして保存することができます。 特に、配列の要素数や構造が動的に変化するデータを取り扱う場合には、必ずと言っていいほど使うでしょう。 では、シリアライズによって、データがどのように変換されるかを見ていきます。 まずはPHPのシリアライズから。 PHP – serialize() シリアライズ シリアライズ後の文字列は「型:値」の形式に変

    tanosikeizaigaku
    tanosikeizaigaku 2020/06/24
    シリアライズとは、ソフトウェア内部で扱っているデータをそのまま、保存したり送受信することができるように変換する
  • シリアライズとは - IT用語辞典

    概要 シリアライズ(serialize)とは、複数の要素を一列に並べる操作や処理のこと。単にシリアライズといった場合には、プログラムの実行状態や複雑なデータ構造などを一つの文字列やバイト列で表現する「直列化」を指すことが多い。 様々な要素を組み合わせた複合的なデータや、コンピュータで実行中のプログラムがメインメモリ上に展開しているオブジェクトなどを、一定のデータ形式や変換規則に従って文字列やバイト列に変換し、保存したり送受信できるようにすることを指す。 プログラムが処理している複雑なデータやオブジェクトなどのある瞬間の状態(スナップショット)を丸ごと固定することができ、ストレージに永続的に保存したり、ネットワークを通じて他のコンピュータに送ったりすることができる。 シリアライズされたデータを元の状態や形式に復元する作業や処理のことは「デシリアライズ」(deserialize)という。プログ

    シリアライズとは - IT用語辞典
    tanosikeizaigaku
    tanosikeizaigaku 2020/06/24
    シリアライズとは...プログラム上のデータやオブジェクトなどを、一定のデータ形式や変換規則に従って文字列やバイト列に変換し、保存したり送受信できるようにすることを指す
  • プライベートメソッドのテストは書かないもの? - t-wadaのブログ

    この文章の背景 この文章はプライベートメソッドのテストを書くべきか否かに関する knsmr さんのご質問に対して 2013/03/13 に QA@IT で回答したものです。残念ながらQA@IT のサービス終了(2020/02/28)と共にアクセスできなくなってしまったため、運営を行っていたアイティメディア株式会社様、開発を行っていた永和システムマネジメント様、そして質問をされた knsmr さんに許可とご協力をいただき、当時の回答をサルベージしてブログに転載する運びとなりました。 プライベートメソッドのテストはよく議論になるテーマですので、当時の回答を再編集し、knsmr さんのご質問も含め、ご利用いただきやすいライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で公開いたします。 目次 この文章の背景 目次 knsmr さんのご質問 私の回

    プライベートメソッドのテストは書かないもの? - t-wadaのブログ
  • 論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記

    僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。 また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。 とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。 当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。いかなる場合でも、設計は、最初の 1 回目で確定

    論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
  • ABAPとは?SAP開発の基本ルール・勉強するメリット徹底解説 | Motus for Tech

    ABAPとは、SAPシステムの開発でのみ使われる独自プログラミング言語です。2025年のSAP製品のサポート終了に向かってSAP案件は増えており、ABAPエンジニアのニーズは高まっています。 エンジニア転職なら【Tech Stars Agent】 この記事では、ABAPを開発する際の基的なルールをはじめ、ABAPの種類ごとに分け、レポート、バッチインプット、Dynpro についても解説します。 ABAP(Advanced Business Application Programming, アバップ)とはどんな言語なのか、基的な内容を解説します。 SAP開発のための言語ABAPとは、SAPシステムの開発でのみ使われる独自のプログラミング言語です。 SAPに特化した言語なので、Javaのような有名言語と比べるとあまり知られていません。 ABAPはもともと、構造化プログラミング言語でしたが、

    ABAPとは?SAP開発の基本ルール・勉強するメリット徹底解説 | Motus for Tech
    tanosikeizaigaku
    tanosikeizaigaku 2020/06/09
    SAP独自の開発言語、ABAP...良くも悪くもSAP特化の技術になる
  • クラスの命名のアンチパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParame

    クラスの命名のアンチパターン - Qiita
    tanosikeizaigaku
    tanosikeizaigaku 2020/05/28
    うーん、やっぱ気軽にHelperとか名付けるのはエレガントじゃないか。つい、特定の顧客専用のクラスを作っちゃいそうになるんだけどね
  • 『Adaptive Code』所感(おすすめ理由を述べてみる) - SE(たぶん)の雑感記

    書ですが、以下のイベントに申し込み、監訳者の長沢様よりをいただきました。 まずお礼を申し上げたいです。ありがとうございました。 connpass.com を受け取ったのが2018年3月10日。読み終わりましたので、所感を書きます。 なお、書の第一版『C#実践開発手法』についても所感を書いております。そちらも見ていただけると、より良いかと思います。 (当記事中、『C#実践開発手法』を「第一版」と呼称) hiroronn.hatenablog.jp 並べてみた 第一版は、電子書籍で購入しています。 付箋が少ないのは、第一版と同じ部分には貼っていないためです。 書の対象読者と、読むための要求前提条件 対象読者 書前書きには、 デザインパターン、SOLID原則、ユニットテストとリファクタリングなどの実用的な例を求めている経験豊富なプログラマー と書いています。 監訳者あとがきの中には、

    『Adaptive Code』所感(おすすめ理由を述べてみる) - SE(たぶん)の雑感記
    tanosikeizaigaku
    tanosikeizaigaku 2020/02/29
    実例が豊富。インターフェースの理解と何が嬉しいのか説明できないので要勉強
  • 良いコードの書き方 - Qiita

    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマー教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

    良いコードの書き方 - Qiita
  • GitHub - airbnb/javascript: JavaScript Style Guide

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - airbnb/javascript: JavaScript Style Guide
    tanosikeizaigaku
    tanosikeizaigaku 2020/01/16
    エアビーのコーディング規則。弊社でもTypeScriptを使っているので参考にしたい
  • .NET コーディング規則 - C#

    コーディング規則は、開発チーム内でコードの読みやすさ、一貫性、コラボレーションを維持するために不可欠です。 業界のプラクティスと確立されたガイドラインに従っているコードは、理解、保守、拡張が容易です。 ほとんどのプロジェクトでは、コード規則を通じて一貫したスタイルが適用されます。 dotnet/docs プロジェクトと dotnet/samples プロジェクトも例外ではありません。 この一連の記事では、コーディング規則と、それらを適用するために使用するツールについて説明します。 規則をそのまま使用することも、チームのニーズに合わせて変更することもできます。 次のゴールに基づいて規則を選択しました。 正確性: サンプルがコピーされ、アプリケーションに貼り付けられます。 そのため、複数の編集を行った後でも、回復性と正確性を備えたコードを作成する必要があります。 教育: サンプルの目的は、.N

    tanosikeizaigaku
    tanosikeizaigaku 2020/01/16
    コーディング規則を統一しよう
  • プログラマ能力指標表 | POSTD

    2015年05月27日: 表が見にくいというご意見を頂いたため、原文著者に連絡のうえ体裁を修正しました。 上位のレベルには下位のレベルの知識も蓄積されているということに注意してください。つまり、レベル n であれば n より低いレベルの知識も全てあります。 コンピュータサイエンス データ構造

    プログラマ能力指標表 | POSTD
    tanosikeizaigaku
    tanosikeizaigaku 2019/12/19
    定期的に読み返しながら自分のスキルセットを把握する
  • 僕は僕にどういう教育を授けたか - 怠惰を求めて勤勉に行き着く

    まえがき 会社の若い子に「情報系出身でもないのに一体どうやって勉強してきたんですか?」と聞かれたのでランチべながら「こんな読んだ。これもタメになった。あ、これもタメになった」とKindleを広げながらリストアップした。思い返せばたくさんを読んだ。その中には役に立ったものもあれば時間の無駄だったものもある。すると「あ、役に立っただけ抽出したら有益かもしれないな」と思ったのでエントリにする。 僕は文章を簡潔に分かりやすくまとめる才能が致命的にないのでこのエントリもげっそりするほど長い*1が、2017年も暮れなのでここはひとつ日酒でもかっ喰らいながら自分の人生を振り返ってみようと思う。 無理やり要点をまとめるならば、 TCP/IPの知識 Linuxの知識 なにかひとつプログラミング言語 なにかひとつGUIシステムの理解 アルゴリズムとデータ構造 強運*2 を身につけたらどんなに低く見

    僕は僕にどういう教育を授けたか - 怠惰を求めて勤勉に行き着く
  • 1