Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui
はじめに:「初心者は何をアウトプットすればいいの?」問題について 以前から何度か書いているのですが、Ruby初心者の方で「Rubyの勉強を始めました!アウトプットがんばります!」と言いつつ、実際はアウトプットしているのは、ほとんど書籍や他のサイトに書かれている内容を右から左へ丸写ししただけ、という方をよく見かけます。 その話題については、以下の記事で詳しくまとめているので、興味がある方はこちらをご覧ください。 blog.jnito.com qiita.com まあ、それはそれでさておき、「じゃあ、どうしたらいいの!?何をアウトプットすればあんたは満足するのさ!?」と思われる方も中にはおられるでしょう。 もちろん、その質問に対する回答についてはいろんなアプローチが考えられるのですが、今回は僕からひとつ、「アウトプット迷子」になっているプログラミング初心者さんに向けて、こんな提案をしてみたいと
若者の成長曲線は半端なく、おじさんエンジニアは日々恐怖を覚えます。 出る杭はちゃんと打っておきましょう。 環境の弄りがいのあるツールを教えるEmacs, VIM, zsh, tmuxなど…設定のいじりがいのあるツールは理想の環境を追い求めても終わりはなく、コンフィグはどんどん膨れ上がるばかりです。 それらを「一流のプログラマは、一つの道具にこだわりとことん使い尽くすもんだぜ」とでも言って、ずっとDotfilesのリポジトリばかりいじるようになってくれれば、彼らがプログラミングに費やす時間は減るはずです。 バイナリアンにさせるいくらアプリケーションが作れても、低レイヤのことが分からないとダメだと刷り込みます。 「プログラムがどうやって起動するか分かってる? えっ、mainを書けばそれが呼ばれる? あのなぁ、_startというのがあってだな…」 無駄に低レイヤに詳しいおじさん力を活かして、あた
働クリッカーってどんなゲーム?一時期一世を風靡した、ブラウザゲーム『クッキークリッカー』を元ネタにした、クリックゲームです。 操作方法も簡単。とにかくクリックしてクリックしてクリックするだけ! ……ではないのがこのゲーム。 C キーを押してコンソールを呼び出し、チートコードを叩き込んでやりましょう! 普通のクリックゲームとして遊ぶもよし、チートコードで超高速クリアタイムを叩き出すもよしの、プログラミング学習ゲームです。 チートコードの書き方働クリッカーで使用するチートコードは、 JavaScript というプログラミング言語で記述します。 JavaScript ってなんだかよくわからない……って人は、コンソール画面右上の?アイコンをクリック! リファレンスの下にサンプルコードがついていますから、それを元に、改造してみましょう。 働クリッカーを利用してプログラミング体験をさせる方へ働クリッカ
少し前の記事(「プログラミング未経験者がWEBエンジニアになるためにやるべきこと」)の元になったプログラミング初心者の二人が、それぞれ無事Railsのチュートリアルまで終わらせていざ自分のサービスを作りたい!ってなった時に、さて何から手をつけたらいいんやろう?という同じ悩みにぶつかって同じようなアドバイスをしてたので、またその内容をまとめてみました。 初心者に限らず、小規模WEBアプリを作る時にこういうことをしとくといいかなっていう個人的な手法みたいなのをざっくり書いていきます。 SPONSERD LINK 前提 一般的なシステム開発は下記のフローで進んでいきます。 要件定義 設計 開発 テスト リリース ウォーターフォールはこれを1回流して完成、アジャイルはこれを小さく切ってぐるぐる回すというイメージですが、「初めての個人アプリを最初にリリースするまで」という状況では、一番困るのは2の設
Outline Category Web一般 HTML/CSS JavaScript jQuery Linux Java Android DB アルゴリズム 正規表現 サーバ・ネットワーク バージョン管理(Gitメイン) 資格 その他 Web一般 「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか ずっとHTML/CSSでWebサイト構築してたけど、なんとなくjQuery使ってリッチなサイト使ってたけど、裏側の仕組みがわからないからなんかなあ。。。という人はぜひ読んで欲しいです Webサイトとは何か、なぜWebが動くのか、そういった背景のうちデザイナやフロントコーダでも知っておくべき知識が体系的にまとめられています サーブレット/JSPのサンプルコードによる紹介が一部あります とはいえ、サーブレットとJSPでサンプルコードを用いながら紹介している章以外は
プロジェクトメンバーが無駄に多いのが、日本型SIの特徴のひとつである。「工数を人数で割れば工期が出る」と考えることが間違いであることは、ブルックスの著書「人月の神話」によって今から40年前に指摘されている。それにもかかわらず、相変わらず多くのプロジェクトで必要以上の人数が投入されている。 私がとくに不思議に思うのが、基本設計を何人もの要員で分担するやり方だ。DB設計と機能設計と業務設計の担当を分けるとか、サブシステム毎に担当を分けるといった体制がしばしば敷かれる。詳細設計の段階でというのならまだわかるが、基本設計でそれをやってはいけない。 なぜか。業務システムにはアーキテクチャ(意図された構造)が求められる。そして、そこに含まれる膨大な定義要素は、統一感や一貫性を保ち、かつMECEな形で切り出されなければいけない。複数の要員で分担などすれば、それらの課題が一挙に難しくなる。また、DB構成と
codicとは codicは、日頃、変数名や関数名に頭を悩ませるプログラマのためのネーミング辞書です。 以前は、プログラマ向けの単語辞書といった感じだったのですが、Ver.3からは、「日本語を入力すると、ふさわしい名前を勝手に生成してくれる」という仕様になりました。 例えば関数名を作るのに、「従業員数を取得する」と入力するだけで「get_employee_count」という名前を勝手に生成してくれます。 これだけでも、かなり便利なんですが、codicにはその他にも、プログラミングのための便利な機能が満載だったので、その使い方などを紹介したいと思います。 codicの使い方 codicの主な機能は、日本語を入力すると、勝手にネーミングを生成してくれると言うことです。 ただ、ちょっとした使い方次第で、より便利に利用できるので、その使い方などの紹介です。 基本機能 まずは、基本的な機能、「日本語
現代は、世の中とテクノロジーが密接なつながりのある時代。特に、スマートフォンが爆発的に普及した2010年以降から、Webサービスの充実を体感している人も多いはず。そして、非エンジニアでありながら趣味としてプログラミング行い、ゲームやWebサイトを作っている人も多いです。 しかし、プログラミングと聞くと「難しそう」といったイメージを持つ方も多いのではないでしょうか?エンジニアは専門職ということもあり、その入口は特に難しそうに感じるかもしれません。 そこで今回は、初めてプログラミングに挑戦したい方にオススメな、JavaScriptやPythonなどの学習サービス「Code Combat」をご紹介します。 「Code Combat」ってなに? 「Code Combat」は、プログラミングを全く知らない人でも簡単に出来るゲーム形式のサービスなので「遊びながらJavaScriptなどを学ぶ」ことので
Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあ猫の名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。
こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ
はじめに Scutumではベイジアンネットワークをはじめ、データサイエンスを積極的に導入して高性能のWAFを実現することを目指しています。データサイエンスやデータマイニングでは、解析対象のデータに対して対話的に解析を行うことが多くなります。今回は基本的には「対話的プログラミング環境でない」Javaで、データを対話的に解析する方法をご紹介します。 一般的なJavaアプリケーションのライフサイクル JavaはRに代表されるような対話的なプログラミング環境とは異なり、基本的には一度コードを書いたらそれがコンパイルされ、ある程度「固定」されたものになり、プロセス起動中は「事前に準備したコード」を使って処理をします。 Javaでデータを解析する場合には、プロセスの起動後にデータが読み込まれ、解析処理が行われ、何かしらの結果をはき出して終了する、というのが1つのステップになります。 解析を実際に行う人
追記:2015/03/17 アンチパターンではなくてグッドパーツです.文章はそのまま残しておきます. 色々な人に聞かれたのでアンチパターンをまとめておく. Windows は使わない Windows は環境構築がつらいだけではなくネットブックのような驚くほどスペックの低いものを使っている人がいたり,HDD の空き容量が極めて少ない人もいる 自習で学習出来る人はまずいないと思う Mac なら VM とか使わなければ Web プログラミング周りで困るスペックのものはあまりない…はず 開発環境があまりにも異常なので勘の良い人はおかしいと気付く 開発環境は特殊なものだと思われることはお互いにとってよくない VM・SSH は使わない そもそも VM がまともに動くスペックのものを使っている人はほとんどいない VM 自体を理解させることは不可能に近いしインストールさせることも困難 SSH は魔法のコマ
僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけでそのコードがしたいことの説明になり、コメントと同等の働きをすることもあるからです。 自分がちゃんとそれをできているのかはさておき、僕は普段から、できれば読みやすくて分かりやすい名前を付けたいと思っています。他の人も読むコードであれば、できればプログラムでよく使われるような単語を利用して書いた方がより分かりやすいです。 ただ、よい名前を考えるのって、ちょっと面倒くさいんですよね。僕はこれまで、英語の辞書を利用して、考えたりしていたのですが、「何か、プログラムでよく使われる単語をまとめたものはないか?」と探したら、ドンピシャのものがいくつかあったので、それらをまとめて以下で紹介します。 photo by Michael Coté codic codic – デベロッパ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く