サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
qiita.com/m0a
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
構造体の値を引き継ぐときに、値渡しとポインタ渡し、どっちを使いますか? 使うときの方針とか考えたことありますか? 他のエンジニアにお聞きすると、機械的にポインタ渡しをしている。という話を何度か聞きました。 確かにjs等の言語はオブジェクトは参照渡しですし、いちいち値を作るのは無駄な気がするので、ポインタ渡しで固定してしまう気持ちもわかります。 でもそれだったらGoの言語仕様としてなぜ値渡しがあるのでしょう? それに、自分は保守性観点で極力値渡しをしたいです。nilの可能性がないことが関数のinterfaceから示せるからです。 実際調べてみると、Go Code Review Commentsにて、小さな構造体なら値渡しを推奨しています。 たかだか数バイトを節約するために引数にポインタを指定するのは辞めましょう。 もし関数が全体を通して引数 xを *x として呼び出しているなら、引数をポイン
OculusGoのベータテストをお願いしたい & ストアにリリースしたい場合の手順まとめです。 触ってみて思いましたが、Unityのバージョンによって起こる不具合もあるようなので 作り込む前に一度リリースビルドの経験はしておいたほうが良い気がします。 なおOculusのドキュメントの必要な箇所に翻訳を導入しています。 翻訳を参照したければ taiyaq.comをご利用ください。 デベロッパーサイト側の設定 https://developer.oculus.com/ に入ります。すでにログイン済みだと仮定します。 左サイドメニューのManageという項目をクリックします。 新しいアプリを作成をクリックします。 今回はOculusGo用なのでMobileを選択します。 アプリ名に対する指定については以下を参照してください。 https://developer.oculus.com/distri
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めに 私と同じような英語が苦手なプログラマって多数派だと思うんです。 だってQiitaでいいね貰おうとしたら翻訳系が効率いいとの事 実際私のいいねも翻訳系が多数です。 でも大体Qiitaの投稿って(自分だけ?)放置しがちで何年か経つとと現行バージョンと合わなくなります。 でも流入率は高く未だにいいねをもらってしまったりします。 これって健全じゃないですし、悲しい事故をもたらします(2018/2の時点でReact.createClassを使ってしまうというような) Reactの本家サイトを見ていれば、現在は上記関数の利用は推奨していない
ReduxとTypeScriptっていまいち相性が良くない? TypeScriptとReact.jsって相性が良いですよね。 実際Reactを使うのにTypeScriptとかflowを推奨している気がします。 Reactの学習を始めるのにも補助輪として有効ではないかと思います。 その辺は 古いですが 「TypeScriptを使ってreactのチュートリアルを進めると捗るかなと思った。」 を見ていただければご理解いただけると思います。 さて、しかしながらです。この調子でReduxもTypeScriptで学習初めたら捗るかと思いましたが 上手く行きませんでした。 理由の一つとして reduxにおいてAction は概念として重要なものですが その実態は type プロパティを持つobjectでしかない。 という点があります。 これが辛い。 TypeScriptにおいてどの様にActionを定義
# ! /usr/bin/make # # Makefile for goa chat # # Targets: # - clean delete all generated files # - generate (re)generate all goagen-generated files. # - build compile executable # # Meta targets: # - all is the default target, it runs all the targets in the order above. # all: clean generate build clean: @rm -rf app @rm -rf client @rm -rf tool @rm -rf public/swagger @rm -rf public/schema @rm -rf pu
この記事を書いたのは2016年のことでした。それから2年。 いつの間にか日本語チュートリアルが消えたし、結構未だにいいねを押してくださるので更新することにしました。(2018/2/2) reactの本家ドキュメントが日本語化されたため更新します。 (2019/4/11) はじめに タイトルみたいなことを考えていました。 実際補完が効くのはかなり有効でしたが、チュートリアル通りにいかない点が多々出ました。 結局色んな所を見るはめになりました でも総合してTypeScriptに向いているフレームワークだと思ったので詰まったところと解決方法を纏めてみることにしました TypeScript自体も学習コストが凄く低くて(ES2015 + 型)素敵だったのでいいと思いました。 追加で使うツール類 なし 今なら以下で試せます。 stackblitz オンライン版VisualStudioCode的な(コー
初めに 正直JS界隈のエコシステムは難しいです。わからないことが目白押しです。 今までVue.jsをブラウザ上でなんのエコシステムも使わずに使ってきましたが、 規模が大きくなるとしんどくなるのは明らかなので Vue.jsガイド:大規模アプリケーションの構築を参考にwebpackを使ったりnpmを使って、 それっぽい環境を作って一からコードを書いてみました。 (編注:上記リンクはv1.0当時のものです。v2.0のガイドは単一ファイルコンポーネント、プロダクション環境への配信のヒント、ルーティング、状態管理、単体テスト、サーバサイドレンダリングなどをご覧ください。) 前提 Vue.jsガイド:大規模アプリケーションの構築の指示に従い構築するだけですが、この時点で以下の様な選択肢がある模様です。 プリプロセッサ?の違い Webpack(こっちだけ触ります) Browserify ルーティング オ
はじめに 機械学習のために以下のコースを受講中です courseraのMachine Learning ただ見てるだけでは、忘れていくのでメモっていくことにしました。 モチベーションになったもの 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 この記事がなければ、そもそも上述のコースを知ることもなかったし、つまる部分を知らずに悩み続ける事になったと思います。 ニューラルネットワークと深層学習 一番最初のきっかけです。ただ読んでいる時点では肝心の1章が翻訳中でした。翻訳に参加するにも、あんまりわかっていない状態で参加するのは 迷惑な予感がしたので、断念しました。courseraのMachine Learning と同じく、初心者でもわかるようになっているので、こっちもオススメです。わかるようになったら翻訳に参加したい。 学習中+数学を分かっていないので、色々間違えて記載
The Laws of Reflection(Reflectionの法則について) Introduction(はじめに) コンピューティングにおけるReflectionはプログラム自身が自分の構造(特に型について)を調査するための機能で、メタプログラミングの方式の一つです Reflection in computing is the ability of a program to examine its own structure, particularly through types; it's a form of metaprogramming. It's also a great source of confusion. 本記事はGoにおけるreflectionの動きを説明することによってメタプログラミングについて明らかにできるかを試みています。 In this article we
Go's Declaration Syntax(Goの宣言構文について) 2010/7/10 はじめに Goを新たに学びに来た人にはGoの宣言構文は、Cの伝統的な構文となんだってこんなに違うんだと思っているでしょう。 Goの宣言がなぜ今の形になってしまったかについて二通りのアプローチから比較し、説明させていただきます。 Newcomers to Go wonder why the declaration syntax is different from the tradition established in the C family. In this post we'll compare the two approaches and explain why Go's declarations look as they do. Cの構文について まず最初に、Cの構文について話させてください
package main import ( "code.google.com/p/go.net/websocket" "io" "net/http" ) func echoHandler(ws *websocket.Conn) { io.Copy(ws, ws) } func main() { http.Handle("/echo", websocket.Handler(echoHandler)) http.Handle("/", http.FileServer(http.Dir("./"))) if err := http.ListenAndServe(":9999", nil); err != nil { panic("ListenAndServe: " + err.Error()) } } <html> <head> <title>websocket sample</title> <
はじめに 「JSフレームワークはサーバサイドも用意しないとアプリっぽいものが作れない」 という思い込みがあり、なかなかモチベーションが上がらずangularjsもチュートリアルを一通り触ったきりだったのですが、 firebase+Vue.jsで試したところ、簡単にWEBアプリが作れて、かなりモチベーションが上がりました。 他の人にも同じ効果があるかも。と思いチュートリアルを書いてみました。 目標 chatアプリをつくります。 まずはVue.jsへの入門 簡単なコード 本家のコードを1ファイルにしただけなんですが・・・。 <html id="demo" > <head> <style type="text/css"> body { font-family: Helvetica Neue, Arial, sans-serif; } li.done { text-decoration: line
はじめに 「Meteor」というフレームワークってご存知でしょうか? こちらにて紹介させていただいています。 リアルタイムWEBアプリケーションフレームワークであり、リアクテイブフレームワークです。 個人的に上記2点が自分の惹かれるポイントなわけですが、 問題は基本的にWebsocketによる双方向通信を行なっており、 WebAPIは用意されていない点がネイティブクライアントアプリとの接続に問題がありそうです。 しかし、Meteorは独自にWebScoket上にDDPというプロトコルを定義しています。 しかもiOS用にクライアントが開発されているようでしたので使ってみることにしました。 ですが、まずはDDPってどんな通信をしているか見てみましょう DDPの通信をみる Meteorのインストールは完了しているものとします。 すごく簡単ですので、是非ここから試してみてほしいです。 DDPを監視
はじめに 初めてAdventCalenderに参加させていただきます。 先月頭に初めてMeteorに触り、1ヶ月しか触っていないですが、 その素晴らしさに感動し、DiscoverMeteorの翻訳作業に参加させて頂いたりしてます。 その感動したポイントをお伝えしたいと思い今回Meteor AdventCalenderに記事を投稿することにしました。 目標は、「ちょっと触ってみるか」と思っていただくことです。 Meteorに出会う経緯 もともとiOSアプリ開発をやりたくて組み込み系エンジニアからWeb系エンジニアに転向しました。 その状態でWebアプリ開発に触れ、ネイティブアプリと比較して 違和感というか納得いかない感を感じており、 それを解決してくれたのがMeteorでした。 納得いかない点を説明させていただくところから始めさせてください。 Web開発の違和感(SPA以前) Web開発で納
Meteorってなに NodeJSのフルスタックなリアクティブ・フレームワークです。 裏でWebSocketを使っており、構築中にWeb画面がリアルタイムに変わっていく様子はかなり新鮮です。 すごいところは、フレームワーク内にMongoDBが内蔵されており、そのdbにクライアントサイドでもアクセスできます。(MiniMongoというclientサイドのDB機能が含まれているので、そういうことが可能であるみたいです。) Baasのfirebaseも感動しましたが、あれはサーバサイドのCollectionとクライアントサイドのCollectionの同期は手動で紐付ける必要がありました。 MeteorはサーバからのCollectionの変更もクライアントからの変更も瞬時にお互いにミラーされ、 サーバサイドも含めての一つのアプリを作っているみたいです。 リアクティブプログラミングが可能なフレームワ
始めに なんというかMeteorアドベントカレンダー出張版みたいな感じです。 もともとBaaSであるfirebaseをサーバサイドでiOSアプリを作ろうとしたところで push Notificationが無くて、がっかりしたことがあるんですが、 Meteorならfirebaseっぽくサーバサイドを使えて(勝手に該当コレクションが永続化されている) かつ、サーバサイドがカスタマイズ可能なのでpush Notificationが実装できるかなと思い試してみます。 ここで作ってたやつにpushNotificationを実装してみます。 Meteorについて MeteorとはリアルタイムWebアプリケーションフレームワークであり、サーバサイドとクライアントは webSocket上に実装したDDPというプロトコルをベースに双方向通信を行っています。 なんかイマイチという話題も聞きますが、今Node.
このページを最初にブックマークしてみませんか?
『@m0aのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く