Swift3にアップデートしたらCGRectMakeが使えず、'CGRectMake' is unavailable in Swiftとエラーが出るようになった。

XCodeをUpdateしてから、本に書いてあるサンプルのほとんどが陳腐化してしまった。 CGRectMakeという、座標を指定する関数が使えなくなっていた。「'CGRectMake' is unavailable in Swift」というエラーが出るようになってしまったのだ。 このエラーに対応す…

Node.jsでWebページをダウンロードする

Node.jsでWebページをダウンロードするサンプルを写経してみました。 download( "http://www.google.co.jp", "google.html", function(){console.log("ok, google");}); download( "http://www.yahoo.co.jp", "yahoo.html", function(){console.log("ok, yah…

npm -g でグローバルインストールしたときに、モジュールがインストールされるパスを調べる

npmとは、Node.jsのモジュールを管理するためのパッケージマネージャーです。 モジュールがインストールされる場所ですが、「npm install」を実行すると、このコマンドを実行したカレントディレクトリにモジュールがダウンロードされます。つまり、そのモジ…

Swiftでボタンを押したタイミングでキーボードを下げる

入力する時にキーボードは必要ですが、いつまでもキーボードが表示されたままだと格好悪いので、 入力が完了したタイミングでキーボードを隠す処理を実装してみましょう。ボタンを押したタイミングでキーボードを下げる処理は以下のように実装します。 @IBAc…

SwiftでUITextFieldの値の変化をチェックして、イベントを受け取ってLabelの値を更新する

SwiftでTextFieldに入力された値に反応して、その値を習得。 そして取得した値をLabelなどにリアルタイムで反映させたときがあると思います。そんなときは、以下のようなコードを書きます。viewDidLoad()のメソッド内に以下を書きます。 textField.addTarget…

Swiftで自作クラスを作成する

Swiftで自作クラスを作成する構文は以下のとおり。 import UIKit var str = "Hello, playground" //クラスのインスタンス化を行う var radio = UISwitch() //プロパティを設定する radio.on = true //メソッドを使ってプロパティを設定する radio.setOn(fals…

AngularJSでng-repeatとfilterを併用してテキストを絞り込むインクリメンタル検索を実装

searchTextという属性は、検索ボックスにテキストが入力されるたびにデータが変更されます。 ng-repeatのmemberの値をsearchTextでfilterをかけるため、テキストボックスに文字列が入力されるたびに動的に中身がフィルタリングされたデータになります。○HTML <div ng-controller="MainCtrl"></div>…

AngularJSで繰り返し処理を実装する

ng-repeatを使ってみる ng-repeatを使えば繰り返しを簡単に実装できます。 リストの繰り返し処理や絞込みに使われることが多いです。○HTML <div ng-controller="MainCtrl"> <ul ng-repeat="name in names"> <li>{{name}}</li> </ul> </div> ○JavaScript var app = angular.module('myApp', []); app.controller('MainCtrl', function($scope) {…

NSURLSessionを使ってインターネット通信を行う。

import UIKit import XCPlayground XCPlaygroundPage.currentPage.needsIndefiniteExecution = true let session = NSURLSession.sharedSession() let url = NSURL(string: "http://www.yahoo.co.jp")! let request = NSURLRequest(URL: url) let task = ses…

NSUserDefaultsを使って自作クラスをシリアライズ/デシリアライズする

シリアライズとは、オブジェクトの内容をバイナリに変換すること。 バイナリからオブジェクトに復元することをデシリアライズという。 import Foundation class MyData :NSObject, NSCoding { var valueString :String? override init() { } func encodeWith…

iOSでデータ保存する仕組み

NSUserDefaults NSUserDefaultsはiOSアプリのデータ永続性の仕組みのこと。 key=value形式でデータを保存することができる。NSUserDefaultsで保存したデータはローカルストレージのアプリ内部にplist(プロパティリスト)形式で保存される。plist形式の実体はX…

iOSのデータ保存場所一覧

AppName.app アプリ本体そのもので、実行ファイルが含まれる。 アプリに内蔵されている画像データなどを読み取ることができる。 Documents/ ユーザが生成したデータの保存先に利用される。 このディレクトリに保存したデータは共有することができるため、ユ…

Swiftでtry〜catch

unc myFunc(value :Int) -> Int { var resultValue :Int = 0 resultValue = value return resultValue } myFunc(1) //throw the error enum MyError :ErrorType { case InvalidValue } func doubleUp(value :Int) throws -> Int { if value < 0 { throw MyEr…

if let文でOptional型でラップされた変数をアンラップする。

Optional型とは、値が存在しないかもしれない状態を持つ型のこと。 Optional型を利用するには型の最後に「?」を付ける。 そうすると、nulを代入可能な状態になる。このことを「Optional型でラップする」という。Optional型でラップされた変数に対して、nilで…

SwiftのArrayとDictionary

import UIKit var str = "Hello, playground" let myLabel = UILabel(frame: CGRectMake(0,0,200,50)) myLabel.backgroundColor = UIColor.redColor() myLabel.text = "Hello, swift" myLabel.font = UIFont(name: "Georgia", size: 24) myLabel //mutable a…

Swiftのif, for while

//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" //if let score = 70 if score>=80 { print ("合格です!") } else { print("不合格〜!") } print("\(score)点でした。") //switch let color = "blue" …

C# 指定したプロセス名のprocessを取得し、稼働時間、開始時間、プロセスIDを表示する。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; namespace ProcessKiller { pub…

C# Helperクラスを使って、XMLにノードを追加する。

XmlHelper.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace XmlOperator { class XmlHelper { public static XmlNode AddElement(string tagName, s…

C# XMLドキュメントにノードを挿入する

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace XmlOperator.sample1 { class Program { static void Main(string[] args) { XmlDocument doc = new X…

C# Process名指定でプロセスの稼働時間やIDを取得。一定時間以上稼働しているものをkillする。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Diagnostics;…

C# Timer機能を使って、一定時間おきに処理を発生させる。なんちゃってアラームの実装

Timerこっンポー念とは、Tickと呼ばれるイベントを一定時間ごとに発生させる。 intervalで周期を設定する(ミリ秒) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.L…

GruntでjavaScriptファイルを結合してミニファイする。

Gruntは、フロントエンドの作業を自動化するためのタスクランナーのこと。 Gruntのコマンド群をインストールするために、grunt-cliをインストール npm install -g grunt-cli package.jsonの作成 npm initGrunt本体のインストール npm install --save-dev gru…

C# XMLからデータを読み込んでDataGridViewに表示する。

XMLファイル <users> <user> <name>takeshi</name> <password>take123</password> <mail>takeshi@gigimail.com</mail> </user> <user> <name>yoshida</name> <password>yoshida123</password> <mail>yoshida@gigimail.com</mail> </user> </users> C# private void readXmlButton_Clic…

C# XMLファイルを読み込んでTreeViewに表示させる。

C#でXMLを操作するためには、System.Xml.XmlDocumentクラスを使う。 このクラスはメモリにXMLを全て取り込むため、巨大なXMLファイルの読み込みには向いていない。巨大はXMLファイルはXmlReaderやXmlWriterを使う。以下のpom.xmlを読み込んで、TreeViewに表…

Gruntを使ってJavaScriptファイルを圧縮する。

npm install grunt-contrib-uglifyuglifyプラグインは短縮されたJavaScriptファイルを出力します。 module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.initConfig({ uglify: { target1: { src: 'js/sample.js', dest: …

Sassを使ってみる。

GUIでSassを使う Scoutをインストールします。以下でDownload For Windows https://mhs.github.io/scout-app/GUIの左下の「+」をクリックして、プロジェクトのルートフォルダを指定します。input folderにsassフォルダを、output folderにcssフォルダを指定…

SassとCompassのインストール

Sassとは、Syntactically Awesome Stylesheetsの略です。 Sassの記法で書いたものをコンパイルしてCSSに変換。 それをHTMLに読み込ませます。 SassとCompassはRubyで書かれたコマンドラインツールなので、Rubyのインストールが必要です。http://rubyinstalle…

gruntを使ってみる。

gruntコマンドを有効化するためにコマンドラインインターフェースをインストールする。 npm install -g grunt-cli gruntのバージョンを確認する npm install -g grunt-cli package.jsonを作成する npm init Gruntの本体をインストールする。「--save-dev」オ…

C# 複数ファイルをドラッグ・アンド・ドロップしてテキストボックスにパスを入力する

textboxにフォルダ(ディレクトリ)名をドラッグ・アンド・ドロップで入力する visual studioのプロパティの稲妻のアイコンをクリックして、DragEnterとDragDropをダブルクリックする。 すると、新しいイベントを登録することができる。 private void dataDirB…

フォルダを選択してテキストボックスにディレクトリ名を書き込む

フォルダを選択してテキストボックスにディレクトリ名を書き込む private void txtDirOpenButton_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) { dataDirBox.Text …