トップへ戻る
シン・ウルトラマン
www.bunkei-programmer.net
横着しちゃいかんのです。 IT業界に限った話しではありませんが、説明下手な人っていますよね。 私がIT業界でよく日頃から感じている説明下手(質問下手とも言う)なエピソードについて書いてみます。 例 この話から私が理解できた部分 この話から私が理解できなかった部分 どうして話が伝わらないか どうすれば伝わったか こういう質問が返ってきたら説明下手かも!? 雑感 例 やらないおさん、落ちちゃうんですけど、getHoge()のこの部分があれで、多分ああなんじゃないかと思うんですけど、どうすればいいですか? ???? え?ごめん。何の話?いきなりソースコードの具体的な箇所の話されても理解できないから、落ち着いて順を追って話してみようか ※ 以降、質問をする側を「やるお」、される側(私)を「やらないお」とします。 ※ getHoge() メソッドはやるおが自分で作った独自メソッド。当然やらないおは知
2015-03-08 日本でプログラマが少ない理由は戦う戦場を間違えているからです IT業界 ◯ 広告 昔から言われている日本のプログラマ問題、さて、皆さんどう考えているのでしょうか。 日本でプログラマが少ない理由は正当な対価を支払わないからである : SIerブログ この記事を読んで、色々と思うところがありました。 社長や偉い人の見解 日本史なんか教えなくていいからプログラミングを教えろ、日本でプログラマが足りない理由は 工学系とかプログラム系を学ぶ学生が少ないから http://wirelesswire.jp/london_wave/201503031606.html まあ一理あるとは思いますが、ちょっと浮世離れしている感が否めません。 スレ住人の見解 続いてスレ住人達の見解です。こちらは現場サイドの意見が見られます。 ぶっちゃけ日本人は能力格段に低い 日本のIT企業はコミュ力で勝
1万円稼ぐまでの道のりの記事の続編ですよ〜 前回以下の記事を書きましたが、、それなりに反響があったようなので、今回は2万円バージョンを書いてみようと思います。 現在の収益状況 2万円に到達するまで 2万円稼ぐまでにやること システム面でのSEOへの執着を捨てる デバイスを意識する デバイス毎に適切に広告を貼る 何でも自分でやろうとする癖をやめる 記事数への執着を捨てる テキストを意識する QA Q、PV数が上がらないよ! 記事が日記になっている 記事から得られるものが何も無い Q、記事を書くときに気をつける事はあるの? 参入し易い話題の提供 専門性の高い知識の提供 Q、システム面のSEOを頑張らなくていい理由は? Q、ではユーザ面でのSEOは? Q、沢山サイト作ってその中からヒット作が出ればいいよね? Q, 1度もバズった事が無いんだけどいいよね!? Q、いいね数とかSNSの件数は気にした
最初は誰しもがファッ!?となるんですよねロガーって。 いずれtree-tipsで公開しようと思っている、solrのプロジェクトを今作っています。mavenでjarを管理している訳ですが・・ なんだこのロガーの数は!! commons-logging、log4j、slf4j-api、jcl-over-slf4j、logback-classic・・・・、こいつら一体何が違うんだ!どう使い分けるんだ!そもそも必要なのか!?となりました。 昔はcommons-logging+log4jというのがトレンドだった訳ですが、今はslf4j+logbackがトレンドになり、jdkも1.4から1.7になり、これらトレンドが推移する過程で、いろいろなjarが旧式に依存してしまい、旧式依存を解決するためにアダプタが登場し始め、mavenでjarを収集すると大抵両方入ってしまい、カオスになっているのです。 特にs
テキストエディタの基礎部分となる、パフォーマンス面からatomとSublimeTextを比較して見た結果、Sublime Textに戻ったよ、というお話です。 macのプログラマ御用達のテキストエディタと言えば、真っ先に挙がるのが「Atom」と「Sublime Text」ですね。 最近「atomスゲーよ!!」というブログ記事をチラホラ見るようになったので、私は去年から半年間、会社でプログラミング用途としてatomを使ってみました。その実体験を元に両者の真実を書いてみようと思います。 最近ではLight Tableなんかも出ましたが、今回はこの2つのテキストエディタに焦点を当ててみます。 ※ 今回はGIFアニメ多めです おさらい Atom Sublime Text 検証環境 何が問題なのか パフォーマンス atomによる一括置換の様子をGIFアニメで確認する Sublime Textによる一
なんか難しく考え過ぎなんじゃないかな〜、と思ったり、思わなかったり。 こちらの記事を読みました。 主さんの意見としては以下のようですね。 1.独学では妥協をいくらでもできる 2.興味の範囲内のことしかやらない。 3.自分の実力に合わせた実装しかしなくなる この意見への批判とかではないですが、私の見解では大分異なります。 treeが思う独学が実務に通用しにくい理由 何故通用するのか 皆どうやってプログラムを学んだのか 現場の人間はそんなに有能なのか ではプログラム以外で通用しにくい部分はあるか? 雑感 treeが思う独学が実務に通用しにくい理由 通用しますよ。余裕で。 これでは話がこれで終わってしまうので、もう少し詳しく書きます。 何故通用するのか 皆どうやってプログラムを学んだのか 日本は他の教育先進国と違ってITはゴミ扱いされ、義務教育の間は実践で使えるレベルのIT教育は行われません。従
ITを知らない人達はみんな「ITは魔法である。あらゆる事を解決できる。」と思い込んでいる節があります。 お客様から無理難題 : SE100人に聞いたシステムエンジニアの仕事 - 仕事内容とその魅力 この記事を読んで、私も激しく心当たりがあったので、私も書いてみようと思います。それぞれタイプに分けて考えていきます。 ※ この記事以外のあるあるも記載しています。 お金は出さない型 今すぐ型 常識的に100%有り得ない要求型 とりあえず開発会社に調査依頼型 お役所型 言わなくても解るだろ型 リリースしてから動作確認型 人数を2倍にすると納期が半分にできる型 雑感 お金は出さない型 予算がないから、費用を半額にしてほしい 金額はそのままで、機能追加を要求された。 見積もり価格の半値八掛けにしろと言われた 何故こんな事が起こるのでしょうか。 こういう事を言ってくる人たちは基本的に「システムを構築する
長い道のりでした・・・ 今回の記事は長文になります。 ありがとうSeasar。そしてさようなら。 次のフレームワークは Spring bootを使ってみて 良かった点 Spring STSが便利 application.ymlが便利 セッションレプリケーションが楽 ロガー周りが楽 Controllerが使いやすい actuatorのhealthcheckが便利 gzip圧縮転送が楽 Fully ececutable jarが楽 swaggerとの連携が楽 設定ファイルと定数クラスの紐付けが楽 静的リソースのバージョニングが便利 悪かった点 application.ymlで警告が出てしまうプロパティが有る Spring Batchが難しい 例外ハンドリング周りに注意 ログ設定まわりの混乱 domaとの連携に一手間必要 mime-typeにjsonpが無い jsonpに謎のコメントが混入する
実体験に基づく記事ですよ〜 まず最初に謝っておきます。 大げさに釣りタイトルみたいにしてすみません 見事な釣りタイトルですみません。 月1万円くらい大抵の人は稼げます。なので、決してtreeは特別でもありません。 1万円以上になるまで2年以上かかったので、完全に凡人です。 では、凡人なりに頑張った経緯や施策や解った事等を書いてみたいと思います。 ※ 最後に月2万円稼ぐまでの道のりへのリンクもあります! 月1万円稼げるようになるまでの経緯 初期(開始から1年目) 中期(1年目〜2年目) 後期(2年目〜) 2015年01月現在 PV数 収益 解ったこと スマホの収益が本格的に増えてきている 興味の無い記事は書けない サイトのテーマに固執しなくてもよい 自作サイトでなく無料ブログでも問題無い パンダもペンギンもハミングバードも怖くない SEOはやった方がいいの? まとめサイトってどうなの? ad
色々あるのでそれぞれ規約を調べてみましたよ〜 各種ジオコーディングサービスですが、主に利用制限周りに罠があります。これをしっていないと色々利用規約に違反してしまうので、気をつける必要があります。それぞれ内容を確認し、まずは制限を知り、対策を検討する必要があります。 記事の最後に、実戦向きのジオコーディング処理を載せているので、是非ご覧下さい。 各種ジオコーダ google geocoding v2 google geocoding v3 Yahoo!ジオコーダAPI ジオコーディングの制限 国土交通省:位置参照情報ダウンロードサービス 実践ジオコーディング!! 猫でも解る簡易処理フロー 用意するもの:ジオコーディングキューテーブル 用意するもの:ジオコーディング結果テーブル 用意するもの:クライアントサイドでGoogleジオコーディング 用意するもの:サーバサイドのジオコーディングバッチ
ついに例の定型文3兄弟を除去する事ができるようになりました〜 github.com 先日react-reduxがv7.1にアップデートされ、そこでhooks対応の関数がいくつか追加されました。 今回紹介するものは「useSelector」「useDispatch」の2つです。 react-redux v7.1の新機能 useSelector useDispatch connect関数は不要になる v7.1とそれ以前のコードの比較 v7.1以前のTypeScript + react-reduxのコード v7.1以降のTypeScript + react-reduxのコード 全部入りのサンプルコード 万能ではない点に注意 雑感 react-redux v7.1の新機能 useSelector ざっくり説明すると、mapStateToPropsをhooks対応したものです。 useSelecto
特別な機能を使わず、標準機能だけでできますよ〜 一瞬何のことか?と思った方は↓の画像を見て下さい。これです。 位置情報検索を利用して、一定の範囲内に該当するデータが何件あるかをまとめて表示する機能の事です。 実装方法 google mapを用意する boundsからメッシュを構築する メッシュの分割手法 メッシュを1個づつfacetで一括検索する メッシュの真ん中に件数を表示する google mapの表示が検索の始動となる 緯度経度を持つデータが用意しにくい!! 雑感 実装方法 この画像ではgoogle map clusterを使った例ですが、clusterを使わず、超高速に位置情報検索を実装する方法を検討してみました。主にsolrとelasticsearchで実現可能かと思います。 google mapを用意する 地図はgoogle mapを使います。 googlemap apiには今
恐らくこれは開発現場であるあるな出来事だと思います。 今回のお題は「既存コードを参考にして新規コード書く」事についてです。 あなたが部下または外部の方に作業依頼をする時、どんな風にコードを書いたらいいかを事前に説明しますね。その時「この辺に書いてある既存のコードを参考に書いて下さい」と言ったりしますよね。 もしくは特に書き方の方針を伝えない場合は、依頼された側が「既存のこの辺のコードを参考に書きます、書きました」と言ったりします。 「参考」とは この言葉のポイントは「参考」という部分にあります。実はこの「参考」には光と闇が潜んでいるのです。 何故ならこの「参考」は、大抵の場合は「ほぼコピペ」を意味しているからです。 ☓ 「既存のコードを参考にする」 ◯ 「既存のコードをコピペする」 「ほぼ」と言っているのは、数カ所違うだけのコピペの場合が多々あるためです。 ほぼコピペのメリット 周りのコー
ニコニコ動画でマリオメーカー問題が非常に騒がれてますよね。ここでプレミアム会員の私が今のニコニコ動画について思うところを書いてみます。 【注意】 ここから先は私の偏見に満ちた意見です。「それあなたの感想ですよね?」→「はいそうです」という記事ですので、気分を害された方はそっ閉じでお願いします 【注意】 マリオメーカー問題とは? 簡単に言うと、任天堂の作品が発売されると、次の日にはニコニコ動画のゲームカテゴリのランキングが任天堂の作品で埋め尽くされてしまう、という問題です。 最近ふぅ氏がその問題を解りやすくまとめていますので、↓こちらをご覧下さい。 最近では、マリオカート8、次にスプラトゥーン、そして現在マリオメーカー、という流れでランキングが一色に染まっています。 元々任天堂がニコニコ動画でクリエイター奨励プログラムを認めた事を発端に、全員がこぞって任天堂作品しかやらなくなる程に、一色にな
ansibleには公式がベストプラクティスの構成を用意しています。その構成を一括生成しましょう。 ansibleのベストプラクティスのディレクトリ構成は公式が公開しています。↓これです。 Best Practices — Ansible Documentation このフォルダ構成をいつまでも覚えていられるわけではないので、汎用的に作成できるようシェルスクリプトを用意してみます。 シェルスクリプト chefでいうところの「chef generate repo chef-repo」「knife cookbook create httpd」みたいなものです。 定数部分を適当に書き換えて使用します。 #!/bin/sh PLAYBOOK_DIR="/usr/vagrant/playbook" ENVIRONMENTS=('development' 'staging' 'production')
今日以下のニュースがアップされたので、最近のブラウザについて思うところ等を書いてみようと思います。 まず結論から言うと、 chromeは速くない。速くないのに大量にメモリを消費する。 という事が言えます。 chromeのプロセスとメモリ消費 firefoxのプロセスとメモリ消費 safariのプロセスとメモリ消費量 メモリ消費が多いと遅いか javascriptエンジンによる速度差 レンダリング速度 開発ツール chromeはいつのまにかオワコン化しているかもしれない 雑感 chromeのプロセスとメモリ消費 その原因の一つとして、アドオン1個につき1プロセス生成している、という点が挙げられると思われます。 ↑これは私の環境でchromeを起動して、タブを4個開いた場合のプロセスの状態です。100M以下の細かなプロセスが沢山いますね。 ではアドオンを全て無効にしてみましょう。 大分プロセス
皆さん楽天市場、使っていますか?私はつい先日長年使っていた楽天市場のアカウントを削除、完全に退会しました。 ディスると皆から怒られるのでディスりません。(但しディスらないとは言ってない) 私が楽天市場を退会するに至る理由の前に、楽天市場を実際に利用していて良かった点、悪かった点を書いてみます。 楽天市場の良い点 生鮮食品 楽天市場の悪い点 尋常で無い程のDM 検索の精度 安い商品が検索結果を汚す 検索対象項目と検索の優先度 ポイントn倍 プラチナ会員、ダイヤモンド会員等のランク制 サービス品質 セールと価格偽装 楽天スーパーセール yahooはどうなの? やっぱりamazonか 雑感 続報書きました! 楽天市場の良い点 生鮮食品 私が思う楽天市場の良かった点は、食品にあります。野菜・果物等の生鮮食品です。種類も非常に多く、沢山のお店の中から商品を選ぶ事ができます。 私はネギ類が好きなので、
Dockerで簡単に始められますよ〜 Nightwatchならライトにサクッと書けますよ〜 皆さんはE2E(end to end)テスト、してますか? 今回はDocker、Selenium grid、Nightwatchを使ったE2Eテスト(ブラウザテスト)の環境構築からテスト実行、VNCでテスト実行の様子を確認するところまでやってみようと思います。 技術要素 なぜNightwatchなのか 環境構築 docker node.js for mac for windows テストの準備 dockerコンテナ git clone node_moduleの依存 nightwatchの設定 docker-hub Nightwatchでテストを実行する ローカルでテストする場合 Selenium Gridで並列テストする場合 dockerコンテナの起動 Selenium Gridの動作確認 Nigh
実際私が開発している2サイトの実例出しますよ〜 WEBサイトの開発者に取って常に気になるこの話題について、今回は私が開発している2サイトを実例として、結果をお伝えしようと思います。 ※ 最後の「雑感」の後に、Angular製サイトをGolang化してみた結果を追記しました! 概要 GooglebotはどれくらいのJavaScript処理能力があるか 前提 React製サイト: tree-maps サイトの開設日 PCデバイスでの認識 モバイルデバイスでの認識 サイトマップxmlとインデックスの登録数 Angular製サイト: StringUtility サイトの開設日 PCデバイスでの認識 モバイルデバイスでの認識 本来レンダリングされる筈の画面 サイトマップxmlとインデックスの登録数 botはServiceWorkerのhtmlを取得しているのかどうか サイト上で確認できるServic
実は非常に有用で、この機能が実は欲しかった!と言う方が続出する機能なのですよね〜 全然知らなかったのですが、mysqlでは複数レコードを1行にまとめる事ができます。 複数行をカンマ区切りにしたり、結構有効に使えそうです。 テーブル・データの準備 テーブル データ 実際に実行してみる 普通にselectしてみる group_concatしてみる group_concat + distinct group_concat + group by テーブル・データの準備 早速サンプルコードを。 テーブル mysql> create table gc1(id int auto_increment, uid int, name varchar(30), primary key(id))engine=innodb charset=utf8mb4; Query OK, 0 rows affected (0.
最近mycliというMySQLクライアントが流行りつつあるので、GIFアニメと静止画で挙動を確認してみようと思います。 mycli 通常のログイン 標準のMySQLクライアント パスワード有りのrootユーザでログインする場合は以下のように実行します。 [vagrant@node2 tmp]$ mysql -uroot -ppassword test Warning: Using a password on the command line interface can be insecure. Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL
例のシャッチョさんの第二弾的な記事が賑わっていたので、見てみました〜 axia.co.jp こちらの記事になります。 雑な概要 多かった主張 Aさんは必敗する環境に悩む Aさんの環境 周りの人の環境 誤解を生んでいる部分について 理想 業務時間内にどんどん勉強しよう 業務時間外に勉強するという事 現実 業務時間内に勉強する事への抵抗勢力 業務時間外に勉強する事 会社の利益に繋がらない勉強 エンジニアに向いている・向いていない 勉強は超辛く継続する事が超難しい 給料が上がると勉強できる? 雑感 雑な概要 シャッチョさんの会社には昔、プライベートでは勉強しないAさんというエンジニアがいて、周りや後輩にどんどんスキル負けする事に悩んでいました。 その会社ではプライベートの勉強は強制しておらず、自分の人生なんだからプライベートの時間を家族との時間に費やすのも自由だぜ、と主張しています。 シャッチョ
Redmineを使ったチケット管理をしている方必見!ジワジワとredmineを壊して失敗させていく方法を公開しちゃいます。 チケット管理のアンチパターンとベストプラクティス - Javaプログラマのはしくれダイアリー こちらの記事の便乗ですが、私の今までのチケット管理経験から「こうすると失敗するよ」という実例を挙げてみようと思います。私はほぼredmineしか触っていないので、今回はredmineでのお話となります。 ※ 冒頭の記事と被る内容も多々有りますが、気にせず列挙していきます。 ※ 主にSI業界に関するチケット管理のお話です。 ※ 大規模プロジェクトは想定していません。多くても20人以内程度を想定した記事です。 これであなたも無事、失敗できる! 進捗率をユーザの裁量で更新させる 対象バージョン「なるはや」 チケットの内容が途中から変わる 増殖するプロジェクト固有のトラッカー 「本日
沢山あるんですが、どれがいいでしょう〜 今のところERMasterの話題しか挙げていませんが、今まで他のツールも沢山触っています(無料のもののみ)。 実践投入できるツールを探しまくりました。 ちなみに有料のものは触る機会が全くなかったので、触れません。 覚えている中で、以下のER図作成ツールを触りました。 どんな種類がある? DBDesigner A5-SQLmk-2 AmaterasERD MySQL Workbench メリット デメリット ERMaster メリット デメリット どんな種類がある? DBDesigner A5-SQLmk-2 AmaterasERD MySQL Workbench ERMaster 1つづつ、メリット・デメリット・感想等を挙げてみます。 DBDesigner 出力されるER図は非常に綺麗です。割と高機能かと思います。 xls等でテーブル定義書は自動生成
最近開発をしていて、入力フォームが沢山ある案件で、あれを修正するとあっちの画面にもこっちの画面に影響する、といった現象が連鎖してしまい、段々と影響範囲をテストできなくなってきました。これを何とかするため、ついにSelenium WebDriverを使うようになりました。 このseleniumですが、ローカルで自分のマシンで起動する分にはブラウザがインストールされているので普通に起動できます。 しかしlinux等のXウインドウを起動していないコンソールのみのサーバだと、ブラウザはインストールされていないし、そもそも画面を表示できないためseleniumは起動しません。 本当ならwindowsサーバをAWS等で導入するのが最善ですが、お金がかかるのが嫌です。そこで前述のlinuxサーバでseleniumを起動する、xvfbを使ったヘッドレス(画面が無い)にseleniumを起動する方法を調べま
python製の実行ツールなのです。 javaとbashしか書けない私ですが、とうとうFabricの実践投入を進め始めたので、記事を書いてみようと思います。目標は「デプロイスクリプトに一切bashを使わない」です。 Fabricとは? FabricをCentOSにインストール 依存ライブラリのインストール python2.7のインストール python2.7のバイナリのパスを通す easy_install-2.7のインストール fabricのインストール fabricのバージョンを確認 fabricを実行してみる test.py test.pyを実行 Fabricの基本的な使い方を学ぶ 対象ホスト・ID・PASSの指定方法 fabコマンドの引数で指定する *.pyでenvで指定する sshする sudoでsshする SFTPする(ファイルを送る) SFTPする(ファイルを取得する) コマン
い つ も の ※ 間違いもあるかと思いますが、随時修正してます 恒例のmac OSアップデート後のトラブル解決まとめです。随時更新していきます。 エラー集 homebrewが動かない Xcode Xcode7用Command Line Tools MySQL v5.6 hugo v0.14 /usr/配下にあったフォルダがごっそりなくなってる 全く問題無く動作したもの 未解決 XtraFinder Safari + SIMBLGesture rootlessと/usr/localについて /usr配下にsudoでディレクトリ・ファイルを作成して失敗する例 気づいた点 拡張子の関連付け Safari v9 Mission Control エラー集 homebrewが動かない brew updateで以下のエラーがでる。 tree-no-iMac:study-hugo tree$
この警告は対応できるので、やっておいた方が色々安心で無難です〜 MySQL5.6を使っていると、以下をよく目にします。 Warning: Using a password on the command line interface can be insecure.これは言葉通り、コマンドラインからパスワード入力するのやめーや!ってことですね。 コマンドラインでパスワードまで入力すると、コマンド履歴等に残ってしまってセキュリティリスクになるから、warningを出すようにしたのでしょうね。 それにしてもこの警告が鬱陶しいんです。 以前以下の記事で、watchコマンドでshow processlistを定期的に実行するスクリプトを書きましたが、このwarningのせいでコンソールが流れてしまうのです・・ 流石に鬱陶しくなってきたので、根本的に対応する事にしました。 my.cnfを使った解決策
最強かと言われると全然最強ではないのですけどね〜 ブラウザ界ではchrome一強と言ってもいい状態が長らく続いていましたが、最近Firefoxが盛り返してきたり、chrome以外のブラウザも徐々に息を吹き返してきているようです。 そんな中、vivaldiが実はいい感じに仕上がってきている事が解ったので、今はchromeをやめ、vivaldiに移行してみました。 vivaldiとは vivaldiのメリット マウスジェスチャーが標準搭載 キーボードショートカットが標準搭載 chromeのアドオンがそのまま使える タブを閉じた時の挙動のカスタマイズ機能が標準搭載 固定したタブの挙動 chromeの開発者ツールと全く同じものが利用可能 サイトによってツールバー部分の色が変わるのが面白い vivaldiのデメリット スクロールがスムーズでない アカウントの同期機能が(まだ)無い 開発力の差 小さな
次のページ
このページを最初にブックマークしてみませんか?
『文系プログラマによるTIPSブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く