Swift4のsubstringが非推奨になった話 - 'substring(to:)' is deprecated

Swift4からのコード

"abcdefg".substring(to:"abcdefg".index("abcdefg".endIndex, offsetBy: -5))

こういうコードがSwift4からは

"abcdefg"[..<"abcdefg".index("abcdefg".endIndex, offsetBy: -5)]

になります.

ZipCode4sをSwift4に対応させました

github.com

polSearch アップデート情報 2017/09/16

アップデート内容

  • ブックマーク機能追加
  • 広告もちょっぴし追加(バイトしてなくて貯金もほぼないので助けて…
  • スペシャルサンクスページ追加

スクリーンショット

  • インフォボタンの追加(ここからスペシャルサンクスページへ)
  • タブバーを追加(ブックマーク画面との切り替え)

f:id:taillook:20170916232925p:plain

ブックマークのやりかた

  • +ボタンを押すとブックマークに追加出来ます
  • 削除は+ボタンの位置にゴミ箱ボタンが出るのでそれを押すとブックマークから削除できます

f:id:taillook:20170916233304p:plain

ハードタブとソフトタブについて

ハードタブ・ソフトタブ

インデントの種類としてハードタブとソフトタブがある.

ハードタブ

ハードタブはタブ文字 \tを用いてインデントを表現する.

ハードタブのメリット

エディタの設定で幅を変えられる

ソフトタブ

ソフトタブはスペースを用いてインデントを表現する.
(スペースなのにタブって言ってるの面白い)

ソフトタブのメリット

どの環境で見ても同じ幅になる.

おすすめ

www.taillook.tech

私はハードタブが好き

Swift3でシングルトンを試す

シングルトンとは

インスタンスが必ず一つであることを保証したいクラスがあったときにそれを保証してくれるものがシングルトンである.

コード例

class Common: NSObject {
    static let sharedInstance = Common()
    var sharedString = ""

    private init() {

    }
}

利用側コード

class ViewController: UIViewController {
    var test = Common.sharedInstance.sharedString
}

pythonでOpen JTalkを使うサンプル

Open JTalkとは

”Open JTalk”は名古屋工業大学の研究チームが作ったフリーのLinux日本語音声合成エンジンのこと

Open JTalk - HMM-based Text-to-Speech System

インストール方法

環境

  • debian系Linux
  • python 2.7.x

インストール

sudo apt-get install open-jtalk
sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

コード

#-*- coding:utf-8 -*-
import subprocess
from datetime import datetime

def jtalk(t):
    open_jtalk=['open_jtalk']
    mech=['-x','/var/lib/mecab/dic/open-jtalk/naist-jdic']
    htsvoice=['-m','/usr/share/hts-voice/mei/mei_normal.htsvoice']
    speed=['-r','1.0']
    outwav=['-ow','open_jtalk.wav']
    cmd=open_jtalk+mech+htsvoice+speed+outwav
    c = subprocess.Popen(cmd,stdin=subprocess.PIPE)
    c.stdin.write(t)
    c.stdin.close()
    c.wait()
    aplay = ['aplay','-q','open_jtalk.wav']
    wr = subprocess.Popen(aplay)

def say_datetime():
    d = datetime.now()
    text = '%s月%s日、%s時%s分%s秒' % (d.month, d.day, d.hour, d.minute, d.second)
    jtalk(text)

if __name__ == '__main__':
    say_datetime()

3 ハードタブ インデント をはじめよう

3ハードタブインデントとは?

3文字分のtab文字でインデントを表現すること

例(例外的に3スペース)

#include <stdio.h>

int main(void) {
   printf("Hello World!\n");
   return 0;
}

NEWGAMEのねねっちも採用

このサイトのキャプチャからねねっちのコードを見ると3つスペースが空いてることがわかる

anihatsu.com

ハードタブとソフトタブ

  • ハードタブは\tとして表現される
  • ソフトタブは自動でスペースとして表現される

それだけ

なぜハードタブか

エディタの設定は人それぞれ.
2スペースインデントのコードを普段4スペースの人が読んだとき,「は?」となるはず
ハードタブなら\tなのでその人の環境によって幅が自動で調節される

.vimrcでの設定

set tabstop=3 " 画面上でタブ文字が占める幅
set softtabstop=3 " 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set autoindent " 改行時に前の行のインデントを継続する
set smartindent " 改行時に前の行の構文をチェックし次の行のインデントを増減する
set shiftwidth=3 " smartindentで増減する幅

bash上でC言語のプログラムを即時実行

やり方

.bash_profileに以下を記入

function shellc () {
  gcc $1 -o ~/.out && ~/.out
}

試す

test.cを作成

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");
    return 0;
}

bash上で実行

USER$ shellc test.c 
Hello World!

polSearchが配信されるまでの流れ [polca企画検索アプリ]

polSearchとは

知らない人はここを見てください!↓

taillook.hateblo.jp

これまでの経緯

8月10日朝

polcaが配信される

8月10日昼

このツイートでpolcaを知る.

8月10日 14:39

以前からアプリを公開したいと思っていたので資金を募ってみる.

8月14日 朝

目標額達成!
目標額達成自称高専生初となる.

8月14日 18:19

これだ!と思い,@jmworksさんに連絡しAPIを使わせてもらえることに

8月14日 22:53

ご飯とか食べてたので実質3時間で原型のアプリを作成.

8月30日 22:02

AppStoreの審査に通る.

9月9日現在

新機能開発中

バーニラ♪を考えてみる

「バーニラ」とは?

「バーニラ」とは風○系・デ○○ル系の求人サイトの広告です.
(リンク注意)風俗求人【バニラ】で高収入アルバイト
この記事ではなぜこれが話題になったかを考察していく.

なぜ話題になったか

アドトラックの影響

新宿などの繁華街でスピーカーを積んだ装飾の激しいトラックが「バーニラ・バニラ・バニラで求人♪」とかなり大きな音で流しているのをよく見ると思います.(そこに行く人なら

例の曲の影響

Webアーカイブですが公式のダウンロードサイトがありました.著作物のご利用について | 株式会社コネクト
「子供が歌って困る」といった話もこの曲の中毒性から来ているのかも.

派生楽曲


【中毒新曲】高収入求人情報バニラ VANILLA EDM 2016 ver

ツイッターでの話題性

昔からあった「花びら大回転」的な看板に似た興味をもたらされるマインドコントロール的なソレがアレしているのかもしれない.
私が小学校の頃流行った麻原彰晃の歌も,今の熱盛もそのひとつだろう.

屋外広告物条例施行規則について

東京都の条例で広告の規制はあるが,新宿等のそれはナンバーが都外のもの.
都外のものなので効力がないらしい.

子供が歌うことについて

自分は「う○こう○こ」と連呼する子供が大人になるに連れ言わなくなるの同じで,なぜ公共の場でふさわしくないのかを学ぶ為にある意味この広告があってもいいのではと考える.

バニラの闇

バニラ,Vanillaだけど,逆から読むと「All in AV」

polca企画検索アプリ,polSearchをAppStoreに公開しました!

wo# polcaとは クラウドファンディング事業のCAMPFIRが8月10日に公開した少額のクラウドファンディングが可能な「フレンドファンディング」アプリ.

過去の記事(支援募ってみた)

taillook.hateblo.jp

募った支援でAppStoreのデベロッパーアカウントを購入出来ました.

これを作った↓

polSearch

polSearch

現在のダウンロード数

139ダウンロード(2017/09/08現在)

今後について

ブックマーク機能・ランキング機能等を考えています.

レビューして欲しい

レビューに欲しい機能とか書いて欲しいです.