サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
qiita.com/m0a
React+Reduxの組み合わせで開発を行っています。 そこで出くわすReactRedux.connect 。 こいつをComponentに食わせるとReduxのStateの情報をPropsにお渡し済みのコンポーネントを返してくれる。 とっても素敵なやつですが、型定義を見ると地獄でした。 ActionDispacherについて Reduxについて弄る時にミドルウエアを駆使して非同期処理をしていましたが以下の記事を見てからは ActionDispacherを使う方針にしています。 ReduxでのMiddleware不要論 https://qiita.com/uryyyyyyy/items/d8bae6a7fca1c4732696 ちょっと改変してActionDispacherにReduxのステートをまるごと渡してなんでもできるクラスにしてしまってます。 export class Actio
この記事は Go4 Advent Calendar 2018 の4日目です。 3日目は、@andouf さんの 「ストリームの流れを図でコメントに残す」 でした。 はじめに ちょっと下のコードを見てみてください。 type SameStruct struct { Some int Some02 int } func ValRetFunc() (SameStruct, error) { return SameStruct{/* */}, nil } func PointerRetFunc() (*SameStruct, error) { return &SameStruct{/* */}, nil } 構造体の値を引き継ぐときに、値渡しとポインタ渡し、どっちを使いますか? 使うときの方針とか考えたことありますか? 他のエンジニアにお聞きすると、機械的にポインタ渡しをしている。という話を何度か
OculusGoのベータテストをお願いしたい & ストアにリリースしたい場合の手順まとめです。 触ってみて思いましたが、Unityのバージョンによって起こる不具合もあるようなので 作り込む前に一度リリースビルドの経験はしておいたほうが良い気がします。 なおOculusのドキュメントの必要な箇所に翻訳を導入しています。 翻訳を参照したければ taiyaq.comをご利用ください。 デベロッパーサイト側の設定 https://developer.oculus.com/ に入ります。すでにログイン済みだと仮定します。 左サイドメニューのManageという項目をクリックします。 新しいアプリを作成をクリックします。 今回はOculusGo用なのでMobileを選択します。 アプリ名に対する指定については以下を参照してください。 https://developer.oculus.com/distri
react storybookをtypescriptで動かすまでの纏めです。 尚、動くコードは以下においています。 以下のコマンドで開発開始します。 tsの環境含めて作ってくれます。 $ create-react-app --scripts-version=react-scripts-ts playbook_ts_sample playbookを導入します
初めに 私と同じような英語が苦手なプログラマって多数派だと思うんです。 だってQiitaでいいね貰おうとしたら翻訳系が効率いいとの事 実際私のいいねも翻訳系が多数です。 でも大体Qiitaの投稿って(自分だけ?)放置しがちで何年か経つとと現行バージョンと合わなくなります。 でも流入率は高く未だにいいねをもらってしまったりします。 これって健全じゃないですし、悲しい事故をもたらします(2018/2の時点でReact.createClassを使ってしまうというような) Reactの本家サイトを見ていれば、現在は上記関数の利用は推奨していないのは明らかなんですが、 古い翻訳が検索上位に来たりします。プログラマあるあるとして 古い翻訳を参考にして動かなくてハマるってありませんでした? だったらこれを解決するプロダクトを作ってしまおうじゃないか。と考えました。 (何より自分がほしいんです。) できれ
import gulp from 'gulp' import gulpif from 'gulp-if' import { log, colors } from 'gulp-util' import named from 'vinyl-named' import webpack from 'webpack' import gulpWebpack from 'webpack-stream' import plumber from 'gulp-plumber' import livereload from 'gulp-livereload' import args from './lib/args' const ENV = args.production ? 'production' : 'development' gulp.task('scripts', (cb) => { return g
reduxをtypescriptで使うならこれを使うしかない。(typescript-fsaがすごい)TypeScriptreduxtypescript-fsa ReduxとTypeScriptっていまいち相性が良くない? TypeScriptとReact.jsって相性が良いですよね。 実際Reactを使うのにTypeScriptとかflowを推奨している気がします。 Reactの学習を始めるのにも補助輪として有効ではないかと思います。 その辺は 古いですが 「TypeScriptを使ってreactのチュートリアルを進めると捗るかなと思った。」 を見ていただければご理解いただけると思います。 さて、しかしながらです。この調子でReduxもTypeScriptで学習初めたら捗るかと思いましたが 上手く行きませんでした。 理由の一つとして reduxにおいて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 pub
この記事を書いたのは2016年のことでした。それから2年。 いつの間にか日本語チュートリアルが消えたし、結構未だにいいねを押してくださるので更新することにしました。(2018/2/2) reactの本家ドキュメントが日本語化されたため更新します。 (2019/4/11) はじめに タイトルみたいなことを考えていました。 実際補完が効くのはかなり有効でしたが、チュートリアル通りにいかない点が多々出ました。 結局色んな所を見るはめになりました でも総合してTypeScriptに向いているフレームワークだと思ったので詰まったところと解決方法を纏めてみることにしました TypeScript自体も学習コストが凄く低くて(ES2015 + 型)素敵だったのでいいと思いました。 追加で使うツール類 なし 今なら以下で試せます。 stackblitz オンライン版VisualStudioCode的な(コー
Termuxって 簡単にいえばsandbox内でパッケージ管理ツールとTerminalを用意してくれるお手軽linux環境です。 androidのrootを取らなくても素のandroidにtermuxをインストールするだけで golangとか python3とか nodejsとか phpとか ➜ ~ go version go version go1.7beta2 android/arm64 ➜ ~ python3 --version Python 3.5.2 ➜ ~ node --version v6.3.1 ➜ ~ php --version PHP 5.6.23 (cli) (built: Jul 1 2016 16:20:41)
最近のElixir+Phoenixの流行り具合を見ていてちょっとやりたくなってみたくなりました。 んで、最初に目を通しておけばよかったなーと思ったことを纏めます。 最初にMixとiexの使い方を知っておけばよかった。 文法とか勉強する前に教えておいて欲しいです。 Mix:パッケージ管理ツールです。 iex:REPLってやつです。その場で打ち込んで動作確認できます 参考:http://moccosblue.blogspot.jp/2014/11/2014elixir10.html 参考ページを見ればわかりますが、 * creating README.md * creating .gitignore * creating mix.exs * creating config * creating config/config.exs * creating lib * creating lib/st
初めに 正直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 ( "fmt" "strings" ) func main() { r:=strings.NewReader("(1,2,34,55,666)") var d [5]int fmt.Fscanf(r,"(%d,%d,%d,%d,%d)",&d[0],&d[1],&d[2],&d[3],&d[4]) fmt.Println(d) } Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
WebSocket? 以下のスライドでどういうものかは学びました。 http://www.slideshare.net/You_Kinjoh/websocket-10621887 Goで実装を試す シンプルにechoサーバを実装すると以下のようになります。 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.Liste
ずっと触っていなかったのですが、久しぶりに触ってみたらだいぶ変わっていたので内容を反映します。 必要なATOMパッケージは「go-plus」「godef」+依存パッケージとなります。 gocodeとの連携がサポートされていて補完が効くようになりました。 またgodefを入れることでCtrl+iで定義箇所へジャンプできるようになりました。 前提条件 $GOPATHは~/goに設定済みであるとします。 Golang自体はhomebrewにてインストール済みとします。 Golang側の必要コマンドのインストール ATOM側で必要としているGolang各種ツールをインストールします。 go get golang.org/x/tools/cmd/goimports go get github.com/nsf/gocode go get github.com/rogpeppe/godef brew i
はじめに 「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ページを開く