Skip to content

Instantly share code, notes, and snippets.

Avatar

Toshihiko Arai araemon

View GitHub Profile
@araemon
araemon / hatenaoauth_example.py
Created Mar 12, 2019 — forked from laiso/hatenaoauth_example.py
Pythonではてなの OAuth 対応 API を利用する
View hatenaoauth_example.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
フレームワークとして Flask(http://flask.pocoo.org/) を、OAuth ライブラリとして oauth2(http://pypi.python.org/pypi/oauth2/) を利用したサンプルプログラムです。
下のコードを保存して (oauth_consumer.py とします)、YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET となっている部分を自分の consumer_key, consumer_secret で置き換えます。
$ python oauth_consumer.py
... で起動してから http://localhost:5000Web ブラウザでアクセスして下さい。
@araemon
araemon / MainThreadCallback.java
Created Mar 15, 2019 — forked from petitviolet/MainThreadCallback.java
OkHttp Callback on Main Thread.
View MainThreadCallback.java
public abstract class MainThreadCallback implements Callback {
private static final String TAG = MainThreadCallback.class.getSimpleName();
abstract public void onFail(final Exception error);
abstract public void onSuccess(final String responseBody);
@Override
public void onFailure(final Request request, final IOException e) {
View blinkLed1.py
from gpiozero import LED
from time import sleep
led = LED(11)
for t in range(0, 5):
led.on()
sleep(1)
led.off()
sleep(1)
View blinkLed2.py
from gpiozero import PWMLED
from time import sleep
import numpy as np
led = PWMLED(11)
led.value = 0
for t in np.arange(0, 100*2*np.pi ,0.01):
a = np.sin(t-np.pi/2) / 2.0 + 0.5
View motorTest1.py
from gpiozero import Motor
from time import sleep
import numpy as np
motor = Motor(forward=20, backward=21)
for t in range(0,5):
motor.forward(1.0)
sleep(2)
View Purchase.swift
// おまじないのようなもの。下記コードをapplication(:didFinishLaunchingWithOptions)などに追加しよう。
SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
for purchase in purchases {
switch purchase.transaction.transactionState {
case .purchased, .restored:
if purchase.needsFinishTransaction {
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
// Unlock content
case .failed, .purchasing, .deferred:
View Purchase.swift
SwiftyStoreKit.retrieveProductsInfo(["プロダクトID"]) { result in
if let product = result.retrievedProducts.first {
// ここでプロダクト情報が得られるので、うまく使いまわしたい。
print("Product: \(product.localizedDescription), price: \(priceString)")
} else if let invalidProductId = result.invalidProductIDs.first {
// print("Invalid product identifier: \(invalidProductId)")
} else {
// print("Error: \(result.error)")
View Purchase.swift
SwiftyStoreKit.purchaseProduct("プロダクトID", quantity: 1, atomically: true) { result in
switch result {
case .success(let purchase):
// print("Purchase Success: \(purchase.productId)")
// 購入後の処理はここに記述しよう。例えばUser Default などのフラグを変更するとか。
case .error(let error):
// switch error.code {
// case .unknown: print("Unknown error. Please contact support")
View Purchase.swift
SwiftyStoreKit.restorePurchases(atomically: true) { result in
for product in result.restoredPurchases {
if product.needsFinishTransaction {
SwiftyStoreKit.finishTransaction(product.transaction)
}
if product.productId == "プロダクトID1" {
// プロダクトID1のリストア後の処理を記述する
} else if product.productId == "プロダクトID2" {
// プロダクトID2のリストア後の処理を記述する
View ViewController.mm
#import "ViewController.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
@interface ViewController ()
@end
@implementation ViewController
You can’t perform that action at this time.