• 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
 

Get Top Apple TV Development services from 4 Way Technologies which works in the designing and development of Apple TV apps and we have top Apple TV Developer provide cutting edge services in the development of Apple TV applications and also in other development platforms be it TVOS Development, TVOS App Development, Apple TV App Development etc. Connect with us to develop your applications and you can also find us in Maryland state and other countries including the USA, UK & Australia.

https://4waytechnologies.com/technology/smart-tv-app-development/apple

image1.png

posted by Png 4waytechnologies on Mon 18 Feb 2019 at 10:24

下図のような感じのディスプレイ作ろうとしてる人いないですかね。

FiberSweepDisplay.png

撮像用途では光ファイバスキャナの研究を見かけたのですが。

ディスプレイでも行けそうですよね

posted by Png genki on Tue 21 Mar 2017 at 16:06

Xの原因だと思っていたものが、実はXの結果であった、という事は結構ありますね。前後即因果の誤謬に近いかな。虚偽の原因の誤謬の一種ですね。

posted by Png genki on Fri 3 Jun 2016 at 14:27

例えば、String <-> NSAttributedString

   1  @objc(S2ASTransformer) class
   2  S2ASTransformer	:	NSValueTransformer {
   3  
   4  	override static	func
   5  	transformedValueClass() -> AnyClass {
   6  		return NSAttributedString.self
   7  	}
   8  	override static	func
   9  	allowsReverseTransformation() -> Bool {
  10  		return true
  11  	}
  12  	override func
  13  	transformedValue( p: AnyObject? ) -> AnyObject {
  14  		if let w = p as? String { return NSAttributedString( string: w ) } else { return NSAttributedString() }
  15  	}
  16  	override func
  17  	reverseTransformedValue( p: AnyObject? ) -> AnyObject {
  18  		if let w = p as? NSAttributedString { return w.string } else { return "" }
  19  	}
  20  
  21  }
  22  

こんなの作ってこうやって登録

   1  	func
   2  	applicationDidFinishLaunching( p: NSNotification ) {
   3  		NSValueTransformer.setValueTransformer( S2ASTransformer(), forName: "S2ASTransformer" )
   4  	}
   5  	
   6  

posted by Face Saturn on Sat 26 Mar 2016 at 15:56

Though currently I am prefer to use CofferScript than Swift, I have thought that the defer of Swift2 is pretty cool. So I wrote a snippet that accomplishes the feature by using yield as like the manner of co is doing.

   1  defer = (g) -> 
   2    deferred = []
   3    go = (i) ->
   4      {value,done} = do i.next
   5      unless done
   6        deferred.push value
   7        go i
   8    exit = -> 
   9      do f for f in deferred
  10      process.removeListener 'exit', exit
  11    process.on 'exit', exit
  12    try go do g
  13    catch then do exit
  14   
  15  foo = (type) -> defer ->
  16    console.log "#{type} 1"
  17    yield -> console.log "#{type} deferred 1!"
  18    yield -> console.log "#{type} deferred 2!"
  19    console.log "#{type} 2"
  20    if type == "exit" then do process.exit
  21    else throw "throw"
  22    console.log "3"
  23  
  24  foo "throw"
  25  foo "exit"
  26  
  27  # RESULTS
  28  # 
  29  # throw 1
  30  # throw 2
  31  # throw deferred 1!
  32  # throw deferred 2!
  33  # exit 1
  34  # exit 2
  35  # exit deferred 1!
  36  # exit deferred 2!

posted by Png genki on Sat 10 Oct 2015 at 00:36

ということで、適当なセカンダリで重複を探して予め削除する必要が。 aggregateで探す例)

   1  aggregate([
   2    {:$group => {_id: {user_id:"$user_id", date:"$date"},
   3      uniqueIds: {:$addToSet => "$_id"}, count:{:$sum => 1}}},
   4    {:$match => {count: {:$gt => 1}}}],
   5    allowDiskUse: true)

posted by Png genki on Fri 22 May 2015 at 02:28

WiredTigerが非常に素晴らしいのですが、設定ファイルが

  1. /etc/mongod.conf
  2. /var/lib/mongodb/WiredTiger.basecfg
  3. /var/lib/mongodb/WiredTiger.config

のように沢山あって結構ややこしいです。

基本的には 1. はmongodbの初回起動時だけ有効で、3. が次回以降の再起動で反映されるものになります。 さらに、mongodbを動かしたままWiredTigerの設定だけ変更したい場合は、 mongoのコンソールから

   1  db.adminCommand({setParameter:1, wiredTigerEngineRuntimeConfig:"c
   2  ache_size=8G"})

のように修正できるようです。パラメータ名は 2. のファイルの中身が参考になります。 これによって内部的にはWT_CONNECTION::reconfigureが実行される模様。

修正したら、次回来起動した場合に備えて 3. も書き換えておくと良いでしょう。

posted by Png genki on Wed 13 May 2015 at 03:43

たびたび見失ってGoogleで探すのに苦労するので道標的に。

posted by Png genki on Fri 8 May 2015 at 21:46

二人前の分量です。

  • スペルト小麦(farro)80g セミペルラート(半精麦)
  • にんにく一片
  • 鶏もも肉150g (皮、脂肪を除いた重さ)
  • 白ワイン(辛口)100cc
  • オリーブオイル 25g (エクストラバージン)
  • ローリエの葉1枚
  • 固形ブイヨン1/2
  • 厚切りベーコン50g
  • パルミジャーノチーズ 10g
  • バター 10g
  • タイム一振り
  • エシャロット 1本
  • 人参1/3ぐらい
  • 塩コショウ 適量

手順

  1. スペルト小麦を冷たい水に浸して30分放置し、ザルなどで水を切って流水で洗う。鍋に1リットルの水を入れ、スペルト小麦、にんにく、ローリエを入れて沸騰させ、とろ火にして45分ほど煮込む。

  2. 鶏もも肉の皮と脂肪を取り除き、人参とともに1cm角ほどのサイコロ状に切る。エシャロットはみじん切りにする。

  3. 煮込み終わったスペルト小麦をザルなどで水切りし、ボールに移してオリーブオイルを加えて混ぜ、冷ます。
  4. ベーコンを棒状に切り、フライパンで油が出るまで過熱し、鶏肉、人参、エシャロットを加えて4分間ほど中火で過熱する(人参にしっかり火を通す)
  5. 白ワインを加えて沸騰させ、ブイヨン、塩、スペルト小麦を加えて手早くかき混ぜる。
  6. フライパンに蓋をしてとろ火で5〜10分ほど煮詰める。
  7. バター、パルミジャーノチーズを削り入れ、リゾット状になるように混ぜる
  8. タイムを一振り、塩、胡椒で味を整える。
  9. 皿に盛りつけて完成
posted by Png genki on Sun 26 Apr 2015 at 03:02

   1  //	To use those functions below
   2  //	You need to import CommonCrypto.h in your bridging header.
   3  //		#import <CommonCrypto/CommonCrypto.h>
   4  
   5  func
   6  DataCryptedByAES( operation: CCOperation, p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
   7  	var	wKeyLength = 0
   8  	if		key.length < kCCKeySizeAES128	{ assert( false ) }
   9  	else if	key.length < kCCKeySizeAES192	{ wKeyLength = kCCKeySizeAES128 }
  10  	else if	key.length < kCCKeySizeAES256	{ wKeyLength = kCCKeySizeAES192 }
  11  	else									{ wKeyLength = kCCKeySizeAES256 }
  12  
  13  	if iv != nil { assert( iv!.length == kCCBlockSizeAES128 ) }
  14  
  15  	var	wLength = UInt( ( ( p.length + kCCBlockSizeAES128 - 1 ) / kCCBlockSizeAES128 ) * kCCBlockSizeAES128 )
  16  	let	v = NSMutableData( length: Int( wLength ) )!
  17  	let	s: CCCryptorStatus = CCCrypt(
  18  		operation
  19  	,	CCAlgorithm( kCCAlgorithmAES )
  20  	,	options
  21  	,	key.bytes
  22  	,	UInt( wKeyLength )
  23  	,	iv != nil ? iv!.bytes : nil
  24  	,	p.bytes
  25  	,	UInt( p.length )
  26  	,	v.mutableBytes
  27  	,	wLength
  28  	,	&wLength
  29  	)
  30  	v.length = Int( wLength )
  31  	return ( s, v )
  32  }
  33  
  34  func
  35  DataEncryptedByAES( p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
  36  	return DataCryptedByAES( CCOperation( kCCEncrypt ), p, key, options, iv )
  37  }
  38  
  39  func
  40  DataDecryptedByAES( p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
  41  	return DataCryptedByAES( CCOperation( kCCDecrypt ), p, key, options, iv )
  42  }
  43  
  44  func
  45  DataCryptedByBlowfish( operation: CCOperation, p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
  46  	if iv != nil { assert( iv!.length == kCCBlockSizeBlowfish ) }
  47  
  48  	var	wLength = UInt( ( ( p.length + kCCBlockSizeBlowfish - 1 ) / kCCBlockSizeBlowfish ) * kCCBlockSizeBlowfish )
  49  	let	v = NSMutableData( length: Int( wLength ) )!
  50  	let	s: CCCryptorStatus = CCCrypt(
  51  		operation
  52  	,	CCAlgorithm( kCCAlgorithmBlowfish )
  53  	,	options
  54  	,	key.bytes
  55  	,	UInt( key.length )
  56  	,	iv != nil ? iv!.bytes : nil
  57  	,	p.bytes
  58  	,	UInt( p.length )
  59  	,	v.mutableBytes
  60  	,	wLength
  61  	,	&wLength
  62  	)
  63  	v.length = Int( wLength )
  64  	return ( s, v )
  65  }
  66  
  67  func
  68  DataEncryptedByBlowfish( p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
  69  	return DataCryptedByBlowfish( CCOperation( kCCEncrypt ), p, key, options, iv )
  70  }
  71  
  72  func
  73  DataDecryptedByBlowfish( p: NSData, key: NSData, _ options: CCOptions = CCOptions( kCCOptionPKCS7Padding ), _ iv: NSData? = nil ) -> ( CCCryptorStatus, NSData ) {
  74  	return DataCryptedByBlowfish( CCOperation( kCCDecrypt ), p, key, options, iv )
  75  }
  76  
  77  
  78  //USAGE
  79  
  80  func
  81  UTF8Data( p: String ) -> NSData? {
  82  	return p.dataUsingEncoding( NSUTF8StringEncoding )
  83  }
  84  
  85  func
  86  Usage() {
  87  	let	wKey = UTF8Data( "teststring" )!
  88  	let	wIV = UTF8Data( "12345678" )!
  89  	var	( s, data ) = DataEncryptedByBlowfish( UTF8Data( "testmessage" )!, wKey, CCOptions( kCCOptionPKCS7Padding ), wIV )
  90  	assert( Int( s ) == kCCSuccess )
  91  	( s, data ) = DataDecryptedByBlowfish( data, wKey, CCOptions( kCCOptionPKCS7Padding ), wIV )
  92  	assert( Int( s ) == kCCSuccess )
  93  }
  94  

posted by Face Saturn on Thu 26 Mar 2015 at 08:45