トップ 最新 追記

K2さんの雑記


2018-03-01(Thu) [長年日記]

Pythonの関数返り値定義

Pythonも並列で進めている。案の定こんがらがってきてます(笑)

Pythonの関数は、返り値があるものについて、関数定義ヘッダ行には何も書かず、本体の中でreturnで値を返すかだけで決まるらしい。

これって、関数ヘッダを見ても、関数の仕様がわからないことになるので、ソースの可読性に問題はないのだろうか。

また関数本体で、分岐でreturnが複数ある場合、返す値の型がそれぞれ違った場合はどうなるのだろうか。

2点ともきっとナイスなアイデアで解決されているのだと思うが、今の時点ではちょっと疑問。

Swiftの関数返り値定義

Swiftの場合は、関数返り値は、関数ヘッダの後に 「->」を追加して型指定するのだが、この「->」って、なんか違和感。この文字自体に意味づけがないので、なんか言語仕様として美しさに欠ける感じがしています。

どうして他の言語ではあまり採用されていないフォーマットを使っているのか、よくわからず、ちょっといやな感じがしています。

Xcodeでのオブジェクトとコードの接続

例えばstoryboard(画面設計するペイン)で、キャンバスの上にテキストフィールドを置いても、どうやらその部品に名前はつかないようだ。

これを、ViewController.swiftというコードが書かれたファイルに関連づける時(クラスのプロパティとしてテキストフィールドオブジェクトをコードに追加する)、初めて名前をつけるようだ。

これで、クラスのコード中で、この部品にアクセスできるようになる。

このクラスのオブジェクトに関連づけられたプロパティのコードをOutletと呼ぶらしい。

@IBOutlet weak var nameTextField: UITextField!

こんな行がViewControllerのクラスに追加される。この行中の単語ひとつひとつがまた難しい……

イベントハンドラ

Xcodeではイベントハンドラという言葉は使われていないようだ。アクションメソッドというのが正しいか。

   @IBAction func setDefaultLabelText(_ sender: UIButton) {

こんな行で始まる。中括弧内にコードを書く。

ボタンに対するアクションメソッドは、ボタンからControlキーを押しながらViewControllerコード内にボタンをドラッグすれば簡単に作れる。

テキストフィールドに対するアクションメソッドはそう簡単にはいかない。

まず、ViewControllerを、UITextFieldDelegateからも継承させなければならない。これは手作業で行う。

class ViewController: UIViewController, UITextFieldDelegate {

その後、ViewControllerのviewDidLoad()メソッド内で、テキストフィールドのdelegateプロパティに、自分をつっこむ。

   override func viewDidLoad() {
       super.viewDidLoad()
       // Handle the text field's user input through deletate callbacks.
       nameTextField.delegate = self
   }

これで、テキストフィールドのアクションメソッドが、ViewControllerの中に定義できるようになったので、手書きでアクションメソッドを挿入する。

func textFieldShouldReturn(_ textField: UITextField) -> Bool {

}

ここまでやらないといけない。これをスパルタンと言わずしてなんと言おう(笑)。

こうやって手書きで関連づけないと、テキストフィールドのイベントがViewControllerに通知されない。こうやって解説を二度読んで、誰にも読まれないであろうこの日記を書いて、やっとなんとなく理解できてきた。

もうちょっと簡単にイベントハンドラを作成できるようにしてもよかったのではないか?>apple。

慣れないCapsキー

どうしても、CapsキーをCommandキーと間違えて押してしまう。仕事で使用しているLet's NoteのControllキーがちょうどその位置にあるので、コピーペーストなどの時に小指でそのキーを押してしまう。同じようにMacBookでも小指でCapsを押しながら、Cだのアンドゥのzなどを押してしまう。

このCapsキー、標準の環境設定で、他のキーの機能に変更できるらしい。さっそくCommandキーに変更してみました。

だいぶ使いやすくなりそうな気がします。


2018-03-05(Mon) [長年日記]

Xcodeの続き−Imageの追加

今日もあまり早く帰れなかったので、30分ほど。

Work with View Controllersという章を進める。とりあえず、Image Viewをstroryboardに追加して、defaultPhotoをここに追加したところで終わる。

説明書きには、ViewのLifeの中でViewController上で呼び出されるメソッド等の説明あり。viewDidLoad()、viewWillAppear()、viewDidAppear()、viewWillDiappear()、viewDidDispappear()というアクションメソッドがあるようだ。この中で、viewDidLoad()はデフォルトでviewControllerの中に書かれていたが、それ以外はなかったので、使うなら自分で追加するということなのかな。

ここから実習がはじまって、Image Viewの追加などを行ったので、これらのメソッドが出てくるとしたら次回か。


2018-03-08(Thu) [長年日記]

Swiftのオプショナル型の解説記事

ちょうど以下の記事がアップされたので、リンクを載せておく。

わかりやすい記事だ。

Swiftのオプショナル型の使いこなし


2018-03-11(Sun) [長年日記]

ウォーキング 20km 25000歩 神泉苑・泉涌寺

久しぶりにぶらぶらと。先日、「都林泉名勝図会」(講談社学術文庫)の上巻を買ったのだが、その一つ目に神泉苑が載っていて、近かったし、Googleマップの評価でもよいのが多かったので、行ってみようと思った。

また最近空海の映画があるというのを聞き、その原作本が夢枕獏とのことで、久しぶりに読んでみようかと、Kindleで購入し読むとなかなかおもしろい。その中で、泉涌寺に楊貴妃の観音像があると紹介されていたので、それもみたくなり、この2つを結んで20kmほどのコースに仕立てた。

画像の説明

画像の説明まずは腹ごしらえと言うことで、ちゃんぽんとチャーハン。食い過ぎです
画像の説明二条城の南に神泉苑はある。昔は大きかったらしいが、今は小振りな池と橋のある庭園という感じ。人も多くなくよい感じ。ずっとぼおっとしていてもよさそう。アヒルさんもいる
画像の説明池に浮かべて宴会をするドラゴン船もあり。また、料亭が横にあって、料亭からは池が眺められる。夜はライティングされてそうなので、なかなかきれいなのではないだろうか
その後円山公園まで脚を伸ばし、南下して泉涌寺へ。東山七条から今熊野まで下りて、そこから東の方に登る
画像の説明泉涌寺に到着。拝観料は大人800円。
画像の説明仏殿。なかなか立派である。中には涅槃が描かれた非常に大きな絵があり、なかなか面白かった
画像の説明舎利殿。天井には狩野探幽の龍の絵が描かれている
画像の説明楊貴妃観音像が安置された観音堂。中には柔和な顔つきの観音像がある。中国で作られ空海が持ち帰ったとされている

2018-03-12(Mon) [長年日記]

Xcode続き(Start Developing iOS Apps - Implement a Custom Control)

相変わらず続けているが、なんとなくやっているだけで、方法論を覚えているわけではないので、繰り返しやらないとたぶん身につかないだろうと思いながら。

新しいユニットを追加して、カスタムコンポーネントを作成する方法を学んでいる。ほとんどユニットファイルに記述していく形で、相変わらずスパルタンな感じはするが、慣れれば作りやすいんだろうとは思う。ただし覚えることが多いような気がしている。

privateなメソッドの作り方が出てきたり、プロパティのアクセスメソッドの作り方が出てきたり、これぞオブジェクト指向コードの書き方というのがやっと出てきた感じ。バグを出しにくいオブジェクト指向独特のコードの作成方法が、私は好きなので、この辺はやっていて楽しい。

部品の設定を変更するためのAttribute Inspectorに表示される項目をコード上でどのように追加するかなどが一応わかった(というか経験できた)。楽しくはなってきたが、自分で全部書けるようになるためには、かなり精進が必要だと感じた。


2018-03-14(Wed) [長年日記]

Gitを使った

職場でバージョン管理が必要になって、今まで手を出せていなかったGitを使ってみようと、今日一日格闘した。

Subversionのイメージが自分の中には強烈にあるので、まずはサーバーをどうするかを考えないといけないと思い込んでいて、何度かローカルにサーバーを立てる方法を調べていたのだが、そのたびに挫折していた。

本日もその切り口で情報を集めるところからはじめたのだが、結局よくわからなく、進みそうにないので、とりあえず何か入れてみようと考えた。Windowsなので、Git for Windowsを入れて、以下のチュートリアル的な記事にそって使ってみた。

こっそり始めるGit/GitHub超入門

ここで、やっと分散型バージョン管理システムという意味がわかった。サーバーがなくても、こいつはリポジトリを、バージョン管理をしようとしているフォルダの中に作るんだ。だからこのフォルダの中に履歴情報がすべて入ることになる(具体的には.gitというフォルダの中)。

これなら、個人での開発の場合は、サーバはリポジトリのバックアップ的な使い方になるということだと思うので、クラウドを使ってもいいかなという気分になった。

GitHubは非常に有名なリモートリポジトリを作成できるサイトであるが、Web上でリポジトリを作っておいて、そこにローカルからPUSHをすることで、リモートにアップロードできる。

GitHubは非公開リポジトリを作ろうとすると月7ドルかかるので、前に別の演習で使っていたBitbucketを使ってみた。BitbucketはGitHubよりは機能的に劣るが、非公開リポジトリも無料で作成できる。

前の演習はCloud9でRuby on Railsを少しかじった時のもので、このときはCloud9(クラウドサーバ上の開発システム)からBitbucketへのリポジトリのPUSHは、何の苦労もなくOKだった。

今回は、職場のイントラネットからの接続なので、ちょっといろいろごたごたがあったが、結局Port443・プロキシ経由で接続することができた。あまりにつながらなくて、ひどい格闘になり、ほとんどめげかけていたのだが、最後の最後になんとか成功した。

この1年、業務効率化のためのツールをいろいろ作ってきたのだが、バージョン管理はなしでやってきた。これでGitも一応使えるようになったので、気分よく仕事ができるかな? UiPathというRPAは、ソースコードがxmlなので、一応バージョン管理できそうで、Gitは主にこれに使うことになりそう。

しかしながらたくさん作ったAccessやExcelなんかはバイナリファイルなので、バージョン管理は使えない。残念ながら。

そうそう、Gitってギットと発音するようだ。つい最近までジットだとばかり思っていた。


2018-03-18(Sun) [長年日記]

ウォーキング 24km 31000歩 船岡山・大徳寺・下鴨神社・建仁寺

10時半頃からウォーキングに出発。帰宅は4時半頃。

今回のコースはこんな感じ。

画像の説明

画像の説明本日はいい天気で、温度も過ごしやすい感じ。帰りは曇ってしまった。なかなか一日中いい天気というのには恵まれにくい。桜も開花しているところもあり、平野神社も少し人で賑わっている
画像の説明1時間ほど歩いて、とりあえず腹ごしらえ。北大路千本になかなかよい洋食屋さんがあったので、入ったら、これがすごい賑わい。チキンカツ定食670円。町の洋食屋さんの味という感じ
画像の説明船岡山に登り、建勲神社(たけいさおじんじゃ)に参る。織田信長がまつられている
画像の説明有名な歌の碑がある
画像の説明はじめ、船岡山に登ったとき、どこに神社があるのかわからず、てっきり跡地しかないと勘違いして山を下りそうになったが、途中で別の方向から入ることに気づいて、何度か登り直している。お参りできてよかった(笑)
画像の説明今宮神社が近いのでお参りし、その後大徳寺に向かう
画像の説明半ば予想はしていたのだが、大徳寺広すぎ。で、建物で催し物をやっていてそのお客さんがたくさんいるのだが、それ以外の建物はほとんど入れず、参拝はどうすればよいのかがよくわからず、結局境内の中を通って出てきてしまった。観光する場所というのとは違うのかもしれない
写真なし(下鴨神社)その後下鴨神社に行き、糺の森をぬけて南へ下る。下鴨神社は雰囲気がよいねぇ。糺の森もよい。人が多すぎるのはあまりよくないが、まぁ仕方ない
画像の説明建仁寺。すぐ近くにWINS(馬券販売所)があり、人と車がすごい。ほとんどはWINS目当ての人だと思われ、建仁寺はそんなに混んでいない。ぐるっと一回りしてから、500円払って中に入るかどうか少し迷う。まぁここまで来たし、入ってみるか
画像の説明これが、すごい当たり! 感じのよい庭と部屋、ふすま絵、天井絵のオンパレード。重文だらけ。人もそんなに多くなく、何時間でも留まれそうな感じです。こんな繁華街近くにこんなよいところがあるとは、ちょっと意外です。おまけに写真は撮り放題とのこと。マナーの問題もあるのでほどほどに
画像の説明方丈(ほうじょう)内部のいろいろなもの
画像の説明
画像の説明
画像の説明
画像の説明
画像の説明
画像の説明風神雷神屏風。建仁寺にあるんですね。知りませんでした。たぶん複製品だと思います。なお、かなり大きな陶板に再現した絵も展示されています
画像の説明雲龍図1。大きすぎて画角に収まらない。ただし複製図です
画像の説明雲龍図2
画像の説明別棟の法堂(はっとう)に移動すると、圧倒される天井絵、「双龍図」に出迎えられる。この建物は1765(明治二年)に建てられたそうで、天井絵は2002年に「小泉淳作画伯」筆とのこと
画像の説明写真ではなかなか捉えられません

建仁寺は本当によかった。またぜひ行きたい。


2018-03-20(Tue) [長年日記]

バージョン管理システムは重要

gitを使えるようにして少したったが、効果絶大。

  1. やったことにしっかりと区切りがつけられる
  2. 変更点をコードの中に残す必要がない
  3. サーバにpushしてしまえば、PCが壊れてもコードは失われない

一人で開発していても、これらの利点は何物にも代えがたい。一度バージョン管理システムを使って、この感覚が身についてしまえば、使わなくなって10年近く経っても、感覚は体の中に残っているものなんだなぁと感心する。

この仕事を誰かに引き継がなくてはならなくなったら、リポジトリごと渡すつもりだが、バージョン管理システムのマスターが必須になるので、敷居高いかな……

Bitbucketは太っ腹

GitのホスティングサービスにBitbucketを選んだのだが、個人使用は無料だったから。

私の場合、一応業務上での使用だし、正式に仕事に使い出したので、ちょっと使用条件が気になって調べてみた。

チームが5人までの場合、容量無制限で無料とのこと。

すごい。

本当にありがたいです。

中規模チームで5人を超えても、一人月額$2だそうですので、手軽です。よっぽどのことがない限り、自社内にサーバを立てる必要性は感じないのではないだろうか。


2018-03-24(Sat) [長年日記]

ウォーキング 24km 31000歩 平野神社・大覚寺・鈴虫寺・桂離宮

いつも東に行っているので、今回は西を回ってみた。

画像の説明

画像の説明本日は正真正銘いい天気。温度も20度くらいまであがるとのことで、上着は念のためにリュックに入れたが、羽織らずに出発
画像の説明平野神社。桜にはもう一週間足りない。平野神社は花見の用意が着々と進んでいる。お座敷が用意されていて、夜はもう宴会をやっているようだ
画像の説明少ないながらもよい感じの桜
画像の説明もう一本
画像の説明本殿手前の桜も割とよい感じ
画像の説明平野神社を出て西大路を渡ったところに、ハイライトあり。学生時代に百万遍の店で、時々食べたが、安くて量が多い。当時はブリキの皿に料理がのってきた。「この店が」なのか「今は」なのかはわからないが、昔ほどそれら特徴があるようには思えない。西小路御池西入るにハイライトがあるのは知っていたが、こんなところにもあるとは。一体何件あるのだろう
画像の説明例によってGoogle Mapはこんなところを案内してくれる。楽しい
画像の説明広沢の池。自転車をやっているときは、通勤コースに組み込んでいたため、毎日この前を走っていた。懐かしい
画像の説明大沢の池。広沢の池の東側にある。大覚寺のすぐ近く。大覚寺に行く前に一周してみた。人はほとんどいなかったが、なかなか落ち着いた感じで楽しい。桜も植わっているが、ほとんど開花せず。まだ早い感じ。スポットライトの設備が整っており、夜もやる気満々のようだ
画像の説明こんな塔あり
画像の説明咲いてない中でも2本だけ咲いていて、そのうちの一本。5分咲きくらいかな
画像の説明大沢の池を回りきって、大覚寺に寄る。中には入らず。実はこの後鈴虫寺に行って、ここはしっかり見ようと思っていたので、今回は大覚寺は端折った。結果的に、今回は大沢の池一周が一番のイベントになってしまった……
画像の説明桂川。この西側も自転車をやっていたときには毎日走っていたので、身近な風景
画像の説明鈴虫寺到着と同時に長蛇の列に驚く。若い人に人気なのだね。今日は諦めました。朝一番くらいに来ないと入るのは難しそうだな
画像の説明この後桂離宮の周囲をくるっと回って帰りました。桂離宮は予約しないと入れないのだが数ヶ月先まで予約一杯。昨夜調べていて、5月の日曜日に一枠空きがあり、予約をするっと入れておきました。5月までのお楽しみと思いながら周回。写真は桂大橋。ここまで来ると桂川の水量はかなり多く、立派な大きな川です。この後西京極運動公園を抜けて帰宅

このまま歩き続けたいのだが、本日の天候でもかなり日照りが強く感じた。このまま季節が進むと長時間は歩けなくなるかもしれないなぁと思った。夏は休止するしかないかも。


1965|09|
2002|09|10|11|12|
2003|01|02|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|03|04|05|08|
2014|01|02|03|04|05|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|11|
2017|01|03|05|06|07|08|10|11|12|
2018|01|02|03|04|05|08|09|10|12|




2018年
3月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
//
自己紹介
自己紹介
広告
計るだけダイエット
今聴いてるの
ブルックナー:交響曲第7番 ブルックナー:交響曲第7番
ブルックナー:交響曲第8番 ブルックナー:交響曲第8番
読書中
つっこみリスト
TrackBacks
日記仲間
/ / /
最近の日記