聖蹟桜ヶ丘へ 今年度の授業が全て終了した。最後の授業はテスト返却とその確認作業の後は特に何をしろとも言われていなかったので、『耳をすませば』の後半、お姉さんと雫が言い争いをする場面を生徒と皆で見た。 この場面。あの場面、お姉さんは雫に「今しなきゃいけないことから逃…
去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=
機種変更では、このような失敗をする方がとても多いです。 有料オプションを契約させられ料金が高くなった。。 待ち時間や契約時間が長くて、半日かかってしまった。。 キャンペーンや割引がきちんと適用されていなかった。。 スマホを乗り換えるときには、 → おとくケータイ で乗り換えをするとキャッシュバックがもらえます。 スマホの機種変更するときは、 →ソフトバンクはこちら →ドコモはこちら →auはこちら キャリア公式オンラインショップがおすすめです。学割や限定キャンペーンなどがもっとももおとくな時期です。 最も人気の言語、JavaScript Redmonkの調査によると、人気言語のランキング第一位はJavaScript (2015年6月発表のデータ,Redmonkより引用) これはGitHubとスタック・オーバーフローというサービスのコミュニティを分析した結果で、見にくいですが1位がJavaS
※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す
横着しちゃいかんのです。 IT業界に限った話しではありませんが、説明下手な人っていますよね。 私がIT業界でよく日頃から感じている説明下手(質問下手とも言う)なエピソードについて書いてみます。 例 この話から私が理解できた部分 この話から私が理解できなかった部分 どうして話が伝わらないか どうすれば伝わったか こういう質問が返ってきたら説明下手かも!? 雑感 例 やらないおさん、落ちちゃうんですけど、getHoge()のこの部分があれで、多分ああなんじゃないかと思うんですけど、どうすればいいですか? ???? え?ごめん。何の話?いきなりソースコードの具体的な箇所の話されても理解できないから、落ち着いて順を追って話してみようか ※ 以降、質問をする側を「やるお」、される側(私)を「やらないお」とします。 ※ getHoge() メソッドはやるおが自分で作った独自メソッド。当然やらないおは知
Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へCIgradleビルドツール継続的インテグレーション Ant とか Gradle とか,名前は見かけるけど何に使っているのかよくわかりません (意訳) 的なことを新人から立て続けに言われたので,順を追って説明してみようと試みる. ビルドとは: 書いたプログラムを本番環境で動作させるまで 「ビルド」という言葉をいきなり説明するのも唐突なので,そもそもプログラムコードが本番で稼働するまでの流れをざっくりと説明します. デプロイまでに必要な作業 アプリケーションをテスト環境や本番環境で動作させるためには,おおまかに言えば以下の様な手順をを踏みます. (自分や新人の実業務ではサーバーサイドは Java,クライアントは Java だったり TypeScript で書かれた Web
2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一本化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod
プログラミングにはレベルの低い・高いがある。ここでいうレベルとはCPUとかストレージデバイスといった生のハードウェアに近いかという意味である。レベルが低いほど生のハードウェアを意識しなければならない。カーネルは低レベルなソフトウェアの代表である。高尚かどうかと混同されることを嫌ってか、低レイヤ・高レイヤという言い方も良くする。私はあえて混同させたくてレベルという単語を使用している。 私は元々低レベルのプログラミングの方が計算機を操ってる感があって好きだった。しかし、しばらく離れてJavaとかPythonとか高レベルなことをやっていたが、ふと低レベルのところを再び触りたくなったので、 ハッカーのたのしみ Binary Hacks Cプログラミング高速化研究班 等を読み返しながら勉強している。低レベルはちょこちょこっとチューニングするだけで演算が高速化していき、ハッカー感が得られるので楽しい。
2004年くらいからITという産業に関わり始めて、その頃は主流はフレッツISDNくらいだった。そこからADSLになり、FTTHになって、FTTHが主流になったのは2007年くらいかな。体感として。わずか5年程度で主流が変わった。 ISDNの頃のATMの装置は切り替えられ、電話線がメタルに、ファイバーになった。 ファイバーになって収容装置は変わって、伝送距離、光の減衰を意識するようになり、考え方は大きく変わった。FTTH以上の固定回線技術はなかなか普及しないかも。 FTTHを効率的に使う技術は流行しても、それ自体は変わらなそう。GE-PONがG-PONに変わるくらいかな。 これと同じことがモバイルのパケットコアで起きていることに驚愕した。 EPCは従来、エリクソンやNEC、ノキアといった100年企業が作り上げてきたモバイルネットワークの完成系の一つで、これからはハードウェアをACTAベースか
関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対
昔さ、Yahoo!チャットって場所があったんだよ。お前は知らないかもしれないがな。 当時はみんなホームページってやつを持っててな、誰が読むんだかしらねえ自己紹介とか何番目の訪問者です!ってのやっててな、ひどいとこになると熊のアイコンみたいなのがビュンビュンとカーソルを追いかけてくんだ。ありゃ恐怖だったね。 誰が興味あるんだかしらねえ、使用パソコンのスペック書くヤツまでいてな、「CPU: PentiumII、350MHz」とかドヤ顔で書いてたんだよ。タワー型のパソコンの写真まで載せてな。なんのため?しらねえよ、本人に聞け。 でな、そういうところには必ず掲示板ってやつがあってな。BBSとか言ってたな。山陰放送じゃねえぞ。で、キリバン踏んだらBBSに報告することが義務付けられてて、しなかったら末代まで祟られて呪詛にかけられるんだけど、熱心なヤツになるとチャットっていう、リアルタイムに文字でお喋り
日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート
アーキテクトの(機能面での)主要な仕事の1つに、システムを構成するサブシステム/コンポーネントの境界、つまりインターフェイスを決める、というものがあります。またはそこまで大げさに捉えなくても、例えばライブラリのAPIを設計する、というのは単にプログラミングをする、ということとは少し違う視点が求められるように思います。 案外インターフェイスを考えるという観点での技術書まとめがないような気がしたので、需要があるかわかりませんが関連して読んだ本を紹介しておきます。なお、個人的なキャリア上、C++/Javaが対象です。(色々経験したら随時追加するかも知れません) 何か他にいい本があったらぜひ教えてください。 言語仕様をきちんと知る まずはAPIを設計する対象言語をよく知る、ということは必要であると思います。これだけだと、結果的にプログラミングに精通するということとあまり変わりはないかも知れません。
ずいぶん前のことだが、Webアプリケーション開発フレームワーク「Ruby on Rails」が00年代後半にブームを巻き起こしたとき、強い主張を持つソフトウェアとしてRailsは多くの議論を呼び起こした。その中でも最大のものはプログラマの生産性に関するもの。当時、すでにいくつも存在していたJavaベースのWebアプリケーション開発フレームワークに比べて、Ruby on Railsは10倍の生産性を達成できるという主張だ。 Rubyの生産性はJavaの10倍――。この主張が多くのエンジニアの琴線、もしくは逆鱗に触れた。「さすがに10倍は大げさだ」、「いや、現実に設定ファイルやコードを書く行数が劇的に減るのだから、そのぐらい当然だ」と意見が分かれたのだ。 2005年のリリースから約10年。Railsの生みの親で、今もプロジェクトをリードするデイビッド・ハイネマイヤー・ハンソン氏は当時を振り返り
以前から「誰か書いてくれませんかね」とか言っていた「本当の基礎からのWebアプリケーション入門――Webサーバを作ってみよう」ですが、誰も書いてくれないので自分で書きました。 本当の基礎からのWebアプリケーション入門――Webサーバを作ってみよう http://kmaebashi.com/programmer/webserver/index.html 現状、合計で140行くらいのJavaプログラムで、普通に画像やCSSを含むWebページが表示できています。こちらのページの下のほうにも画像を貼っていますが、こんな感じで、ローカルのファイルシステムに置いてある私のWebサイトのトップページが表示できていますし、もちろんリンクをクリックして遷移することもできます。 「えっ? Webサーバってこんなに簡単に書けるの?」と思う人も多いのではないでしょうか。 もちろんこんなのは「わかっている人」から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く