サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
hiroronn.hatenablog.jp
少し前になりますが、MySQL 8.0が公開されました。 nippondanji.blogspot.com MySQL :: MySQL 8.0 Release Notes 新しい構文等が用意されているそうです。 CTEが増えたのは、個人的にはとても嬉しいです。アプリから使う機会があるか、と言われたら困るところですが…CTEを生成する部分を共通化するとか、そういう手段で何とかなったらいいですね。 それとは別に。 Visual Studio CodeでMySQL扱えないかなーと探していたところ、拡張機能がありました。 今回はその紹介です。 前提条件 MySQLのインストールは行われている、という前提にします。 もしくは、自分のPCから接続できるMySQLサーバーがある、という状況を想定します。 コマンドラインや、MySQL Workbench等で、MySQLが開けるなら問題ありません。 バー
最近はフロント関連の学習もやっています。SCSSを業務では使っています。 業務では、このあたりも結構複雑な構成になっており、作ったらビルドコマンド流してビルドして確認、という手順を取ります。 ただ、自分の学習のためにそこまで作っていられないし、わざわざnpmとか使って環境構築するのも面倒…というわけで、VSCode単体でSCSSからCSSが作成できる拡張機能を使っています。 バージョン等 項目 バージョン Visual Studio Code 1.34.0 Easy Sass 0.0.6 IntelliSense for CSS class names in HTML 1.19.0 CSS Peek 2.2.0 紹介 marketplace.visualstudio.com 拡張機能の画面で「easy sass」等で検索したら出てくると思います。インストールしたら使えます。 機能をざっくり
業務ではC#をやっていないのですが、とある日、C#を使った業務をやっている同僚から、 asyncとかawaitとか、よく分からない。なんでメソッド名にAsync付けるんだよ。Taskってなに。 というような、呪詛のような言葉を聞きました。 その辺詳しいですか?と言われ、一通り説明したところ、納得してもらえたようだったので、自分なりの説明をブログにも書いてみます。 同期処理と非同期処理 一言で言います。 同期処理 処理が終わるまで待つ 非同期処理 処理が終わるまで待つかどうかを、利用者に委ねる です。 処理が終わった後、特にやることが無ければ、非同期処理呼び出して放置、というのもアリです。*1 そして、asyncが付いたメソッドは、非同期メソッドとなります。 サンプル .NET Core 1.1を利用しています。 非同期メソッド public async Task<string> GetRe
間が空きましたが、前回記事に引き続き、Djangoのジェネリックビューについてお話しします。 今回はCreateViewです。CRUDのCに該当します。 以前の記事はこちらです。ジェネリックビューとは何なのか、という部分について説明を書いています。当記事を見る前に前回記事を見ることをお勧めします。 hiroronn.hatenablog.jp バージョン等(再掲) 前提:Model層 CreateViewについて CreateViewの効果 ケース1:単体で完結するモデル tableの作成 作成後のデータを開く ケース2:リレーションを持つモデル columnの作成 余談:保存処理が呼ばれるタイミング おわりに バージョン等(再掲) 基本的に前回と同様です。一部bootstrapを使うので、追加しています。 ツール バージョン Python 3.7.2 Django 2.1.7 boots
ドメインモデル貧血症、という言葉があります。 説明を引用すると、 大半がpublicなゲッターセッターで、単に属性と値を保持するだけのオブジェクト を、「ドメインモデル」と呼んでいる症状、とのことです。*1 そんなソースをつい最近見かけ、また、紛らわしい場合もあるので、それについて書いてみます。 忘れてはいけないこと publicなゲッターセッターのみのクラスが、全て貧血症、というわけではない。 意図してそうしているなら、それは問題ない。 見つけたソース(イメージ) Javaです。 貧血症クラス定義 public class TeamInfo { private String teamCode; private String teamName; private ArrayList<User> teamMember; public String getTeamCode(){/*省略*/};
今年の目標の一つに、 Scalaの習得 がありまして。年末年始に本を一冊読んで雰囲気は分かったので、環境を作ろうと思い立ちました。 ScalaがJVM上で動くのは知っていましたが、JDKをインストールしたくないなぁという邪な気持ちになったので、Docker等駆使して開発環境作れないか試しました。 結果的にIntelliJ IDEA使ったほうが楽、という結論に至りましたが、そこまでで試したことを残しておきます。 環境 筆者能力 Dockerイメージの取得 Dockerの起動 Scalaソースをビルドする 達成できなかった点 諦めてローカルにいろいろ入れる インストール物 手順(公式) OpenJDK 環境変数 IntelliJ IDEAインストールから、Scala動作まで その他:試したいこと その他Scala情報 おわりに 環境 Visual Studio CodeでScala開発できない
タイトル通りですが、現在勤めているSIerから、ベンチャー企業へ転職します。1月でちょうど二年働いたことになります。 当記事 転職のきっかけ 2018年初頭 今年の状況 きっかけ キャリアに対する考え方 SIerについて思うこと SIerの立ち位置 SIerの社員がエンジニアとして育ちにくい 綺麗なソース、設計を推進する意味がない 例 無関心 無理解 企業のためになっているのか どうなるとよいのか 転職後 おわりに 当記事 以下の記事で触れている転職についての、具体的な内容となります。 2018年を振り返ってみた - SE(たぶん)の雑感記 2019年の目標を立てた - SE(たぶん)の雑感記 転職のきっかけ 2018年初頭 2018年の年初に書いた記事です。この時点で転職を視野に入れていました。 hiroronn.hatenablog.jp とはいえ、業務内容自体は大きな不満はない状態で
本書ですが、以下のイベントに申し込み、監訳者の長沢様より本をいただきました。 まずお礼を申し上げたいです。ありがとうございました。 connpass.com 本を受け取ったのが2018年3月10日。読み終わりましたので、所感を書きます。 なお、本書の第一版『C#実践開発手法』についても所感を書いております。そちらも見ていただけると、より良いかと思います。 (当記事中、『C#実践開発手法』を「第一版」と呼称) hiroronn.hatenablog.jp 並べてみた 第一版は、電子書籍で購入しています。 付箋が少ないのは、第一版と同じ部分には貼っていないためです。 本書の対象読者と、読むための要求前提条件 対象読者 本書前書きには、 デザインパターン、SOLID原則、ユニットテストとリファクタリングなどの実用的な例を求めている経験豊富なプログラマー と書いています。 監訳者あとがきの中には、
こんにちは。 こちらは、QiitaのTypeScript Advent Calendar 2018の3日目の記事になります。 これまで、特にTypeScriptを使ってこなかったどころか、Webフロントの開発がほぼ初心者の筆者が、突然xlsx.jsというライブラリを使って、Webフロントの開発を行った話をします。 とりあえず動いたよ!というところを話します。そもそも間違ってるよ!というツッコミ大歓迎です。 経緯 TypeScript開発環境 xlsx.jsのインストール TypeScriptから参照 作ろうとしたもの 動かない tsconfig.json定義 さんざん悩んだ後 ビルドを自動化したい おわりに 余談 経緯 PythonのDjangoを使った開発をしていて、フロントエンドでExcel読み込めないかなぁ、という話になりました。 その中で、JavaScriptでExcelを読み込む
以前、こういう試みを行い、今もGitHubにソースを格納しています。 hiroronn.hatenablog.jp パソコンを新調したので、とりあえずGitとVSCodeとPythonの試しをやっておこうと思い、以前書いたソースをクローンしていじっていました。 上記の記事で書いたソースでは、Pythonの型アノテーションを使用していました。 Python 3.7.0でさらに改良され、アノテーションの遅延評価がとりいれられたので、それを試すことを目的としました。 型アノテーション www.python.org アノテーションの遅延評価 www.python.org ただし、今回の本題はそこではないです*1。 バージョン等 名称 バージョン OS Windows 10 Pro 64bit 1803 Python 3.7.0 Visual Studio Code 1.26.1 Python(VS
最近、業界未経験で中途入社してきた新人さんの面倒を見ています。仮にAさんとします。 その人が置かれた境遇から、いろいろ思うところ、学ぶところがあったので、まとめてみます。 プロジェクト概要 Webアプリケーションの改修を行うプロジェクトです。 私は別のプロジェクトをやっているので、技術的な相談等が主です。生活面も何かあれば相談してね、とは言っています。 近くの席でやっているので、状況は把握できる状態です。 新人さんとは別に、一年ぐらい一緒にやってきた若手も、新人さんと同じプロジェクトに異動になりました。そちらも未経験の言語、システムということで、技術的な相談に乗るようにしています。こちらはBさんとします。 プロジェクトには、あと一人ほぼ専属でやっている1年目社員がいるだけです。この人はCさんとします。なぜかタスク管理を一手に行っています。 こんな感じです。 人 状態 役割 Aさん 新人 プ
以前、下のような記事を書きました。 hiroronn.hatenablog.jp DBアクセスの抽象化。 自動テストを作るうえでは、必須の作業です。 その作業を実際に行ったので、どうやってやったか残していきます。 ただ、ソースはかなりデフォルメしますし、諸事情により妥協の産物となっています。ご了承ください。 対象プロジェクト とあるアプリのバックエンド(Web API)です。 以前の記事*1で触れたプロジェクトに、またヘルプで入ってきました。 事前状況 とある一日の活動状況を示すエンティティとして、以下の3つがあります。 名称 概要 活動実績 クライアントが送信した、活動結果 獲得値 活動実績から算出した、得られるポイント 累計値 活動実績、獲得値の一定期間累計 元々は、この集計等は決まった時間にバッチ処理で行っており、パフォーマンスは度外視していました。 そのため、古い日付から 各データ
2018年のプロジェクトマネージャー試験に合格しました。その報告等記載します。 なお、受験直後に書いた記事は、以下の通りです。 hiroronn.hatenablog.jp 問題と解答 公表されています。 興味ある方は見てください。 IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2018、平成30年) 点数 午前Ⅰ*1はよいとして、午前Ⅱは出来栄えが微妙でした(前回記事参照)し、午後Ⅰもギリギリです。 午後Ⅱについては後述します。 各問解説と感想 午前Ⅰ、午前Ⅱは割愛します。選択式なので、考え方等ではなく、知っているかどうかです。 知らなくても解ける問題もあるので、諦めずにやりましょう。 午後Ⅰ 問1 SaaSを利用した営業支援システムを導入するプロジェクト についての問題です。 問題文を読み進めていくと、費用面が強調されています。 一方、留意すべき事項は、
体育の日の3連休のうち2日を利用して、Djangoのチュートリアルを実施しました。 今回の記事は、ただの感想になります。 チュートリアル記載ページはこちら。 さぁ始めましょう。 | Django documentation | Django なお、Djangoと書いて、「ジャンゴ」と読むそうです。(Wikipediaより) 環境 Visual Studio Codeを使っています。当ブログではおなじみです。 ツール等 バージョン Python 3.6.2 Django 1.11.6 Visual Studio Code 1.17.0 (VSCode拡張機能)Python 0.7.0 動作確認は、Microsoft Edgeで行っています。 Chromeでチュートリアル見ながらなので、別ブラウザのほうが都合が良いです。 チュートリアルで、このブラウザを使え!という指定は見当たらなかったので、
最近、クソコードを見るのが楽しくなっています。 クソコード、格好良く言い換えれば技術的負債とも言えますが、これがどういう余計な費用を生み出していくか、思ったことを書いてみます。 なぜ「利益」ではなく「費用」なのか クソコードが費用となるなら、超美麗なコードは利益を生み出すのか? という疑問はあると思います。 これは先に説明が必要ですね。 まず、どれほど綺麗に書かれたソースでも、「それ自体では収益を生み出さない」です。 システムが利益(これは収益の増加、費用の削減両方を含む)を生み出すかどうかは、システムのコンセプトや営業活動、利用促進等に依るところが大きいです。 よって、システムが仕様通りに作られている限り、「プログラム内部がクソコードかどうか」は、一応関係ありません。 クソコードでもいいんじゃね?という状況 いきなり例外(笑) 絶対に自分しか使わないソース 好きなだけ汚してください(笑)
現在、UWPの勉強の一環で、アプリを作成しています。 二つ浮かんで、一つは本当にしょうもないのですが、まぁ練習ですし。 エラーチェック等は入れたいので、Prismを使っています。 そんな中、DIとDIコンテナについてまとめてみます。 なんだか、どんどんUWPから離れている気がしますが…*1 まあ、知っておいたほうが良いことなので、まとめてみます。 DI(Dependency Injection)について 以前の記事でも書いていますが、DIは「依存性の注入」と呼ばれ、「そのクラスが使うものは、外部から渡す」ようにすることです。 そもそも、これは、依存関係逆転の原則(SOLID原則のD)の実現方法の一つです。 一般的には、「抽象化した、単純な機能のオブジェクト」を渡します。 よくある例 ログを取得する場合です。 とある作業を行った際、ログを残すとします。 雑にソースを書くと、以下のような感じで
最近、RPAについて調べる機会がありました。 RPA:Robotic Process Automation(ロボットによる業務自動化) 「デジタルレイバー(Digital Labor)」や「仮想知的労働者」とも言い換えられるようです。 要するに、ホワイトカラー(事務等)の業務を自動化しよう!と取り組むためのシステムを指します。 RPAでは、Webアプリの操作自動化はほぼ確実に含まれます。*1 RPAによるWebアプリの操作自動化に関連して話に上がってくるのは、Webアプリのテスト自動化です。 WebのUIを自動で操作して、テストする場合は、DB等含めてすべて組みあがった状態で、本運用を想定したテストも行われると思います。 これもすごく大事なのですが、私が気にしている(今後やる)ことは、それより前の単体テストです。 単体テストは、UI自動テストと異なり、実施環境面や実装面で様々な制約を受けま
『カイゼン・ジャーニー』を読んだ方は、もうカンバンを使われているのでしょうか? 本の主人公がまずやったのが、状態の見える化でした。 その中で使われたのがタスクボードで、紙と付箋で作られたものです。 私も、本が出る前から、一人でタスクボードを作って運用していました。 もしかしたら、これから動き始めようと思っている人の役に立つか?と思い、事例を紹介します。 使い始めた動機 転職してから、複数の業務を同時に回すことが増えました。 業務は徐々に増えていく、という感じであり、頭で管理できる限界が来るのは、容易に想像できました。 そこで、個人のタスクを管理する手段として、カンバンにたどり着きました。 使っているツール KanbanFlowというものです。 kanbanflow.com 既に、一年近く一人で使っています。 本来の用途としては、 Lean Project Management. Simpl
この本を読みました。 honto.jp 紙の書籍の発売は、2016年11月のようです。 …知りませんでした。 本の装丁は、『レガシーコード改善ガイド』とそっくりです。 あれ、同じ本…?と一瞬思いましたが、違う本です。 honto.jp レガシーコード改善ガイドも、とても面白い本なのですが、次々と新しい本を買ってしまう関係上、なかなか最後まで読めていません。 4月に購入しているのに、まだ半分ぐらい… 今回は、レガシーソフトウェア改善ガイドのほうの感想を書いていきます。 内容 古いソフトウェアの保守に苦しむ人向けに書かれた本だったな、と思います。 レガシーの定義(というか特徴)に関しては、本文中にありますが、イメージはこんな感じかと思います。 古くて、なんか怖くて触れないけど、動いちゃってる… 綺麗じゃないのはわかるんだけど、壊れるのが恐ろしくて触れない… 本番期と同じ環境無いから、新しいモジ
2017/04/26 タイトルに「なぜ放置されるのか」を追加。(半分ぐらい、可読性の低いソースが放置される状況について話しているので) 「可読性が低いことが、問題として認識されていない」を追加 転職して、受注するソースが半分ぐらいクソなので、うんざりしてしてしまいます。 まあ、前職では須くクソだったので、それに比べたらマシ…とは思います。(新規開発したシステムですら、上層部の意味不明な押し付けによりクソになった) エンジニアの方々は、ソースの可読性は重要だと、いろんな人から口酸っぱく言われていることでしょう。 もしくは、唐突に可読性の低いコードの修正を依頼され、不貞腐れていることでしょう。 なんとなく、そんな可読性の低いコードが生まれるのか、ざっと妄想して書いてみます。 なお、生まれる場合と、放置される場合の両面です。 見出しの下の太字文字は、そういう時に聞こえてきそうなセリフです。 時間
『カイゼン・ジャーニー』、読み終わりました。 honto.jp 導入部分の主人公と、自分の経験と重なる部分があり、そういう話をしたいなぁと思い、記事を書きます。 本書構成 読み進める 自分と重なる部分 重ね合わせて考える 感想 活動 おわりに 追記(2018/2/24) 追記(2018/03/10) 本書構成 本書の主人公はSIerに勤めていますが、いきなり「ここは僕がいるべきところではない。」と言い始めます。 ひどい開発現場に嫌気がさし、辞めてしまおう、というところから、出会いを通じて、やれることをやろうと決意する、という話です。 本書の冒頭は上記の通りで、内容は主人公の仕事を見ていく物語が、主な内容です。 物語の中に、主人公が学んだプラクティスが登場し、それを解説しつつ物語が進んでいくという構成になっています。 SIer勤めに限らず、会社に不満があって、「ここにいても仕方がない」という
『ベタープログラマ』、読みました。 honto.jp Twitterで、時々タイムラインに流れてくるので、気になって購入しました。 ざっくり紹介 自分なりの感想となります。 『達人プログラマー』という本があります。 その本を現代的な視点で書いたもの、と思うとよいです。 特に、コードに対する言及は、同意できるものや、耳が痛くなるような指摘等あるので、何かしら得るものはあると思います。 特にテストに関しては、何度も大事だと言われます。*1 特に、第三部「個人的なこと」は、とても熱い内容でした。 ここだけで熱弁したいぐらいです。 学びを愛して生きるという表題*2がとても良いし、内容も最高です。 …本題からずれそうです。 この記事で何を書くのか 本書には、38の章があり、それぞれ章末に質問があります。 それに答えていきます。 とはいえ、全部で183問*3あり、全部はしんどいので、ランダムに5問選び
こんにちは。 この記事は、Qiitaの Advent Calendar 2017 Visual Studio Code 9日目の記事です。 枠が空いていたので飛び入り参加しました。拙い記事かもしれませんが、ご容赦ください。 Visual Studio Codeとは Microsoftが出している、エディタです。 エディタ…いわゆるテキストエディタと呼ばれるものになりますが、あまりにもいろんなことができる点が、特徴として挙げられます。 標準で、フォルダ管理、検索、比較あたりは可能で、拡張機能を入れると、プログラムのデバッグ、DB接続など、できることの幅が一気に広がります。 また、ソース管理でGitに接続できます。*1 こんなのが無料で使えてしまいます。太っ腹です、本当に。 標準機能でできることの紹介は、以下の記事にも書いています。 hiroronn.hatenablog.jp 前提等 VSC
私は、C#やるときはVisual Studioを使っています。 でも、PowershellやPython、メモ書くとき等は、ほとんど Visual Studio Code を使っています。 もはや会社でも使っています。 そんな、Visual Studio Codeの、私が便利だ!と思った機能を紹介します。 バージョン 事前に言っておくこと フォルダを指定して起動できる 複数ファイルを開ける 編集中のファイルでも名前を変更できる 編集中に比較 編集前と編集中を比較 編集中同士を比較 マークダウンが書ける ショートカットキー一覧がある まとめ 環境別ページ Python SQL Server PowerShell MySQL バージョン ツール バージョン Visual Studio Code(64bit) 1.16.0 事前に言っておくこと 個人的には、エディタはなんでもよいと思っています。
Pythonの開発環境を、徐々に改良しています。 hiroronn.hatenablog.jp 上の記事を書いたときは、Visual Studio 2017を使っていましたが、今は Visual Studio Codeを使っています。 これまでは、インストールしたPythonをそのまま利用していたのですが、仮想環境なるものがあるので、導入してみよう!というのが、今回のお話です。 なお、Python始めて2か月とかなので、拙い内容であるのはご容赦ください。 環境 ツール バージョン OS Windows10 Professional 64bit(Surface Pro 4) Visual Studio Code 1.15.1 Python 3.6.2 linterとして、Pylintを使います。Visual Studio Codeも、インストールを求めてきます。 開発時フォルダ構成として、
電子書籍ですが、読みました。 honto.jp 買って一週間程度で読み終わってはいたのですが、間が空いてしまいました。 きっかけ 私はDDD(ドメイン駆動設計)を知ってから、ソースコードの重要性や、設計の楽しさに興味を持ちました。 それが高じて、システムアーキテクトを取得してしまう程度には、設計について様々な知識を集めていました。 細かい開発で使うことはあっても、使う機会に恵まれないのが痛いところですが。 独学でDDDを勉強しているときに、日本でDDDを推進・実践している、著者のことを知りました。 その人が書いた本なら買うしかない!ということで、買いました。 …書店で買いたかったのですが、どうしても行く時間が取れず、泣く泣く電子書籍です。 なお、以下の二書籍は読了しています。(以下、『DDD本』と呼称) honto.jp honto.jp すごくどうでもいいですが、DDD本は紙媒体も電子書
このページを最初にブックマークしてみませんか?
『hiroronn.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く