Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

asdfでpython3.11.5がインストールできない

intel Macでasdfを使ってpython 3.11.5がインストールできなかった問題を対処した。 現象としては asdf list-all python に対応するバージョンが出てこない。 やったこと brewのupdate asdfを一端アンインストールし、 brew install asdfで入れ直した。

rectでdomの参照はrefを使う

例えば、次のようにrefを受け取って該当箇所に接続したりする。 react.dev

アニメーション

サイズが変わるときとかにつかえる。 stackoverflow.com

HTMLコンポーネントを見えることろまでスクロール

scroolIntoViewでいける 親はoverflowさせておく?

useLayoutEffect

同期で実行される。

セレクタの練習

css

htmlを <html> <head> <link rel="stylesheet" href="sample.css"/> </head> <body> <div class="root"> 根っこ <div class="sub"> 根っこの子供 <div class="subsub"> 根っこの子供の子供 </div> <div class="poge"> 根っこの子供の子供2 </div> </div> <div class="poi"> 根っこの子供2 </div> <div class="poi2"> 根っこの子供3 </div> </div> </body></html>

spyonのimport

同一ファイル内にある function funcA() : B { return funcB()} function funcB() : B { ... } においてfuncBをモックにしてfuncAを呼んでもモックが呼ばれない。 import * as thisModule from "./funcA" function funcA() : B { return thisModule.funcB()}…

値を消す

function removeValueSubOrder<T, K extends keyof T, P extends keyof T[K]>( target: T, subOrder: K, keys: P[] ): T { const obj = { ...target } as any for (const key of keys) { obj[subOrder][key] = undefined } return obj as T } function removeValue<T, K extends keyof T>(target: T, keys: K[]): T { const…</t,></t,>

jest mock

関数のモック import * as Utils from "hogehoge" jest.mock("hogehoge") jest .spyOn(Utils, "hogeFunc") .mockReturnValue(exampleValue)

置き換え

作ってみた。 const replace: <T, S extends T>( list: T[], condition: (ob: T) => ob is S, callback: (ob: S) => T ) => T[] = (list, condition, callback) => list.map(t => (condition(t) ? callback(t) : t))</t,>

Gridを独自コンポーネントにする

(props) => react.componentにするだけで使えるようになる。 const useStyles = (theme: Theme) => { return makeStyles({ root: { flexGrow: 1 }, paper: { padding: theme.spacing(2), textAlign: 'center', color: theme.palette.text.secondary } }) } c…

Gridにスタイルをあてる

makeStylesを使う。 const useStyles = (theme:Theme) => { return makeStyles({ root: { flexGrow: 1 }, paper: { padding: theme.spacing(2), textAlign: 'center', color: theme.palette.text.secondary } }) } これをuseStyleしてやればよいだけ。 const…

UITextViewでAttributeTextが改行されない

let style = NSMutableParagraphStyle() style.lineBreakMode = .byWordWrapping してaddAttributeする。

セルの高さが自動設定されない

セルのコンテンツビュー内で高さと上下の設定をきちんといれてないとそうなる。

構造体を文字列としてみる

struct Hoge { let name:String let age:Int } extension String.StringInterpolation { mutationg func appendInterpolation(_ value: User) { appendInterpolation("Hoge's name is \(value.name) and he name is \(value.age)") } } としておいて、 let h…

translatesAutoresizingMaskIntoConstraints

自動でつける拘束条件をはずす。 translatesAutoresizingMaskIntoConstraints

Intrinsic Content Size

以下を呼んだメモ iOSのAutoLayoutにおけるIntrinsic Content Sizeについて - Qiita ビューを表示するための最低サイズ UIViewのプロパティとしてある。 読み取り専用だがオーバーライドはできる。 StoryBoard/XIBで一時的に設定できるがこの設定は実行時に…

変数の前の!!について

空白をチェックしているようだ。 javascriptで poge = {oiu:“”, hoge:“a”} !!poge.oiu -> false !!hoge -> true

pdfをepsにする

ひとまずこんな感じでやってみた。 #!/bin/bash # echo "$1" # 拡張子を除く BASE_FILE_NAME=`basename "$1" .pdf` # echo $BASE_FILE_NAME pdf2ps "$1" ps2eps ${BASE_FILE_NAME}.ps bashの参考 Bashの便利な構文だがよく忘れてしまうものの備忘録 - Qiita …

シュミレータでopenURL

dynamicLinkなどもこれで確かめられる。 xcrun simctl openurl booted https//hogehoge.page.link/***

Stackの中のカスタムビュー

Stack内でカスタムで作ったViewが縮む問題、以下で解決できた。 NSLayoutConstraint.activate( view.widthAnchor.constraint(equalToConstant: 320), view.heightAnchor.constraint(equalToConstant: 320) )

スキーム設定

スキーム追加 Product->Edit Schemeでduplicate Config追加 project file, Project, InfoタグのConfigurationで追加 スキームのエディットでrunを追加したConfigに設定 プリプロセッサ定義 prroject fileのBuild settingのPreprocessor Macroにそれぞれのコ…

passportでログイン情報が保存されてない。

routerにsessionをuseしていた。 appに対してsessionをuseする必要があった。

Mac brewでinstall時にplistでエラーになる

stackoverflow.com sudo chown -R $(whoami) $(brew --prefix)/*

フォント指定

stackoverflow.com 指定できるフォントを調べるには for family in UIFont.familyNames.sorted() { let names = UIFont.fontNames(forFamilyName: family) print("Family: \(family) Font names: \(names)") } フォントの指定は Text("acccdefああ投稿").fon…

UITextViewをSwiftUIで用いる。

makeUIView, updateUIView, makeCoordinatorを実装する。Coordinatorはdelegateを処理する。 import UIKit import Combine // https://www.appcoda.com/swiftui-textview-uiviewrepresentable/ struct EditView: UIViewRepresentable { @Binding var text: S…

簡単な画面遷移

WebからJSON取得して表示するリスト画面と設定画面の遷移をするっでもを作ってみた。 設定画面でwebから取得するかローカルファイルから取得するか選べる。 まずモデルは public struct Article: Codable { let title:String let url:String } という簡単な…

簡単なViewModel

ごく簡単にViewModelを作ってみた。 まずモデルは struct Article: Codable { let title:String let url:String } func fetchArticles() -> AnyPublisher<[Article], Error> { let url = URL(string: "https://qiita.com/api/v2/items")! let request = URLR…

combineの簡単な例

PassthroughSubject と CurrentValueSubject を使ってみた。おおよそRxSwift的に使えると思った。 func test() -> Void { let pub = PassthroughSubject<Int, Error>() _ = pub .sink(receiveCompletion: { _ in }) { value in print("new val -> \(value)") } pub.send(</int,>…

ファイル読み込みで一行毎に検索

import sys # 該当言語 searchWord = "hoge" # ファイル読み込み text = open(sys.argv[1], "r") # 一行づつ読み出し for line in text: # 該当単語があるなら書き出し if searchWord in line: print(line) # 閉じる text.close()