約 949,280 件
https://w.atwiki.jp/api_programming/pages/147.html
下位ページ Contents 開発ガイドライン サポートする製品の特定 Exporting the App the First Version の公開Attach File Upload an AppApp File Title and Description Category Privacy Policy ANT+ Profiles Cover Image Screen Images Preview Video (Optional) Additional Information Terms of Use アプリ公開の承認プロセス 開発ガイドライン Garminとして思うように動かないアプリは却下 しょっちゅうクラッシュするようなら却下 developer termに反する GPS の使い方はダメ 許可無く商標・コピーライトを使っちゃダメ ガイドラインは変更になることが有ります 十分テストして発行準備ができたら、開発アプリを Garmin Connect IQ App Store に公開できる。提出準備は以下のとおり。 マニフェストファイルでアプリでサポートする製品が特定されている App Export Wizard で IQ ファイル を生成して、各サポートデバイスのバイナリファイルが含まれている。 App Store にアプリをアップロードする サポートする製品の特定 It is easy to quickly check the products supported by an app by viewing the manifest XML file in the project root iq products iq product id="round_watch"/ iq product id="vivoactive"/ iq product id="fr920xt"/ iq product id="epix"/ /iq products Eclipse のプロジェクトエクスプローラでは、プロジェクト上で右クリックをして、プロパティを選び、プロパティウィンドウで、プラットフォーム、パーミッションを編集できる。 Exporting the App Eclipse で Connect IQ メニューで、App Export Wizard を選択する。 必要なら、サポートする言語を選択すし、完了ボタンをクリックすると、app package (.iq) を生成する。 もしエラーが出なければ、公開準備完了。 the First Version の公開 Attach File 開発アカウントに IQ file をアップロードする Garmin Developer の Submit an App page に行き、 フォームを埋めて、Submit an App ボタンをクリック http //developer.garmin.com/connect-iq/submit-an-app/ IQ file が有効であれば、説明、スクリーンショット、などを追加 Upload an App App File アップロードするファイルの確認 Status Verified Version 0.9.0 beta App Type Application Compatible Devices ForeAthlete® 920XTJ, Forerunner® 920XT Title and Description 各言語毎?にタイトルと説明を入力。アプリのサポート言語以外でもいいんだろうか。 Title (Maximum 50 Characters) Description (Maximum 4,000 Characters) Category アプリのカテゴリを選択。他のユーザーが検索しやすいように、どのカテゴリが近いかを考える。 Privacy Policy ユーザーデータにアクセスするか?アクセスするならプライバシーポリシーへのリンクが必要 ANT+ Profiles ANT+ profiles を使うか? Cover Image カバーイメージ Connect IQ Store のアプリリストに表示される画像を登録。 150KB 以下の JPG, GIF or PNG で、正方形で表示される(ので、400 x 400 ピクセルが望ましい). Screen Images Connect IQ Store でアプリの詳細を伝える画像を登録。1~5つ。 150KB 以下の JPG, GIF or PNG で、正方形で表示される(ので、400 x 400 ピクセルが望ましい). Preview Video (Optional) 説明ビデオ。任意。Youtube か Vimeo へのリンク。 Additional Information メールアドレス:ユーザーには直接公開されない。 ソースコード(任意) 関連アプリ(任意):iOS や Android アプリが必要なら、その URL をここで指示。 関連ハードウェア 追加ハードウェアが必要なら、売っているページ Terms of Use By submitting this app, you agree to our Developer License Agreement and Terms of Use. アプリ公開の承認プロセス アプリのアップロードに成功したら、Connect IQ チームがレヴューする。通常は提出から72時間以内にレビューを完了させる。 承認まで、アプリは Garmin Connect App Store には現れないが、自分自身はアプリをプレヴューでき、テスト用にダウンロードできる。承認されると、通知を受け取ることができ、Connect IQ App Store に公開され、全てのユーザがダウンロードできるようになる。 却下された場合は、Connect IQ チームはその理由をメールで知らせてくれる。問題解決に一緒に取り組んでくれるかもしれない。 アプリは引き続きアップデートできるし、再提出もできる。しかし、承認までは Connect IQ App Store に表示されることはない。
https://w.atwiki.jp/api_programming/pages/257.html
標準入力input関数 入力データの処理整数入力 空白区切りの文字列を整数に変換して入力する 空白区切りの文字列を、配列として、整数に変換して入力する 一つずつ、4回入力を受け取る プログラムを終了するLecture 31 1行が長い場合 Lecture 32 if分 Lecture 34 論理演算子 Lecture 35 in と not の使い所 Lecture 36 値が入っていないことを確認するテクニック Lecture 37 None を判定する場合 Lecture 39 while else Lecture 41 for, break, continuefor else Lecture 43 range関数 イテレータからの受け取り方List Tuple の List Dict enumerate関数 zip関数 Lecture 46 辞書 Lecture 47 関数定義 def Lecture 48 関数の引数 Lecture 49 位置引数、キーワード引数、 Lecture 50 デフォルト引数で気をつけること Lecture 51 位置引数のタプル化 Lecture 52 キーワード引数の辞書化 Lecture 53 Docstringとは Lecture 54 関数内関数 Lecture 55 クロージャ Lecture 56 デコレーター Lecture 57 ラムダ(lambda) Lecture 58 ジェネレータ Lecture 59 リスト内包処理 Lecture 60 辞書包括表記 Lecture 61 集合内包表記 Lecture 62 ジェネレータ内包表記 Lecture 63 名前空間とスコープglobal Lecture 66 コマンドライン引数 標準入力 input関数 ans = input("入力してください。") 入力内容が戻り値 戻り値は文字列 改行は自動的には入らない 入力データの処理 整数入力 ans = int(input("入力してください。")) 123 空白区切りの文字列を整数に変換して入力する a, b = map(int, input().split(" ")) 12 23 空白区切りの文字列を、配列として、整数に変換して入力する # 入力を受ける → 空白で分ける → 整数としてmapにする → リストに変換する pattern_A = list(map(int, input().split(" "))) # 入力を受ける → 空白で分ける → 各要素をリスト内包表記で一つずつintに変換 pattern_B = [int(x) for x in input().split(" ")] 一つずつ、4回入力を受け取る a,b,c.d = map(int, [input() for _ in range(4)]) プログラムを終了する メインプロセスを終了させたい場合 sys.exit() exit() https //techacademy.jp/magazine/15831 https //www.sejuku.net/blog/24331 Lecture 31 1行が長い場合 \ バックスラッシュでつなぐ それか、()で囲っておく Lecture 32 if分 if x 0 print( negative ) elif x == 0 print( zero ) else print( positive ) Lecture 34 論理演算子 == != = = and or Lecture 35 in と not の使い所 if x in y if x not in y Lecture 36 値が入っていないことを確認するテクニック 0 は false 文字列が入っていると True 配列が空なら False False 0, 0.0, [], () Lecture 37 None を判定する場合 None if is_empty is not None print(1 == True) print(1 is True) Lecture while, continue, break while count 5 print(count) count += 1 while True if count = 5 break breakはループから抜ける continueはループ先頭に戻る Lecture 39 while else while else breakで抜けなければ実行される Lecture 41 for, break, continue for i in some_list for でリストを切ってiに入れる。リスト自体はPython/データタイプ/配列(List) list = [4,3,2,1] for i in list print(i) # 4,3,2,1 の順に表示 for else while ... else ... と同じく、break で抜けなかった場合に実行される。 for ... .... if ... print("fuga") break else print("hoge") fuga が出なかったら hoge が出る。何かループで検索して、見つかったらbreak、という場合に、見つからなかった場合の処理を書いたりできる。 https //www.sejuku.net/blog/23318 Lecture 43 range関数 for i in range(10) for i in range(2,10,3) 2から10を超えるまで、3おきに イテレータからの受け取り方 List Tuple の List まとめて受けられる C = [(1,2), (3,5), (8,13), ...] for a, b in C print(a, b) # 1 2 / 3 5 / ... が表示される Dict 何もしないと、key が出てくる d = {"a" "apple", "b" "banana", "c" "citron", ... # atwiki の仕様上、大かっこで閉じれない。。。 for k in d print(k) # a / b / c value 側がほしいなら d.values() にする。 key と value がセットで欲しいなら d.items() にする。 https //note.nkmk.me/python-dict-keys-values-items/ https //qiita.com/mocha_xx/items/8e1aa096ceae93d2b60c https //docs.python.org/ja/3.8/library/stdtypes.html#dict.keys https //docs.python.org/ja/3.8/library/stdtypes.html#dict.values https //docs.python.org/ja/3.8/library/stdtypes.html#dict.items enumerate関数 List と一緒にいくつ目か、の情報も欲しい場合に、enumerate が便利 for i, fruit in enumerate([a,b,c]) print(i, fruit) # 0 a / 1 b / ... と表示される zip関数 複数の iterable要素 をまとめる。複数のリストを同時に回したいときに便利。 for day,fruit,drint in zip(days, fruits, drinks) days, fruits, drinks の長さが違う場合、どうなる? - 短いものに合わせられる。 では、長いものに合わせたいときは?(何かで埋めて) itertools.zip_longest() https //note.nkmk.me/python-zip-usage-for/ Lecture 46 辞書 Python/データ構造 Lecture 47 関数定義 def def say_something() 関数の代入もできる return s def what_is_this(color) 引数パターン Lecture 48 関数の引数 def add_num(a int, b int) - int 明示はできるが、間違った入力でも動作してしまう。 Lecture 49 位置引数、キーワード引数、 def menu(entree, drink, dessert) menu(entree= beef , drink= ice , dessert= ice ) menu( beef , drink= ice , dessert= ice ) menu(drink= ice , beef , dessert= ice ) これはダメ def menu(entree= beef , drink= ice , dessert= ice ) デフォルト値 Lecture 50 デフォルト引数で気をつけること 参照引数(たとえばリスト)をデフォルトに入れるのは、間違いのもと Lecture 51 位置引数のタプル化 def say_something(*args) *アスタリスク for arg in args def say_something(word, *args) say_something( Hi , Mike , Nancy ) 最初のHiがword、後ろが引数 Lecture 52 キーワード引数の辞書化 def menu(**kwargs) **ダブルアスタリスク for k,v in kwargs.items() Lecture 53 Docstringとは 関数の説明書き、Pythonなりのルールがある。ルールに沿うとヘルプでの表示に使える。 Lecture 54 関数内関数 関数内だけで使う関数は、ローカルに定義できる def outer(a,b) def plus(c,d) return c + d Lecture 55 クロージャ 高度なPython技術なので「そんなものがある」程度 関数の使い分けができる def outer(a,b) def inner() return a + b return innerここではまだ実行されない Lecture 56 デコレーター @print_info の@ 同じ関数をちょっと変えて使い回す場合など Lecture 57 ラムダ(lambda) 6.13. ラムダ (lambda) 関数を簡易的に書く change_word = lambda word word.capitalize() Lecture 58 ジェネレータ yield ある状態を保持する(ループを途中で止める) Lecture 59 リスト内包処理 r = [i for i in t] r = [i for i in t if i % 2 == 0] Lecture 60 辞書包括表記 d = {x y for x,y in zip(w,f)} Lecture 61 集合内包表記 s = {i for i in range(10) if i % 2 == 0} Lecture 62 ジェネレータ内包表記 def g() g = (i for i in range(10)) タプルではなくジェネレータになる。 タプルにする場合には taple(...) とタプルの宣言をする Lecture 63 名前空間とスコープ グローバルとローカル変数がぶつかる場合、global global 例えば、関数内で global で変数を宣言すると、よそで宣言された同じ名前の変数を使える(つまりグローバルに使える) a = 1 def testfunc() global a print(f"{a} in testfunc) # エラーにならず、1が表示される で、上手に消化できない挙動 def testfunc1() global a # 関数の中で突然、「俺はグローバルだぜ」と宣言する。まだ外では a が存在していない。 a = 1 print("%d in testfunc1", a) def testfunc2() global a print("%d in testfunc2", a) if __name__ == "__main__" testfunc1() # 1 in testfunc1 testfunc2() # 1 in testfunc2 - testfunc1 で宣言した a もglobal で使えた Lecture 66 コマンドライン引数 import sys print(sys.argv)
https://w.atwiki.jp/theescapistswiki/pages/4.html
”The Escapistsは夢の囚人シュミレーターだ。様々な道具を用いて行われる奇抜な脱走計画はこれまでのゲームにない体験だ!” Indie Love ”レトロなドット絵にレトロなBGM、これらが素晴らしい雰囲気を醸し出している。探索とアドリブが中毒性を生む素晴らしいゲームコンセプトだ。” Strategy Informer 「プリズン・ブレイク」や「ショーシャンクの空に」そして「大脱走」。テレビや映画で見かける憧れの囚人生活を「The Escapists」では体験できます! ゲームの目標はそのものずばり監獄からの脱出!プレイヤーは点呼や食事、仕事など日々のルーチンワークをこなしながら監視の目をかい潜り、囚人仲間 と時には協力時には利用し、脱獄に必要な道具をひっそりと集めながら、虎視眈々と脱獄計画の準備を進めていきます。 ”脱獄ファン必見のシチュエーションに溢れた8つのステージ!!” ”監獄内で就ける職種は全10種類!!” 探索、クラフト(アイテム作成)によって収集できるユニークアイテムはなんと100種類以上! 当ゲームの熟練者は所内でヌンチャクまで振り回せます!!
https://w.atwiki.jp/now_api/pages/3.html
更新履歴 取得中です。 ここを編集
https://w.atwiki.jp/wximsupport/pages/35.html
NSTextInputClientの使い方(というより実装方法)のメモ 用語とか marked text未確定の文字列 insertion point 挿入位置 selection range 選択範囲 marked textがあるならば、selection rangeはmarked text内部にないといけない Viewがするべきこと kewDown の処理 NSTextInputContext -handleEvent を呼ぶ NSTextInputClientの実装 NSTextInputClientとNSTextInputの比較 NSTextInputClient (Mac OS X 10.5以降)hasMarkedText (共通) markedRange (共通) selectedRange (共通) setMarkedText selectedRange replacementRange (引数replacementRange追加) unmarkText (共通) validAttributesForMarkedText (共通) attributedSubstringForProposedRange actualRange (引数actualRange追加) insertText replacementRange (引数replacementRange追加) characterIndexForPoint (共通) firstRectForCharacterRange actualRange (引数actualRange追加) doCommandBySelector (共通) attributedString (optional) fractionOfDistanceThroughGlyphForPoint (optional) baselineDeltaForCharacterAtIndex (optional) windowLevel (optional) drawsVerticallyForCharacterAtIndex (optional) NSTextInputhasMarkedText markedRange selectedRange setMarkedText selectedRange unmarkText validAttributesForMarkedText attributedSubstringFromRange insertText characterIndexForPoint firstRectForCharacterRange doCommandBySelector conversationIdentifier (NSTextInputClientでは削除)
https://w.atwiki.jp/api_programming/pages/227.html
Automate/Documentation/Variables - LlamaLab Variables You use variables as symbolic names for values in flows. A variable name must start with a letter, subsequent characters can also be digits and connecting punctuation characters like underscore. Variable names are case-insensitive, the following variables all refer to the same value; FOO, foo Foo. A variable is declared when it’s named as an output variable in a block. Note! Each running fiber has an independent set of values for the user declared variables, which can’t be directly modified by another fiber. Use the blocks in the concurrency category to exchange variable values with other fibers. 組み込み変数 Automate上で使える組み込み変数 Infinity Constant holding the number for positive infinity. NaN Constant holding a number for (IEEE 754) Not-a-Number. Now 現在時刻のUNIXタイムスタンプ。この変数は入力引数として使われているとき、ブロックの実行中、変化しない。 Pi Constant holding the number that is closer than any other to pi, the ratio of the circumference of a circle to its diameter. Note! This documentation can also be found in the Help feedback menu of the app.
https://w.atwiki.jp/cscd/pages/253.html
EvernoteによくPDFを置いておくのだけど、Macに公式のclientを入れておくと全部同期するので容量取るのでじゃま。でもWeb clientは使いにくい。uploadだけでも簡単にやりたかったのでつくった。そのうち検索もつくりたい。 解説はなしで。めもとして置いておく。ほとんどコピペ。Macのmdlsコマンドを使ってる。sandbox=trueかfalseをちゃんと指定しないと動かないっぽい。Oauth使うのめんどうだったのでdeveloper tokenを使った。 pedf2evernote.rb https //dev.evernote.com/intl/jp/doc/start/ruby.php を参考につくった。 #!/usr/bin/ruby# Load libraries required by the Evernote OAuth sample applicationsrequire oauth require oauth/consumer # Load Thrift Evernote Ruby librariesrequire "evernote_oauth" require "./make_note.rb" def developer_token YOUR_DEVELOPER_TOKENend client = EvernoteOAuth Client.new( token developer_token, # sandbox true sandbox false) #user_store = client.user_store#user_store.getUser(developer_token) note_store = client.note_storenotebooks = note_store.listNotebooks() notebooks.each do |notebook| puts "Notebook #{notebook.name}" end filename1 = ARGV[0]file1 = File.open(filename1,"rb"){ |io| io.read }data1 = Evernote EDAM Type Data.new()data1.body = file1resource1 = Evernote EDAM Type Resource.new()resource1.mime = "application/pdf"resource1.data = data1resource1.attributes = Evernote EDAM Type ResourceAttributes.new()resource1.attributes.fileName = filename1 mdlsrslt1=`mdls -name kMDItemWhereFroms #{filename1}`sourceURL1 = mdlsrslt1.split("\"")[1] resources = [resource1]sourceURLs = [sourceURL1] comment=ARGV[1] created = `mdls -name kMDItemContentCreationDate #{filename1}`lastmod = `mdls -name kMDItemContentModificationDate #{filename1}`lastused = `mdls -name kMDItemLastUsedDate #{filename1}` mdls = "This PDF was br / created at #{created.split("=")[1]} br / modified at#{lastmod.split("=")[1]} br / Last used at#{lastused.split("=")[1]} br / on PC from mdls information." make_note(note_store,filename1, comment, resources, sourceURLs, mdls) make_note.rb だいたいこれ → https //gist.github.com/evernotegists/3c9b62e83684b2e864b1 def make_note(note_store, note_title, note_body, resources=[], sourceURLs=[], mdls) parent_notebook=nil, #Create a Note instance with title and body # Send Note object to user s account our_note = Evernote EDAM Type Note.new our_note.title = note_title ## Build body of note n_body = " ?xml version=\"1.0\" encoding=\"UTF-8\"? " n_body += " !DOCTYPE en-note SYSTEM \"http //xml.evernote.com/pub/enml2.dtd\" " n_body += " en-note #{note_body}" unless resources.empty? ### Add Resource objects to note body n_body += " br / br / " our_note.resources = resources resources.each do |resource| hash_func = Digest MD5.new hexhash = hash_func.hexdigest(resource.data.body)# n_body += "Attachment with hash #{hexhash} br / en-media type=\"#{resource.mime}\" hash=\"#{hexhash}\" / br / " n_body += " br / en-media type=\"#{resource.mime}\" hash=\"#{hexhash}\" / br / " end end n_body += " br / br / " n_body += mdls n_body += " /en-note " our_note.content = n_body our_note.tagNames = ["PDFUploader"] our_note.attributes = Evernote EDAM Type NoteAttributes.new() our_note.attributes.sourceURL = sourceURLs[0] ## Attempt to create note in Evernote account begin note = note_store.createNote(our_note) rescue Evernote EDAM Error EDAMUserException = edue ## Something was wrong with the note data ## See EDAMErrorCode enumeration for error code explanation ## http //dev.evernote.com/documentation/reference/Errors.html#Enum_EDAMErrorCode puts "EDAMUserException #{edue}" rescue Evernote EDAM Error EDAMNotFoundException = ednfe ## Parent Notebook GUID doesn t correspond to an actual notebook puts "EDAMNotFoundException Invalid parent notebook GUID" end ## Return created note object note end 参考リンク Getting Started with the Evernote API - Evernote Developers RubyからEvernoteのAPIを使ってみよう - (゚∀゚)o彡 sasata299's blog Evernoteをプログラムから使う。Ruby編 - それマグで! コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/solidworksapi/pages/23.html
アプリケーションオブジェクト取得 マクロから取得 Sub GetApplication() Dim objApp As SldWorks.SldWorks Set objApp = Application.SldWorks End Sub 外部プログラムから取得 Sub GetApplicationOutSide() Dim objApp As SldWorks.SldWorks 新規の場合 Set objApp = CreateObject("SldWorks.Application") 既存の場合 Set objApp = GetObject("", "SldWorks.Application") End Sub 戻る アプリケーション オブジェクト取得
https://w.atwiki.jp/android_api/pages/18.html
アンドロイドアプリケーションを全体的にカプセル化したハイレベルなクラスに当たります。Activityを中心としてその他のトップレベルのアプリケーションコンポーネントとしてService やBroadcastReceiverとContentProvider
https://w.atwiki.jp/api_programming/pages/92.html
http //masahal.web.fc2.com/addon_lecture/setup.html 開発用プロファイル 「スタート」メニューから「ファイル名を指定して実行(R)...」 firefox.exe -ProfileManager ショートカットの作成 "C \Program Files\Mozilla Firefox\firefox.exe" -no-remote -P devC \Program Files\Mozilla Firefox\firefox.exe" はfirefoxのインストール場所に依る 作成したプロファイルは、ユーザフォルダのAppData内に保管されている 開発用プロファイルでの設定 about configを開く 以下の項目を設定するない場合は、右クリック→新規作成→真偽値 に項目名を打ち込むjavascript.options.showInConsole = truechrome ファイルでのエラーを エラーコンソール に出力します。 nglayout.debug.disable_xul_cache = trueXUL キャッシュを無効にして、再起動しなくてもウィンドウとダイアログの変更が反映されるようにします。 browser.dom.window.dump.enabled = true標準コンソールへの出力をする為の dump() 文の使用を可能にします。 javascript.options.strict = trueエラーコンソールでの厳密な警告を有効にします。 extensions.logging.enabled = truedump() 文を有効にするのに必要。 簡単なAdd-onで作成方法を確認する Extension作成用のフォルダをつくるスペースが入らないようにする。ので、Cドライブ直下にExtensionsフォルダを作り、その中にtestextensionとかをつくる。 testextension内に4つのファルダを準備する。content,default,locale,skin, testextension内にinstall.rdfを準備する。 アドオンのidは他のアドオンとかぶらないように、「アドオンの名前@作者名.net」のようにメールアドレスの形式で書きます(メールアドレスを書くわけではない)。test_addon@myname.net https //dev.mozilla.jp/2011/08/add-on-sdk-install-knagato/ Addon SDK Python 2.xのインストールPath設定を忘れずに Addon SDKの準備ダウンロード、解凍 配置 今後のために、ショートカットを作成しておくと便利 cfxコマンドライン https //dev.mozilla.jp/addon-sdk-docs/dev-guide/tutorials/getting-started-with-cfx.html cfx init アドオンの基本的なスケルトンを作成してくれる。 mkdir my-addon // ディレクトリを作って cd my-addon // そのディレクトリに移動して cfx init // スケルトンコードを作成する cfx run 作成したアドオンをインストールした状態で、Firefox の新しいインスタンスが起動される。 idが入っていない状態でも、idを勝手に作ってくれる。 cfx xpi cfx xpi は開発完了後に XPI ファイルをビルドするために使用する。 xpi ファイルは、cfx xpi コマンドを実行したディレクトリに作成されます。