SSブログ

バージョン管理にgitを導入検討中 [git]

Webアプリの開発やフォントの制作、グラフィックスデータの制作のバージョン管理に分散型バージョン管理システムタイプのgit(ギット)の導入を検討しています。

タグ:Git
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

Swiftのクラスのコンダクタ [Swift]

Swiftのクラスのコンダクタは、C++やJavaのようにクラス名と同じ名前のメソッドを定義するのではなく、initという特殊名のメソッドで定義します。

例:
class TestClass {
    var message = ""

    init() {
        message = "Hello"
    }

    func simpleDescription() -> String {
        return message
    }
}


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

CSS3で背景領域の幅のパーセンテージで背景画像のサイズを設定する [CSS]

CSS3では、背景領域の幅や高さのパーセンテージをbackground-size属性を使って指定できます。
background-size: 幅% 高さ%;

例:
幅80%、高さ90%の場合:
#main {
  background-image: url(./images/image01.jpg");
  background-size: 80% 90%;
}



nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

Swiftをシェルから実行するには [Swift]

Swiftをシェルから実行する(REPLで使う)には、swiftの実行ファイルが以下のパスにあるので
/Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/


以下のようにシェルから実行します。
$ /Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

Welcome to Swift!  Type :help for assistance.
  1> 


タグ:SWIFT repl
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

HTML5のsection要素とdiv要素 [HTML]

HTML5で導入されたsection要素は、文書の論理的な区切り(section)を表すために使われます。
一方、div要素は文書の論理的な区切りではなく、HTMLファイル上の区切りを表すために使います。
そのため、section要素ブロック内では、見出し要素(h1~h6)が必ず必要となります。
div要素は、単にレイアウト上の区切りとして使うことが多いようです。

<section id="chapter1">
  <h1>Chapter 1</h1>
  <p>This section is chapter 1</p>
</section>
<section id="chapter2">
  <h1>Chapter 2</h1>
  <p>This section chapter 2</p>
</section>

論理的な区切りではsectionを使う。

<div id="left-column">
  <p>This block position is left column.</p>
</div>
<div id="right-column">
  <div id="navigation">
    <ul>
      <li>Top</li>
      <li>Recent</li>
    </ul>
  </div>
</div>

レイアウトのための区切りはdivを使う。

タグ:HTML HTM5 section div
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

Objective-CのカテゴリはSwiftではextensionを使う [Swift]

Swiftのマニュアルには、Objective-Cのクラスのカテゴリの記述方法が書かれていませんてした。
このカテゴリの機能は、Swiftにはないのかな?と思ったのですか、Swiftではクラスの拡張(extension)を使えば実現できるようです。

例えば、Objective-CでNSObjectクラスにlogメソッドの追加をして、そのカテゴリをLoggingとすると、以下のように記述します。
@interface NSObject (Logging)
- (void)log;
@end

@implemetation NSObject (Logging)
- (void)log
{
    NSLog(@"%@", self);
}
@end

これをSwiftでは、
extension NSObject {
    func log() {
        println(self)
    }
}   

と記述することになるようです。
Swiftのextensionでは、Objective-Cのように名前を付けることができないようです。
(上の例では、Logging)

Swiftのswitch文について [Swift]

Swiftのswitch文はC言語のswitch文を継承しているようですが、case文の条件判定部分がかなり強力になっているようです。
let vegetable = "red pepper"
switch vegetable {
case "celery":
    let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
    let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"):
    let vegetableComment = "Is it a spicy \(x)?"
default:
    let vegetableComment = "Everything tastes good in soup."
}

特に、
case let x where x.hasSuffix("pepper"):

は、完全に式になっています。

それから、case文の実行部分からswitch外への脱出は、breakを書かなくてもよいようです。
しかし、default文は必ず必要のようです。

逆にC言語のswitchでのbreakを使わずに次のcaseの処理へフォールスルーさせるには、
そのものずばりのfallthroughを記述すると可能となるようです。





Swiftで変数名の頭で使用できる文字 [Swift]

昨日Appleの開発者向けコンファレンスWWDC 2014でObjective-Cに替わる新言語Swiftが発表されました。
言語仕様のドキュメントがAppleから公開されているのでいろいろ読んでいるのですが、変数名に絵文字が使えたりするようです。

0123456789ABCDEF
U+004xABCDEFGHIJKLMNO
U+005xPQRSTUVWXYZ
U+006xabcdefghijklmno
U+007xpqrstuvwxyz
U+00Ax¨ª­¯
U+00Bx²³´µ·¸¹º¼½¾
U+00CxÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
U+00DxÐÑÒÓÔÕÖØÙÚÛÜÝÞß
U+00Exàáâãäåæçèéêëìíîï
U+00Fxðñòóôõöøùúûüýþÿ


U+0100〜U+178F ラテン文字拡張 A
U+1800〜U+024F ラテン文字拡張 B
U+0250〜U+02CF IPA発音記号拡張
U+02D0〜U+02FF 独立修飾文字
U+0370〜U+03FF ギリシア文字・コプト文字
U+0400〜U+04FF キリル文字
U+0500〜U+052F キリル文字増補
U+0530〜U+058F アルメニア文字
U+0590〜U+05FF ヘブライ文字
U+0600〜U+06FF アラビア文字
U+0700〜U+167F
U+1681〜U+180D
U+180F〜U+1DBF
U+1E00〜U+1FFF
U+200B〜U+200D
U+202A〜U+202E
U+203F〜U+2040
U+2054
U+2060〜U+206F
U+2070〜U+20CF
U+2100〜U+218F
U+2460〜U+24FF
U+2776〜U+2793
U+2C00〜U+2DFF
U+2E80〜U+2FFF
U+3004〜U+3007
U+3021〜U+302F
U+3031〜U+303F
U+3040〜U+D7FF
U+F900〜U+FD3D
U+FD40〜U+FDCF
U+FDF0〜U+FE1F
U+FE30〜U+FE44
U+FE47〜U+FFFD
タグ:SWIFT
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

HTMLコードテキストをブログ用テキストに変換する小さなWebサービス作りました [Webアプリ]

前回の投稿で書いたWebアプリを簡単なWebサービスにしてみました。
html2blogtext.png

WebサービスのURLは、
http://www.yuu.que.jp/tools/html2blogtext/
です。

タグ:WEBサービス
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

HTMLコードテキストをブログ用テキストに変換するWebアプリを作ってみました [Webアプリ]

昨日のSo-netブログでHTMLコードをそのまま書き込めないので、<と>と&を一つ一つ手動で変換していることを書きましたが、とても面倒なので自動で変換するように簡単なWebアプリを作ってみました。
convertHTMLSafeTest.png

アプリの上部の領域にHTMLコードを入力すると下部の領域に変換したテキストが表示されます。
変換したテキストをコピーすればいいのでとても便利です。
上部の領域でのテキスト入力では、1文字毎に変更する仕様ですのでコードを入力しながら確認して行くことも可能です。
ソースファイルは、index.html、jquery-2.0.0.min.js、script.jsだけです。

index.htmlは以下のようにしてみました。
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Convert plain text to HTML safe text</title>
  <script type="text/javascript" src="./jquery-2.0.0.min.js"></script>
  <script type="text/javascript" src="./script.js"></script>
</head>
<body>
  <div id="inputArea">
    <textarea id="input" rows="20" cols="50"></textarea>
  </div>
  <div id="outputArea">
    <textarea id="output" rows="20" cols="50"></textarea>
  </div>
</body>
</html>

script.jsは、CoffeeScriptから生成したファイルです。
script.coffeeは以下のようにしました。
#

## debug
debug = (message) ->
  console.log message

## convertHTMLSafeText
convertHTMLSafeText = (text) ->
  text = text.replace(/&/g, "&amp;")
  text = text.replace(/</g, "&lt;")
  text = text.replace(/>/g, "&gt;")
  $('#output').val(text)
  
## 
$ ->
  $('#input').on 'keyup', ->
    convertHTMLSafeText $('#input').val()


この記事は、当然このWebアプリを使ってコードを生成してペーストして投稿しました。

nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。