Word Press」タグアーカイブ

NSApp

Objective-c のコードだけで NSApp を作るソースを作成。
って以前 PyObjC で作ったんだから Objective-c に書き戻すだけだ。

NSApplication – Paepoi

と思ったんだけど動かない、何故だ?
検索しまくって以下のページを見つけた。

Minimalist Cocoa programming

setActivationPolicy を追加したらなんとか動くようになった。
逆に PyObjC は何故いらないんだ?
それとガベージコレクションではないので破棄が必要なんだなこれが。
NSAutoreleasePool という便利なものはこう使うみたい。

#import <Cocoa/Cocoa.h>

// clang app.m -framework Cocoa

@interface AppMenu : NSMenu
//- (id) init; // いらない
@end

@implementation AppMenu
- (id) init {
    [super init];
    id item_app = [[NSMenuItem new] autorelease];
    [self addItem:item_app];
    id menu_app = [[NSMenu new] autorelease];
    [item_app setSubmenu:menu_app];
    id item_quit = [[NSMenuItem new] autorelease];
    [item_quit initWithTitle:@"Quit App" action:@selector(terminate:) keyEquivalent:@"q"];
    [menu_app addItem:item_quit];
    return self;
}
@end

int main(int argc, char *argv[]) {
    // ガベージコレクションではないのでコレを利用
    [NSAutoreleasePool new];
    // NSApp を作る
    [NSApplication sharedApplication];
    // C ではコレが必須だった
    [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
    // command+Q で終了するメニューを入れる
    id main_menu = [[AppMenu new] autorelease];
    [NSApp setMainMenu:main_menu];
    // コレをしないと最前面に出てこない
    [NSApp activateIgnoringOtherApps:YES];
    // メインループを回す
    [NSApp run];
    //
    return 0;
}

a.out

動いたんだけど。。。。。

command+Q は使えるんだけどメニューが選択できない。
一度非アクティブにして再度アクティブ化すればイケるんだけど。
てかリンク元のコードも同じジャン。
PyObjC 版はそんな必要なんて無いのに何故だろう?

どうでもいかもしれないけれど、M1 Mac でビルドしたんだけど。
Silicon Info で確認したらこの a.out は arm64 で動いていた。

ついでに。
SyntaxHighlighter は objective-c ハイライトが無いのね。

BloggerのSyntaxHighlighterでObjective-Cを表示する方法 – menXpon

作っている人がいるってのが有名アプリのいいところ。
筆者の WordPress は自前設置なので scripts に放り込むだけ。
後は Add Code to Head プラグインの設定で以下を追加。

<script type="text/javascript" src="/sh2/scripts/shBrushObjectiveC.js"></script>

プレビュー、よしハイライトできた。
ただ Objective-c なんて今後そんなに使うか疑問なんだけど。

WordPress upload size

このブログは昨年から野鳥写真も載せるようにしたけど。
この WordPress ではアップロード制限が 5MB なので面倒臭い。
20MB あれば切り抜きしなくてもブログだけで完結できるのに。

さくらサーバーでWordPressの最大アップロードファイルサイズを変更する方法 | 株式会社ベクトル

そのものズバリのブログを発見、PHP の設定だったのか。
管理人さんありがとう、早速 php.ini の編集だ。

memory_limit = 32M
post_max_size = 30M
upload_max_filesize = 20M

20MB あればいいので上記で保存。
Wordpress の管理画面へ、おぉ 20MB に変わっている。

ところで。
Mac のプレビュー.app から RW2 を JPEG に書き出ししてみた。
LUMIX 内臓機能や Lightroom 書き出しより少しサイズが小さくなった。
カラープロファイルが sRGB ではなく Adobe RGB になっている。

色空間におけるsRGBとAdobe RGBの違いについて | ソクプリブログ

Adobe RGB のほうがサイズが大きくなりそうなんだけーがな。
Fedora の eog や Chrome でも問題なく表示できるしコレでいいか。

フォトグラファーのPCの選び MacとWindowsどちらが良い?モニター性能で考える | Life with Photo

Mac だと赤が綺麗に見えるのは気のせいじゃないみたい。
Display P3 は Adobe RGB フルサポートではないのに何故コレで書き出し?

印刷しないならあまり気にしなくてもいいのかも。
まあいいや、切り抜き無し 5184x3888px アップロードのテスト。
昨日の木曽川。

tsunami

ツグミ、春になるとツンドラに帰る前に地上で虫を捕るようになる。
ってもうやってるジャン、前日は雪が降ったというのに。

Shinohara

シロハラ、おまえもかい。
今まで全然見かけなかったのにおかげでアホみたく見かけるぞ。

shijyuukara

シジュウカラ、木の苔を剥がして虫を探しているっぽい。
よく混群していたメジロやエナガはドコへいったんだろう?

ってアップロードしたら 2560x1920px になっちゃった。
表示した後アドレスバーで -scaled を消すとフルスケールで表示できる。

冬鳥はジョウビタキを含めてもうすぐいなくなるんだなぁ。
まだ見ぬ冬鳥を探しに今日も、いや前回の兼もやらねばだけど。

MySQL 5.1 to 5.7

MySQL 5.1 のメンテというメールがさくらから届く。
そういえば前回 MySQL の更新をしたのっていつだったかな?

WordPress の [ツール]、[サイトヘルス] を見る。
MySQL 5.1 は古いからアップデートしろ、って出て来た。

さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ ? BambooStudio*blog™
前回はこの方法で以降した、十年前の情報カヨ。
同じ手段でイケるだろうと試したら。。。。。

#1071 – 索引のキーが長すぎます。最大 1000 バイトまでです。

とエラーが出て投稿分のデータが適用されない。

MySQLのインデックスサイズに767byteまでしかつかえない問題と対策 – ハマログ

こんなのを見つけたけど 5.7 だから関係なさそう。
phpMyAdmin から変数を見ると全部定義されていた。
設定を色々弄ったけど駄目、違う方法を探す。

WordPress MySQL 移行メモ (5.5 → 5.7) ? さくらサーバー | てまりうた

ホストが同じなら Synchronize でイケるのね。
まったく同じ手段であっさり 5.7 へ以降できました。

ただ一つ違うところ、筆者は Fedora を使っているということで。
sftp 接続して Gedit で普通に wp-config.php を編集しました。

通な御仁や macOS なら ssh で vi でもいいですけど。
何もインストールせずにこれが普通にできるから GNOME は便利。

5.7 へ移行完了。

WordPress Redirect

前回サイトの https 化を行った。
自動ジャンプするはずだけど Blog アクセスが全部 http だ、あれ?

「http://」から「https://」に自動転送させる方法 | ヘテムルブログ

WordPress は設定を変更しなきゃいけなかったのか!
早速サイトアドレス設定を https に変更。
でもアドレスを直打ちすると相変わらず http アクセスのまま。

常時SSL化後は必須!httpからhttpsへ自動転送する方法 | ビギナーズハイ

あぁ WordPress 用の index.php がある位置に置かないと駄目なのね。
って、デフォルト状態で既にあるんですけど初期から使っているからかな。
多分デフォルトに追記すればいいんだろう。
mod_rewrite.c ディレクティブ指定って実は必要無いみたいだけど一応書くか。

そんなこんなでサイトのトップページ用。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

WordPress 用。

# BEGIN WordPress
# `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

# END WordPress

に書き換え、よし狙ったとおりにリダイレクトされるようだ。

サイトを全部 WordPress に変更すればこんなへましないんだろうけどさ。
我がサイトは筆者自身の覚書をまとめただけなんだよね。
Blog 以外はローカルで動かないと困るんです。

WordPress だけ?の小ネタ。

三点リーダー → …
を入力するのに「てん」等から変換している人いるかな。
半角でピリオドを三つ連続打ち込むだけで &#8230; に変換してくれます。

もうすぐ WordPress も v3 になるけど同じかな?