Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

2017-06-01から1ヶ月間の記事一覧

基礎

c++

c++の基礎的なことをさらった。 // // main.cpp // cppABC // // Created by KatagiriSo on 2017/06/28. // Copyright © 2017年 rodhos. All rights reserved. // #include <iostream> #include <sstream> #include <iomanip> #include <fstream> // ref:http://ppp-lab.sakura.ne.jp/ProgrammingP</fstream></iomanip></sstream></iostream>…

RDRepository

API呼び出しでJSON分解するSwiftコードの試作をRDRepositoryとしてgithubにあげた。 キャッシュを期限付きで管理するRDCacheが肝になる。 一つのタスクをOperationを使って実行している。 サンプルとしてこれを利用したWikipedia情報の呼び出しを書いた。 他…

デバッグ クラッシュログ

以下のサイトが参考になった。 stackoverflow.com

デバッグ シンボライズ

Xode内にあるsymbolicatecrashを使う。以下を参照した。 www.crunchtimer.jp まず探す。Xcode8のフォルダ内で find . -name symbolicatecrash /Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 面倒なので適当にl…

swiftc failed with exit code 1

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 で妙な現象にあった。 func reload(completion:@escaping (T?, Error?) -> Void) { objc_sync_enter(self.loadCompletion…

swiftc

Swiftをコマンドラインでコンパイルする方法swiftcを使う。 which swiftc /usr/bin/swiftc 適当にswiftでコードを書いて、 import Foundation print("hello, world!") ここではmain.swiftという名前にした。 swiftc main.swift これで、mainという実行ファイ…

デバッグ lldb

ブレークポイントセット breakpoint set -n semaphore_wait_trap LLDB 使い方まとめ - Qiita dispatch_barrier_sync blocks main thread when re-requesting an image. · Issue #803 · rs/SDWebImage · GitHub script Pythonでscript入力 exit()で終了[LLDB]…

連打防止

秒数をカウントしてやる。 class DoubleTap { var actionTime:Date? = nil let actionInterval:TimeInterval = 0.3 func check() -> Bool { if let actionTime = actionTime { if -actionTime.timeIntervalSinceNow < actionInterval { return false } } sel…

テーブルを連携させる

2つのテーブルの連携を考える。 peapleテーブル(personの複数形) id INT,プライマリキー,AutoIncrement name Text, Not Null, Unique password Text, Not Null comment Text, Null boardsテーブル id Int,プライマリキー,AutoIncrement person_id Not Null …

bake

bookモデルを作りそのCRUDをbakeで作る。 データベースでbooksテーブル作成 id 整数、プライマリー、自動インクリメント title テキスト author テキスト price 整数 bake $ ./bin/cake bake all books しかし失敗する Exception: SQLSTATE[HY000] [2002] Co…

データベース操作

レコード追加 テンプレー側にフォームを用意 Form->Create($entity, ['url'=>['action'=>'addRecord']]) ?> <fieldset> Form->text("name") ?> Form->text("title") ?> Form->textarea("content") ?> </fieldset> Form->button("送信") ?> Form->end() ?> コントローラにaddRecord…

使いかたhttp://pubman.mpdl.mpg.de/pubman/item/escidoc:150722:1/component/escidoc:150721/cadabra.pdf A brief introduction to Cadabra: a tool for tensor computations in General Relativity https://arxiv.org/pdf/0903.2085.pdfhttps://suppiya.fi…

sympy

ツリー構造 Advanced Expression Manipulation — SymPy 1.0.1.dev documentationTaming math and physics using SymPy https://minireference.com/static/tutorials/sympy_tutorial.pdf使えるかというと微妙

500エラー

PHPでエラーがみたい php.iniファイルで error_reporting = E_ALL display_errors On display_startup_errors = On 公開用サーバではlog_errorsでログでみるべき。 internal error 500 新しくプロジェクトを作ったところそのようなエラーがでた。 ログを確認…

MySQL

phpMyAdminがつかえるとして以下話をする。MySQLにパスワードを設定している場合は phpMyAdmin/config.inc.php の $cfg['Servers'][$i]['user'] = '*****'; $cfg['Servers'][$i]['password'] = '****'; を設定する。 phpMyAdminでデータベース作成 mydata 照…

おさらい

いままでのおさらい。 プロジェクト作成 mkdir hoge php composer.phar create-project --prefer-dist cakephp/app hoge Hello World hello/other

技術英語

WWDCをみつつ Existentials 存在に関する(実存的な) Compilation コンパイル、編集物 Inference 推論 thunks サンク 遅延評価を受ける関数に受け渡す引数 ストリーム (プログラミング) - Wikipediainception 開始、発端 Interruptible 中断可能、割り込み可…

WWDC2017

iOS

iOS11の忘備録まずQiitaを一読して後追いする。WWDC2017を個別にみていきたい。恐らくリンク先の堤さん等のまとめ(API Diffsから見る iOS 11 の新機能 #WWDC17 - Over&Out その後) を読むほうが早い..。以下作成中 WWDC2017 WWDC 2017 - Videos - Apple De…

初歩的知識

以下を参照した。 saruwakakun.com display:inlineは大きさ変えられない。display:blockかdisplay:inline-blockにする必要あり。aタグ, spanタグ。 width:autoの決まり方 基本親要素まで広がる、%指定で親要素の何%かと言う決まり方になる(このときpadding, …

ファントム型

qiita.comまねて書いてみた。何かに使える気がする。 phantom type dummy code

htmlを吐き出す4

何か形になってきた気が。とりあえず根本的にタグを定義してみた。 しかしdivとかを手で入れるようになってしまい面倒さは変わらないような気も。 import Data.List main = print (display html) type ClassName = String -- data DIV a = DIV ClassName a d…

htmlを吐き出す3

不要なデータ型を削除した少しスッキリしたが属性とかつけるとめんどくさいことになりそう。 import Data.List main = putStr (tag_doctype ++ html) tag_doctype = "" html = string (HTML [header,body]) header = HEAD [String "OK!"] body = BODY htmlbo…

htmlを吐き出す2

html吐き出すコード、DivTag DIVとか書くのはおかしい。もっとまとまるはず。。 import Data.List main = putStr (tag_doctype ++ html) tag_doctype = "" html = string (HTML [header,body]) header = HeadTag (HEAD (String "OK!")) body = BodyTag (BODY…

最初

processing.jsをダウンロードして配置する。 Processing.js htmlを用意 <html lang="ja"> <head> <meta charset="UTF-8"> <title>title</title> <script src="./processing.js"></script> </head> <body> <canvas data-processing-sources="./proc.pde"></canvas> </body> </html> proc.pdeファイルを用意してそこにprocessingの文法で描画すればO…

グラデーション

こちらのやり方にしたがってやってみた。ics.media しかし値の調節にこつがいるのかもしれない。 <html> <head> <meta charset="utf-8"> <style> body { } #bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; /* 背景グラデーションの作成 */ background: linear-gradient(to bo</meta></head></html>…

flexbox

flexboxを用いて、タイル表示をしてみる。以下を参考にした。 ics.media HTMLはヘッダーにメニューとmainにタイルとしてdivを置いた。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>title</title> <link rel="stylesheet" type="text/css" href="sample.css"> </head> <body> <header> <img src="hoge.png" alt=""> <ul> <li><a href="">item1</a></li></ul></header></body></html>

HTMLヘルパーでテーブルを作る

テーブルをガリガリと書く方法とHTMLヘルパーを使って各方法を2つ並べて書いてみた。 <h1> データ </h1> <table> <thead> <tr> <th>ID</th> <th>NAME</th> <th>TITLE</th> <th>CONTENT</th> </tr> </thead> <tbody> <tr> <td> id ?> </td> <td> name) ?></td> <td> title) ?></td> <td> </td></tr></tbody></table>

SQLiteの用意

CakePHPはデータベースやテーブルの設定を自分でする必要がある。大変面倒だがまずSQLiteでやってみることにする。 アプリ(例hoge)内にdbフォルダを作る(hoge/db)。 SQLiteのデータベースを作成する。 sqlite3起動 $ sqlite3 mydata sqlite> create table 'b…

モデル = テーブル+エンティティ

CakePHPのモデルとはテーブルとエンティティの全体を指して使う。以下のようなモデルを作ろう。識別用のIDを持ち、投稿者名とタイトルと投稿内容を持っている情報(エンティティ)とそのエンティティの集団(テーブル)。 このモデルを「Board」と名付けよう。命…

フォームヘルパーを使う

テンプレートに次のように記述。 <p> ヘルパーを使ったフォームの送信</p> <p> </p> Form->create(null, ['type' => 'post', 'url' => ['controller' => 'Hello', 'action' => 'index']]) ?>