ushumpei’s blog

生活で気になったことを随時調べて書いていきます。

Apollo Clientを使ってみるチュートリアルのようなもの

React #1 Advent Calendar 2017 12日目の記事になります。 GraphQL!(こんにちは) この記事はGraphQLのライブラリ React Apollo を使って、ReactでGraphQLを触ってみようという内容です。 GraphQLどうなんでしょうか? 運用で使って見た系スライドとか公開し…

自作Vimプラグインの置き場所と置き方

先日プラグインを作成してみた記事を公開しましたが、その記事のコメントで tyruさん からご指摘いただいた(とてもありがたいです)、プラグインのインストール場所と方法について整理しておきます。 分類 そもそも自分で書いたVim スクリプトをVimに読んでも…

【初めてプラグイン作って見た】Markdownのテーブル雛形を作るプラグイン

この記事はVim Advent Calendar 2017 8日目の参加記事です。こんにちは。プログラマーをやっています ushumpei と申します。今回は、そこそこVimを覚えてきたけれど、Vimの仕組みをもっと深く理解していきたいと思っている人(自分)向けのVim script勉強しま…

Apollo Client 2.0 with React関連のライブラリ整理

Apollo Client 2.0 with React関連のライブラリをざっくり整理して見ます。失敗したらごめんなさい。詳細は Apollo Docs | Apollo Docs に書いてあります。 目次 目次 Apollo Client Cache関連 apollo-cache-inmemory Link関連 apollo-link, apollo-link-htt…

読み物

人にオススメ読み物を勧められるように、読み物のリストをまとめておきます。知人アフィリエイトです。地獄のような人間関係です。 不完全にしておよそ正しくないプログラミング言語小史 不完全にしておよそ正しくないプログラミング言語小史 とても好きです…

CLIの豆知識

友人に教える必要があったのでメモします。 概念 CLI(Command Line Interface) プログラマーとかのラップトップをのぞくと画面に表示されている黒い背景のウィンドウがそれです。ユーザーがコンピューターに何かさせたい時に、コマンドを実行できるインター…

GraphQLに関するメモ

GraphQLについて調べたことのメモです。 GraphQLはFacebookによって考案・開発されたクライアントアプリ向けのクエリ記述言語です(仕様)。モバイルアプリ向けの使いやすいAPIを実現するために考えられていて、2015年にオープンソースになって騒がれ始めまし…

Gitについて自分なりに説明してみた

友達に説明する必要があったのでGitの使い方を誤解を恐れずメモしておきます。自分の知識の整理も兼ねています。 この記事ではローカルマシン(一台のPC)での操作で完結しています。リポジトリの作成、コミットの作成、ブランチの作成、マージまでを範囲とし…

最低限必要なGitコマンド

友人に説明する必要性が出てきたので頭の整理を兼ねてメモしておきます。どんなものがあるでしょうか?自分的には最低限以下のやつらかと思います。(mergeとかはプルリクエストで行うので直接打たない想定) status, log, diff, pull, push, checkout, add, c…

公開Slackのリンク

今更だけど調べたのでメモ。 公開Slackの作り方は以下のリンクです。Slackin、SlackinをHerokuで(簡単)、Google Apps Script、 Arukas.ioとかが使えそうです。 slackin: rauchg/slackin: Public Slack organizations made easy Heroku + slackin: SlackinでS…

Gitで大雑把にConflict解消

こんにちは。 Gitのコンフリクトの解消方法毎回忘れるのでメモしておきます。エディタで修正するのは手間でしたので・・・ $ git checkout --ours filepath # 変更しない $ git checkout --theirs filepath # マージ先のファイルで上書き $ git checkout -m …

BitbucketのPipelinesでmasterブランチにPull Request後、自動デプロイ

いい加減デプロイ自動化しないといけない。 プライオリティ低くなってしまっていて放置気味でしたが、毎回サーバーに入ってgit pullすることに飽きてきました。 BitbucketのPipelinesについて調べたことを書いていきます。 無料で使用できますが月50分までの…

React NativeでARを体感する、Introducing Expo AR

9月末にExpoがアップデートされてiOSのAR Kit対応が行われました。チュートリアルが公開されたのでちょっと手を出してみました。使用する要素としては、 expo three expo-three のみです。3Dオブジェクトの生成はThree.js、レンダリングはExpo、Expo Threeと…

サービスがSSL化するとき

ものすごく短い話ですが、サービスがSSL化するときの対応を想定してみました。近々知り合いのサイトにSSL入れられることになりそうなのが理由です。そういえばはてなブログもSSL化するそうですね! 概要 httpをhttpsに書き換えるの面倒ですよね。省略できた…

配列でsplitもどき(JavaScriptメモ)

JavaScriptに関するメモです。配列(Array)を適当な部分で分割したかったのでsplitもどきの関数を書きました。文字列のsplitをちゃんと配列版にしたわけではないので「もどき」と言っています。 function split(array, separator) { return array.reduce(func…

ページに目次をつけて、項目を押したらスクロールする

ものすごい小さい話ですが、毎回忘れてしまうのでメモします。 $('html,body').animate({ scrollTop: window.pageYOffset + target.getBoundingClientRect().top - 8 // 要素がブラウザ上部ぴったりになるので少し隙間をあけたり }, 500, 'swing'); まずwind…

google app scriptで背景色の置換

google app scriptで背景色の置換スクリプトを書いたのでメモします。以下の内容が含まれています。 独自(「拡張ツール」)メニューの追加 モーダル(背景色置換モーダル)の表示 初期値の挿入(テンプレートhtmlの使用)方法 概要 主にgoogleのガイドを参考にし…

PhRUG(Philippine Ruby Users Group) September 2017 Meetupに行ってきた

最近フィリピンに滞在しています。2017/09/21にフィリピンのRubyユーザーグループのイベントが行われるということで、海外勉強会ってどんな感じだろう?日本と違いがあったりするのかな?とか思い参加してきました。たくさん写真撮ってくるの忘れました。 と…

iOS11アップデートについていくためのSwift入門(主観)

2017/09/20に、iOS11がリリースされました。今回のアップデートでは機械学習やSiriアプリ、ARなど様々な新機能が使えるようになりました。リンクを見ていて、「ちょっとSwift読めるようになっておかないと、おそらく半年くらいつまらなくなってしまう…上がっ…

文法の勉強のため簡単なObjective-CのコードをXcodeで実行してみた

前回、React Nativeのソースコードを読もうとして挫折したので、基礎文法を勉強するためにObjective-Cで何か書いて見ます。 その前にObjective-Cのwikiを少し読んで感じをつかみます。とりあえず読むために必要そうなこと3つです。 C言語としてもいける、コ…

React Nativeの画像遅延読み込み(ライブラリのソースを読んで見る)

この記事を要約すると、「画像遅延読み込みの方法が知りたくて、ライブラリのソースコードを読んで、Objective-Cのコードにたどり着いて、次に進めなくなってしまい一旦諦めたけれど、これを糧にもっと勉強しようという気になった」という自己満話です。 概…

ハノイの塔

なんだか久しぶりにjavascriptでハノイの塔を解いて見ました。以下の関数は、number枚のハノイの塔をtime回操作した時の状態を計算するものです。特に目新しいものではないと思います。 const hanoiSnapshot = (number, time) => { // 円盤の移動が完了した…

wgetでサイズ確認

ものすごく小さな話かつググったら速攻出ますが、自分にとっては切実な問題なのでメモします。 結論から言うと--spiderオプションです。 $ wget --spider ***URL.zip*** Spider mode enabled. Check if remote file exists. --2017-08-31 09:49:43-- ***URL.…

辞書.appのデータ構造の補足

注意: 結論としては補足になっていません。。。RELAX NGXMLスキーマをここで勉強した際のメモ書き程度になっています 先日書いた辞書.appの記事ではあまり辞書を作ることに関して調べきれていなかったところがあるので追記します。先日の記事でも単語と意味…

外国語学習のためにMacの辞書.appに追加する辞書を作成する

概要 Macでは設定すると三本指タップで単語の辞書検索が行えます、文章書いている時や読んでる時に作業を中断せずに意味を調べられるのですごく便利に使わせていただいています。 最近フィリピンで生活しているので、タガログ語を読み書きすることがたまにあ…

iTunes ConnectにアプリをアップロードしてTestFlightでテスト

概要 iTunes ConnectにアプリをあげてTest Flightする方法がわからなかったので、多分これでいけるんじゃないかという手順をまとめました。個人的にメモしておきます。間違い、訂正ありましたら教えていただきたいです。 前提としてApple Developer Program…

FlatListのデータ更新時に再描画されない

概要 ちょっと困ってしまって、検索が時間かかったので他の人の手助けになればと思いメモします。 問題 React NavigationとFlatListでリスト編集サンプルアプリを作成した時に、FlatListのデータ更新時に再描画されない問題に遭遇しました。 データをFlatLis…

React Navigationで画面遷移してみる

React Nativeで画面遷移したかったのでまとめました。 内容としてはcreate-react-native-appで作ったアプリで、2つのナビゲーター(StackNavigator、TabNavigator)を使ってみた勉強記事です。 注意としてはDrawerNavigatorは使わないことと、redux等との連携…

React NativeのNavigatorがなくなった

ちょっと困った SectionListが使いたいのでreact-nativeのバージョンをあげようと思ったら、 バージョン0.44にはNavigatorコンポーネントがないみたいであげられなくなっちゃいました。 なんか書いてある Navigatorはお手軽だったので、結構使ってしまってい…

Reactコンポーネントをディレクトリにまとめる(ES6)

Reactのディレクトリ構成が全然わかりません。 Reactコンポーネントを分割する方法についてもメモです。ES6の文法の話だと思うのですが、正式なドキュメントが見つけられていないので間違いがあったら申し訳ないです。 書いたものをgithubに上げています。参…