三番五次、三番五次 [中国語文法]

今日の学習
三番五次[sān fān wǔ cì]
三番五次 [ㄙㄢ ㄈㄢ ㄨˇ ㄘ`]
しょっちゅう、何度も、重ね重ね

“三…五…”常组成汉语四字固定格式。或表示次数多,如:三番五次、三令五申;或表示不太大的大概数量,如:三年五载。

“三…五…”常組成漢語四字固定格式。或表示次數多,如:三番五次、三令五申;或表示不太大的大概數量,如:三年五載。

“三…五…” は、漢字4文字の定型で形成することが多い。 あるいは回数の多さを示す場合にも使われます。
例えば「三番五次、三令五申」など。あるいは大きすぎない概算の数量を表す場合には、「三年五载」などと表現します。

三令五申[sān lìng wǔ shēn]
三令五申[ㄙㄢ ㄌㄧㄥ` ㄨˇ ㄕㄣ]

何度も何度も繰り返し命令する.再三再四.

三年五载[sān nián wǔ zǎi]
三年五载[ㄙㄢ ㄋㄧㄢˊ ㄨˇ ㄗㄞˇ]
数年.4,5年.

間違ってたら教えてください。

台湾語辞書

台湾語辞書
posted withアプリーチ

Google Codelabs 90分制限回避

最近、パイソン(Google Codelabs)を始めましたのでその備忘録。
下記で 90分制限を回避できる。[2021/5/14現在]

function ConnectButton(){
console.log("Connect pushed");
document.querySelector("#connect").click()
}
setInterval(ConnectButton,60000);

多的是、多的是 [中国語文法]

今日の学習

多的是[duō de shì]
多的是 [ㄉㄨㄛ ㄉㄜ˙ ㄕ`]

[動詞] (多く述語に用い)ふんだんにある,幾らでもある.≒有的是
[名詞+多得是] いくらでもある.たくさんある.≒多得很

“多的是”,用于口语,表示很多。
“多的是”,用於口語,表示很多。
「多的是」は、話し言葉に使う、とても多いことを表す。

1.
旁边旅客多的是

旁邊旅客多的是
そばに旅客はとても多い。

2.
这种人多的是,你不要觉得奇怪。

這種人多的是,你不要覺得奇怪。
このような人はとても多い、あなたはおかしいと思わなくていい。

3.
我家里计算机方面的书多的是,你需要的话就去借。

我家裡計算機方面的書多的是,你需要的話就去借。
我が家にはコンピュータ方面の本はたくさん有ります。あなた必要ならば借りにくればいい。

4.
谁说没鸡蛋了?冰箱里多的是

誰說沒雞蛋了?冰箱裡多的是
誰が卵はないと言ったの?冷蔵庫の中にたくさんあります。
5.
比起动作电影他们过多的是看喜剧电影。
比起動作電影他們過多的是看喜劇電影。
彼らはアクション映画よりも多くのコメディ映画を観ます。

6.
这家服装店多的是衣服给你选。
這家服裝店多的是衣服給你選。
この衣料品店にはあなたが選ぶたくさんの服を提供できます。

間違ってたら教えて下さい。

https://learn-language.tokyo/hiragana-katakana

Objective-Cからswiftを呼ぶ[Objective-c,Swift]

久しぶりに毒林檎を弄ったので備忘録として。

 

Objective-c から Swift

 

//Need

//Call From Objective-C To swift

#import "MyApp-Swift.h"

SwiftからObjective-c

import Foundation

//obj-cからアクセスするのに必要
@objcMembers
class SharedInfos: NSObject {
    static let shared: SharedInfos = SharedInfos()
   
    func someFlag() -> Bool {
       
            return true
        }
    
}

Parse.com + Heroku + mongoDB Atlas

Herokuより、mlabを2020年11月10日にHerokuアプリから削除するとのメールが来ました。

https://docs.mlab.com/shutdown-of-heroku-add-on/

抜粋

The mLab team has chosen to discontinue this add-on. The mLab MongoDB add-on will be removed from all Heroku apps on November 10, 2020. We advise you to remove the mLab MongoDB add-on yourself before September 1, 2020 via the Dashboard or the CLI.

Appleにアプリを消されてしまい、もうほとんどアプリ開発はしてませんがまだ利用している方がいてそこから少しだけ広告収益があります。

Heroku はシャットダウン予告のメールの中で別の MongoDB Add-on の「ObjectRocket」への移行を提案していますが費用が発生してしまいます。

収益はAppleのせい(笑)で少ない為、費用を抑えたい!ですから今回は無料 Sandbox があるAtlas にします。

https://www.mongodb.com/cloud/atlas

移行に関しては下記2記事を参考にしてとてもわかりやすかったです。そして移行そのもは今回は割愛します。ありがとうございました!

https://mikan.github.io/2020/07/11/migrate-heroku-mlab-to-mongodb-atlas/

 

今回、最後の接続の中でheroku側に下記のエラーが出てアプリ側と接続ができませんでした。

Error: invalid schema, expected mongodb at module.exports

調べてみるとparse serverのバージョンを最低でも2.8.4に上げなければいけないとのこと。

ちゃんと調べましょう。。。

https://docs.mlab.com/how-to-migrate-to-atlas/

package.jsonをみると2.2.12になってた(約4年前のバーション、、、)

今回は3.0.0に変更

 

そしてconfig varにDATABASE_URIを使用するためにgithub上のコード(index.js)とherokuのconfig varを編集。MONGODB_URIは移行が完了して確認したら削除する。

 

ひとまずこれでエラー回避し接続できます!

 

お問合わせフォームからSlackに通知する[Node.js,Javascript,HTML]

自サイトへのお問い合わせにさくっとしたものが欲しくなって作りその備忘録になります。

 

Slack アプリの作成

https://api.slack.com/apps

起動したフォームに値を入力してCreate Appから登録します。

 

メニューからOAuth & Permissionsを選択します。

 

下にスクロールし、Scopesメニューから権限を追加します。
今回は最低限必要な以下の2つの権限をAdd an OAuth Scopeから設定します。

メニューからInstall Appを選択し、Install App to Workspaceをクリックします。

トークンが発行されます。

 

 

これでアプリの準備が出来ました。

テスト送信

作成したアプリをメッセージ送信したいチャンネルに追加します。

 

 

 

まずはSlackの公式サイトからテストを実行することができます。
以下のURLにアクセスしテスト送信します。
https://api.slack.com/methods/chat.postMessage/test

 

 

以上でテストと準備になります。

 

実際のコード

<div class="comment-form">
<h3>Contact us</h3>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="name" class="form-control" placeholder="NAME" aria-label="Name">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="email" id="mail" class="form-control" placeholder="E-MAIL">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<textarea class="form-control" id="text" placeholder="Message"></textarea>
</div>
</div>
<div class="col-md-12">

<input class="originalButton" type="button" style="background:#00c0f0;color:#ffffff;" value="Submit Now" onclick="send(document.getElementById('name').value,document.getElementById('mail').value,document.getElementById('text').value)">
</div>
</div>
</div>
const send = (name,mail,text) => {
// console.log("POSTtext---"+text);
// console.log("POSTmail---"+mail);
// console.log("POSTname---"+name);
if(name == "" || mail == "" || text == ""){


return alert("必須項目を入力して下さい。");
}

fetch(`/api/sendSlack?text=${text}&mail=${mail}&name=${name}`)
};
const express = require("express");
const router = express.Router();
//Slackに投稿
router.get('/sendSlack',async function(req,res){

var request = require("request")
var text = req.query.text;
var name = req.query.name;
var mail = req.query.mail;

// slack連携
request.post('https://slack.com/api/chat.postMessage', {
form: {
token: 'xoxbXXXXXXXXXXXXXXXXXXX', // slackのトークン
channel: 'test-1', // slackのチャンネル名
username: name, // slackに投稿される名前
text: 'mailto:'+mail+`
`+ text,
}
}, function (error, response, body) {

})
})

module.exports = router

presentViewController[swift,Objective-C,ios13]

iOS13から画面遷移をするとポップアップしたようになりスワイプでもviewを消せるようになった。

私のアプリでA→B(問題があるView、スワイプ)→A→B(dissmissボタンを押す)この時に何故か落ちる。

Fatal Exception: NSInternalInconsistencyException Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.

メインスレッドにキューを入れればいいようだが入れても直らなかった。

iosにそんな時間をかけたくなかったのでスワイプをそもそもできなくした。(画面をフルにした。)

Appdelegate.m obj-c

FilterNewShowViewController *shopViewC = [[FilterNewShowViewController alloc] initWithNibName:@"FilterNewShowViewController" bundle:[NSBundle mainBundle]];

>>>>shopViewC.modalPresentationStyle =  UIModalPresentationFullScreen;  

>>>>shopViewC.modalInPopover = YES;  //スワイプで消えなくなる。

self.window.rootViewController = shopViewC;

[self.window makeKeyAndVisible];
Viewcontroller.m obj-c
FilterNewShowViewController *shopViewC = [[FilterNewShowViewController alloc] initWithNibName:@"FilterNewShowViewController" bundle:[NSBundle mainBundle]];
>>>>shopViewC.modalPresentationStyle = UIModalPresentationFullScreen; //表示形式の選択
>>>>shopViewC.modalInPopover = YES; //スワイプで消えなくなる。
[self presentViewController:shopViewC animated:YES completion:nil];
Viewcontroller.swift
let vc = UIViewController()
>>>>vc.modalPresentationStyle = .fullScreen;
>>>>vc.isModalInPresentation = true;
present(vc, animated: false, completion: nil)