現象
vcpkgでエラー発生してinstall出来ない
原因
visual studioの言語環境にenglish が無い
対応
visual studioの言語環境にenglishを追加
現象
vcpkgでエラー発生してinstall出来ない
原因
visual studioの言語環境にenglish が無い
対応
visual studioの言語環境にenglishを追加
現象
LibreOfficeをC#でUNO接続後、修正すると画面が真っ黒になる。
修正後、画面をリフレシュしようとして画面リフレッシュが上手く表示されていない。
対応方法
表示設定をskaのsoftwareレンダリングからhardware レンダリングに変更
XCode 13.2 ProjectのSwift Packageがバグってビルド出来ない
AppleはXcode 13.2リリースノートの問題で、Swiftパッケージをスタンドアロンまたは依存関係として使用している開発者は、パッケージの解決中に障害が発生する可能性があると述べています。
Xcode 13.2アップデートには、iOS 15.2、iPadOS 15.2、tvOS 15.2、watchOS 8.3、macOS Monterey 12.1用のソフトウェア開発キットが含まれており、iOS9以降でのデバイス上のデバッグが可能です。
この問題は、Mac AppStoreからのXcode13.2アップデートにのみ影響しているようです。 Appleの開発者ポータルから直接入手できるXcodeのバージョンは影響を受けません。
Appleは問題を調査していると言っていますが、現在、修正のタイムラインはありません。
まだ更新していない開発者は、Apple DeveloperWebサイトからXcode13.2をダウンロードする必要があります。
Apple ~ 助けて~
サーバ側にORACLE Client & OLEDBがインストールされていること
SQL Server Management Studioからの設定方法。
1. SQL Serverに接続して、サーバーオブジェクト->リンクサーバー->プロバイダーを開く
2. OraOLEDB.Oracleをダブルクリック
3. InProcess許可
にチェックを付けてOKとする
4. リンクサーバー
で右クリックして、新しいリンクサーバーを作成
5. 以下の様に設定してOKとする
ページ | 項目 | 設定値 |
---|---|---|
全般 | リンクサーバー | 任意 |
サーバーの種類 | その他のデータソース | |
プロバイダー | Oracle Provider for OLE DB | |
製品名 | Oracle | |
データソース | サーバ(IP等):ポート番号/サービス (例:192.168.11.1:1521/oradb) | |
プロバイダー文字列 | 空 | |
セキュリティ | ローカルサーバーのログインとリモートサーバーのログインのマッピング | なし |
上記一覧で定義されないログインの接続方法 | このセキュリティコンテキストを使用する | |
リモートログイン | Oracle接続時のユーザー名 | |
パスワード | Oracle接続時のパスワード |
D言語 GTKDの64bit build方法
VS用 x64 Native Tool command promptで実行すること
通常のcmdだと 32bitなので、リンカでエラーが発生する。
Enter Keyでform submitしない方法
フォームにonsubmit=”return false;”を追加
onsubmitはsubmitされたときに発生するイベントです。onsubmit=”return false;”でsubmitを中止する。
送信ボタンをtype=”button”にする
inputがtype=”submit”の場合、送信されてしまうので、type=”button”に変更。onclick=”submit();”でボタンを押したときだけsubmitさせるようにする。
M1 MacのSourceTree 4.1.4がCrashする
アトラシアンのコニュニティーではSolvedになっている
4.1.5 で問題解決してもらった。 2021-12-16
Windows11の右クリックをWindows10に戻す
コマンドラインを管理者権限で以下のコマンドを実行する
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
その後、タスクマネージャーでExplorerを再起動
元ネタ https://starmint.net/windows11-right-click-menu-old-style.html
元に戻すには上記のレジストリを削除
reg.exe delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
VIsual Studioで全角スペースだけを可視化したい
スペースを可視化すると半角スペースも可視化されてウザい状態になる。
HackGenなどの全角スペースを可視化するフォントを入れても
何故かVisual Studioでは全角スペースが可視化されなかった。
昔から使っている ゆたぽんフォントだと表示されるので
当分、ゆたぽんを使っていこう。
※誰か ゆたぽん悪くないけど、Hackgen並にきれいなフォント作ってくれないかな~
<!-- フッタ -->
<footer class="footer mt-auto py-3 bg-light fixed-bottom">
<div class="container px-3">
<span class="text-muted"> おほほ Co.,Ltd.</span>
</div>
</footer>
T-SQL Mergeのサンプル
MERGE INTO test_table AS A
USING (SELECT 10 AS no,'太郎さん' AS name, 30 AS age ) AS B
ON
(
A.no = B.no
)
WHEN MATCHED THEN
UPDATE SET
name = B.name
,age = B.age
WHEN NOT MATCHED THEN
INSERT (no,name,age)
VALUES
(
B.no
,B.name
,B.age
)
https://qiita.com/mono_shoo/items/bffaa32c9f437d9812d2
VisualStudioCode、ユーザー数多いのが理解出来た。
拡張機能がとても便利、D言語もNativeマルチOS 対応でしたが
.NET 6でWPFがマルチOSになったので、ますますD言語の優位性が無いじゃん。
開発環境(IDE)を使って楽したい。
GtkD version up Gtk+3.24に対応
コーディングのサイトまであった https://gtkdcoding.com/
自分でライブラリ作成も良いがメンテしないと使わない
使わないからメンテしないの悪循環
メジャーなCライブラリ を有効に使わないと
MAGIC XPA のテーブル表示で項目を2段になって表示する方法
2段目に表示する項目を追加後、ALTキーを押しながら項目を選択後
表示する項目にドラッグ&ドロップ
追加した項目の幅をゼロにすると出来上がり。
The 'kotlin-android-extensions' Gradle plugin is deprecated
kotlin-android-extensionsは非推奨になりました。
え~ 今までOKだったのが非推奨になるのがちょっと早い感じがする。
MainActivityの場合
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
onCreateにbindingを追加
binding.txtStaffNo.text = "通知設定済です"
bindingの後に画面変数を指定する。
chromeで iis expressのdebugをしようとしたら httpsに変換されてdebug出来ない
世の中 httpsが標準なのですが debugでsslは使わないので
chrome://net-internals/#hsts
localhostを入力後 deleteボタンを押す
D言語の64bit Linkerの設定方法
VisualStudio 2017 or 2019での C++ 開発環境を構築後
C:\D\dmd2\windows\bin64 の sc.iniに
INKCMD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\link.exe"
を追加する(上記の例は VC2017)
Oracle SQL PlusでCSV出力
SET MARKUP CSV ON
SET HEADING OFF
SET ARRAYSIZE 100
SET FLUSH OFF
SET LINESIZE 200
SET PAGESIZE 0
SET SQLPROMPT OF
SET FEEDBACK OFF
SET TIMING ON
SET TERMOUT OFF
SET TRIMSPOOL ON
SET SERVEROUTPUT OFF
SPOOL c:\temp\WRK_JYUSHOMO.csv
SELECT * FROM WRK_JYUSHOMO;
SPOOL OFF
1行目のMARKUP CSV ONでCSV出力形式にしてくれる
2行目のHEADING OFFで出力レコードに項目名レコード出力を無しにする
iOS14 から採用されている SwiftUI App ライフサイクルでは以下のように WindowGroup の中にある View(ここでは ContentView)がアプリケーションの RootView になっています。
@main
struct SampleApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
今回はこの RootView を切り替える方法について一例として紹介したいと思います。
今回のポイントは @StateObject 修飾子です。
以前より、@State 修飾子と言うものはありました。@State は、Int・String・Bool といった値型の変数の状態をViewと連携させるものでしたが、@StateObject はオブジェクト型(class型)の変数を扱う場合に使用します。
以下のサンプルでは、この @StateObject として宣言したオブジェクトが持つ enum を元に RootView を分岐する例を示します。
class AppState: ObservableObject {
static let shared = AppState()
private init() {}
enum RootViews {
case splash
case main
}
@Published private(set) var rootView: RootViews = .splash
func changeRootView(rootView: RootViews) {
self.rootView = rootView
}
}
ObservableObject プロトコルに準拠した AppState と言う名前のシングルトンクラスを作成します(SwiftUI らしさを考えると EnvironmentObject で表現しても良いかもしれません)。
enum でスプラッシュ画面(splash)とメイン画面(main)の列挙子を定義しました。この値で WindowGroup の RootView を切り替えます。
struct SplashView: View {
var body: some View {
Text("Splash View")
.foregroundColor(.blue)
.onAppear() {
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
AppState.shared.changeRootView(rootView: .main)
}
}
}
}
struct MainView: View {
var body: some View {
Text("Main View")
.foregroundColor(.red)
}
}
最初は、前者の SplashView が表示されています。そして表示から 2.0 秒後に AppState の changeRootView で RootView に MainView を指定しています。
@main
struct SampleApp: App {
@StateObject private var appState = AppState.shared
var body: some Scene {
WindowGroup {
switch appState.rootView {
case .splash:
SplashView()
case .main:
MainView()
}
}
}
}
AppState.shared インスタンスを @StateObject の appState に紐づけ、WindowGroup ブロック内の switch で RootView を分岐させています。
@StateObject が付加されていなかったり、誤って @State にしてしまっていたりすると動作しませんので注意してください。
元ネタ https://www.yururiwork.net/archives/1188
認証用DBの作成方法
Code Firstで実行時に生成されるのはデモとしてはいいのですけど、実務では開発者の意図するタイミングで生成しておきたいこともあります。その場合は、Migrationしてやればいいようです。
ツール -> NuGetパッケージマネージャー -> パッケージマネジャーコンソールを開き、
Enable-Migrations
Add-Migration migration_filename
Update-Database
Kotlin JSON DecodeFromString -> 複数のdata classに格納する記述
val vItems = Json.decodeFromString<List<data class>>(jsonStr)
1件だけなら
val vItem = Json.decodeFromString<data class>(jsonStr)
data classは以下の通り
import kotlinx.serialization.Serializable
@Serializable
data class Notice (
val ID: Int,
val UserName: String
)
ASP.NET MVC で二重サブミットを防止したい
フォームなんかでボタンをうっかりダブルクリックしちゃって二重に投稿されてしまうのを防ぎたい。 クリックしたらボタンを無効にできればなお良し。
単純に JavaScript でボタンクリックされたら無効にするイベントハンドラ書けばいいと思ってたら、クライアントバリデーションに失敗したときボタンが押せなくなって困った。
なので今のところ
$(function () { $("form").on("submit", function (e) { var $form = $(this); // クライアントバリデーションに成功したら submit を無効にする if ($form.valid()) { $(this).find("[data-disable-with]").each(function () { var $button = $(this); var text = $button.attr("data-disable-with"); $button.val(text); $button.prop("disabled", true); }); } }); });
な感じでクライアントバリデーションに成功したらボタンを無効にするようにしている。Rails をマネして、data-disable-with 属性でボタンを無効にしたとき、ボタンのタイトルも変更できるようにもしてみた。
ビューでは
<input type="submit" value="ログイン" class="btn btn-lg btn-primary btn-block" data-disable-with="ログイン中..." />
という風に使っている。
元ネタ https://tnakamura.hatenablog.com/entry/2015/07/30/double-submit-protection
pdf.jsを使用するとPDFの画質が悪い
scale'属性を1から2に変更しただけで、品質が大幅に向上しました。
pdfDoc.getPage(1)
.then(function (page) {
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var viewport = page.getViewport(2); // 2 is the 'scale' attr
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
page.render(renderContext);
});