タグ

ブックマーク / nowokay.hatenablog.com (35)

  • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

    JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげたについてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基から簡単なDB操作、Spring Bootまで

    プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
    zilog80
    zilog80 2022/11/28
    読書猿さんのIT版かな。
  • 電子工作たのしー!ブラウザ上で回路シミュレーション。Arduinoも簡単 - きしだのHatena

    ブレッドボードを使った練習回路をちょっといじろうと思って、たぶんいいツールがあるはずだと探してたら、ブラウザで回路シミュレーションできるTinkercad circuitというのをみつけました。 https://www.tinkercad.com/circuits もともとはサンハヤトのキットでタイマーICを使ったブザーを作って、これをArduinoに対応させたかったのだけど、電子回路は不慣れなので、なにかシミュレーションできるツールを探していたのでした。 サンハヤト 小型ブレッドボードパーツセット SBS-203 タイマーIC555を使った電子工作セット 出版社/メーカー: サンハヤトメディア: Tools & Hardwareこの商品を含むブログを見る まずはそのままWeb上で動かしてみる。 電子工作たのしー! pic.twitter.com/QNr87vleqG— きしだൠ (@ki

    電子工作たのしー!ブラウザ上で回路シミュレーション。Arduinoも簡単 - きしだのHatena
  • [java][netbeans]NetBeans8.2にJShellを組み込む - きしだのHatena

    JDK9から導入されるJShell、IDEに組み込めれば最強だと思ってたのが、NetBeansで試せるようになっていました。 ずいぶん前にNetBeansにJShellを組み込む話が出てたのに、一向に開発ビルドに載ってこないと思ってたら、プラグインとして独立して開発されていました。 まず、次のHudsonサイトからupdate.xmlのURLをコピーします。 prototypes-repl9 [Hudson] これです。 http://deadlock.netbeans.org/job/prototypes-repl9/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml プラグインダイアログの、「設定」タブで「追加」ボタンを押して、「アップデート・センター・カスタマイザ」を開きます。 適当な名前をつけて、「URL」にさきほどのupda

    [java][netbeans]NetBeans8.2にJShellを組み込む - きしだのHatena
    zilog80
    zilog80 2016/11/17
  • [java][netbeans]Jackpotでリファクタリングを作成したらNetBeansが超便利に - きしだのHatena

    NetBeansには、Jackpotという言語クエリーエンジンが載っているという噂がありました。でも新機能として紹介されるでもなく、なんかもしかしたら使えるのかなーという感じですっかり忘れていたところ、今回のJavaOneで紹介があって、試してみたら超便利だったので、使い方を紹介します。 Jackpotのスクリプトは、クラスパス上のMETA-INF/upgradeにhintという拡張子でファイルを作るか「検査と変換」の「単一の検査」のところの「参照」から開ける「検査の管理」で「新規」を選ぶことで作成できます。 ただし、「検査の管理」で作成すると埋め込まれてる <!description="Empty Inspection">という行の処理がうまくいってないようで、この記述を消す必要があります。 このせいで、今まで何度ためしてもうまくいってませんでした。。。 それでは、試しに「foo ==

    [java][netbeans]Jackpotでリファクタリングを作成したらNetBeansが超便利に - きしだのHatena
    zilog80
    zilog80 2016/11/14
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
    zilog80
    zilog80 2016/04/19
    サーバーサイドの入門
  • Javaをチラ見する - きしだのHatena

    Javaを知らないからちょっとだけ見てみたい、みたいな人のために、ちょっとしたチュートリアルを書いてみました。 準備 まずはJDKをダウンロード・インストールしてください。 http://www.oracle.com/technetwork/java/javase/downloads/index.html ダウンロードページでは「Accept License Agreement」にチェックして、自分の環境にあわせたインストーラをダウンロードします。 今だとu73とu74がありますが、初めてインストールするなら74でいいと思います。 インストールするものを選ぶダイアログで「開発ツール」「ソースコード」「パブリックJRE」が出ますが、パブリックJREは不要なので、左のアイコンをクリックして、×がついてる感じのを選ぶといいと思います。 あと、NetBeansもダウンロード・インストールします。

    Javaをチラ見する - きしだのHatena
    zilog80
    zilog80 2016/02/28
    こういうのはQiitaに書いたら結構ストックされるかも。
  • JavaOne2015サンフランシスコ-3日目 - きしだのHatena

    3日目。 ※11/16公開 今日はJava SE系が主です。Java SE系は、Hiltonが会場です。 Moving to G1 GC [CON5823] G1GCの話。 英語でGCの話を聞くのは、人類には早すぎた。 いろいろG1GCの動作を解説してくれたり いろいろログ系のスイッチを教えてくれたり してたのですけど、Javaパフォーマンスを読み直そうとずっと思ってました。 Javaパフォーマンス 作者: Scott Oaks,アクロクエストテクノロジー株式会社,寺田佳央,牧野聡出版社/メーカー: オライリージャパン発売日: 2015/04/11メディア: 大型この商品を含むブログ (12件) を見る とりあえずjClarity便利そう。 ランチと展示 今日のランチはHiltonのを取りにいきます。Hiltonでは展示も行われています。 展示で写真とってると、JRebelで有名なZE

    JavaOne2015サンフランシスコ-3日目 - きしだのHatena
    zilog80
    zilog80 2015/11/16
  • JavaOne2015サンフランシスコ-一日目 - きしだのHatena

    今年もJavaOneの季節です! 今回は、China Airlineの台北経由で来たのだけど、2万円くらい多く払うとプレミアムエコノミーになって快適なので、来年からもそうしようかと思います。ANAだとプレミアムエコノミーにするのに15万円くらいかかって倍になるので。 台北で4時間くらいの待ちがあってヒマだけど。成田乗り換えだと両替とか出国手続きとかで時間がつぶれるけど、台北経由ならすでに出国してしまっててやることないし。 ただ、荷物の受け取りはカオスでした。ひっかかった荷物からバキバキという音が・・・ レジストレーション ちょっと体調わるかったので、昼から。まずはレジストレーションにヒルトンまで来ます。 なんか、ヒルトンのロビーが改装中でした。 ビックリしてたら、レジストレーションはあっちだよーってサンフランシスコ弁で言われたので、そっちに移動。 特になにごともなく、スムーズにバッヂもらえ

    JavaOne2015サンフランシスコ-一日目 - きしだのHatena
    zilog80
    zilog80 2015/10/29
    Java9やvalhallaはどうだった?
  • ぼくの実装した最弱のディープラーニング - きしだのHatena

    8月の頭からディープラーニングを実装していたのを、先日、プレゼンしてきました。 プログラマのための数学勉強会@福岡 - connpass ぼくの実装した最弱のディープラーニング from なおき きしだ ※追記 2023/4/12 SpeakerDeckにも置いてます https://speakerdeck.com/kishida/weakest-deep-learning-i-implemented GPU対応したり、ドロップアウトとかミニバッチとかいろいろ実装して、結構つよくなってます。 ちゃんと学習してくれないこと以外は。 ソースはこんな感じになってきています。 https://github.com/kishida/neuralnet/tree/CorrectOperationAsCCN GPU対応にはaparapiを使っています。JavaGPUコードが書けるスグレモノです。 ap

    ぼくの実装した最弱のディープラーニング - きしだのHatena
    zilog80
    zilog80 2015/09/07
    学習しないディープラーニングw
  • プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena

    2005年くらいから、コンピュータの性能には余裕があるので、プログラムの効率が多少わるくなってもプログラムが組みやすく人間の能力が発揮できるほうがいいという傾向が強くなりました。 プログラムはサーバーで動かすものであり、サーバーの制約はネットワークとストレージでCPUやメモリには余裕があったためです。 また、世の中は、ITのない世界からITのある世界への変化の中にあって、サーバーでの情報処理やネットワークをサービスとして提供することで、世の中が変わっていきました。 そういった状況であれば、プログラムが組みやすく、思ったとおりのサービスを思った時期に提供できるということが大切になっていました。どんなに未完成でも、新しいアイデアをいち早く見て触ってもらうということが大切だったからです。 しかし、もうすでに世の中は、ITがある世界に変わりました。 もちろん、より便利な情報処理サービスも今後でてく

    プログラムの組みやすさが世界を変えるフェーズは終わったのではないか - きしだのHatena
    zilog80
    zilog80 2014/10/06
    ウェブ、飽きたよね?プログラマーがサービス優先でプログラムの質を二の次に考えてしまうのは間違ってるよな。/Javaはプロジェクトをたくさん立ち上げるのはいいけど、もう少し早く実装してほしいものです。
  • JavaOne 2014 サンフランシスコ 5日目最終日 - きしだのHatena

    JavaOne最終日です。 最終日はカニパーティーです。 コミュニティキーノートと、あとは4つほどセッションを取りました。 CON6275:JDK 8 for Mobile iOS and Android Devices CON3389:Migrating a JSF-Based Web Application CON2261:SnapCoding for Education CON1873:Toward Low-Latency Java Applications コミュニティキーノート 入ったときには、Intelのプレゼンが行われていました。 けどこれはあまり聞いてない。 あと、さくらばさんが写真をとっていました。 そして、この日の注目である、テクニカルキーノート再演が行われました。 ブライアンの登場! このような構造体的なクラスのオブジェクトの扱いがテーマです。 class Point

    JavaOne 2014 サンフランシスコ 5日目最終日 - きしだのHatena
    zilog80
    zilog80 2014/10/06
    いいなあ、楽しそう。
  • Java VMの改善案が楽しそう - きしだのHatena

    なんか、Java VMの改善案がでてますね。 すげー楽しそうです。 http://cr.openjdk.java.net/~jrose/pres/201407-JVMEvolution.pdf プロジェクトValhallaとプロジェクトPanamaがあります。 http://openjdk.java.net/projects/valhalla/ http://openjdk.java.net/projects/panama/ Valhallaは、Value TypesとSpecialization、PanamaはArrays 2.0とLayoutsがあります。 概要をまとめてみますが、かなり適当な解釈で書いてたりするので、細かいことはちゃんと原文みてください。 Value Types 簡単にいえば、新しい基型を定義できるようにするというものです。 http://cr.openjdk.ja

    Java VMの改善案が楽しそう - きしだのHatena
    zilog80
    zilog80 2014/08/12
    JVMが進化するとJava自体の復活もあるかも。でもJavaとJVMはWindowsでもOSXでもLinuxでも無いんだよなあ。それが一番残念。
  • Technology RaderもJava8を認めた! - きしだのHatena

    技術の注目度・実用度を分析したTechnology raderというのを、Thought worksが半年ごとに発表してます。 で、これいつもJava嫌いなんだなーって思う感じの内容だったんですね。 たとえば、2011年1月には「Java language end of life」といって、JavaはVMは残るけど言語は終わるよねーみたいな感じになってました。 http://thoughtworks.fileburst.com/assets/technology-radar-january-2011.pdf これが、2011年7月では、「Future of Java」として、今後でてくるJavaなら評価していいんじゃねーのみたいに。 http://thoughtworks.fileburst.com/assets/technology-radar-july-2011.pdf そして、先日

    Technology RaderもJava8を認めた! - きしだのHatena
    zilog80
    zilog80 2014/07/19
    プログラミング言語なんてただの流行だしね。
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
    zilog80
    zilog80 2014/07/19
    メルヘンの世界に入れなかった者が、メンヘルの世界に入るのだ。/でも本物のJavaプログラマに「禁止」とか言ってもらえると嬉しいなあ。
  • Java8時代の文字列連結まとめ - きしだのHatena

    文字列の配列やリストを[〜]で囲ってカンマで区切って連結するという話、String.joinだとどう?とwatermintさんから指摘があったので、試してみました。 シンプル! public static String stringJoin(){ return "[" + String.join("],[", strarray) + "]"; } でも、1847msでした。改めて前後の文字を文字列連結してるところで時間かかってる感じ。 で、昨日のStringBuilder版はもう少し最適化できるので書き直します。 public static String stringBuilderJoin(){ StringBuilder s = new StringBuilder("["); for(int i = 0; i < strarray.length; ++i){ if(i != 0){ s.

    Java8時代の文字列連結まとめ - きしだのHatena
    zilog80
    zilog80 2014/04/13
  • StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena

    ※ 4/9 11:25 いろいろ計測しなおしてます。こちらも参照 Javaで文字列連結する場合には+演算子よりもStringBuilderを使うべき、という話があるのですが、よく sb.append("[" + data + "]"); みたいなコードをみかけて、あんまり意味ないなーと思ったりします。 あと、 sb.append("title:"); sb.append("[" + data + "]"); みたいに、+演算子を使った一行の式にして sb = "title:" + "[" + data + "]"; としておけば「title:」と「[」はコンパイル時点で最適化されたのに、ってコードもあります。 ということでTwitterJavaでの文字列連結は+を使うべき、ってやったほうが、StringBuilder使ったsb.append("[" + data + "]")みたいなク

    StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena
    zilog80
    zilog80 2014/04/09
  • プログラムの生産性を高めるためになにを勉強するか - きしだのHatena

    用語は形式的なものではなく感覚的なものであることをお断りしておきます。 言語・フレームワーク・プラットフォーム まず最初に触れるものでとっつきやすい。何か使えないことには話になりません。多くの人が、勉強というとまずここ。 何かすでにつかえる人が新しく勉強することは、生産性をあげない。そのプラットフォームを初めて採用するときの準備が減らせる。どちらかというと仕事の選択肢を増やす感じですね。 深く知ることは、最適なコードを書きトラブルを減らしトラブルが起こったときの対策も早くなるので、生産性があがります。ただ、ある程度の深さ以降は生産性への寄与度がさがるので、その点では深くまで勉強する必要はありません。 プロダクトの使い方なので、プロダクトの寿命が勉強成果の寿命です。実際に使わないものの勉強は無駄になるし、使われなくなったら無駄になる。寿命もそう長くないです。 「プログラマは勉強してもすぐ使わ

    プログラムの生産性を高めるためになにを勉強するか - きしだのHatena
    zilog80
    zilog80 2014/03/14
    言うは易し。
  • コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena

    以前、「勉強会に参加しないと不幸になる話」というのをアップしました。 勉強会に参加しないと不幸になる話 - きしだのはてな このときは、勉強会x勉強会という枠だったので、「勉強会」と表現していますが、実際にはコミュニティに参加しないと不幸になる話でした。 あと、ここでの幸せ・不幸せというのは、エンジニアとして、という話で、エンジニアリング能力があがるとか、エンジニアリングの活動がやりやすいとか、エンジニアリングの活動が評価されるとか、エンジニアリングの話題を共有できる仲間が増えるとか、そういう観点です。 エンジニアとしての幸せ以外にも、人生にはさまざまな観点の幸せがある、ということは最初に補足しておきます。 会社が教育機能をもっていない エンジニアとしての幸せに大切なのは、エンジニアリング能力を上げていくことです。 ただ、2013年の産業経済省IT人材白書の概要に IT企業に対して、201

    コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena
    zilog80
    zilog80 2014/02/25
    会社が仕事をするだけのところになってるのがイカンなあ。その方が雇用の流動化があっていいのかもしれないけど、昭和の家族的な会社というものは消えていくんだろうな。
  • 開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena

    福岡では、LINEが支社を作ることが話題になってます。 LINEは福岡で100人 技術者採用 競争激しく :日経済新聞 で、まあ言うても福岡に100人も転職可能な技術者いないし、あっちゃこっちゃから人をかき集める感じになると思います。 しばらくは福岡の技術者市場は焼け野原のようになる気がします。 環境や待遇面、やれる仕事といった面で、他の会社はなかなか太刀打ちできませんからね。 とは言っても、100人入った全員が5年も10年も働き続けませんよね。 3年もすればぼろぼろと人が辞めだすと思います。これはLINEが良い悪いの話じゃなく、そういうものだと思います。 特に、いまから100人組織を作るわけで、そこまでの規模で最初から頑強なチームを作るのは難しいはずで、3年後にできあがった組織の色が期待していたものと違う形になったという人も多くなってるはず。やっぱりサービス系よりも業務システムのほうが

    開発会社は2年後くらいに福岡支社つくるのをお勧め - きしだのHatena
    zilog80
    zilog80 2014/02/18
    なんか西村博之のブログみたいな記事だ。今ならロートルでプランクある俺みたいなのでもどっかで雇ってくれるかな。