View rotation.py
# coding: utf-8
# In[1]:
import random
import sys
View test.py
#!/bin/python3
import os
import sys
from datetime import datetime
def tc1(s):
if not s.endswith("PM"):
return s[:8]
else:
View android-build.md

안드로이드 빌드 시스템

자바 세계의 빌드 시스템은 시기에 맞추어 다른 도구가 주목을 받았습니다. 처음에는 확장성이 강력한 아파치 앤트, Apache Ant가 주목을 받았습니다. 설정이 편하고 중앙 저장소를 가진 아파치 메이븐, Apache Maven이 다음 타자였습니다. 사람들은 강력하지만 설정하기 어려운 앤트와 편리하지만 커스터마이징하기 어려운 메이븐 사이에서 아쉬움을 느꼈고 절충된 해법을 찾기를 원했습니다. 아파치는 2004년 대안으로 아파치 아이비, Apache Ivy를 선보였으나 시장의 반응은 좋지 않았습니다. 그 후로 3년 뒤 우리는 그래들, Gradle을 만나게 됩니다. 그래들은 그루비 언어를 기반으로 쉽게 설정할 수 있으며 다양한 기능을 추가할 수 있었고 자바 세상의 주류로 편입하게 됩니다.

안드로이드가 처음 등장했을 때 안드로이드의 주요 빌드 시스템은 아파치 앤트였습니다. 이 당시에는 IDE 환경도 안드로이드 스튜디오를 쓰는 지금과는 달리 이클립스 기반의 안드로이드 개발 툴, Android Development Tool을 사용했습니다. 이후 자바 세계의 변화에 맞추어서 안드로이드 빌드에서 메이븐을 여러 안드로이드 커뮤니티에서 실험하기 시작했고 나중에 구글이 공식 빌드 시스템을 그래들 기반으로 변경하였습니다.

기본 빌드 시스템의 파일 구성

일반적인 안드로이드 빌드 구성

View Realm_init.md

init(Context)

  1. BaseRealm.applicationContext이 비어 있는지 확인
  2. RealmCore.loadLibrary를 호출. ReLinker.loadLibrary를 이용해서 적절한 라이브러리를 불러온다. 이 메서드는 단 한번만 여러번 호출해도 라이브러리를 한번만 불러오도록 되어 있다.
  3. RealmConfiguration.Builder(context).build()를 호출하여 defaultConfiguration을 생성.
  4. BaseRealm.applicationContext을 context.getApplicationContext();으로 설정
  5. SharedRealm.initialize를 호출한다. 이는 한번만 수행되도록 구성되어 있고 디렉토리가 없다면 생성해서 naitveInit을 호출하고 이는 realm::set_temporary_directory를 다시 호출하여 정적 변수 temporary_directory를 설정하며 다시 SharedRealm.initialize는 SharedRealm.temporaryDirectory로 해당 디렉터리를 지정한다.

getDefaultInstance()

View 작업순서.md

https://github.com/zaki50/Realm-Hands-On2_android에서 코드를 다운로드할 수 있습니다. 또한 각 장에 대응 한 커밋이 master 브랜치 커밋들로 존재하기 때문에 각 부분까지의 경과를 확인할 수 있습니다.

1. 프로젝트 만들기

다음의 설정에서 Android Studio에서 새 프로젝트를 만듭니다.

Application name
Twitter
Company Domain
View mnist.py
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
View gist:696be1f5c949aaff0b78
➜ robolectricExample git:(lk/robolectric) ✗ ../gradlew assemble -i
Starting Build
Settings evaluated using settings file '/Users/dalinaum/project/realm-java/examples/settings.gradle'.
Projects loaded. Root project using build file '/Users/dalinaum/project/realm-java/examples/build.gradle'.
Included projects: [root project 'examples', project ':adapterExample', project ':encryptionExample', project ':gridViewExample', project ':introExample', project ':jsonExample', project ':kotlinExample', project ':migrationExample', project ':moduleExample', project ':realmModuleExample', project ':robolectricExample', project ':threadExample', project ':unitTestExample', project ':moduleExample:app', project ':moduleExample:library']
Evaluating root project 'examples' using build file '/Users/dalinaum/project/realm-java/examples/build.gradle'.
Evaluating project ':adapterExample' using build file '/Users/dalinaum/project/realm-java/examples/adapterExample/build.gradle'.
SDK resolve took 32 ms.
Creating configuration comp
View gist:eec03ef2608b681760ec
sh build.sh install
Using existing configuration in src/config.mk:
REALM_VERSION = 0.94.4-117-g0b0f1cf
INSTALL_PREFIX = /usr/local
INSTALL_EXEC_PREFIX = /usr/local
INSTALL_INCLUDEDIR = /usr/local/include
INSTALL_BINDIR = /usr/local/bin
INSTALL_LIBDIR = /usr/local/lib
INSTALL_LIBEXECDIR = /usr/local/libexec
MAX_BPNODE_SIZE = 1000
View server.js
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs")
port = process.argv[2] || 8888;
http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname
, filename = path.join(process.cwd(), uri);
View Awsome.js
/**
* Sample React Native App
* https://github.com/facebook/react-native
*/
'use strict';
var React = require('react-native');
var {
AppRegistry,
Image,