■class:
「種別名を割り当てる」
→ 同じclass名を、1ページ中に何度でも使える。
■id:
「固有の名前を割り当てる」
→ 同じid名は、1ページ中に1度しか使えない。
<!-- .content#title --> <!-- /.content#title -->
随机应变 ABCD: Always Be Coding and … : хороший
■class:
「種別名を割り当てる」
→ 同じclass名を、1ページ中に何度でも使える。
■id:
「固有の名前を割り当てる」
→ 同じid名は、1ページ中に1度しか使えない。
<!-- .content#title --> <!-- /.content#title -->
quick time playerで撮ってみた。しかしyoutubeの収益化って4000時間、チャンネル登録1000人が条件なんだ。1分の動画なら、60 * 4000 = 24万回再生。どうなんだろう、そこそこハードル高そうに見えるが。
まず、vagrantにログインして、適当にディレクトリを作ります。
[vagrant@localhost ~]$ mkdir grep [vagrant@localhost ~]$ cd grep [vagrant@localhost grep]$ git version git version 2.2.1
git hubから適当に機械学習のコードをgit cloneしてきます。
[vagrant@localhost grep]$ git clone https://github.com/nyk510/machine-learning.git Cloning into 'machine-learning'... remote: Counting objects: 112, done. Receiving objects: 100% (112/112), 2.49 MiB | 673.00 KiB/s, done. remote: Total 112 (delta 0), reused 0 (delta 0), pack-reused 112 Resolving deltas: 100% (55/55), done. [vagrant@localhost grep]$ ls machine-learning [vagrant@localhost machine-learning]$ ls black_scholes.py figures gibbs_sampling.py prml readme.md requirements.txt
では、適当にblack_scholes.pyでSIGMAが使われている箇所を抜き出しています。
[vagrant@localhost machine-learning]$ grep SIGMA black_scholes.py
SIGMA = 0.30
d = -(np.math.log(S_0 / K) + ((r - SIGMA * SIGMA / 2.) * T)) / (SIGMA * np.power(T, 0.5))
V_c = S_0 * stats.norm.cdf(-d + SIGMA * np.power(T, .5)) - K * np.exp(-r * T) * stats.norm.cdf(-d)
V_p = K * np.exp(-r * (T - t)) * stats.norm.cdf(d) - S_0 * stats.norm.cdf(d - SIGMA * np.power(T - t, 0.5))
s_j_t = S_0 * np.exp((r - SIGMA * SIGMA / 2.) * T + SIGMA * rand_n * np.power(T, 0.5))
s_j_t = S_0 * np.exp((r - SIGMA * SIGMA / 2.) * T + SIGMA * rand_n * np.power(T, 0.5))
行番号をつけたい時は grepに -nをつける
[vagrant@localhost machine-learning]$ grep -n SIGMA black_scholes.py 18:SIGMA = 0.30 22:d = -(np.math.log(S_0 / K) + ((r - SIGMA * SIGMA / 2.) * T)) / (SIGMA * np.po wer(T, 0.5)) 23:V_c = S_0 * stats.norm.cdf(-d + SIGMA * np.power(T, .5)) - K * np.exp(-r * T) * stats.norm.cdf(-d) 24:V_p = K * np.exp(-r * (T - t)) * stats.norm.cdf(d) - S_0 * stats.norm.cdf(d - SIGMA * np.power(T - t, 0.5)) 29: s_j_t = S_0 * np.exp((r - SIGMA * SIGMA / 2.) * T + SIGMA * rand_n * np.p ower(T, 0.5)) 35: s_j_t = S_0 * np.exp((r - SIGMA * SIGMA / 2.) * T + SIGMA * rand_n * np.p ower(T, 0.5))
ファイル名のみ
[vagrant@localhost machine-learning]$ grep -l SIGMA * black_scholes.py grep: figures: ディレクトリです grep: prml: ディレクトリです
ファイル名と行番号は”-rn”
[vagrant@localhost machine-learning]$ grep -rn import *.py black_scholes.py:9:import numpy as np black_scholes.py:10:import matplotlib.pyplot as plt black_scholes.py:11:import scipy.stats as stats gibbs_sampling.py:7:import numpy as np gibbs_sampling.py:8:import matplotlib.pyplot as plt gibbs_sampling.py:9:import scipy.stats as stats
あーこれこれ、やりたかったの。
powershellを起動し、Select-String “search name”で検索する。
file

powershell
> select-string "server" koneksi.php
koneksi.php:3: $server = "localhost"; //sesuaikan dengan nama server
koneksi.php:8: $connect = mysql_connect($server, $user, $password) or die ("Koneksi gagal!");
koneksi.php:12: // $con = mysqli_connect($server, $user, $password, $database);
select-string はslsでも代替可能。
> sls "user" koneksi.php
koneksi.php:4: $user = "root"; //sesuaikan username
koneksi.php:8: $connect = mysql_connect($server, $user, $password) or die ("Koneksi gagal!");
koneksi.php:12: // $con = mysqli_connect($server, $user, $password, $database);
unixのcatとのようなコマンドはmore
n> more koneksi.php
/* ===== www.dedykuncoro.com ===== */
$server = "localhost"; //sesuaikan dengan nama server
$user = "root"; //sesuaikan username
$password = "enter"; //sesuaikan password
$database = "kuncoro_login"; //sesuaikan target databese
$connect = mysql_connect($server, $user, $password) or die ("Koneksi gagal!");
mysql_select_db($database) or die ("Database belum siap!");
/* ====== UNTUK MENGGUNAKAN MYSQLI DI UNREMARK YANG INI, YANG MYSQL_CONNECT DI REMARK ======= */
// $con = mysqli_connect($server, $user, $password, $database);
// if (mysqli_connect_errno()) {
// echo "Gagal terhubung MySQL: " . mysqli_connect_error();
// }
複数ファイルを検索する場合は、ワイルドカードを使う。
sls "user" *.php
koneksi.php:4: $user = "root"; //sesuaikan username
koneksi.php:8: $connect = mysql_connect($server, $user, $password) or die ("Koneksi gagal!");
koneksi.php:12: // $con = mysqli_connect($server, $user, $password, $database);
login.php:7: $username = $_POST["username"];
login.php:10: if ((empty($username)) || (empty($password))) {
login.php:17: $query = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
login.php:24: $response->message = "Selamat datang ".$row['username'];
login.php:26: $response->username = $row['username'];
login.php:32: $response->message = "Username atau password salah";
login.php:44: // $username = $_POST["username"];
login.php:47: // if ((empty($username)) || (empty($password))) {
login.php:54: // $query = mysqli_query($con, "SELECT * FROM users WHERE username='$username' AND password='$password'")
;
login.php:61: // $response->message = "Selamat datang ".$row['username'];
login.php:63: // $response->username = $row['username'];
login.php:69: // $response->message = "Username atau password salah";
register.php:7: $username = $_POST["username"];
register.php:11: if ((empty($username))) {
register.php:14: $response->message = "Kolom username tidak boleh kosong";
register.php:27: if (!empty($username) && $password == $confirm_password){
register.php:28: $num_rows = mysql_num_rows(mysql_query("SELECT * FROM users WHERE username='".$username."'"));
register.php:31: $query = mysql_query("INSERT INTO users (id, username, password) VALUES(0,'".$username."','".$passw
ord."')");
register.php:42: $response->message = "Username sudah ada";
register.php:48: $response->message = "Username sudah ada";
register.php:62: // $username = $_POST["username"];
register.php:66: // if ((empty($username))) {
register.php:69: // $response->message = "Kolom username tidak boleh kosong";
register.php:82: // if (!empty($username) && $password == $confirm_password){
register.php:83: // $num_rows = mysqli_num_rows(mysqli_query($con, "SELECT * FROM users WHERE username='".$username."
'"));
register.php:86: // $query = mysqli_query($con, "INSERT INTO users (id, username, password) VALUES(0,'".$username."'
,'".$password."')");
register.php:97: // $response->message = "Username sudah ada";
register.php:103: // $response->message = "Username sudah ada";
ほお~
TortoiseGitは、GitのクライアントツールでWindowsのシェルエクステンションとして機能
では、試しに、Android-Login-Register-MySQLをgit cloneしてみましょう。
https://github.com/dedykuncoro/Android-Login-Register-MySQL
コマンドラインのgit cloneではなく、GUIで提供されます。

URLがcloneするurl
Directoryが保存するローカルのパス
Depth, Recursive, Clone into Bare Repo, Branch, Origin Nameがありますね。
Load Putty Key, SVN Repositoryもあります。SVNはsubversionでしょう。
Subversionはめっきり見なくなりました。
OKを押下でCloneされています。

file -> Profile or debug APK… で開く

どうりで、file -> New で何度やってもダメだった訳だ。
debugしようとすると、”please select Android SDK”のエラー

SDK、moduleをセットして、外部androidに接続する。


OK、APKの課題はクリアーした。意外と簡単だった。
androidは、次はjsonだが、その前に、git、grep、dream weaverをやらないといけない。
楕円形ツールで選択し、選択範囲をinverseする

完成

なんか先が遠いな〜
作ってもらった。
alamofirをimportしている。
import UIKit
import Alamofire
class ViewController: UIViewController {
@IBOutlet weak var categoryLbl: UILabel!
@IBOutlet weak var brandLbl: UILabel!
@IBOutlet weak var nameLbl: UILabel!
@IBOutlet weak var priceLbl: UILabel!
@IBOutlet weak var conditionLbl: UILabel!
@IBOutlet weak var timeleftLbl: UILabel!
@IBOutlet weak var bitLbl: UILabel!
@IBOutlet weak var topImg: UIImageView!
@IBOutlet weak var tittleLbl: UILabel!
let URL = "http://hpscript.com/xcode/"
override func viewDidLoad() {
super.viewDidLoad()
//making a post request
Alamofire.request(URL, method: .get, parameters: nil).responseJSON
{
response in
//printing response
//getting the json value from the server
if let result = response.result.value {
let jsonData = result as! NSDictionary
print(jsonData)
self.tittleLbl.text = jsonData.value(forKey: "name") as? String
self.bitLbl.text = jsonData.value(forKey: "bit") as? String
self.brandLbl.text = jsonData.value(forKey: "brand") as? String
self.categoryLbl.text = jsonData.value(forKey: "category") as? String
self.conditionLbl.text = jsonData.value(forKey: "condition") as? String
self.nameLbl.text = jsonData.value(forKey: "name") as? String
self.priceLbl.text = jsonData.value(forKey: "price") as? String
self.timeleftLbl.text = jsonData.value(forKey: "timeleft") as? String
//if there is no error
}
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Alamofire.request(URL, method: .get, parameters: nil).responseJSON か。
alamofireのframe workを入れるところと、getだから、postの場合どうするかだね。
Blue tooth 案外使いやすいかも。

M336はカチカチ音がうるさいので、気になりますが。
そういえば、次のiphoneは$700らしいですね。まー xよりiphone 8 64gbの方が売れてますからね~
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class FetchValueClass {
static final String URL = "jdbc:mysql://localhost/cm";
static final String USERNAME = "user";
static final String PASSWORD = "pass";
public static void main(String[] args){
String sql = "SELECT * FROM music;";
try ( Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement statement = connection.prepareStatement(sql); ){
ResultSet result = statement.executeQuery();
result.next();
System.out.println(result.getString(1));
System.out.println(result.getString(2));
System.out.println(result.getString(3));
System.out.println(result.getString("id"));
System.out.println(result.getString("name"));
System.out.println(result.getString("title"));
System.out.println("");
result.next();
System.out.println(result.getString(1));
System.out.println(result.getString(2));
System.out.println(result.getString(3));
System.out.println(result.getString("id"));
System.out.println(result.getString("name"));
System.out.println(result.getString("title"));
} catch(SQLException e){
e.printStackTrace();
}
}
}