Skip to content

Instantly share code, notes, and snippets.

View fumiyasac's full-sized avatar
🎯
Focusing

Fumiya Sakai fumiyasac

🎯
Focusing
View GitHub Profile
@fumiyasac
fumiyasac / AlbumList.js
Last active April 2, 2017 09:55
ReactNative事始めから簡単なサンプルを読み解くまでの実践記録ノート ref: http://qiita.com/fumiyasac@github/items/71b8ff88d96289d43593
/**
* アルバム一覧用のコンポーネント
*/
import React, { Component } from 'react';
import { ScrollView } from 'react-native';
//HTTP通信用のライブラリ'axios'のインポート宣言
import axios from 'axios';
//アルバム詳細用の共通コンポーネントのインポート宣言
@fumiyasac
fumiyasac / App.js
Last active September 19, 2017 15:45
NativeBaseをはじめとするUI関連のライブラリを活用してReactNativeでUIサンプルを作成した際の詳細解説 ref: http://qiita.com/fumiyasac@github/items/12707f93f5c96fa3fc3f
/**
* アプリコンテンツ用のコンポーネント
*/
import React, { Component } from 'react';
//react-native-router-fluxのインポート宣言(Actionを使用)
import { Router, Scene } from 'react-native-router-flux';
//自作コンポーネント
@fumiyasac
fumiyasac / Article.swift
Last active November 21, 2018 08:04
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(前編) ref: https://qiita.com/fumiyasac@github/items/d1b56ffc6d7d46c0a616
import Foundation
import UIKit
import SwiftyJSON
struct Article {
//メンバ変数(取得したJSONレスポンスのKeyに対応する値が入る)
let id: Int
let thumbnailUrl: String
let title: String
@fumiyasac
fumiyasac / FlipDismissCustomTransition.swift
Last active November 21, 2018 08:14
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(後編) ref: https://qiita.com/fumiyasac@github/items/b694f9859cbb61c95c1a
import Foundation
import UIKit
class FlipDismissCustomTransition: NSObject {
//トランジション(実行)の秒数
fileprivate let duration: TimeInterval = 0.72
//ディレイ(遅延)の秒数
fileprivate let delay: TimeInterval = 0.00
@fumiyasac
fumiyasac / ArticleViewController.swift
Last active December 11, 2017 11:46
Swift4にも対応したUI系のライブラリを活用して面白い動きを入れてみたサンプル実装まとめ ref: https://qiita.com/fumiyasac@github/items/48617348ef7f18494d38
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController as? ScrollingNavigationController {
navigationController.followScrollView(articleTableView, delay: 44.0)
//MEMO: ScrollingNavigationControllerDelegateを利用する際に必要な宣言
//navigationController.scrollingNavbarDelegate = self
}
}
@fumiyasac
fumiyasac / CalculateCalendarLogic.swift
Last active January 19, 2018 12:51
個人開発及び実務でユニットテストに助けられたと個人的に感じた例の紹介 ref: https://qiita.com/fumiyasac@github/items/19c525116f1b585bb43f
public struct CalculateCalendarLogic {
/**
*
* 祝日になる日を判定する
* (引数) year: Int, month: Int, day: Int, weekdayIndex: Int
* weekdayIndexはWeekdayのenumに該当する値(0...6)が入る
* ※1. カレンダーロジックの参考:http://p-ho.net/index.php?page=2s2
* ※2. 書き方(タプル)の参考:http://blog.kitoko552.com/entry/2015/06/17/213553
* ※3. [Swift] 関数における引数/戻り値とタプルの関係:http://dev.classmethod.jp/smartphone/swift-function-tupsle/
@fumiyasac
fumiyasac / APIConstant.swift
Last active January 12, 2019 09:44
Tinder風なUIを実装する際のアイデアと実装例紹介 ref: https://qiita.com/fumiyasac@github/items/c68b7ce812bf3ef48a67
// 楽天レシピ別カテゴリランキングのAPIキー ※各自取得をお願いします。
static let API_KEY_RAKUTEN_RECIPE_RANKING = ""
@fumiyasac
fumiyasac / gist:412e4f1eab0537d20e94cc129dfd5be4
Last active July 21, 2018 09:16
NewYorkTimesのAPIから記事情報を取得する with PromiseKit
import Foundation
import Alamofire
import PromiseKit
import SwiftyJSON
class APIManagerForNewYorkTimes {
private let baseUrl = "https://api.nytimes.com/svc/search/v2/articlesearch.json"
private let key = Constants.NEWYORKTIMES_API_KEY
@fumiyasac
fumiyasac / App.js
Last active January 22, 2019 05:03
ReactNative+Redux+NativeBaseでつくるサンプル実装をのぞく ref: https://qiita.com/fumiyasac@github/items/e27a5901dde1dbcb2086
import React, { Component } from 'react';
// React-Reduxのインポート宣言 → ProviderタグでラップすることでReactコンポーネント内でStoreにアクセスできるようにする
import { Provider } from 'react-redux';
// createStore, applyMiddlewareのインポート宣言
import { createStore, applyMiddleware } from 'redux';
// redux-thunkのインポート宣言
import ReduxThunk from 'redux-thunk';
@fumiyasac
fumiyasac / alamofire_fundamentals.swift
Last active September 9, 2018 10:30
Alamofireの基本的な処理について
// その1: APIサーバーとの通信処理(JSONレスポンス取得)
/**
* APIへの通信処理:
* method: .get または .post
* parameters: [String : Any] 例. ["key" : value]
* encoding: JSONEncoding.default (パラメーターがない場合は不要)
* headers: [String : Any] 例. ["key" : value] (認可等が必要なユーザーのデータへアクセスしたい場合は必要)
*/