「Objective-C」を含む日記 RSS

はてなキーワード: Objective-Cとは

2018-10-27

anond:20181027155327

Java代替の条件=オープンソース、可用性、並列化

 

LL4兄弟

インタープリタ言語は第2候補以下で。

 

関数型勢

ぶっちゃけ使いづらい?

 

マイクロソフト

Oracleと同じ穴の狢

 

Apple

マイクロソフト以下

 

JS

エコシステムが拡大してるけど、JVMの代役には力不足

 

Javaの天下が長く続いたため、今すぐ代役を果たせる言語/実行環境が不在?

2018-10-20

増田プログラマー養成講座 その8 OOPの仕組み(後半)

前回に続いて、今回もオブジェクト指向プログラミングOOP)の基本的な仕組みを見ていこう。

 

教材は、ドットインストールPHP入門です。

OOP関係してる#18から#24までのうち、後半の#22から#24までを一緒に見てみよう!

 

#22 staticキーワードを使ってみよう

動画でこんな用語が出て来た。

 

 

static

クラスベースOOPオブジェクトを使う場合普通は「クラスからインスタンスオブジェクトの具体的な実体)を作ってから使う」と説明した。

実は、newでいちいちインスタンスを作らなくても、クラスメンバープロパティーやメソッド)を直接呼び出して使える仕組みも用意されている。

それが「static」(静的)という仕組みだ。

 

「静的」(static)という言葉は、「動的」(dynamic)の対義語になっている。

newでインスタンスポンポン作っていくのが「動的」なら、new無しでコッソリとメンバーを呼び出すのが「静的」というかんじ?

 

PHPでは、インスタンスを作らなくても、直接(静的に)呼び出せるメンバーには「static」という目印を付けておく、という文法になってる。

さらに、

 

それではstaticなメンバーを入れたクラス定義してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

文法的には「static」という印を付けるか、付けないかの違いしかない。簡単だ!

次は、staticなメンバーの呼び出し方を見てみよう。

 

::演算子

ちょっと待った!「演算子」という言葉は初めて出てきたね?意味確認しておこう。

1+2は3になる等、対象(1とか2とかの数値データ)を操作(=演算)して、3という結果を得られる。

 

「::」はスコープ定義演算子とか、ダブルコロンと呼ばれている。PHPマニュアルでは以下のように説明されている。

static, 定数 およびオーバーライドされたクラスプロパティメソッドアクセスすることができます

静的メンバーを呼び出す専用の記号として「::」という演算子記号)が用意されている、というわけだ。

まり、「::」という演算子を使うことで、静的メンバー操作できる。

 

それでは、「::」を使って、静的メンバーを呼び出してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

// new無しでいきなり使える!

User::$count = 1; // 1を代入する。

echo User::$count; // 1と表示される。

 

実験で以下のコードも追加してみよう。

// staticが付いてないインスタンス変数(new無しで使えない)を呼び出す。(本来は呼び出せない)

User::$name = "yamada";

echo User::$name;

実行すると

PHP Fatal error: Uncaught Error: Access to undeclared static property: User::$name

というエラーメッセージが表示された。

「staticなプロパティーとして定義されてないから、アクセスできないよ!」と怒られた~~~(涙)

staticじゃないメンバーには、ちゃんとnewしてインスタンスを作ってからアクセスしないと、使えないんですね。(面倒)

 

キーワード「self」

オブジェクトメンバープロパティー、メソッド)に、オブジェクトの中のメンバーアクセスするとき

という使い分けになってる。単にこれはPHP文法なので、特に悩む余地はない。

 

this=インスタンスメンバー操作する場合

class User {

 // 普通プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name; // ←この$nameをこの下にあるをhello()から使いたい

 // 普通メソッド

 public function hello() {

  echo "Hello, " . $this->name; // this->で指定する

 }

}

$taro = new User;

$taro->name = "Yamada Taro";

$taro->hello(); // Hello, Yamada Taro

「this」が自分自身オブジェクトを指し示す。

$this->nameで、オブジェクト(この場合インスタンス)内の$nameアクセスできる。

 

self=クラスの静的メンバー操作する場合

class User {

 // staticなプロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $name; // ←この$nameをこの下にあるをhello()から使いたい

 // staticなメソッド

 public static function hello() {

  echo "Hello, " . self::$name; // self::で指定する

 }

}

// new無しでいきなり使える!

User::$name = "Suzuki Hanako";

User::hello(); // Hello, Suzuki Hanako

「self」が自分自身オブジェクトを指し示す。

self::$nameで、オブジェクト(この場合クラス)内の静的な(staticな)$nameアクセスできる。

言ってる意味、分かる?(説明が分かりにくい?)

 

スコープとは?

「this」とか「self」とか、いちいち使い分けていて面倒くさいなーと思うだろう。

なんでこんなことをやってるか?というと「スコープ」という仕組みが関係してる。

ドットインストールPHP入門でも、#16でちょっとスコープについて説明してあった。

PHPスコープの種類は3種類しかありません

  1. ローカルスコープ
  2. グローバルスコープ
  3. スーパーグローバル

 

スコープ有効範囲

スコープ」(scope, 可視範囲)は、元々は潜水艦に付いてる望遠鏡(潜望鏡)のこと。

プログラミングでは、あるデータ変数とか)がどこまで見えるか、覗けるか、という範囲のことを「スコープ」と呼んでる。

変数関数がどの範囲まで有効なのか、使えるのかは、その変数関数スコープで決まっている。

Wikipediaで「スコープ」の説明を見ると、ゴチャゴチャ書いてあるけど、要するにスコープには、広い範囲や狭い範囲があるってこと。

 

thisやselfをわざわざ使い分けているのは、範囲を指し示すときに、

それとも

という場所の違いをハッキリと区別するためなんだ。

 

クラスオブジェクト設計図)を眺めたときに、

thisを使ってたら、「ああ、newしてインスタンスを作らないと使えないんだな」と分かる。(インスタンスの中の話)

staticとselfを使ってたら、「newしないで、静的に使えってことだな」と分かる。(クラスの中の話)

 

太郎の$nameとか、花子の$nameとか、インスタンス場合は、各インスタンスメンバーは、明確に分かれていて、両者が混ざることはない=別々のスコープになってる。

クラスの静的メンバーは、そのクラスに1個しかないので、そのクラスをnewしないで(インスタンス無しで直接呼出しときは)、いろんなところから呼び出されても、共通の中身になってしまう=スコープが1個、同じスコープになってる。

 

インスタンス変数クラスの静的変数は別物なので、thisとselfで使い分けてる、というわけだな!

 

ここまで読むと「staticって面倒くさいやつだな!なくてもいいじゃん!」と思っただろう。その通り!

staticは使わなくて済むなら、なるべく使わない方がいい。

「static 欠点」で検索してもらえば、staticを使った場合問題点が紹介されている。

どうしてもstaticじゃないと実現できないこと、staticの方が便利な場合だけ、staticを使うようにしよう。

 

(参考)PHPのstaticの使い方

 

#23 抽象クラスを使ってみよう

動画でこんな用語が出て来た。

 

 

抽象クラス

これはドットインストール説明そのままでOKですね。

 

具象クラス(今まで勉強してきた普通クラス)だけではなく、「抽象クラス」という特殊クラスを作る仕組みも用意されている。

抽象クラスは、継承してその子クラスを作るとき、「必ずこのメソッド自分で作れよ!」などと強制できる。

まりクラスの利用方法継承とか)について、プログラマーに指示を出せる働きがある。

 

抽象クラスの特徴として、具象クラス(通常のクラス)との違いを挙げます

 

1. 抽象メソッド定義する事ができる。

抽象メソッドとは、実際の処理を自身にではなく子クラス記述させるためのメソッドです。

この抽象メソッド記述できることが、抽象クラスの最大の特徴です。

抽象クラス継承したクラスは、この抽象メソッドを必ず「オーバーライド」しなければなりません。(オーバーライドしないとコンパイルエラーとなります。)

 

2. 抽象クラス単体でインスタンスを生成する事はできません。

抽象メソッド定義している。

まり、実際の処理を記述していない訳ですから当然インスタンスを生成して使用する事は出来ません。

JavaPHPも同じですね。

 

#24 インターフェースを使ってみよう

OOP継承には、「単一継承」と「多重継承」という種類がある。

普通は、「単一継承」といって、親クラスからクラス継承して作るとき、親クラスは1個だけしか指定できない。(1:1)

クラスA、クラスB、クラスCの3つを親クラスとして、クラスZという子クラス継承して作る仕組みは、「多重継承」という。多重継承可能場合、子クラス複数の親クラスを持てる。(多:1)

 

PHPJavaでは、多重継承ができない代わりに、「インターフェース」という仕組みが用意されている。

インターフェースを使うと、多重継承と似たようなことができる。

 

↑ここにクラスインターフェースの相違点がまとめられてたので、参考にしてみてください。

 

インターフェースの使い方、文法を見ておきましょう。

  • class」の代わりに「interface」を使う。
  • 「extends」の代わりに「implements」を使う。
  • 継承する」という代わりに「実装する」という言い方をする。

interface sayHi {

 public function sayHi();

}

interface sayHello {

 public function sayHello();

}

class User implements sayHi, sayHello {

 public function sayHi() {

  echo "hi!";

 }

 public function sayHello() {

  echo "hello!";

 }

}

$taro = new User; // コンストラクターに渡す初期データがない場合「new User();」みたいに「()」を付けなくてもOK

$taro->sayHi(); // hi!

$taro->sayHello(); // hello!

 

PHPOOP機能

#22から#24までを見て、PHPOOP基本的な仕組み~使える機能について見てきました。

PHPには、他にもいろんなOOPで使える機能が用意されています

 

その他のOOP機能

Javaなど他のプログラム言語には、PHPにはないOOP機能も用意されています

オブジェクトを利用するときの仕組みとして、いろんな方法が考えられてます

 

使う機会があれば調べてみましょう。

 

ここまでで、やっとOOP基本的な仕組み、用意されている機能テクニックを学びました。

次回は、なぜこんなOOPの仕組みが考え出されたのか?どうやってOOP活用していくのか?を見ていきましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半) ←★今ここ★

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-08-09

xyzzy 使いに 50 の質問

01. ハンドルネームは?

  増田

02. ご職業、年齢はいくつですか?

  なんでも屋さん、アラサー

03. xyzzyについて何かwebサイトを持っていますか?

  持っていません

04. 現在使用中の xyzzyバージョンは何ですか?

 0.2.2.253

05. xyzzy 使用暦はどれくらいですか?

  15年くらい

06. xyzzy を使うようになったきっかけは何ですか?

  昔のことすぎて忘れましたが、学校UNIX 演習で Emacs を使っていたので、Windows でも使おうと思っていて見つけたんだと思います

07. xyzzy 以外に使っているテキストエディタはありますか?

  Atom, McEditor

08. xyzzy を使う前に Emacs 系のテキストエディタを使ったことはありますか?

  はい

09. xyzzy を主に何に利用していますか?

  プログラムを書いたり設定ファイルをいじったり、テキストに関することならだいたい

10. xyzzy が関連付けされているファイルタイプは何ですか?

  txt, md, log, ini, bat, html, xml, css, less, scss, sass, styl, js, coffee, pl, php, py, rb, java, sqlかにもあるかも

11. xyzzy他人に勧めたことはありますか? また、結果はどうでしたか?

  使い始めた当時同級生が何人か使っていました

12. xyzzyフリーじゃなかったとしたらいくら位の値段になると思いますか?

  今なら3000円くらいなら買う

13. xyzzy を何と呼んでいますか?

  じじー

14. xyzzy の好きな点・嫌いな点はどこですか?

  好きな点:動作をほぼ自在カスタマイズできる点

  嫌いな点:動作カスタマイズするとき不自由なところがある点

15. パソコンを立ち上げている時間の内、xyzzy をどのくらい使っていますか?

  業務ときは3割くらい?

16. キーバインドWindows風ですか? Emacs風ですか? オリジナルですか?

  Emacs

17. .xyzzyに書く派ですか? .siteinitに書く派ですか?

  必要に応じてそれぞれに

18. 拡張Lispバイトコンパイルしますか?

  してます

19. セレクションリージョン、どちらを多く使いますか?

  リージョン

20. xyzzy を使っていて挫折したことはありますか?

  はじめのころ五目並べになかなか勝てなくて挫折しました

21. xyzzy の使い方をどうやって学びましたか?

  実際にさわりながら。LispGoogle 先生さまさま

22. xyzzy を使うにあたって一番苦労したことは何ですか?

  xyzzy 自体Lisp APIマニュアル化されていないところ

23. xyzzy を使って目からウロコだった機能は何ですか?

  Buffer Menu

24. 今の xyzzy に望むことはありますか? またそれは何ですか?

  矩形機能に影響が出そうだけどプロポーショナルフォントへの対応と、絵文字など最近 Unicode に追加された文字への対応

25. Lisp はある程度読み書きできますか?

  xyzzy自分の使いやすいようにできる程度には

26. Lisp のほかに読み書きできるプログラム言語はありますか?

  JavaScript, ES 2016, Coffee Script, Action Script 3, C, C++のごく一部, Objective-C, Rust, Swift, Perl, PHP, Python, Ruby, bash, xyzzy lisp

27. 自分で作った 拡張Lisp を公開していますか?

  GitHubGist にあるので探してください

28. 拡張Lisp で導入しているものは何ですか? (多い方は代表的ものをお答えください)

  clickable-uri, jscript-mode, markdown-mode など

29. これは外せない! という 拡張Lisp はありますか? またそれは何ですか?

  いろいろやるので今ある拡張機能がないと無理

30. NetInstaller を利用していますか?

  はい

31. 拡張DLL を導入していますか? またそれは何ですか?

  popup-dododo のための Cairo とか?

32. ドキュメント(info,reference等) は使っていますか? また、それは何ですか?

  使っていません。自分で改造してキーワードを全部 Web検索するようにしています

33. ネット関係拡張Lisp(www-mode,kamail等)を使っていますか?

  xyttr

34. アウトライン系のLispは使っていますか? またそれは何ですか?

  使っていません

35. メモ系(changelog-memo,howm等)Lispは使っていますか? またそれは何ですか?

  使っていません

36. xyzzy五目並べはやったことがありますか? また、結果はどうでしたか?

  今なら結構勝てます

37. キーボードマクロは使いますか?

  たまに。テキストの整形処理なら正規表現ゴリゴリやるほうが多いです

38. 辞書機能は使いますか?

  使っていません。国語英和・和英、英英辞典iPhoneアプリを使います

39. xyzzy のファイラは使いますか?

  毎日仕事に欠かせません。便利にカスタマイズしすぎてむしろファイラだけのために新しく xyzzy 自体を起動することもあります

40. フレームは使いますか?

  あまり使いません。新しく(Windows における)ウィンドウ

41. セッションは使いますか?

  使っていません

42. メーリングリストには参加していますか? また、メール送信したことはありますか?

  ありません

43. 2chxyzzy 関連スレッド書き込みしたことはありますか? また、その頻度はどのらいですか?

  大昔にどうしてもわからないことがあって書き込んだ記憶があります

44. xyzzywikiに書き込みしたことはありますか? また、その頻度はどのくらいですか?

  拡張機能実装に関してちょろっと書き込んだ記憶があります

45. xyzzyメニューは表示していますか?

  たまにほしくなるので表示しています

46. xyzzyツールバーは表示していますか?

  隠しています

47. xyzzyファンクションバーは表示していますか?

  表示していません

48. xyzzyバッファバーは表示していますか?

  表示していません

49. 色、フォントなどは変更していますか? またそれは何ですか?

  色は暗い背景色ハイライトカラーはできるだけ色相を離したパステルカラーです。

  フォントConsolas に源新ゴシック Regular を組み合わせています

50. 最後に、一言お願いします。

  まだまだ xyzzy は不滅です

2018-08-06

値渡ししかないとか勘弁してくれよ

iOS用のプログラム言語としてメジャーになりつつあるswiftは、Objective-Cベースにしているくせに、参照渡しは例外的しか認められず、事実上値渡し推奨である

これ、Javaとかから乗り換えてくると途方もなく面倒だからやめてほしいわ。

C++ベースにしたJavaは、逆にほぼ参照渡ししかない世界なのだから

なんでこんな意味不明言語仕様なのか。

2018-07-05

swift暗号化zipを作りたいだけなのに

なんで作る仕組みがないんだよ。

zlibやCommonCryptoはswift用のライブラリがないので、裏技的やり方でObjective-Cライブラリを引っ張ってこないといけない。

しかもそんな面倒は序の口で、本当に面倒なのはそこから

zlibは何をどうやってもgzipしか作れないし、作ったgzipをCommonCryptoのAES暗号化したら、今度はどうやっても解凍できないし。

あとzlibによる圧縮で、圧縮前の拡張子を覚えさせる手段が見つからなかったので、ファイル名に圧縮前の拡張子を含めさせておかないと、解凍後に手動で拡張子を追加しないといけない。

そりゃ、APIドキュメントをくまなく読み込めば全て解決するんだろうけど、そんなコストは掛けられない。

要するに並のプログラマの手には負えなさそうな話という結論


からなのか、ググってみると9割方SSZipArchive使えって記事が引っかかる。

あのさ、そういう目的特化で作られているんだから、使えば一瞬で目的達成できるのは分かるよ?

そこじゃないんだ。そしたらプラグインみたく必要ライブラリを入れまくって解決した気になるのは違うと思うし、それが無理なケースもあるんだよ。

そもそもの疑問として、タイトルに有る通り「暗号化zipを作りたいだけなのに」なんで最初から仕組みが用意されてないんだ。


あれか、Apple的にはswift暗号化zipを作る時代じゃないと、そういう見解なのだろうか。

2018-03-11

anond:20180311000244

プログラミング言語はいきなり100個がポコンと誕生したんじゃなくて、長い歴史の中でいろいろと生まれてきた。

から、たくさんある。

かに似たもの同士を統合して、まとめることができたら、もっと少なくて済むだろう。

現実にはベンダーロックイン(顧客の囲い込み)で統合は進まない。統合ではなく淘汰されることで数が減ることになるだろう。

 

実際に広く使われる言語はせいぜい指折りで数えられる程度しかないと思うよ?

割とオールマイティーなのがJava。(JVM上で動く言語もその仲間にカウントしてOK

Javaではカバーできないときに、他のプログラミング言語採用する。

iOSアプリなら、Objective-CSwiftとか。

 

IT業界ドックイヤーとかマウスイヤーと揶揄されて、最新の技術フォローするのは大変。でも大変だからこそ、頑張っているプログラマーは高給取りになれる。これが誰でもできる簡単仕事なっちゃったら、時給1000円程度のバイトしかならないでしょう。

2018-01-23

特技=コア・コンピタンスがないと、他に何をやってもダメ!?

器用貧乏に陥らないようにしたい。

まずは自分の特技を確立して、その周辺技術を固めると、鉄壁の城を築けるだろう。

自由プログラミングを学べる時間があるなら、関数型プログラミングをかじっておいて欲しい。

 

関数型プログラミング 学習カリキュラム

OCaml

関数型プログラミング言語はいろいろありますが、基本を学ぶために、良い教材がある「OCaml」がお勧めです。

この本は、独学で関数型プログラミングの基礎を学ぶのに最適だと思います

 

Elixir

関数型プログラミング言語で、実用的なアプリ作ってみたいですよね?

Webアプリを作るのに「Elixir」という関数型プログラミング言語を使ってみませんか?

 

Pleroma

Elixirの使い方を学んだら、Twitterのような「Pleroma」というSNSを設置して、カスタマイズしてみましょう。

 

Phoenix Framework

Elixir、Pleromaで遊んだら、PhoenixオリジナルWebサービスを作ってみましょう。

 

副業

プログラミングを学んだら、まずは副業を始めてみましょう。

英会話ができるなら、欧米企業リモートワークをやれば給料も良いです。

(参考)https://anond.hatelabo.jp/20180112130526

私も機械学習ではなくシリコンバレーで働くWebエンジニアだけど、年収は43万ドルくらいだ。日本円にすると4800万円くらいだろうか。

付記 

うーん、ここまで書いて、これは素人最初に着手するべき事柄じゃないなーと反省。消すのももったいないか投稿しておきます

 

最初にやるなら、やっぱPythonかな?(最近話題AIでも、バインディング言語としてPythonが人気だし)

 

本屋で分かりやす入門書を探して、「これなら自分でもできそう」と思える本があれば、それをやってみたら良いと思います

そこで得た知識を足掛かりとして、次のステップに進める?

 

ゲーム制作

最初テーマは、「ゲーム」を作ってみるのはどう?

遊びながら学べるからプログラミングが楽しめると思います

言語ゲームを作ってみよう!的な本はチラホラあるようだから、それでいける?

 

anond:20180117031306

anond:20180123190750

2017-10-26

プログラマーのススメ

日本人は全員プログラミング勉強した方が良い。

プログラミング簡単だし、IT企業なら開業資金も少額で済む。(最初パソコン回線プリンターがあれば十分)

 

自己資金で数カ月で軌道に載せれるようなネタしかできない。

 

IT起業の道のりを教えてあげるよ。

  1. 下請け他人が作って欲しいものを作って納品する=資金を増やす自転車操業の段階。
  2. 自社開発:自分で作りたいものを作って売る=自転車操業からストックビジネスに移行する。
  3. レベニューシェア下請けと自社開発の中間ビジネスモデル

 

増田投稿できるってことは、パソコンぐらい持ってるんだろ?

本屋図書館に行って、自分に合った分かりやすプログラミングの本を探してみよう。

 

仕事を取ってくる方法は、ソニックガーデンのやり方を参考にしたら良い。 https://www.sonicgarden.jp/

プログラミング入門

最初に1冊だけ推薦するなら「プログラミングの基礎」という本をお勧めする。 https://www.amazon.co.jp/dp/4781911609/

買う前に、著者のサポートページを見てみると良い。

 

プログラミングパラダイム(考え方)には4種類ある。(【】内は基礎となる計算モデル

計算可能理論で見ると、どれもノイマン型のCPU上で動作する点で同じと言えば同じと言える。(優劣はない)

ただ、筋の良いプログラミング作法を身に付けたいなら、最初関数型を理解しておくことをお勧めする。

関数型の中で一番簡潔かつ強力なのはOCaml」というプログラミング言語だ。(HaskellをやりたければOCamlの次に学ぶスムーズ理解できる。)

関数型言語を学んだ後なら、手続言語はすぐに習得できるだろう。

WEB開発

WebサービスWebアプリを作るのは簡単

  1. HTML
  2. CSS
  3. JavaScript
  4. PHP
  5. MySQL
  6. Linuxサーバー構築)
  7. TCP/IPネットワークセキュリティーの基礎知識

を学べば作れるようになる。3か月勉強すればものになるよ?

 

Webアプリの特徴は、システム構造ネットワークを介して「サーバー側とクライアント側」に分割されていること。(REST - Wikipedia

Webアプリを作るってことは、一言で言えば、データベースラッパーCRUD)を作るだけの話。

アプリ開発

スマホアプリは、GUIの仕組みが分かれば簡単に作れる。

iPhoneアプリ

iPhoneの仕組みは糞だから後回しにしてもOK

XcodeじゃなくてAppCodeで作れるような段階に成熟したら手を出しても良い。

まあ、iPhoneアプリは金のためなら避けられない道だと思うので、苦労覚悟で取り組んでほしいw

Androidアプリ

Androidの中身はLinuxJavaアプリを開発できる。今ならJetBrainsIDEKotlinで楽々開発できる。

日本じゃAndroid貧乏しか使ってないので、あまり金にならないかも。

資金集め

お前偉そうなこと言うのなら、誰か起業してやろうというやつにガッツリ寄り添って手伝ってやりな。

俺はハゲタカじゃないから、無知な奴から搾取することはしない。

というか、自分のことで精一杯だから他人のケツ拭いまでやる体力・気力・理由がないw

 

他人から金をもらうと相手支配下に置かれる。だから資金調達お勧めしない。

自己資金で行けるところまで行って、ダメならまた社畜生活に戻ればいいだけの話。(パソコンインターネットがなくならない限り、プログラマーならIT業界で食っていける)

 

俺は、NPO法人とか社会起業しようとしてる奴だけ無償で手助けすることにしている。(プロボノ

社会起業家は、社会変革の担い手として、社会課題を、事業により解決する人のことを言う。

社会問題認識し、社会変革を起こすために、ベンチャー企業創造組織化経営するために、起業という手法を採るものを指す。

プロボノ(Pro bono)は、各分野の専門家が、職業上持っている知識スキル経験を活かして社会貢献するボランティア活動全般。また、それに参加する専門家自身

 

おまえが将来、社会起業することがあったら増田で呼びかけてくれ。

増田で返答できる範囲アドバイスするよ。頑張れ!

 

(追記)プログラミングパラダイムの4分類は「日経ソフトウェア」という雑誌説明表記しました。

ちなみにSQLチューリング完全なので、問合型言語でもプログラミング可能です。 https://qiita.com/utgwkk/items/20e887645da18e460fee

かに俺は理系だが情報学出身じゃない。独学でプログラミングを学びました。技術的な誤りがあったらブコメで教えてw(夜露死苦

 

(追記2)マイクロソフト関数型言語F#」は、OCamlベースにして開発されました。

現在マイクロソフトで開発中の量子コンピューターではF#が動く予定だそうです。(将来OCaml知識が役に立つでしょう) http://ascii.jp/elem/000/001/569/1569477/

 

(追記3 10/28ブコメレス全部拝見しました。様々なご意見・ご指摘をいただきありがとうございます。大変参考になりました。

「何か既視感があるな」と思ったら、最近ホリエモンが「保育士は誰でも出来る仕事」と言って炎上してたのと似てますね?→「プログラミング簡単」(プログラマーは誰でも出来る仕事

プログラミング学習や実務で苦戦されている方が多いようですね? だとすれば、それを改善支援するサービスニーズがありそう。

具体的にはディアゴスティーニ雑誌みたいに「週刊 プログラミングゲームを作る」みたいな教材があればいい。

https://deagostini.jp/

拝承いたしました。(微力ながら、皆様のお役に立てるよう作ってみたいと思います。)

 

(追記4 10/28OCaml関数型言語メリットについて

ちょっと前に岡部健氏(通称:毛の壁、kenokabe)が、関数型言語を巡りQiita等で論争を巻き起こしていましたが、俺は是々非々岡部氏の意見に一部賛同していました。(全部じゃない)

関数型言語を難しいものとして敬遠するのではなく、まずは使ってみて便利だったら嫌う必要はないと考えています

構造プログラミング命令型、手続型)との対応で言えば、関数型プログラミングは再代入なしでも、

で同じことができます。(優劣はない)

最初関数型プログラミング習得しておけば、参照透過性に注意を払う癖が身につき、テストときに「組合せ爆発」を少なくできます

関数型言語はたくさんありますが、OCamlが良いと思ったのは(自分にとって)分かりやすい教材が揃っており、学習コストが低いと思ったからです。

プログラミングを学ぶとき、独学ではなく、周りに聞ける人がいるなら他の言語でもOKです。

 

(追記5 10/28)「iPhoneの仕組みは糞」=storyboardが使いづらいと思いました。あくま個人の感想なので、Apple関係者信者の方はスルーしていただければ幸甚です。(Swift開発者クリスラットナー氏は、Appleからテスラ転職してしまいましたが、今後もAppleObjective-CからSwiftへの移行を押すのでしょうか?)

幸いiOSアプリ開発は分かりやす教科書がたくさんあるので、初心者でも心配無用です。iOSアプリ開発は(最初簡単なので)気軽に始めてみてくださいw

2017-09-19

Objective-Cチュートリアルが減ってきている

ちょっとだけ読み書きできるからObjective-Cを選んでいるんだけど、Swift使ったほうがいいかも、と思ってきた。

2017-06-02

http://anond.hatelabo.jp/20170602123042

ていうか、少なくともアップルって「Objective-Cは飽きたから、新しくswift作りました」って感覚言語増やしているよねw

2017-05-14

プログラマ実務10年目で年収400万は妥当

http://anond.hatelabo.jp/20170513223605

PHP月50万が安いっていう人多いが

ワイはWindows(C++C#)10年、Android(Java)5年、macOS/iOS(objective-c)5年、Azure・AWS1年でいろいろやっとるが月三十数万(賞与なし)しかない

転職したらどこまで上がる?

2017-03-10

派遣ITエンジニアにやってほしくないこと・やってほしいこと

私は派遣を受け入れる側。

指揮命令者として指示を出している。

複数の開発チームをマネジメントしている。リリース直前等の繁忙期はプログラミングもする。


やってほしくないこと

上司に「あの人は~~が問題で……」と報告しなくてはいけなくなるレベルのやつ。


テストしてないのにテストしたと言う

派遣の人が納期ギリギリで「○○のテスト終わりました」という。

なのでコードレビューがてらに動かしてみたところ、正常系すら全く動かない。

テストコードがない。手動のテスト仕様書もないし、それどころかどんなテストをしたのかのメモすらないという。

コードコミットし忘れとかでもない。

「さっきテストをしたら動いてたんですけど」というが、何度か試しても普通の正常系すら動かない。

結局本人は謎のテストをしたと言い張り続けたが、残念ながら信じることができなかった……。


出来ていないなら出来ていないで正直に報告してほしい。

こう言っちゃ悪いが派遣にはそこまで期待していないし、

(平均してみんなプロパーエンジニアの半分くらいの生産性だ)

仕事が出来ていないかったとしても、ちゃんと契約範囲内でしか残業は頼まないので。


古い知識や間違った知識若いメンバーに教える

iOS現場は3年ぶりです」と言っていたが、

いまさらObjective-Cを使うのが当然のように周囲に教えないでほしい。

もうみんなSwiftに移行していますよ。

新卒エンジニアはころっと騙されて間違った知識や古い知識を覚えてしまうことがある。

矯正の手間がかかるので、悪いけど、こちらの仕事が増える。


あと、滅茶苦茶な設計を周囲にすすめる。

ゴッドクラススマートUIを推奨しないでほしい。

あんJSONパースするユーティリティクラスの中にどうしてDBアクセスするコードを書くんだ……?


とにかく勉強するか、不得手な分野については周囲に思想を広めるのを自粛してほしい。


「○○さんはプロパーで、ボクは所詮派遣から……、だから意見が通らないんだ」とか言っちゃう

意見の中身が劣ってるからですよ。

有用意見なら誰のものでもウェルカム

あなたの機嫌を取るのに私やチームの時間を使いたくない。

なので誤解しないでほしい。


やってほしいこと

上司に「あの人はチームに必要な人ですよ」と報告できるやつ。


他社や他のプロジェクトノウハウを教えてくれる

めっちゃ便利なノウハウを教えてくれたら「神かよ」と思う。

派遣の方々は経験したプロジェクトの数がプロパーよりも概して多いので、そこを活かして、よそのノウハウを教えてほしい(守秘義務とかを守った範囲で)。


稀少技術を持っている

DBチューニングしまくる技術とか、iOS動画編集するアプリの作り方の知識とか、そういう珍しい技術を持っている人は必要な人になりやすい。


マネジメントする側として、浅く広い人はいくらでも替えがきくので、一芸に秀でている人を「必要」と感じる。

エンジニアとしてもそちらの方には一目置ける。


プロパーよりも真剣味がある

プロパーでもやる気ない人はいる。

ホントAndroidやりたい。iOSやりたくない」とか公然と言っちゃったりする人。

(そういう人はまず上司にかけあうべきで、関係のないメンバーにわざわざ公言しないでほしい。士気が下がるので。)


すくなくともそういうプロパー以上に、そして普通プロパー以上に真剣プロダクトの開発・改善に取り組んでくれる人はありがたい。

2017-02-14

Tombo Platformについての13歳女子高生感想

iPhoneゲームブラウザで遊べるTombo Platformをリリースしました

http://blog.wktk.co.jp/ja/entry/2017/02/14/tombo-platform-is-released

技術的な詳細とかは英語ブログに書いてます。そちらも見てちょ。」などと書いてありますが、そちらを拝見すると「Emscripten」というCやC++Webで動かす(JavaScriptに変換する)技術Objective-C対応させただけということがわかります英語で書いたと言えばほとんどの人が見ないだろう、という小賢しい意図を勘ぐってしまます(実際、ブコメを見た感じほとんど誰も英語のほうを見ていないようです)。

最近iPhoneゲームほとんどは、Androidにも対応するためUnityやCocos2d-xなどのクロスプラットフォームフレームワークで作られています。この2つで作ったゲームどちらもWebブラウザで動くので※、実はほとんどのスマートフォンゲーム最初からブラウザで動かせる技術で作られているのです。Webブラウザ対応しないのは技術問題ではなく、対応していないだけというのが実際のところです。スマートフォンゲームスマートフォン向けに作られているので、単にPCブラウザ移植しただけでは面白くないというのもありますし、課金や、広告や、集客認証などなど、ゲームプラットフォームに求められる様々な機能を素敵な感じにWebブラウザ提供してくださるものがないから、ビジネスとしては衰退したというのが2017年現在です。何周遅れのことをなさっているのかな、と思ってしまます

※加えてWindowでもMacでも動きますし、Unityはほぼ全ての家庭用ゲーム機にも対応しています。今iOSであえてObjective-Cゲームを作る方は、よほど偏屈でいらっしゃる方だけかと思われます

EmscriptenObjective-C対応させたのはおそらく価値があることなのだと思いますが、現在iPhoneアプリ開発において主流な言語であるSwift対応していらっしゃらないというのも、iPhoneゲーム移植できると主張する上でちょっと誇大広告がすぎるのではないでしょうか。

たぶんこの技術を使ってWebブラウザで動かせるようになるゲームは、素人の方がお作りになったものも含めて単純に数でカウントしたとしてもiPhoneゲーム1020%ぐらい、ビジネスで作られているゲームだとは5%ぐらいではないかと思います

2017-01-19

http://anond.hatelabo.jp/20170119222536

Visual studio codeでnode.js+reactやってサービスなんか作ってそれをポートフォリオにしたらいいんじゃね?IDE関係ないけど。

もしくはプログラマとして優秀なら普通にObjective-cSwiftやればいいんじゃない

まだObjective-Cで書かれたコードたくさんあるしモバイルアプリエンジニアが足りてなさすぎるからすぐ仕事見つかると思う。

なんかアプリ作って公開してそれをポートフォリオとして持っていけばいいと思う。

2015-12-18

Swiftって何で人気なの?

詳解Swift読んで、ダルいと思ったのおれだけ?Objective-Cは悪くない言語だと思うけどなー。

2015-11-28

みんな仕事でどれくらいSwift使ってんのかなぁ

最近QiitaとかでiOSアプリ開発の記事を見ると、大体コードSwiftだ。

Objective-Cレガシーだぜ〜

書いてもObjctive-Cじゃないと出来ないようなことだけだぜ〜

この期に及んでObjective-Cを書く奴はクソジジイだぜ〜

という雰囲気をビンビンに感じてる。

今年のSwiftアドベントカレンダーはもういっぱいで、よく見るアイコンのおじさんたちで埋め尽くされている。

意識の高い系企業開発者ブログではもはやObjective-Cコードを見ることは無いと言っていいだろう。

そんな雰囲気に釣られてか、よーしおじさんもSwiftで書いちゃうぜヘイヘイヘイと言ってお休みの日は色々と楽しんでいるのである

でも実際仕事ではほとんど書いてないし、正直今はまだ書きたくない。

XcodeAppCodeもだけどIDE対応微妙だし、言語仕様コロコロ変わるからだ。

「まあ遊びなら良いよね〜実務ではあと数年は無理だわ〜」なーんて去年から同じ事を言っているんである

でもまーまだ出て1年半くらいしか経ってないか〜。

でもでもSwift2がリリースされ、そろそろヒップスター感が抜けて案件としてもSwiftで行ったほうが良・い・の・か・な???なんて雰囲気も出てる昨今、皆さんいかがお過ごしなんだろうか。

おっさんたちの実務レベル対応具合を聞かせて欲しいなあ。

女の子おまんこなめたいなあ。

2015-09-01

Tehu君に学ぶ傷だらけのセルフブランディング

Tehu君が中学の頃から積み重ねてきたセルフブランディング()が崩壊しつつあるんで、まとめておこうと思う。

彼が『天才』『秀才』『次代のリーダーから意識高い系(笑)』へ落ちていく様を振り返りながら、一体どこで間違ってしまったのか検証していくことにする。

中学生時代

彼はここでMacと運命的な出会いをする。当時はまだ、iPhoneが発売されたばかりで、彼は好奇心からXcodeを使い健康計算機というBMI値

を測定するアプリを開発する。機能的にはかなりシンプルプログラム的にも初心者レベルのものではあるが、中学生Objective-Cで開発を行い、

英語でアプリの登録申請を行いAppStoreに自分で作ったアプリを載せて、一時的にではあるが、日本語アプリランキングで3位になったのだ。

これは本当にがんばったと思う。これから彼のセルフブランディングスタートしていく。

高校生時代

周囲の大人達が彼を天才扱いし、いろんな大人達が彼に接触し始める。

TV、雑誌新聞はもちろん インターネット系のメディアなどに顔を出してはメディアへの露出を高めていき、

彼はどんどん階段を駆け上がっていく。

そうしてセルフブランディング成功した彼は周りの同級生が必死に受験勉強をするのとは反対に、AO入試というとても楽な方法

大学の進路を決定してしまう。AO入試と言っても慶応義塾大学

世間的には高学歴な部類に入るわけだから、これでセルフブランディング大成功!という考え方もできなくはない。

しかし、ここに至る過程の中で色々とやらかししまい、その隠していた傷が現在2chを中心としたネット民によって抉られることになる。

自分自身過大評価

彼は様々な媒体でマルチクリエーターとして自分自身演出してきた。しかし、その実態はさほど言うほどの物ではない。

彼の主だった実績は以下のような具合である

プログラマーとしての実績

唯一の実績ともいえる健康計算機日本語アプリが少ない時に、中学生アプリを作って申請したという点はまぁまぁ評価できるが、高校生大学生となった今では黒歴史にしてもいいようなレベルの代物。現在アプリは未公開。その後、プログラミングに関しては猛勉強することなアプリ開発からも手を引いてしまう。

デザイナーとしての実績

なし。

強いてあげるとすれば、問題になった小4なりすましサイト。彼がデザインコーディングデプロイまで全て行ったかどうかは不明。

プロデューサーとしての実績

Tehu君自身プロデューサーとしての実績として誇っているものに「なだいろクローバーZ」というものがある。

これは簡単に言えば、ももクロ衣装を着て、ももクロの曲を流して踊るだけのもの

もちろん、Tehu君が女装をしたり踊ったりしたわけではなく、舞台に上がる主役は別の5人。

ネットではその5人の中のピンク担当男子生徒のクオリティが高かったため、少し話題になった。

しかし、各所で指摘されているがこれはただの文化祭の出し物であり、灘高の女装企画はTehu君よりも前の時代からあった。

それに、なだクロの発案者はTehu君ではなく、彼はその企画に乗っかっただけ。文化祭なのでみんなで考えて、みんなでふざけただけの取るに足らない物なのだ

にも関わらず、どういう訳か彼はそんな『なだクロ』を大きな成功体験として位置付けている。アイドル好きだった事もありアイドルプロデューサー路線に道を見出し、華やかそうなイベントに顔を出し、演出家クリエイティブディレクター、裏方などの肩書を名乗っては何かをやっているようだ。しかし、具体的に、彼が何をやっているのかは一切不明。

人脈自慢

もはやTehu君の代名詞と言える人脈自慢。政治家官僚、有名企業社長経営者外資系企業役員社員女子アナアイドル読者モデル女子大生女子高生テレビ関係者マスコミ関係者など幅広いジャンルの方々と知り合いだとTwitterで吹聴してきたTehu君。

知り合いの知り合いすなわち他人まで自慢していくTehu君のスタイルは人脈温泉揶揄されるようになり、最近では「テフレ」「テフレ認定」なる言葉まで誕生してしまった。

語:テフレ 意味:Tehu君に知り合いまたは友達として認定されてた人。またはTehu君からなんらかの高い評価をもらった人。

しかし、人脈自慢もネット上などでバカにされているという事に気付いたようで、最近ではかなり控えめになり、温泉は一時期よりは冷たくなってしまった。

彼は大物である

大学生現在

大学生となった彼は大学入学するや否や、やらかししまう。

  • 大学生大学生しててチャラい感じの男大っ嫌いだわもう。話しかけんなクソが。
  • 世代の男たちの精神年齢の低さに辟易としています。
  • ファッション感覚起業しているのが丸見えな人たちが、慶応受かった直後からアプローチの嵐だぜ。結局先輩後輩関係で俺の人脈と経験使いたいだけだろ。。。
  • 言い方悪いけど、やる気のない人とわざわざ話したり付き合ったりしていられるほど人生時間残ってないからなぁ。よろしくねとか今度遊ぼうとか言われてもな?
  • まあわかっていたことではあるが、僕がもともと行くつもりだった東大に比べれば平均レベルは圧倒的に低い。それでも僕があえて慶応を選んだ理由は、 数%のぶっとんだ人間が、東大とは比べ物にならないからだ。だから俺は、その「数%の人間」としかちゃんとお付き合いはしませんので。
  • 友達Facebookにチャラそうな集団写真を上げてるのを見るだけで嫌悪感で画面閉じる程度にはそういうの嫌い。

こんなの嫌われます。好きになれっていう方が無理です。しかし、これらのツイート自身や周りの大人達が「天才」とラベルを貼ってしまい、実像の彼をより大きな存在にしてしまった結果なのかもしれない。

そして、自分自身を「羨望の眼差しで見られる有名人」という設定にしてしまった彼は自分より下だと判断した人間をとことん見下すようなツイートをしてしまう。

おまけに、東大にはあえて行かなかったという書き方をしていますが、Tehu君は東大受験すらしていないという現実無視しています。

それでも、ビッグマウスである事を貫いた彼は堀江貴文茂木健一郎乙武洋匡などの名のある人と接触、対談できるまでに彼のブランディング成功していく。

しかし、最近は流石に本人もマズイと思ったのか一部問題ツイートを消すなどするが、2chやツイッターなどを中心としたネット民魚拓スクリーンショットを撮られるなどして葬りたい黒歴史ガッツリ残ってしまう形となる。

また自身Wikipedia記事特筆性の観点から削除が検討され始めたとき、Tehu君並に詳しい別人になりすまして削除申請を食い止めるというタブーを犯してしまう。

彼にとっても、Wikipediaセルフブランディングの大事なツールなのだ

しかし、そうした自演行為もすぐにバレてしまい、膨れ上がったWikipediaのページは今ではスリム化され、小4なりすまし事件の主犯という項目が目立つような人物になってしまった。

ネット民やSFC生などから嫌われ始めてしまったTehu君は、Tehu君関連スレッドにて、本人が否定したいような恥ずかしい噂が投稿される。

その噂に関しては、まとめサイトなどに掲載されているので、気になる人は確認すればいい。

しかし、その噂の真偽が大切なのではなく、なぜここまでネット民やSFC生から酷い仕打ちを受けるのか?

それを彼自身見つめなおすべきだろう。

意識高い系への格下げ

日本テレビ放送されたバラエティ番組「ヒネクレ星雲 第4惑星 モノモース」という番組でTehu君が特集される。

今まで「天才」「秀才」として扱われた彼だがこの番組はとことんバカにされる事になる。

おそらく、密着取材中もそんな節はあったと推測できるが、空気が読めない彼はそういったサインに気づく事ができなかった。

まさか、自分がテレビでバカにされるなんて夢にも思わなかった彼は、番組放送前のTwitterで以下のように宣伝しまう。

明後日のお昼の日本テレビ「モノモース」に出ます。

ラテ欄では"セレブ大学生"という謎なカテゴライズをされていますが、僕の生活に少しだけ密着してくれました。暇だったら見てください。

要はテレビ屋達に騙されたのだ。

そして、いざ放送が始まると酷い扱いでTehu君の言葉や行動をとことん弄りまくってバカにした。

放送終了後の彼は相当傷ついたらしく、

テレビもう終わったの?(みてないからわからない)

とかなり落ち込んでいる様子でプライドの高い彼のダメージは甚大。

数年前までは神童扱いだったが、とうとう一般的にも、イロモノ扱いになってしまった。

灘高在校生から嫌われ始める

「灘=Tehu」と見られてしまう事を嫌った灘高生の複数Twitterアカウントが彼へのヘイトを口にし始める。

  • 灘生がTehu嫌い過ぎで草生える
  • わかるむしろTe◯u(この文字列を見て気分を害する人がいないように伏せ字にしてます)を好きな人を探すほうが難しそう(偏見)
  • 人によって嫌いな理由は様々ですね、でもなぜかわりとみんなから嫌われてる印象です
  • 今まで好きって人を聞いたことないからスゴい

Tehu君的に後輩から尊敬されていると思っていたが、在校生にはなんとなく見抜かれていたようだ。

しかし、これもスルーしておけばいいのにも関わらず、その事についてもTwitterで呟いてしまい、それもネットユーザーに拾われバカにされる。

自ら泥沼に足を突っ込んでいくスタイルだ。

単純な話、Twitterを控えればいいのでは?と思うだろうが、セルフブランディングでは必須ツールであるTwitterを彼が手放すなんて事は不可能なのだ

こうして彼が中学高校大学とコツコツと積み上げてきたセルフブランディングは完全な崩壊へと傾いてく。

彼がやってしまった様々な過剰なセルフブランディングの結果、ネット上で彼に関することを検索するとネガティブ情報ばかり出てきてしまい、

彼が理想として思い描いていたような「カッコイイ自分」とは程遠いイロモノ意識高い系芸人として落ちていく事になってしまった。

彼は自身必要以上に大きく見せ、時には他を貶めることで、ネット以外にも作る必要のない敵を自ら作りすぎてしまった。

そうして作り出してしまった敵が2chやTwitterなどのネットに流れ様々な情報を流し攻撃し、結果、大怪我をするハメになったのだ。

まとめ

もし、今、有名になることに憧れてSNSなどで必死でセルフブランディングに励んでいる人はTehu君のような場当たり的でギャンブル的な言動は真似するべきではない。きっと大怪我する。

最悪の場合、家族や周りの友人たちにも迷惑がかかる。残念ながらインターネットとはそういうものなのだ

本当にスゴイ人ほど、光の当たらない場所で地味に勉強をしているものから、堅実にやっていって欲しい。

Tehu君にしても、「スゴイ!」「天才!」等と褒めてくれる大人達とは遊ばずに、勉強に専念すればまだ巻き返せるはず。

2015-08-04

Swiftはもういやだ

ビルド時間死にすぎ。Objective-C++の方が100倍良い

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん