Rodhos Soft

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

テーブル

Articlesテーブルの$idでCategories、Avatars、ReadMarksの情報を含めて返却して欲しいときは以下の用に書く。 $article = $this->Articles->get($id,[ 'contain' => ['Categories', 'Avatars', 'ReadMarks'] ]); 同一のアバターIDでArticleIDが指定のものよ…

データベースに接続、テーブル作成

use hoge; で接続。テーブル一覧は show tables; で見れる。テーブル作成例。 create table 'hoge_messages' (`id` int(10) auto_increment not null comment 'id', `user_id` int(10) not null comment 'ユーザID', `name` varchar(255) default NULL comme…

データベース作成

create database hoge; 消す時は drop database hoge;

パスワード変更

phpmyadminから入ってmysqlのパスワードを変更したところアクセスできなくなった。パスワードの再設定 mysqlのパスワード変更はmysqlから SET PASSWORD = PASSWORD('hoge'); で変更できる。対応してphpMyAdminの設定ファイルを書き換える必要がある。 /Appli…

Separator

UITableViewはSeparatorカラーが取得できる。

LayoutMargin

親のを引き継ぐかをまず決める必要がある。引き継がない場合はそう設定しないと反映されない。 self.preservesSuperviewLayoutMargins = false; self.layoutMargins = UIEdgeInsetsMake(0, 10, 0, 10);

認証 AuthComponent

認証 - 3.x AuthComponentは三タイプの認証できる。 FormAuthenticate ログインフォーム POSTで (デフォルト) BasicAuthenticate ベーシック認証 DigestAuthenticate ダイジェストHTTP認証 認証ハンドラの設定 // シンプルな設定 public function initializ…

ビヘイビア群

CounterCacheBehavior 例えばコメント数をエンティティが保存、削除されるたびに更新される。 belongsTo アソシエーションにしか効かない。 class CommentsTable extends Table { public function initialize(array $config) { $this->addBehavior('CounterC…

ビヘイビア

ビヘイビアとはテーブルに追加できる便利部品 以下を参照した。 ビヘイビアー - 3.x ビヘイビアをテーブルに追加 amespace App\Model\Table; use Cake\ORM\Table; class HogesTable extends Table { public function initialize(array $config) { $this->add…

コンポーネント

コントローラで使える部品。 以下を参照した。 設定が必要なコンポーネントを使う際の設定 class HogesController extends AppController { public function initialize() { parent::initialize(); $this->loadComponent('Auth', [ 'authorize' => 'Controll…

コンポーネント

コントローラで使える部品。 設定が必要なコンポーネントを使う際の設定 class HogesController extends AppController { public function initialize() { parent::initialize(); $this->loadComponent('Auth', [ 'authorize' => 'Controller', 'loginAction…

イベントシステム

これは イベントシステム - 3.x の勉強メモである。 オブザーバーパターンの利用 イベントオブジェクトはすべてのリスナーに行き渡る。 そしてすべてのビュー、コントローラ、テーブルで $events = $this->eventManager(); がある。。各モデルは独立したイベ…

View

以下を参照して勉強したメモ ビュー - 3.x 役割 HTML, XML, JSON, PDF生成等 XMLとJSONビューは JSON と XML ビュー - 3.x AppView アプリのベースのView 主にヘルパーを読み込むように使用する。 loadHelper('MyUtils'); } } テンプレート ctp 両者は同じ意…

HelloWorld 3回目

モデルと Helloコントローラ loadModel('Hoges'); // echo "hello world!!"; //src/Template/Layout/de…

画像をUIImageに

UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, [[UIScreen mainScreen] scale]); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, 0, 0); CGContextScaleCTM(context, 1.0, 1.0); [self.layer rende…

CakePHPの勉強のまとめ

勉強ログの記事一覧 CakePHP rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenadiary.jp rodhos.hatenad…

マクロ関数での注意

defineのマクロ関数でクラス・メソッドに置き換える際、引数の文字と、メソッド名の一部がかぶるとエラーを引き起こす。→ マクロの引数名をかえる。

C++を混載

mmファイルを使うとCの関数(特にObjective-Cのアマルガム的な)が呼べなくなるので注意

NSNotFound

NSNotFoundは型に注意しないでロジックミスになる。注意。NSIntegerとかCGFloatとか - なるようになるかも

パッケージ管理

Mac

MacPorts, HomeBrew, Fink等の選択肢がある。以下を参考にした。 MacPorts と Homebrew の違いについてとりあえずHomeBrewをつかう。brew.shbrewコマンドが使えるようになる。例 graphvizのインストール brew install graphviz

duplicate symbols

久々にはまったが、よくみたところヘッダーでimportしていたファイルが.mになっていた。。

FaceBookPHP

以下を参照した。 Facebook PHPをComposerで利用するには | hrendoh's memo comporser.jsonのrequireにfacebook/php-sdkを追加 curl -s http://getcomposer.org/installer | php でcomposer.pharを落として php composer.phar install 警告が出た。 Warning:…

MySQLのエラー

General error: 1298 Unknown or incorrect time zone: 'Asia/Tokyo' というエラーが出て接続できなかった。以下などを参考に次の対応を行った。 3u3.org MAMP内のMAMP/Library/binにおいて ./mysql_tzinfo_to_sql /usr/share/zoneinfo > hoge.txt hogeに吐…

BASIC認証

web

. htaccess AuthType、AuthName、AuthUserFile、requireを指定 .htpasswd ユーザ名:エンコードされたパスワード例 AuthUserFile .htpasswdの場所 AuthName "Please enter your ID and password" AuthType Basic require valid-user

通常使うものイディオム

普段使うものを羅列していく。 特定の文字列を検索 find . -name "*.php"|xargs grep hoge grep hoge_ -rl ./ 権限付与 chmod a+x hoge.txt 例でははすべてのユーザに実行権限を与えている。 他には Linuxコマンド集 - 【 chmod 】 ファイルやディレクトリの…

ビルトインサーバー

./bin/cake server で、http://localhost:8765/ にアクセス。

基礎

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…