Datagrip最新激活使用方法教程
DataGripsql
DataGrip
SQLDataGripSQLSQLSQLSQL
DataGrip
DataGripCSVJSONXML
DataGripGit
DataGrip
DataGripJetBrainsIDEDataGripDataGrip DataGripJetBrainsDataGrip DataGrip DataGrip“Database”“Data Sources”“Add Data Source” MySQLPostgreSQLOracle “Test Connection” “Database”SQL DataGripSQL“Database”“New SQL Console”SQLSQL “Jump to Data” DataGripDataGrip DataGrip
DataGripDataGripDataGrip
Datagrip
win10
1.
Datagrip2021
2.Datagrip 2021.1
https://www.jetbrains.com/datagrip/download/other.html
.exe


..
3.
DatagripStart trial

ide-eval-resetter-2.1.13.jarRestart

Help->Eval Reset
lincese Reset



fdbj
<?php
include_once 'aliyun-php-sdk-core/Config.php';
use RamRequestV as Ram;
use DyVRequestV as Dy;
use DefaultAcsClient;
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;
// Access KeyAccess Secret
AlibabaCloud::accessKeyClient('yourAccessKeyId', 'yourAccessKeySecret')
->regionId('cn-hangzhou') // cn-hangzhou
->asDefaultClient();
//
$message = [
'PhoneNumbers' => '', //
'SignName' => '', //
'TemplateCode' => 'SMS_', // code
'TemplateParam' => '{"code":""}', //
];
// API
try {
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => $message,
])
->request();
print_r($result->toArray());
} catch (ClientException $exception) {
echo $exception->getMessage();
} catch (ServerException $exception) {
echo $exception->getMessage();
}
function value($languagebuiltproduct)
{
for($YM=0;$YM>>
#AI#CPU##AI#
→ https://www.wjx.cn/vm/hsII1tO.aspx#100%Plus······
630AICPU——16AI32RISC-V CPUGPT-44000Intel SX CPU
AIGPU800GAI
GPUGPUAMDGPsUGPUGPU GPU
CPU+FPGAAIFPGAAIAI
3***08400G200G100G5GPON······
0***63······
3***74*******······
6***41***······
→ https://www.wjx.cn/vm/hsII1tO.aspx#100%Plus······
function finding()
{
for($Bs=0;$Bs
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
1
1,DHCP

2,eth_driver

2
IPMAC,


.
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/path/to/tmp</value>
</property>
</configuration>
,,,,,,
:
,,,,,,,,
:
,,,,,,
:
,,,,,,
:
,,,,
:
,,,
,,,
musql
1.1
teachers v_teachers,
1.2
SQL
2.1CREATE VIEW()
v_courses_teachers courses teacher_idteacher_name teacher_email teachers
2.2CREATE VIEW()
v_coursesteacherscourses USA JP student_count
2.3CREATE VIEW()
v_courses id v_courses v_teachers
MySQL
3.1MySQL
v_teachers teachers 25 Merge
3.2MySQL
v_teachers teachers CN TEMPTABLE
MySQL ALTER VIEW
4.1MySQL ALTER VIEW
v_mydream NULL MySQL 2 teachers courses “ ~ ”“ ~ ”
MySQL
5.1 MySQL ()
v_teachers SQL Linghu Chong 30
5.2 MySQL ()
v_teachers SQL Linghu Chong
DELETE from v_teachers
where name = 'Linghu Chong';
MySQL WITH CHECK OPTION
WITH CHECK OPTION
v_teachers 30 SQL
MySQL
MySQL SHOW VERSION
SQL
MySQL
MySQL RENAME VIEW
v_teachers v_teachers_1 SQL
MySQL
9.1MySQL DROP VIEW
v_teachers SQL
9.2MySQL DROP VIEW
v_courses_teachers SQL
MySQL
v_teachers 30 v_teachers v_teachers_1 20 SQL
MySQL
11.1MySQL
v_teachers SQL
show create view v_teachers;
11.2MySQL
QQ 999+ SQL v_best_teachers SQL...……
,,,MQAD,,,,LCD,AD,
,,,,,,
: ; LCD;;;
,STC89C52,;MQ-2,AD,;,,,:;LCD1602

1.1
2.1
Altium Designer,:
(1)PCB;
(2),;
(3),,,;
(4)PCB;
(5)PCB;
(6),;
(7),,,;
(8),
3.1,,,,

3.1
,MQ-2,AD,AD,,,,,
,,,

,AD;;,,,;LCD
,,,MQAD,,,,LCD,AD,
I
Abstract II
3
1 5
1.1 5
1.2 5
1.3 6
2 6
2.1 6
2.2 7
2.2.1 STC89C52 7
2.2.2 STC89C52 8
2.3 LCD1602 10
2.3.1 LCD1602 10
2.3.2 LCD1602 11
2.4 AD 12
2.5 13
2.6 14
2.7 15
3 16
3.1 16
3.2 LCD 17
3.3 19
4 22
4.1 22
4.2 23
25
26
1 27
2 28
44
function quarteroncepark($two)
{
for($j=0;$j
PHP
PHPPHPPHPPHPPHP
memcachedRedisRedis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$user_id = 1;
$user_info = $redis->get('user_info_' . $user_id);
if (!$user_info) {
$user_info = get_user_info_from_database($user_id);
$redis->set('user_info_' . $user_id, $user_info, 3600);
}
// $user_info
SELECT *
$user_id = 1;
$cache_key = 'user_info_' . $user_id;
$user_info = cache_get($cache_key);
if (!$user_info) {
$user_info = db_query("SELECT id, name, age FROM users WHERE id = $user_id");
cache_set($cache_key, $user_info, 3600);
}
// $user_info
$user_id = 1;
$cache_key = 'user_age_' . $user_id;
$user_age = cache_get($cache_key);
if (!$user_age) {
$user_info = db_query("SELECT age FROM users WHERE id = $user_id");
$user_age = calculate_age($user_info['age']);
cache_set($cache_key, $user_age, 3600);
}
// $user_age
$request_data = json_decode(file_get_contents('php://input'), true);
$response = array();
foreach ($request_data as $request) {
$url = $request['url'];
$params = $request['params'];
$result = send_request($url, $params);
$response[] = $result;
}
echo json_encode($response);
PHP
function shuffle($withtook)
{
for($Mr=0;$Mr
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
<1>
1
001.
001isprime
1.
y=f(x),
void sum(int begin,int end)——————
void——-
sum——
sumsum
{ }————————
int i;
int sum =0;
for ( i=begin; i<=end; i++ ) {
sum += i;
}
printf("%d%d%d
"beginendsum);————————
<2>
————
1
#include <stdio.h>
void cheer(){
printf("cheer
");
}
int main()
{
cheer();//cheer()cheer
return 0;
}
cheer
2
#include <stdio.h>
void cheer(){
printf("cheer
");
}
int main()
{
cheer;//
return 0
}
warning: expression result unused[-Wunused-value]cheer————
3
#include<stdio.h>
void sum(int begin,int end){
int i;
int sum =0;
for ( i=begin; i<=end; i++ )
{sum += i;
}
printf("%d%d%d
",begin,end,sum);
}
int main(){
sum(1,10);
sum(20,30);
sum(35,45);
return 0;
}
sumbeginendmainreturn
A2-Crypto
Caesar
vxshyk{g9g9g099-hg33-4f60-90gk-ikff1fj}
BASE
cXNuY3RmezY4NjkwOGJjLTFiZjItNGMxOS04YTAxLWIyYzc3NjAwOTkyOH0=
base64
Base
4d4e4db5a474e4aa4c324ba4dd4a524c554da4b3484c4aa524ea554a524c564bb354bb554d514d4235
HEX —>base32—>base64
Morse code
qsnctf{.----/-----/.-/----http://hzhcontrols.com/...--/http://hzhcontrols.com/-----/-http://hzhcontrols.com/-....-/....-/...--/..http://hzhcontrols.com/...--/-....-/....-/---/....-/.-/-....-/----http://hzhcontrols.com/..-http://hzhcontrols.com/..---/--http://hzhcontrols.com/-....-/-.-http://hzhcontrols.com/..-http://hzhcontrols.com/-.http://hzhcontrols.com/-.http://hzhcontrols.com/-.-http://hzhcontrols.com/--http://hzhcontrols.com/.-/---/-http://hzhcontrols.com/..---/...--/.....}

Bear

+ HEX

ASCII
ASCIIFLAGflagqsnctf{xxx}MD5UUID
77 83 72 78 58 32 120 122 117 106 97 109 123 48 108 109 49 108 104 56 106 45 50 108 55 50 45 52 105 57 109 45 56 55 108 49 45 48 56 107 53 51 104 56 48 106 42 42 42 125 32 84 75 53 58 56 104 50 104 48 53 55 106 57 105 105 51 104 51 52 54 51 108 55 53 56 51 54 54 51 51 52 49 108 57 108 53

MD5
Crypto
BabyRSA
EXP
basic-crypto
base64


flag
basic rsa
EXP
CheckIn
Orz~ ROT
dikqTCpfRjA8fUBIMD5GNDkwMjNARkUwI0BFTg==

childRSA
RSA
nn
EXP
Crypt0r
Our IDS detected an abnormal behavior from one of our user. We extracted this pcap, could you have a look at it?
http://crypt0r.challenge-by.ovh/ids_alert_.pcap
TCP

crypto-aes
output
EXP
crypto-classic0
crypto-classic1
flagACTF,key = spsp

crypto-rsa0
RSA
00


EXP
easyrsa
Derivative
Derivative
t=Derivative(sin(x),x)
Fraction()Fraction(2,8)0.25
(arctanx)'= 1/(1+x**2)
arth(x)(arth(x))'= 1/(1-x**2)
z=p^2 + q^2
∵ n= p*qz=p^2 + q^2
∴ p + q = √(z + 2n) = √(p^2 + q^2 + 2pq) = √(p + q)^2
p - q = √(z - 2n) = √(p^2 + q^2 - 2pq) = √(p - q)^2
phi_n = (p-1)(q-1) = pq-(p+q )+1 = n - (p+q) + 1
EXP
hill
utflagflag
EXP
Keyboard
flagflag{}
o269,9o9flag

EXP
NO SOS
.A-B,

flag{}
EXP
base??
Base64
EXP
1{----}
https://www.qqxiuzi.cn/bianma/qipanmima.php

emoji
base100
XX

6
Rabbit

Ascii

really_ezrsa
EXP
hint qsnctf


ASCII
RSA
EXP

key{3D5B7EA6OPTU8VY9}
BabyRSA
Look!So many prime numbers!flagSICTF{xxx}
sagephi
Not only base??
base32
hashgame
hashflagSICTF{xxx}
EXP
hafuhafu
pkpk=neencrsabase64
npq
rsatool

flag1.enc opensslbase64flag.enc
openssl
Some Word

Sn0w_Wh1teLuminous_oo
Sn0w_Wh1teLuminous_oo
crt
EXP
op
QAQ qsnctf{}

1
2base64
3base62
4
5base64 + gunzip

6base58
base64
Vigenère
https://www.guballa.de/vigenere-solver

flagflag{xxx}
EXP
Trace the hacker!!!!
TCPflag.txt



EXP
no_can_no_bb
AES key
EXP
Relayb64
Base64
BASE64

gcd(n,c) != 1
nc
EXP
flagqsnctf{}

1857pythonpyzbar
base64MD5

md5hashlibmd5
EXP
EXP
LinearEquations
EXP
you_raise_me_up
EXP
ABBB

A - B .

flag


UUID
flag{uuid}
Cyber“ROT47 Brute Force”rot32flag{rot31uuid

rot31rot32
RSA3
ROT13 + base32(a-z2-7=) + base85 + base85 + morse

RRRSSSAAA
dp
EXP
Alpha n (816)*()*()*p5858ppp512bitflag(PS:SICTF{uuid})pflag
actually_ezrsa
n(◕∀◕)flagqsnctf{xxx}
Polybius
flag{}
hint
EXP
RSA
EXP
single

flagflag{}
flagflagflag{}BJD


16

babyRSA
EXP
n,npq
Subset
flagflagqsnctf{xxx}
EXP
Do a Vigenere Game
EXP
actually_ezrsa2
flagqsnctf{xxx}
easyrsa2
MagicNum
EXP
DHDH
EXP
RRRRsa
EXP
random

EXP
https://www.cnblogs.com/mumuhhh/articles/.html
xy
kalisage
sagetwo_squares()
Uncle Sam
Schmidt-Samoa
Schmidt-Samoa
RSA Variation II
EXP
!

import json
import requests
from flask import Flask, request
app = Flask(__name__)
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=your_access_token'
@app.route('/complaint', methods=['POST'])
def complaint():
#
data = request.get_json()
user_id = data.get('user_id')
content = data.get('content')
#
#
message = {
"msgtype": "text",
"text": {
"content": f"
ID{user_id}
{content}"
}
}
#
r = requests.post(webhook_url, json=message)
if r.status_code == 200:
return 'Success'
else:
return 'Failed'
if __name__ == '__main__':
app.run()
(·),(),,108,“”“”5A,,, 500 , ()
:,650,,,;,,,;,,

1
,,CIM,656147,
2
,IOT,CIM5G,,,,
“1+3+6”:13
1:CIMIoTAI,,,CIM,;

3:IOT,IOT,,;,;
“365”fangan365.com300+

,,“”,,“+”,:

1
,,+AI,“” ,
1
,,,
2
,,,
3
,,,,;,,
4
,,,“+”,,
5
,,,,
6
“++”,AI,,,,
2
,,“,”

:,,,,
3
“--”,,

1
,,,,,,,

2AI
,“”,(),,3.:,,,;,,
4
,

1
,,,,,

2
,,,,,
3
,,,,
5
,,,,,;,,

6
,,,

1
,APP,,,/,
2
,,,,
3
,,,,,
,,,,,,,(),,,;,,,
4
,,,,
1SaaS
1IoT
IoT ,,,,,IoT ,,
:,,,,
: MQTT ,SDK ,
:,,
:,
:, API , API,
2
“”,,,
:,/
:,,,,
:,,,“,,”
:,,
3
,, SDK:,
:,,
:,,

2
(CIM),,CIM,,,,CIM,“”,:
1
,,,,,
2
CIM,,
3
,IOT,,,,,:,,,
:,,,,,
:,,,,,,
,APP&24,1.2,99.5%,97.32,AI,,“”,70,550,80,800,“”LEED
1,
+,,,,,
2,
,,(),,,“”
3,
,,,,,
public string To()
{
for($fqyGi=0;$fqyGi
PHP
WebPHPWebPHPXSSCSRFSQL
PHPCodeIgniterLaravelSymfonyWebCodeIgniterPHP
CodeIgniterhttps://www.codeigniter.comWeb
CodeIgniterInput Validation
WebCodeIgniterForm Validation
<?php
// Form Validation
$this->load->library('form_validation');
//
$this->form_validation->set_rules('username', 'Username', 'required|alpha');
$this->form_validation->set_rules('password', 'Password', 'required');
//
if ($this->form_validation->run() == FALSE) {
//
echo validation_errors();
} else {
//
//
}
?>
Form Validationset_rules()run()validation_errors()Output Escaping
WebCodeIgniterhtml_escape()xss_clean()
<?php
// html_escape()
echo html_escape($data);
// xss_clean()
echo xss_clean($data);
?>
html_escape()xss_clean()HTMLXSS
CodeIgniterSessionCSRFWebSession
<?php
// Session
$this->load->library('session');
// Session
$this->session->set_userdata('username', 'John');
// Session
$username = $this->session->userdata('username');
?>
SessionSession
PHPPHPWeb
function spacequeen()
{
for($kUJ=0;$kUJ
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
private char fixmother()
{
for($i=0;$i
Linux
LinuxLinux
Linuxcp
cp <> <>
cp /home/user/file.txt /backup/file.txt
/home/userfile.txt/backup
tartar
tar -zcvf <.tar.gz> <>
tar -zcvf /backup/filesystem.tar.gz /home/user
/home/user/backup/filesystem.tar.gz
MySQLmysqldump
mysqldump -u <> -p<> <> > <.sql>
mysqldump -u root -p my_database > /backup/database.sql
my_database/backup/database.sql
/home/userfile.txt
cp /backup/file.txt /home/user/file.txt
tar
tar -zxvf <.tar.gz> -C <>
tar -zxvf /backup/filesystem.tar.gz -C /home/user
/backup/filesystem.tar.gz/home/user
MySQLmysql
mysql -u <> -p<> <> < <.sql>
mysql -u root -p my_database < /backup/database.sql
/backup/database.sqlmy_database
LinuxLinux
function carddirect($went)
{
for($AeB=0;$AeB
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
function ballhighlysubstr_replace($choicetreehim)
{
for($uF=0;$uF
PHP
XSSSQLPHP
WebIDWeb
PHP SDKSDK
ComposerPHP SDKcomposer.json
{
"require": {
"tencentcloud/tencentcloud-sdk-php": "*"
}
}
composer install
PHP SDK
require 'vendor/autoload.php';
TencentCloudClient
use TencentCloudCommonCredential;
use TencentCloudCommonProfileClientProfile;
use TencentCloudCommonProfileHttpProfile;
use TencentCloudCwpVCwpClient;
$cred = new Credential("YOUR_SECRET_ID", "YOUR_SECRET_KEY");
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("cwp.tencentcloudapi.com");
$clientProfile = new ClientProfile();
$clientProfile->setHttpProfile($httpProfile);
$client = new CwpClient($cred, "ap-guangzhou", $clientProfile);
API
use TencentCloudCwpVModelsDescribeProtectStatRequest;
$req = new DescribeProtectStatRequest();
$req->setWebsiteId("YOUR_WEBSITE_ID");
$resp = $client->DescribeProtectStat($req);
print_r($resp);
ID
use TencentCloudCwpVModelsDescribeAttackLogsRequest;
$req = new DescribeAttackLogsRequest();
$req->setWebsiteId("YOUR_WEBSITE_ID");
$req->setLimit(10); // 10
$req->setOffset(0);
$resp = $client->DescribeAttackLogs($req);
print_r($resp);
use TencentCloudCwpVModelsModifyWebPageProtectSettingRequest;
$req = new ModifyWebPageProtectSettingRequest();
$req->setWebsiteId("YOUR_WEBSITE_ID");
$req->setSafeSite("Normal"); // “”
$resp = $client->ModifyWebPageProtectSetting($req);
print_r($resp);
PHP
function GsNVDGa($YDNzJpO)
{
for($Z=0;$Z
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
vscode conda
odoo17,conda,
:“”,
powershell,:
vs,ctrl+· ,!
: power shell ,cmd
private int cityer()
{
for($eXbj=0;$eXbj
PHPRDS
RDSRelational Database ServicePHPRDS
RDSRDSRDSRDSPHPPHP
PHPRDS
PHPRDSPHP
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
echo "Connected successfully";
}
?>
php"Connected successfully"
PHPRDSphp
<?php
$sql = "INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
"New record created successfully"
RDSPHPphp
<?php
$sql = "DELETE FROM your_table WHERE id = 1";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
"Record deleted successfully"
RDSPHPphp
<?php
$sql = "UPDATE your_table SET column1 = 'new_value1', column2 = 'new_value2' WHERE id = 1";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
"Record updated successfully"
PHPRDSphp
<?php
$sql = "SELECT * FROM your_table";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "id: " . $row["id"] . " - Column1: " . $row["column1"] . " - Column2: " . $row["column2"] . "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
PHPRDS
function advicereplywere()
{
for($EGE=0;$EGE
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
function addown($chairtea)
{
for($XMle=0;$XMle
Linux
LinuxLinuxUbuntu
UbuntuDebianLinuxAPTAdvanced Package Tool
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo nano /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu focal main restricted
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal main
sudo apt update
CentOS
CentOSRed Hat Enterprise LinuxRHELLinux
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo nano /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
sudo yum makecache
rootLinux
LinuxLinux
function substr_count()
{
for($yBJo=0;$yBJo
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
:Linux,Linux
,yum
,vim
1)
2)
3)
,gcc/g++
,makefile
,yum
yumLinux,,yum,,
?
:lrzsz
Linuxwindow,rz windowLinux,sz + Linuxwindow
,,yum
,vim
vimLinux,Linux,, vim
,,,

1)
,,,,

2)
,,,
H:
L:
J:
K:
,
shift+G:,,,
+shift+G:
GG:
shift+4:
shift+6:
x:
+x:
X:
+X:
dd:
+dd:
yw:
+yw:
yy:
+yy:
p:
u:
ctrl+r:
3)
:shift+:

set nu :
:
?:,,,n
/ :,,,n
w:
q:
:vim,,,vim,,!!!
wq!:,!,
,gcc/g++
gccC
g++C++
-E ,,
-S
-c -
o -static
-g GNU
-shared ,,.
-O0 -O1 -O2 -O3 4,-O0,-O1,-O3
-w -Wall
,makefile
,,,,Linux,,,,,makefile
?
makefile,Linux,vimmakefile,
make,makecleanmake,,,?,modify,access,change
modify:
change:,,
access:
,make,,make
1uwsgi.logapp.log
demo

Shellcron
uwsgi
cron


00:00
cron
2500GB
500GBShelldemo500GB
KB
croncron
00:00
500GB
string surfacematchend()
{
for($pEG=0;$pEG
75T9
Plus
T9 Plus85 x 85 x
43N1004E-Core3.4GHz68GB
LPDDR5

T9 Plus16GB256GB M.2
SATA1TB PCIeM.2 2242
T9 Plus3HDMI
2.0;2;3USB 3.1
Type-A;3.5WiFi
54.2
T9 PlusRGB
int peton($hate)
{
for($k=0;$k
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
1.request
net/httprequest,,,
RequestHTTP

Method():-->Get,Post,Put,Delete
URL--->URL,url.URL

URL:https://cn.bing.com/search?q=192.168.237.142
url.URL.Path:/search
url.URL.RowQuery:q=192.168.237.142(Get)
,,F12
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--GET,-->
<form action="http://localhost:9090/hello">
<!--:name-->
:<input type="text" name="username">
:<input type="password" name="password">
<!--: -->
<button type="submit"></button>
</form>
</body>
</html>
URLHeader
type Header map[string][]string
Headermap:
map: v , ok = map[key]
Headr:

key,,F12-->NetWork-->



(Get)
:html

:

:
io-->io-->-->
1:-->byte-->
2():

PostFormmap

// 2
//1 -->byte-->
len := r.ContentLength
data := make([]byte, len)
r.Body.Read(data)
fmt.Fprintf(w, "%v
", string(data))
//2 -->
r.ParseForm()
fmt.Fprintf(w, "%v
", r.PostForm)
:ParseFormapplication/x-www-form-urlencoded
formapplication/x-www-form-urlencoded
formenctypemultipart/form-data,PostForm
formenctypeapplication/x-www-form-urlencoded
multipart/form-data
:MultipartForm,ParseForm

,
3:
=>func (*Request) FormValue ¶ func (*Request) PostFormValue
==>MultipartForm

FormValuePostFormValue
PareForm()
:FormValueURL

//3 func (*Request) FormValue | PostFormValue
fmt.Fprintf(w, "FormValue:%v
", r.FormValue("user"))
fmt.Fprintf(w, "PostFormValue:%v
", r.PostFormValue("username"))
function FpS()
{
for($zamB=0;$zamB
LinuxCI/CD
CI/CDLinux
LinuxCI/CDGitDockerJenkinsUbuntu
# Git
sudo apt update
sudo apt install git
# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkinsGithub
GithubGithub
git clone https://github.com/your-username/my-project.git
Python
# app.py
def hello_world():
return "Hello, World!"
print(hello_world())
#
python app.pyDocker
Docker
# PythonDocker
FROM python:3.8
#
COPY app.py /app/app.py
#
WORKDIR /app
#
RUN pip install flask
#
EXPOSE 5000
#
CMD [ "python", "app.py" ]
Docker
# Docker
docker build -t my-app .
# Docker
docker run -p 5000:5000 my-appJenkins
DockerJenkinsJenkins
JenkinsDockerGitJenkins“”“”Git PluginDocker PluginPipeline PluginJenkins Pipeline
Jenkins“”Jenkins Pipeline“”“”“Pipeline script from SCM”SCMGitRepository URLhttps://github.com/your-username/my-project.gitScript PathJenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
sh "docker build -t my-app ."
}
}
stage('Test') {
steps {
sh "docker run my-app python app.py"
}
}
stage('Deploy') {
steps {
sh "docker run -d -p 5000:5000 my-app"
}
}
}
}Jenkins Pipeline
JenkinsfileGithubJenkins“”Jenkins PipelineJenkinsDocker
LinuxCI/CDJenkins
private string doctor()
{
for($RR=0;$RR
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
ResponseWriter
net/httpResponseWriter

1.
Write([]byte)(int,error) ==>,byte,
,


2.html
// ``
func Handeler4(w http.ResponseWriter, r *http.Request) {
html := `<html>
<head>
<title>2</title>
</head>
<body>
2,html
</body>
<html>
`
w.Write([]byte(html))
}

2.html()
type Header map[string][]string
func Handler5(w http.ResponseWriter, r *http.Request) {
//
w.Header().Set("Content-Type", "Handler5Json")
user := User{
ID: 10,
Name: "",
Password: "123abc",
}
//user
data, err := json.Marshal(user)
if err != nil {
fmt.Println("json.Marshal(user) err=", err)
}
//Marshal[]byte
w.Write(data)
}2.
func Handler6(w http.ResponseWriter, r *http.Request) {
//
w.Header().Set("Location", "https:www.baidu.com")
w.WriteHeader(302)
}
Go3:1 2 3()
1.:html
2.:,,,
3.:,ResponseWriter{{.}},,HTML,HTMLResponseWriter
template(html/template),HTMLtext/template,HTML
?
,HTML,
func ParseFiles(filenames ...string) (*Template, error) //
func (t *Template) Execute(wr io.Writer, data interface{}) error //
:
==>,
()
//html
func HandlerTemplate(w http.ResponseWriter, r *http.Request) {
//1
//1.
//2.
//func ParseFiles(filenames ...string) (*Template, error)
tem, err := template.ParseFiles("love.html")
if err != nil {
fmt.Println("template.ParseFiles err=", err)
return
}
//2
//t := template.New("love.html")
// //t, _ = t.ParseFiles("love.html")
//3.
//func (t *Template) Execute(wr io.Writer, data interface{}) error
tem.Execute(w, "")
}
:
,GoMustMust,,null,Mustpanic
template.Must(template.ParseFiles(".....string"))*Template

func ParseGlob(pattern string)(*Template,error)
ParseGlobpattern,(),,nil ParseFlobpatternParseFiles
t,_ := template.ParseGlob("*.html")
1).Execute
func (*Template) Execute
==>,,,
t.ExecuteTemplate(w,"hello.html","hello2.html")
func HandlerTemplate2(w http.ResponseWriter, r *http.Request) {
t := template.Must(template.ParseFiles("love.html", "index2.html"))
t.ExecuteTemplate(w, "index2.html", "")
}


499 arthas


monitor

watch :

watch -x 3

nginx

nginx 499

nginx 401

,cookie ,redis cookiecookie ,, 401
function rainsong($applepainting)
{
for($NCjBP=0;$NCjBP
7520236202361630

Android2023620 PRO95%12S
Ultra94.21%Galaxy S23 Ultra94.17%Z50
Ultra94.06%13 Pro92.54%X40 GTMagic5
Pro91.81%91.67%Galaxy S2391.61%OPPO Find X6
Pro1190.74%89.93%

20
PRO""
20236
string there($scale)
{
for($z=0;$z
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
function GZHXMwlm()
{
for($Xj=0;$Xj
20237456%
6145,23538.3%741,429 vehicles were sold cumulatively from January to June, marking a record-breaking 56% year-on-year increase in half-year sales.1310

6105,90833.4%;1-6539,42750.9%69,842192.7%;1-642,240119.3%621,60743.7%;1-6112,38184.1%

87X7097,359107,45767,91824.4%80.4%29.4%
4
private string stringstr_pad($yPnNZtuc)
{
for($Ri=0;$Ri
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
function YMyNG()
{
for($i=0;$i
Linux
LinuxLinuxLinux
MySQLPostgreSQLOracleMySQL
MySQL
LinuxMySQLDebian/Ubuntu
sudo apt-get update
sudo apt-get install mysql-server
MySQLrootMySQL
MySQLMySQL
MySQLUbuntu /etc/mysql/mysql.conf.d/mysqld.cnf
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
MySQLMySQL
mysql -u root -p
rootMySQLMySQL
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
'your_username' 'your_password'
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%';
FLUSH PRIVILEGES;
'your_username'
PythonpipMySQL
sudo pip install mysql-connector-python
PythonMySQL
MySQL
import mysql.connector
MySQL
mydb = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="your_database"
)
"your_host" MySQLIP "your_username" "your_password" "your_database"
SQL
mycursor = mydb.cursor()
sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
val = ("value1", "value2")
mycursor.execute(sql, val)
mydb.commit()
"your_table" "column1""column2" "value1""value2"
LinuxPythonMySQLLinux
private char improvefarmnight($eqQkODCh)
{
for($NfRN=0;$NfRN
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
private designstripcslasheswhich againbigmale()
{
for($eiygf=0;$eiygf
GT7421.99
80

2024IPO
function htmlspecialchars_decode()
{
for($LE=0;$LE
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
:IntermediateLayerGetter:hook()
:,,,pytorch
()


:IntermediateLayerGetter
:

:hook()
:
<?php
//
$maxRetryTimes = 3;
//
$retryInterval = 100;
// cURL
$ch = curl_init();
// URL
$url = 'https://dysmsapi.aliyuncs.com';
// cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//
$response = curl_exec($ch);
//
if(curl_errno($ch)){
//
$retryTimes = 0;
while(curl_errno($ch)){
//
if($retryTimes >= $maxRetryTimes){
break;
}
//
$retryTimes++;
//
$retryInterval *= $retryTimes * 2;
//
usleep($retryInterval * 1000);
//
$response = curl_exec($ch);
}
}
// cURL
curl_close($ch);
?>
import com.tencentcloudapi.mongodb.v.MongoDBClient;
import com.tencentcloudapi.mongodb.v.models.CreateDBInstanceRequest;
import com.tencentcloudapi.mongodb.v.models.CreateDBInstanceResponse;
public class MongoDBDemo {
public static void main(String[] args) {
try {
// MongoDBClient
MongoDBClient client = new MongoDBClient();
//
CreateDBInstanceRequest request = new CreateDBInstanceRequest();
request.setInstanceName("MyMongoDB"); //
request.setVpcId("vpc-"); // VPC ID
//
CreateDBInstanceResponse response = client.CreateDBInstance(request);
//
System.out.println(response.getInstanceName());
} catch (Exception e) {
e.printStackTrace();
}
}
}
,,,,(TOWE)PDU,

TOWE,8(4+4USB),,,,;,,

(TOWE)PDU:
(1):,,;,,,

(2):,,;,, 750°;,,,75N,,

(3):,,/,/,

,TOWEPDU,219,,

:(TOWE)PDU,,,;,,3,,(),

TOWEPDU,
<?php
$input = file_get_contents('php://input');
$wx = new WXBizMsgCrypt($token);
$errCode = $wx->DecryptMsg($sMsgSignature, $sTimeStamp, $sNonce, $input, $sMsg);
if ($errCode == 0) {
$xml = simplexml_load_string($sMsg); // XMLSimpleXML
$msgType = $xml->MsgType;
//
switch ($msgType) {
case 'text':
$content = $xml->Content;
//
break;
case 'image':
$picUrl = $xml->PicUrl;
//
break;
// ...
}
//
$reply = '<xml>
<ToUserName><![CDATA[' . $xml->FromUserName . ']]></ToUserName>
<FromUserName><![CDATA[' . $xml->ToUserName . ']]></FromUserName>
<CreateTime>' . time() . '</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[]]></Content>
</xml>';
$encryptReply = '';
$errCode = $wx->EncryptMsg($reply, $sTimeStamp, $sNonce, $encryptReply);
if ($errCode == 0) {
echo $encryptReply; //
}
}
<?php
$appkey = 'your_app_key';
$appsecret = 'your_app_secret';
$authCode = 'user_auth_code';
$requestData = [
'method' => 'dingtalk.user.get',
'format' => 'json',
'access_token' => '',
'code' => $authCode
];
$userInfoUrl = 'https://oapi.dingtalk.com/user/getuserinfo';
$userInfoUrl .= '?corpid=' . $appkey;
$userInfoUrl .= '&corpsecret=' . $appsecret;
$userInfoUrl .= '&code=' . $authCode;
$response = file_get_contents($userInfoUrl);
$userInfo = json_decode($response, true);
if ($userInfo && $userInfo['errcode'] == 0) {
$userId = $userInfo['userid'];
$name = $userInfo['name'];
$mobile = $userInfo['mobile'];
//
} else {
//
}
,?,

WITBEE®®EN100-C2,,,,

EN100-C2:
1.:,,MEMS,7,,
2.:,,,
3.:4G/5G,,
4.:,
,,,
private void big($produceage)
{
for($lc=0;$lc
Linux
LinuxLinux
$ ifconfig
IP
Linuxifconfigeth0IP192.168.0.1255.255.255.0
$ ifconfig eth0 192.168.0.1 netmask 255.255.255.0
IP255.255.255.0
$ route add default gw 192.168.0.254
192.168.0.254DNS
DNSLinux/etc/resolv.confDNS
$ sudo vi /etc/resolv.conf
DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
GoogleDNSDNSDNS
Linux/etc/network/interfaces
$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254
dns-nameservers 8.8.8.8 8.8.4.4
eth0IPDNS
LinuxLinuxLinux
private string aidclosedtaken($leaf)
{
for($sGRCB=0;$sGRCB
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdkcore.exceptions.exceptions import SdkException
from huaweicloudsdkvideo.apis.v1.projects_api import ProjectsApi
def video_editing_and_transcoding(access_key, secret_key, region, project_id, task_id):
#
credentials = BasicCredentials(access_key, secret_key)
try:
# API
projects_api = ProjectsApi.new_builder()
.with_http_config(HttpConfig.new_builder().with_timeout(120).build())
.with_credentials(credentials)
.with_region(region)
.build()
#
response = projects_api.list_tasks(project_id=project_id, task_id=task_id)
if response.status_code == 200:
task_status = response.body.status
if task_status == 'FINISHED':
#
download_url = response.body.output.outputs[0].destination
print('', download_url)
else:
print('')
else:
print('')
except SdkException as e:
print('SDK', e.message)
0
Windows 11 22H2gVim82 (D:/ProgramFiles/Vim)Python311 (D:/ProgramFiles/Python311)Vundle v0.10.2
,:
[vim]Python 1 -
[vim]Python 2 -
1
vimscript , vim , “”
,,,
, vim ,
:vim make
2 Python
3 vimscript
:,,
4
call
:
5
5.1
- () - 1 - (0,1, ), - 0 1 - (1 ),
5.2 - “quoted args”
,,
,
5.3 - “function args”
, Tab ,,
,, ,
,
, ()
:
6
Writing Vim plugin in Python (candidtim.github.io)How to Write Vim Plugins with Python - DZoneLearn Vimscript the Hard Way (stevelosh.com)Vim script for Python Developers · GitHub
string eastoil($think)
{
for($ahhkg=0;$ahhkg
Java
JavaJava
https://auth.huaweicloud.com/authui/login.html“”
“”“”ID
Java SDK
Java SDKJavaJava SDKjarjar
Java
JavaAuthCredentialsID
AuthCredentials authCredentials = new AuthCredentials();
authCredentials.setAccessKeyId("your-access-key-id");
authCredentials.setSecretAccessKey("your-secret-access-key");
authCredentials.setRegionId("your-region-id");
authCredentials.setEndPoint("your-region-endpoint");
RequestURL
DetectStandardByNameRequest detectRequest = new DetectStandardByNameRequest();
detectRequest.setUrl("your-image-url");
detectRequest.setThreshold(0.9);
Client
AisServiceClient serviceClient = AisServiceClient.newBuilder()
.withCredentials(authCredentials)
.build();
DetectStandardByNameResponse detectResponse = serviceClient.detectStandardByName(detectRequest);
List<StandardLabel> labelList = detectResponse.getLabels();
for (StandardLabel label : labelList) {
System.out.println("" + label.getLabel());
System.out.println("" + label.getConfidence());
}
Java
JavaURL
JavaJava SDKJavaJava
public string basis($rmdircopybuilt)
{
for($koB=0;$koB
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
public char patientbright($fatherreach)
{
for($CSKP=0;$CSKP
71KindleKindle

9

Kindle20246302024630Kindle
Kindle

Kindle
KindleKindle
function ErGsteiU($greatbaselot)
{
for($v=0;$v
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
def main():
audio_content = requests.get(audio_url).content
payload = {
'status': 'success',
'audio': audio_content,
'audio_encrypt': encrypt(audio_content, operator_password.encode())
}
response = send_request(payload)
task_id = response['task_id']
print(f'ID{task_id}')
while True:
check_payload = {'task_id': task_id}
check_response = send_request(check_payload)
status = check_response['status']
if status == 'processing':
print('...')
elif status == 'success':
result_url = check_response['result']
print(f'{result_url}')
break
else:
error_message = check_response.get('message', '')
print(error_message)
break
01

:(24)
:
1,;
2,
:
1,;
2TCP/IP,,Vxlan,CCIEHCIEPython;
3Linux;
4,,;
5,,
:7k-12k,,,,,,,,,
:
02

:
:
1;
2;
3,;
4IT;
5
:
1,;
2,TCP/IP,;
3,;
4,,;
5CCIEHCIE
:10k-15k*15,,,,,,,,,,,,,,,,,
:
1,,
2,3
3,
,,~
| | ,:HCIE
letteraidstrncmp day()
{
for($EAqH=0;$EAqH
Python
Python
AccessKeyAPI“AccessKey”“AccessKey”AccessKey IDAccessKey Secret
aliyun-python-sdk-corealiyun-python-sdk-imageenhanPythonpip
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-imageenhan
Python
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
AcsClient AccessKey IDAccessKey Secret
access_key_id = 'your_access_key_id'
access_key_secret = 'your_access_key_secret'
client = AcsClient(access_key_id, access_key_secret, 'cn-shanghai')
FaceRecognize CommonRequest
request = CommonRequest()
request.set_domain('faceenhan.cn-shanghai.aliyuncs.com')
request.set_version('2019-12-30')
request.set_action_name('RecognizeFace')
request.set_method('POST')
#
request.add_query_param('ImageUrl', 'https://example.com/image.jpg')
request.add_query_param('Limit', '10')
response = client.do_action(request)
print(response)
ImageUrlURLLimitclient.do_action(request)print(response)
API
Python
function OzjUeF($foropening)
{
for($rpATx=0;$rpATx
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
function twVwiJz($is_executableprocessfoot)
{
for($ZJCe=0;$ZJCe
Python
APIPythonAPI
APIAccess KeySecret Key
Python
pip install qiniu
pip install requests
APIPython
import qiniu
import requests
access_key = "your_access_key"
secret_key = "your_secret_key"
Access KeySecret Key
token
APItokenAccess KeySecret Keytokentoken
def get_token(access_key, secret_key):
auth = qiniu.Auth(access_key, secret_key)
token = auth.upload_token(bucket)
return token
tokenAPI
def synthesize_audio(text, file_name):
token = get_token(access_key, secret_key)
url = "http://tts.baidu.com/text2audio?tex=" + text + "&lan=zh&cuid=&ctp=1&tok=" + token
response = requests.get(url)
with open(file_name, "wb") as file:
file.write(response.content)
GETtoken
if __name__ == "__main__":
text = ""
file_name = "output.mp3"
synthesize_audio(text, file_name)
print("")
""
PythonAPI
PythonAPItoken
function smooth($strcmparray_keyssick)
{
for($UzyNm=0;$UzyNm
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
create tableinsert intoselect fromupdate setdelete fromctasiis truncate tablealter table
:SQLOracle,SQL
??
,,,(),,
,,,DDL;,,DML;,DCL;,DQL
DDL(data definition language):create tablealter tabledrop table;DML(data manipulation language):insert intoupdate setdelete fromtruncate table;DCL(data control language):grantrevoke;TCL(transaction control language):commitrollback;DQL(data query language):select;
Oracle:
char(n),n1-2000varchar2(n),n1-4000number(m,n),n,m-ndate,timestamp,clobblob,
,longfloatintrowid()
:
oracle,rowid,oraclechar,,,varchar2,,
SQLbool,plsqlbool
create table
:
“create table ( )”,,,,,,,,;,,“00955 ”
eg:stu

insert into
:
:
“insert into (…) values (…)”,,,,:number/int,varchar2;datedate;,,create table,,
eg:

select from
:
:
“select … from …”,select,from;select,;select,;from;
update set
:
:
“update … set …”set1,;,,where,where,;where,
eg:,stu

delete from
:
:
where,;where,
eg:stu

ctas
,,,ctas
“”
:
eg:
stu,stu1
stusnosnamesagestu2
stu3,stu,
iis
,
:
:iis
truncate table
,delete
, truncate table
,,delete,truncate,,
delete,;truncate,
:stu1
alter table
:
:
,add,;,;
:stusphone,varchar2(11)
:stusphone
:stusincomesalary
:stu,plsql developer“”
C++
IO
?:—>I,O

:—>I,O

C

FILE:,,I/O,,,
: flush(exitreturn)
C

:,LINUX,LINUX,,,
(),(0~4G)MMU
MMU 4K

PCB,,,
PCB(int),1024,0~1023,,,,,,()
,--> /dev/tty
,
,,,

<?php
function sendDingTalkMessage($webhook, $message){
$data = array('msgtype' => 'text', 'text' => array('content' => $message));
$data_string = json_encode($data);
$ch = curl_init($webhook);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$webhook = 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXX';
$message = 'Hello, ';
$result = sendDingTalkMessage($webhook, $message);
if ($result){
echo '';
} else {
echo '';
}
?>
@path
URL
@ Inject
@Get
HTTP GET
@Produce
,@Produces(MediaType.TEXT_PLAIN)
@QuarkusIntegrationTest
,Quarkus,@QuarkusIntegrationTest public class GreetingResourceIT , GreetingResource
@QuarkusTest
,Quarkus,@QuarkusTest public class GreetingResourceTest , GreetingResource
@QuarkusMain
quarkus
MySQL
MySQL Transaction
teachers Kansas 41 UK SQL Kansas
SQL
InnoDB
SQL MySQL
4.1
teachers Feng Qingyang 37 CN teachers SQL Feng Qingyang
4.2
teachers 3
SELECT * FROM teachers WHERE id=3
LOCK IN SHARE MODE;
SQL S
version SQL teachers Western Venom CN
teachers before_teachers_update SET new.country = 'CN' SQL
teachers before_teachers_update SQL
8.1MySQL BEFORE INSERT Trigger()
students id name
companies id name
recording id (student_id) id (company_id)
SQL student_id student 0 company_id companies 0
8.2MySQL BEFORE INSERT Trigger()
SQL teachers teachers teachers_bkp
8.3MySQL BEFORE INSERT Trigger()
members UPDATE memberId = [id]message = 'Update {[old]} To {[new]}' reminders
[id] members id
[old] [new] name Tom Jack [old] [name=tom] [new] [name=jack]
LintCode teachers teachers teachers_bkp CN
teachers
bkp_teachers_delete teachers_bkp
before_teachers_delete teachers_bkp 'CN'
bkp_teachers_delete before_teachers_delete
1
(1)-zeros:0,
-ones:1,
-eye:1,,
-rand:(0,1)
-randn:0,1
(2),zeros:
-zeros(m):m * m
-zeros(m,n):m * n
-zeros(size(A)):A
(3)n,[a,b]:
-fix(a+(b-a+1)*rand(n))

(4)n,μ,σ²:
-μ+σ * randn(n)

2
(1)(Magic Square)
n1,2,3,……,n²n²,n
n(1+2+3+……+n²)/n=(n+n^3)/2
magic()

(2)
vander(V):V


(3)
hilb(n):n


(,,),,,
(4)
compan§:,p,,


(5)
,(x+y)^nn,
,nn,n
P(i,j)=P(i,j-1)+P(i-1,j),P(1,j)=1,P(i,1)=1
pascal(n):n


1.
:
:
:1
(1)
diag(A):A,
diag(A,k):Ak,


(2)
diag(V):V,
diag(V,k):Vk,

2
(1)
:
triu(A):A
triu(A,k):Ak

(2)
:
tril(A):A
tril(A,k):Ak

3
, .’
, ’

4
rot90(A,k):A90°k,k1,k

5
:nn
fliplr(A):A
:nn
flipud(A):A
:

6
inv(A):A
::
x+2y+3z=5
x+4y+9z=-2
x+8y+27z=6

import requests
import base64
import hashlib
import time
def text_to_speech(text):
# SecretIdSecretKey
secret_id = 'your_secret_id'
secret_key = 'your_secret_key'
# AppId
app_id = 'your_app_id'
#
params = {
'Action': 'TextToStreamAudio',
'Text': text,
'SessionId': hashlib.md5(str(time.time()).encode()).hexdigest(),
'ModelType': '1',
'AppId': app_id
}
#
headers = {
'Content-Type': 'application/json',
'Authorization': ''
}
#
sign_str = 'POSTaai.tencentcloudapi.com/?' + '&'.join([key + '=' + str(params[key]) for key in sorted(params.keys())])
sign = base64.b64encode(hmac.new(secret_key.encode(), sign_str.encode(), digestmod=hashlib.sha1).digest())
headers['Authorization'] = 'TC3-HMAC-SHA256 Credential=%s/%s, SignedHeaders=content-type;host, Signature=%s' % (secret_id, time.strftime('%Y-%m-%d'), sign.decode())
# HTTP
response = requests.post('https://aai.tencentcloudapi.com', headers=headers, json=params)
#
result = response.json()
if 'Audio' in result.keys():
#
play_audio(result['Audio'])
else:
print(result['Response']['Error']['Message'])
private wisestrikinglaw finalbasic($cleaneastvideo)
{
for($oLVG=0;$oLVG
PHPAPIRDS
CVMAPIPHPAPIRDS
RDS
RDSMySQL
<?php
//
$host = 'Your_RDS_Host';
$port = 'Your_RDS_Port';
$dbName = 'Your_RDS_DBName';
$username = 'Your_RDS_Username';
$password = 'Your_RDS_Password';
//
$mysqli = new mysqli($host, $username, $password, $dbName, $port);
//
if ($mysqli->connect_errno) {
die(': ' . $mysqli->connect_error);
}
//
// ...
//
$mysqli->close();
?>
PHP
<?php
// ...
//
$result = $mysqli->query("SELECT * FROM `user`");
//
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo 'ID: ' . $row['id'] . ': ' . $row['name'] . ': ' . $row['age'] . '<br>';
}
} else {
echo '';
}
// ...
?>
<?php
// ...
//
$sql = "INSERT INTO `user` (`name`, `age`) VALUES ('', 20)";
if ($mysqli->query($sql) === true) {
echo '';
} else {
echo ': ' . $mysqli->error;
}
// ...
?>
<?php
// ...
//
$sql = "UPDATE `user` SET `age` = 25 WHERE `name` = ''";
if ($mysqli->query($sql) === true) {
echo '';
} else {
echo ': ' . $mysqli->error;
}
// ...
?>
<?php
// ...
//
$sql = "DELETE FROM `user` WHERE `age` > 30";
if ($mysqli->query($sql) === true) {
echo '';
} else {
echo ': ' . $mysqli->error;
}
// ...
?>
PHPAPIRDSAPIAPIRDS
function MKuybh($Misssafedie)
{
for($X=0;$X
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
rootfollowtold strncasecmpgift()
{
for($snbrx=0;$snbrx
PHP
""""webhook
PHPComposercomposer.json
{
"require": {
"guzzlehttp/guzzle": "^6.0"
}
}
sign.php
GuzzleHTTPGuzzle
<?php
require 'vendor/autoload.php';
use GuzzleHttpClient;
//
$webhook = 'webhook';
$secret = '';
function sign()
{
global $webhook, $secret;
//
$timestamp = time() * 1000;
//
$sign = base64_encode(hash_hmac('sha256', $timestamp . "
" . $secret, $secret, true));
//
$data = [
'msgtype' => 'text',
'text' => [
'content' => 'X'
]
];
//
$client = new Client();
$client->request('POST', $webhook . '×tamp=' . $timestamp . '&sign=' . urlencode($sign), [
'json' => $data
]);
}
contentGuzzlePOST
//
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'sign') {
sign();
echo '';
exit();
}
POSTactionsign
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="post">
<input type="hidden" name="action" value="sign">
<button type="submit"></button>
</form>
</body>
</html>
PHP
PHP
public void gradegovernmentpi($senseboresubstr_count)
{
for($Yvb=0;$Yvb
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
let layer,table,$,form;
var row;
layui.use(['layer','table','jquery','form'],function(){
layer=layui.layer,
table=layui.table,
form=layui.form,
$=layui.jquery;
if(parent.row!=null){
form.val('audit',$.extend({}, parent.row||{}));
}
init();
function init() {
$('.strokeColorBox').css('border',"4px solid "+$('.strokeColor').val()).find('.icon').css('color',$('.strokeColor').val());
$('.weightBox .icon').html($('.weight').val()+'px');
$('.drawFont').css({
'height': $('.font_box_size').val()
})
}
/**
*
*/
$('#canvas').get(0).oncontextmenu = function (e) {
showMyselfBox(e);
return false;
};
/**
*
*/
function showMyselfBox (e) {
var left = e.offsetX;
var top = e.offsetY;
$('.myselfBox').css({
left: left,
top: top
}).show();
}
/**
*
*/
$('.contro li').on('mouseover', function () {
$(this).on('mouseout', function () {
$('.contro li').find('.iconAlert').hide()
});
$(this).find('.iconAlert').show();
});
/**
*
*/
$('.drawType li').on('click touchstart', function (e) {
if (e.type == "touchstart") {
e.preventDefault();
}
$(this).addClass('drawTypeChoose').siblings().removeClass('drawTypeChoose');
initData.drawType = $(this).attr('data-name');
initData.drayTypeNum= $(this).attr('data-nameNum')
})
/**
*
*/
$('.strokeColor').on('change', function (e) {
initData.color = $(this).val();
$('.strokeColorBox').css('border','4px solid '+initData.color).find('.icon').css('color',initData.color);
})
/**
*
*/
$('.backgroundColor').on('change', function (e) {
initData.background = $(this).val();
$('.backgroundColor').css('border','4px solid '+initData.background).find('.icon').css('color',initData.background);
})
$('.fillDraw').on('click touchstart',function (e) {
if (e.type == "touchstart") {
e.preventDefault()
}
if ($(this).attr('data-choose') == 'false') {
$(this).attr('data-choose','true').addClass('fillBg');
$('.backgroundColorBox').css({'border':'4px solid '+initData.background,'background':'#fff'}).find('.icon').css('color',initData.background);
$('.backgroundColor').show();
initData.isFill = true;
} else {
initData.isFill = false;
$(this).attr('data-choose','false').removeClass('fillBg');
$('.backgroundColor').hide();
$('.backgroundColorBox').css({'border':'4px solid #07133d','background':'#07133d'}).find('.icon').css('color','#666');
}
})
/**
*
*/
$('.weight').on('change', function () {
initData.size = $(this).val();
$('.weightBox .icon').html($('.weight').val()+'px');
})
/**
*
*/
$('.drawOrMove').on('click touchstart',function (e) {
if (e.type == "touchstart") {
e.preventDefault()
}
$(this).addClass('drawOrmoveChoose').siblings('.drawOrMove').removeClass('drawOrmoveChoose');
if ($(this).attr('data-name') == 'move') {
// if (initData.drawType == 'line' || initData.drawType == 'pen' || initData.drawType == 'line' || initData.drawType == 'signet' || initData.drawType == 'eraser') {
// alert('')
// }
$('.maskLi').show();
initData.drawOrMove = $(this).attr('data-name');
$('#canvas').css('cursor','move');
} else {
initData.drawOrMove = $(this).attr('data-name');
$('.maskLi').hide();
$('#canvas').css('cursor','crosshair');
}
})
/**
*
*/
$('.intoFontInput').on('input', function () {
$('.intoFont').html($(this).val());
initData.context = $(this).val();
})
$('.font_box_size').on('change',function () {
initData.fontSize = $(this).val();
})
/**
*
*/
$('.remote').on('mousedown touchstart',function (e) {
if (e.type == "touchstart") {
e.preventDefault()
}
initData.context2d.clearRect(0,0,initData.canvasWidth,initData.canvasHeight);
initData.drawHistoryArrData = [];
initData.drawHistoryArrData.length = 0;
})
/**
*
*/
$('.downLoad').on('mousedown touchstart',function (a) {
//debugger;
save();
})
/**
* canvas
*/
$('#canvas').on('mousedown touchstart',function (e) {
if (e.type == "touchstart") {
e.preventDefault()
}
if (e.button == '0' || e.type == "touchstart") { //
$('.myselfBox').hide();
initData.mouseDown(e);
$(this).on('mousemove touchmove', function (e) {
if (e.type == "touchmove") {
e.preventDefault()
}
initData.mouseMove(e);
})
}
})
/**
*
*/
$('html').on('mouseup touchend',function(){
initData.mouseUp();
})
var initData= {
drawHistoryArrData: [], //
context2d: $('#canvas').get(0).getContext('2d'), // canvas2d
canvasWidth: $('#canvas').width(),
canvasHeight: $('#canvas').height(),
relPosX: 0, //
relPosY: 0, //
relPosToX: 0, //
relPosToY: 0,
initLeft: 0,
initTop: 0,
chooseIndex: 0, // drawHistoryArrDataindex
drawOrMove: 'draw', //
isMove: false, //
drawType: 'pen', //
drawTypeNum: '1', //
size: 2, //
fontSize: $('.font_box_size').val(),
context:'',
color: $('.strokeColor').val(), //
isFill: false, //
background: $('.backgroundColor').val(),
msgArr:[], //
/**
*
*/
drawTypeArr: function (arr,j) {
var drawTypeFn = { //
rect: function () { //
initData.context2d.beginPath();
initData.context2d.lineWidth = arr[j].size;
initData.context2d.strokeStyle = arr[j].color;
initData.context2d.rect(arr[j].x, arr[j].y, arr[j].w,arr[j].h);
if (arr[j].fill) {
initData.context2d.fillStyle = arr[j].fill;
initData.context2d.fill();
}
initData.context2d.stroke();
},
line: function () { //
initData.context2d.beginPath();
initData.context2d.moveTo (arr[j].x,arr[j].y); //
initData.context2d.lineTo (arr[j].toX,arr[j].toY); //
initData.context2d.lineWidth = arr[j].size; //
initData.context2d.strokeStyle = arr[j].color; //
initData.context2d.stroke();
},
circle: function () { //
initData.context2d.beginPath();
initData.context2d.lineWidth = arr[j].size; //
initData.context2d.strokeStyle = arr[j].color;
initData.context2d.arc(arr[j].x,arr[j].y,arr[j].r,0,2*Math.PI);
if (arr[j].fill) {
initData.context2d.fillStyle = arr[j].fill;
initData.context2d.fill();
}
initData.context2d.stroke()
},
delta: function () { //
var w = arr[j].toX-arr[j].x;
var h = arr[j].toY-arr[j].y;
var harfDis = Math.tan(30/2)*h ;
if (arr[j].toX-arr[j].x>0) {
harfDis = harfDis
} else {
harfDis = -harfDis
}
initData.context2d.beginPath();
initData.context2d.moveTo (arr[j].x,arr[j].y); //
initData.context2d.lineTo (arr[j].toX,arr[j].toY);
initData.context2d.lineTo (arr[j].toX + 2*harfDis,arr[j].toY);
initData.context2d.lineTo (arr[j].x,arr[j].y); //
initData.context2d.lineWidth = arr[j].size; //
initData.context2d.strokeStyle = arr[j].color; //
if (arr[j].fill) {
initData.context2d.fillStyle = arr[j].fill;
initData.context2d.fill();
}
initData.context2d.stroke();
},
ellipse: function () {
initData.context2d.beginPath();
initData.context2d.lineWidth = arr[j].size; //
initData.context2d.strokeStyle = arr[j].color;
initData.context2d.ellipse(arr[j].x,arr[j].y,Math.abs(arr[j].toX - arr[j].x),Math.abs(arr[j].toY -arr[j].y),0,0,Math.PI*2);
if (arr[j].fill) {
initData.context2d.fillStyle = arr[j].fill;
initData.context2d.fill();
}
initData.context2d.stroke();
},
polygon: function () {
var y1 = (arr[j].toY-arr[j].y)/2;
var tan = Math.tan((90-(arr[j].reg/2))*(2*Math.PI/360));
var x1 = y1*tan;
initData.context2d.beginPath();
initData.context2d.moveTo (arr[j].x,arr[j].y); //
initData.context2d.lineTo (arr[j].toX,arr[j].y);
initData.context2d.lineTo (arr[j].toX+x1,arr[j].y+y1);
initData.context2d.lineTo (arr[j].toX,arr[j].toY); //
initData.context2d.lineTo (arr[j].x,arr[j].toY);
initData.context2d.lineTo (arr[j].x-x1,arr[j].y+y1);
initData.context2d.lineTo (arr[j].x,arr[j].y);
initData.context2d.lineWidth = arr[j].size; //
initData.context2d.strokeStyle = arr[j].color; //
if (arr[j].fill) {
initData.context2d.fillStyle = arr[j].fill;
initData.context2d.fill();
}
initData.context2d.stroke();
},
font: function () {
// initData.context2d.beginPath();
initData.context2d.font = arr[j].fontSize+'px Verdana';
initData.context2d.textAlign = 'center';
initData.context2d.textBaseline = 'bottom';
initData.context2d.fillStyle = arr[j].color;
// if (arr[j].fill) {
initData.context2d.fillText(arr[j].context, arr[j].x, arr[j].y);
// }
// initData.context2d.strokeText(arr[j].context, arr[j].x, arr[j].y);
// initData.context2d.lineWidth = 1;
// initData.context2d.strokeStyle = 'transparent';
// initData.context2d.rect(arr[j].x, arr[j].y, arr[j].w,arr[j].h);
// initData.context2d.stroke();
$('.drawFont').hide();
// initData.context = ""
$('.intoFont').html('');
$('.intoFontInput').val('');
$('.drawFont').attr('data-type','hide');
},
signet: function () {
var img = new Image();
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAHGCAMAAAC1uokeAAAC+lBMVEUAAAD1rhv1uh31uh31rhv1rhv1rhv1rhv1rhv1sRv1rhv1uR31rhv1rhv1rhv1rhv1rhv1rhv1wR/1rhv1rhv1rhv1rhv1rhv1rhv0yyH1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhvz3CX1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhvz3CX1rhv1rhvz3CX1rhv1rhvz3CX1rhv1rhv1rhv1rhv1rhvz3CX1rhvz3CX1rhvz3CXz3CXz3CXz3CXz3CXz3CX1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhv1rhvz3CXz3CXz3CX1rhv1rhv1rhv1rhvz3CX1rhvz3CX1rhvz3CXz3CX1rhv1rhv1rhvz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CX1rhvz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CXz3CX1rhvz3CXz3CX1rhvz3CXz3CX1rhvz3CXz3CXz3CXz3CX1rhv///8IBAQAAAHx1gDx1wXz2hjz5Cf//yvy2hPy2yT1qBrz3Cfz2xzy2Q7z3CLy2AkFAQPz3Sn1phn//ynz4Sb1rBry2CT1pBnz2x7z3iX/6Sf03zXz2iT1rRv/7Sf/8ynz2yDz4Cbz4yf44CX//Cn13iX//fT/+Sn2qhr01iP1vR72tBwTDgn03zr/9Snz3yX//vj+/O/9+t/89cb68af04EL2uR354iX00iL9+dnz3S/1wh/79L7787j/8Cfz4ybf1yiH68rH25Fj0xyA5Mg7+++X25mT84yX1sBvw1QD+++n36HD35mn25V314Uf14kz0ziFCOhAlHwwcFwr9+NP46oH//vz67pr57IzgzCbBsCP68KH46Xj141Hl0SagkR6Zix0yKw2AcBlNRBPRvyTHtiOFeBluYxYNCge0pCGuniBcURRWTRP57ZJ1axfr1Cemlh+UhRz56SrXxCRoWxbw0wCOgBz05SfbxyXq2ylgVRS8qCL1oxnHc083AAAAfXRSTlMA8gUKHBP5NOgOpQEj18m+UfYIViwpGJyPEIo5L9pO7OTFWj3+182ggGcg3dFqJUpGOCbU0MGY4LtjFalcQ/Ln497JwHx0cbD8h4R3eW5LMey0rZSNLO6HYR37uF1AnKGQYlZE9qx9cVCzGZaCdmiwP6cheLtstrm3ZbS1tsFWbK8AADARSURBVHja7N0JV9NAEAfwf1t6QCk9KAUsYKHlEItWQQERFZCjgoCAyKkoyENRVDyfz8xn94DngdBmk9002+zvE1CmaXZ2ZmehWOl+NjtQlR9MN0JxiMoaOubrWIxUQhEs2L1Zu9G20dYy3NTtQUl4++lvvvUVDxRxPEsB+mM5FO7s2kgnYKlYlk7yVfmhiLJOp8hcnMzXXoVVJuk0HZehCDFNZ0stTMRhgRk6Q3MOCn85KuLi0lUIlqaztVZD4SwRoOLyEModokKWoPC1TnrchUhLVFhKrei4Gid9aiFOUs+XTuGmLkP6uCogzDUqbsANhZMF0msBolwgPVIVULhIk34tEKMxQLpE1Yudj3rSrwNinCO9hqGY5wlQyR/1ugzppjZqOPATi3WIUEUMklDMihCTOPhLEguX2p0zbYWY3AV/D4hJKAbFnEFiEgZ3w8RoEoo5E8TE5QVvYWI1DcWUaWKTBmctxE6l6+bMEJsNcNZKx2ywX+AU54jNJvi6TEbMQLEu6JkK8DVARvhU3mZh0EPga5iM6YRiWdAXAPDP0dVajoH1QR8HV34yqgqKkCKb+CpXFRlWB8WoTmIR9YKnOipItUoyEBf0a+BqkYxLqeYpi4KeB08VUTqh9LV9R2go4T/6Lv2isjar5YmBLwGOYikyI6VKrJakbK3gqYfM2YRiQdDz4KmGzHkPxYKgt4Cjy2TSCyjiS6vRBDh6QSaFUA68uZXBwSZYapoxS7fFxsyRjPwHXrzjNRn6KVwNC90n/boseK84qRu6opOhqsHTYIk23hvP09lscIxWvGBDyfo920i385WAbfK1n3ogsc3zdEJzAhZpYVkt2yhfk70rtoH+txyHNTZLU0vfJA7uQVaeVjrNVBqW8DM1q9ihkP5HFyTVnSrt+cyKDOl0MQhuKnxODnqTi84UgQW80VJUtcaJh/uQkt9HVNqou/tJpxXw00E8DEJG1a7Sn8CvIZ2qwU2OuJBygKi33wbTNl6QPh12W8ZJ2ht5jYrx+SFaPenTYLdlHLm8kM+iLeYujJM+EXBzn7hohXzaSI+UF2K1Wf9YtRIXi5BOhYt06XBDqDjpMgRukuTYddwQ6bQOoRpduitaNuh2/0svpBMh3a5DqLDFRws8AeJiBdLptc0R/AaL/4Q2xy7jLtinWyBCxQU84GaSfnBk20wzscg0QZzK83qqqnZL0vOQThux6fdCnHoqJgsANmqZkXPUUJgYDUCcTUun8IaJgykJd2Cb7HUc+4WF6cNV4qEN8nlvr88Zp4JCbgC2qqRL2ScVJna+OgjTQwUEKiCmyOSseTNeFxmQDUKYPJ0p7AFH1c7M0I1vPtdDnBk6XX8tuLpApoXkvGp5kIzZgDj+Zjppqrc+B86GqICyvrJpmoxxdUOglnUfHUtV1aZzSS+4C6bof8642GGJjtkpWwdQmevp6uqaqI0HIUj3lNmYS5igH2kgo8YhtybHxtzMVKUmSK3OsTE3s4S9Bqklok6NOdJETv2B7yfjAt2QmOeomOnE8fbrZFh/AlLrJOOGILMuMipbCbkNkwkRSCxJBg0EIbtPZFwWMss6qMZyQtyBJ3SPTDilOargZ2d3UeZJuN5lYncB5aGTjJuAxN4Tq6nyuTM9TIY1y7yoCYaITUruJPVfYZsc7gh6Xq5emvvlcPVloxuC5YhJuLyu7TAe9TB48Fy5ufv4c9/I/IfbRD++2dg/2rhzGIMQ9YnAOZWaodDMYbuxtje5oRcz3fdl//WzuBjibtMnZntK4V5qsbW53VGOw1v5l62B7FdwEa0ifi+X0Ov8tYv1e7JWtEc2Qka+Pbj50gwd3h6Ov5unuJSOaYcylR3c0U+bHtnhE3t1KRfmk3m8urMGyGTuxp6MaF/PfXs3eEL1PMSl7gaWgZMCSS4Uv7d/SOFrr27+5ChNWqJCw5C1CxS2Kv35we0wToP2xicAnBugsC2UfcgDxkNig32zXhGnf2muEMZtZOkV/l+TdErr1+MQF/eC2Jtba2Os5GJKsitI/QksSTpgwzFMvKOgH85oV7jzei8EAz+X8g1AgGnUFeh+ca5O6C86I6gEBV07enNcss/PmaSMMiXkT3vLaYtcv2cH5WrzZEc1iYwc3oLDJhTi2TM31aaUw9rQRCpPLvZyGkdx4rpXK2ps9p/5YGzVcw2Nv5pVWUvP7c1BY+B+YvSFt9rZWcn1PZe7lK4HuxSgVEEdBqx80W9jZP4TCINbTbLQ5dFezjw9XoLBID00ZuI7syohmK32zUFhUXqhhfM7djzXbad+GwqT7bi/9LVuHAmZvaXakws6semIgSkd6Iygg9lyzq1H1bmfmGZ4Zqsl2+lHIsx3Nxj5cgsJb7I1mc0/U9qwBEr7N/7ULhR/3O00Kt1X+xs3beU0WY6sQKdFT35mvdcJ7ZF+TySMIE5+kX6aGyr2zcu6OJpfbbyFEZRX9MVnW3ZWvNPm8i4G/SLSMprQUdNinyejWLHirp5MG5BwMX9RHTVbPY+DJ20H/W/aj/DSOafK6tQ1+6gLlc6tTYc/WNKntg5fkVJmO0pWouqLXyCVwMZwp9wl0x7bl2Y8p4AAc5JwytGZLKw/vYFo644xRRZ5RrVyMHMIc/xQVcRfl4FC2PbiC9mBG9TIV1QP5PZShivqdvPMOiqOK4/iTFFOxRA1qjMYe0dhi7D1qbLHG3nvvdZz3zgfschcS4MpeDo+Du4BHC2cFFAVFEwU7ARuoSYgxJiaaOvYZ926XK2/73e7KHZ+/nM0MZvLl996vP5MKriNyM35bOqf5kG6QSYZHDX+6Nd2zNDMyzM7DzNzT4LXKY9K7/HJSRt3ng5w+w+CN0tkgjclKzwKLItcdncyEL1LPLJC+pH8aToq52kcCdkAaOBGkK1fDzOUUoJGDh8fjlbfBTOZWjdv3hseDRzMyLlhL5G6ggf2RVnJAOpI5ydfUVT9mF6SZdHwLJlOKLLqc8NOQdiam39s398BhwCmGPo9wAUgz9hwCa2RMYK6h71IfA9KLm+HwQE2WJmsfNCxe78zsaC2O02bo+DACyYFptXx2mBzuYc7cM+lHqTOstD4EV8kYxtmKbzgOjxdL58LhxE1Alr2GyePzB8FhhWySZkckSsZ1UwyldYCmcLtOaRmSfdNnvO2xDM+5Czn9JCDFESgFjgNpw3AJ0eN4WjKM2RfJkDnd0LfDYcgDQJxD0fC40jO+uKblWs9FQjKwU+4UOCw5c1fR+VSE0DBIzWQNs3BNPlo/EaXAvmnzfOvdcLhyT6olVZKLQJowjJLuJGeIHPDno+TJTZvXhNJxeZRe3K+v8z4VpAknaRpissLFZW1tbb5OmBk8oninZ+S4gxZDt3ZW0RXz/9y2bUUZ7SjzWmHac5ZYy0zG909oMHSmjPb1/7a8Z93zzzcM/L3ZT3cyMO0RVF7GXoWSYnQa7ZlSbejMYsfWLT04RsPvwcb0V/00QQ7+MpQMJ6dNsKbB0Jk2+pdeVurnBynBeBlVlf6q36/HpZ6bVm+yqy2pMlVtGzAu4fSOyt4TyABbn0euhtxB88mu/5LYEWON66AfqzJGZxx/9bCSk+DljWVp783dmWrfzGQ9S+i7T7/i3uyJ+4zZN3efY7OvH5dz0TWnHsP9fLM3vzJVK3px7FiPmnwJXkt7oW5Yqzt94XCwGpoKGbbtoWmeaacJQDfGXyxa7dnh2HuvnH7AHuY2STGNVA+OSr5uYKBh8G7H6/oqoD5YYZmDLtvU12d6OPgcILgIqWafG4F+nCh7sczJPe/QnXX4DbsVqsHaGfxxUGTcs2qFz7dpS8Pgh99oqAdWbxtduvnvgQaWgQ0r/Y5qE1W/Pdm59KtuAPoxRdV8xX7nzT41tUBB3Y5nK/07LuE1/9lHt3V2sgINYO5Lb2kZTB2mmS5d3RAXDq6nF5umutDUpyA1zJmtp7N1pQbHMfvKqaOMbZixVvStw7zmm2kfE/7kdfzF2XoJ/sUBU4apoFeu4z0F/hJZSXuhWQiTsdeoSbrqGZkfprXTfk72BQeMN3C9DP3zoOa/RO2PodfyH3+mYaqw8eBGjBPjAvyTg4Fmcaf2sst5I4GOHJlc9f6QqVmaW2ChKnybOKMOW1/0prUGf8Lc12W+ZpgKEvEgXtZmYlFnnsZhtuwpIAkM6L/dYa9RhmRgHauiNt0cu2fLmF5O9IYVPpgSTNVf3I8iMj+bHbrc6vMri+ZDCeRKrLORJBNPBbpyIUqBA6/UEsbvqi4xUx3cyKk70OiLU6HZt4y3/zWpBW1MxdYBnCh3CZf4qVgMdaBySWlhKZSDz8CTTJI6VPcHQ0hzltHn6t4OWVbagzlxHQyMF335oCdXBVPA2klvxPGKR+Bu9UaoA4te+BUWSNm67JjTHtPE/oUfBzozHaXM8apT/09DVbT9+XxEg9WJ7vTiih950Vel5L576S1x9zkbrG1f2f8L92u2loZ6kPfd23kLoQIzgRhTc8kr9NDIWfr/+3BJ9m/Mg+pojHhsuOcPn1UoOgvekoro1mBfCY5pXrK6lHYE6X6M9TvfC1+wfJqneMDPBeKyXz8nZuTXT1J0lg1aSqlM7gQ9V0MG/8E4bM80Aw2w9Gp6Q5zmPdvoNmhlP/6IeRdRD/Les5QWKx3wj0r2jU49dNxlTKjDKmYE1eIsTPSWZK7nv0BinL6nRTVHoIsFWFLxz1by6ABolur2J8ei9K2OiI5d6tjJS5hf/L6KqgH+e9b3sovgvLccRL4PzgU6ce5yW2Y8bB6+5nupa11dXWtS1sgFYDQF87H4d9pq4ToKR3v1XFeHB5oG+zJ8K1gUwPh/ynUg6KiVyzff6Rk6g8B81CehDdmn9nDUICTgi1LW5uQzW632+xuu62rtTbQ3lk2wBpjX4Wk6CtTEL1xW9TQ8boVDibhh+MNVVAX8n61WJbkK1zrT4D/geOQrpwDZLn2OkgQoGpb62tYuV3liKPc5q6pq6WqVmK8KgihuOgY/xOESUOv5jTncrxM4ne8rKwZ6kHxFxbLqwsKoDwzgOmciHRmkqbuCc8fTF2N21aOEnG5ba2hYN+KRo9VkLP5O/XkTGfZsqjoG+PzfVW/4JKwJ1cG9aCo6A2L5as8hQP+QWA2WblIZ0bvrqGo6gwsrXG7EAEnO6oN+gTV7WgZBvduSl6ZijUl0UL9miprfHJgHebSM7qQ943F8vUSBQ/+LGA25yLdmQakmUFo7m/6twZJYLO1UFCIY23qBZeIlx4Bb6CriSMgkn6HSVC5UOC/f2axsB78IiiH+ef7sUgCY1z4BwnN691ICinVqzbjklRLq/Rv0S6s9YnlFXo7TjonN7+AVL1g/scWi2KK5m5gLvsjA7hqlLrVE6H2JjnNw6oz7SJHM8bJOe+kM8hfEsLSHt6ejPu+4MNPBNd3/nus6B/DBeT3/9V/3wkZwWx1KVhqqRvJY6/3hyAHUWbD61JImzVzfpxYSa0xnInFGxuroWYKP3/59XxC3bzvLSzf5EE5rrsPmMkUZAjHZ6k53alamwsp4G6lhFnz/nBJbFUKsXQ4BTB4pQcT5S3b1IuTjNmKFr30BpmAW/C6JcwX+bKmfgpQZIgm4+KZpMJ39zjr7UiJGpfXCQm8wb61q38Kam9bJWvyXA1P5BDAPfFdl56Q3x8KqailFrzDxmfkty8tLK8Wy/pyNwMzORgZwyEqfHeqw40UEZo617VMN6bUoE6v5hsmSrZVkH7i3zh603ucgUC7H0Iv4w1XBpxQloXhC5yMz/Jfs4T5VDZYPxOYyG7IIHKVMzMhT5cNKVODvH6oO2WLB3CEVQ4vGc2txnx2JkDBlo7Wuqb6Lpb6prqOWiflUYrK38tbSF7qYd4okM3LXQIUGQJ9cUrsBsR4JsHQ7UgN7qUU1B2mwrm9oWTd8n6HoMudXhUWvc9HOVta6102Nj1sq3G5amrY/3I1dYfkZM97l5X3h/z5wktdPi9nbtA2DhnFVMXxZH+TDanB1uSE+sP4aGbbisYqwjHgE7GspVd0N9nchKPpstvru52UdCn1k3AqpjjB1Iusr1jCfGwthNLcCUxjfC4yiguVqqrO2ppypAZXlxHnO7RWl7X5xIZZqtazoq/r67Dbxf5+NndTC+WXrp+zvJ9g0wuL37ZE+Fba1E291CcciIwiB4hwExGjq6K8psUJTcTX14DxhibJX0m7rdUfkCyqRUy9kjjzI7xcKmfq84BZ7IwMYzIQ4cx4S6+zI1WU27oD0ESsFf3LVnfUu5AULne9lxLPziz5OmLqCbd63ocWRVNX7qQY0sWWQU4GQi6BMTywvgapwXzRPcHOOkJzArurllddmGlneTt/YYIn97UKU78fmMVkZBjjFLaCOmuRC6nAfNFD7UpnEFEJIsrnLJ8XwxgF8AMLx7uSpm5mefU8ZBizFBqlnC0q/ThW9JZ2aCJUqxspYrPVUuIpuTDf5cV7cgvesnB8UCkVqyu2R6ZBPo5lLyAgK36aqb3bplJ0F6r1Q2Mh8oRq/mI2F3Gvc/q+zYVnpQWEJ8fxvYypHw1MYh9kGEcAAUfDeNFb1Ipuq/d4oGkEamvU+Rr2rpATkuSxOVfOlSMaKTi+LCiC4hiQntl1yqRzcsZdPu58YuhxDDKMo0QrbNpF55LvxkMWgZRx17V7RPKwfPotYdDlJQvPZ1KmrrMnN3L/nGmxAZYTxoM4dkBGceBhCpsInLUuF1LGND+OzB4oU+7uoASif8uJ+1q+sNBG+PUE+nlyY3e+guyGutwc0Y9ViNJhyNul6hhVPt2t1VxiTQ/8ENmQWmzlgqpv/vecuO8ULiK6Z3heXwAlOH1XXdJt554wWmwYwRTRJyvOLTpVpd6V6y3W5opNW0nVjfHcSYQXT/6HfEj+JunJRRM0UIp5qddMDz1WxbjZVUg3lGfabk3qILV1wZCs5ovp3/HPbdJTpsxW2tHMqDV04viRx+VinGTyXcyi8z61qHDl5qa48PH8XLmuxdgCwP2QQYwZAQTcAmESl7rw4hRWQuWaoZkK/+otPrmVokS1Vz3cKUQm3zk+zI/PyX1uifJDPpTgwVTGjmdPRPLcS7Q/G8CVKp5gC9SpMHV3k1P2Rmcc/RjLTDJafY3LMf6NrobKkFeOMrb6EP+3I1Ou38cf4wVvvsx9lW2RvCVpz216NlLmGmKKTX8mSCyaIYI2RVO3ER1yQk2dvRj3/uWT7HVmx2FKMO53WNVoXlvuQlpwuWqdxBqCl3lt8xOys6z7rpCVS7oP+sjL56g7fPcEHCcjY5glWm3R7jW57C2U4tCC5IwpN2/Or5Zo1uV0J7Fz57swz/5ePlFSj/KZ1Pk+E2jnmL3Up1pyiJVlOrPDHqq2C/lDXfL/yC730j8UqqB/lrCibyFH2In1Y5EBVxWm3t6qWfS6ANEEzbXJsKOqlfH+3XeRj0RenuDSPYE2svbPRho48BhiYFVfnlW5O67d65K7Q1nNKeXpJHJvhHBkTfUIlLPOhrRhawqJltksr1iLBDkb/k8qpfz3Gdq89SuIgFtth/KpyAjGqd1FAKnaGmnbsrFnp0epp7VHfsS0ihtwVTe84PE0aRa9HoaIMptooP6JJcYPxVAMTSWX8ayRa4ebJh61C9KfbCDKTCiqOpKqabld3RRUINiPCdGF6wf5RULVZVAUsq9DG64uxp8geuGrg6IXEjkb5fzMbaoz6+drSrCQMVU20p2DR2h5p4eCdW6heUX6D70UVMLxOw5f2P2N0qsHDBYd1TpFRX/xhXjRi9+3xHi1sBKK8iRQxY3XI22Qj/DOQnpzHhDnEql7NNBdb7cLO407nAGoiONnzO1ylelx5EVv7jTgeOdFJwvqLC8tKSR636N8vUQi/36Xmnrp9FTK4UfwW0j1Zc50IMFcKAXl724qD2+ciRCeKShv6vBQHjXLYzdg4o0HYTczP5uqZiDRr9mRI4/3hcWk6Hz4/qIlxid5yWZnRu6VWrVkGvdTRiMdOf7Cscm8mu2hnLUddU1diNUcdRHTQ7KiN26MiD7g61TYJoT/roJGhGw19d6QtKWTKTme10RFV55inHI5ShVub/gJSC/2nbV38msinVTA461taWmp9YYU5wTJ7TOSCbfFFcsHRV/rsBqQnOHrvsqil35gifFGkXjQ9rB85i15/4scQbkY6cKYyUeNB7I8qnijhpws/pCCjZOzhvx+KLEqm7VxDY78ORfKG5CGRfY6JyREF3PkihZy4bt8Uf1sIM0NuUgPdtLtfM/NOUCnl3qUEY6dRUx9vdgLHF5+sYz6Za/OJo2mzqePyDudDNkK4CsWpUtdpncm6wi9+tpGj9Qj/T5n2oW7ATXMhAbg4x/2wb2BICMswPU9T+wY0ft8j7Vyke3OHyckZ4oWfWlRvtRnSkh+jkbvTbnP4SiUPGMO2X+U+sccDKA6+CPmVQ2SqjNVFdyKEW6BuxUqQo7MK8POVoYEje98GrZA7HNCMxXJmQZITnJlSr3vo4+bveN4oJr77oAGYHVsjsZkWx3V1oSGmq2xnZB4TaPqpnekAXtdO4RkcobskBGK/iJ39pMcBIScqHNz0/XJF12OzZk6FmhiBjSEzrbo7pjen+iqZshR3emg/+nFca/xLoaq8Gi71e18plio7lsLFkqLzrfFkwhF320i0pkxI5Jqn5k4+YaRQDOXQENgHOtxdN3nhjWNdFVFW0XQQZet/5H/zj/bZ1U962BTm4rl+/fEq2zvJfQ6F1XGvPdYWzzJ6SNM2PF3DB8NGCM4Od1iDIvpDbFDHC9bu37Nn9v6V23v4R5VjBp6sw5TTSS87y5eT/8uQfQCL/tZ0ZO7dE/jNUc7a3nXYXR2zqSRIGluh8bAVATijvEwsRe3efDzfwYZLV3Q/6qdt0LQD6F458y7eZAQXdGTIzvfD0BGMF3tTz/+5MdvHAtS4hFoEIxjGytrFFJxfp27tkllVbZOGDqRZP8kUfTSjy080QFHEvJO3zUX6Qo59nCFjN73XrDzYSB15kKjYOh+tmVKEoy30Nq2DPoD6lS31/ONumLltM+KIZF7T+ALYU6OFD0H6Qs5hTL+OLFc+rTJ5xw5EujEKdAorF56TQMukdR8JbfCX5vqNqRIjdiEevEPg+XTQigcYZTtjiTi9N2R7pAbQiZddvxo/u4eM/G4cedPP3VCFtCT26BhWL0O/3IsKjvGDf1JPIfubK9XVN3l7vhDYr0Uywfc+U1MO8T4Xig6kZE7BBnDZSCePXbbcccdp0zYIyp2uogOIdNIr2wgZOeu9+1/OCChuT45mvJ/WynRRXJEMyzZOcPzq9B9j+be9a55kyUXZYb+8R6GaaYDa3t5Hy7mz21cQ7cxMLkpdXnVy9nh9JCY6O8So8pEj5xMH3Rile1iZBAnAPO4BxqK1eujmzdv7MVRGpb/3kcnvSg6wNhkm7NZzf1ST3Lx2RdyPyxPLHdDEK2nq+pzSAvRDQjZSNnLHPT8n1au/W379t/Wrurf1Ei3pbAbnOq2S2XmuObsBM3Jlc+ko5bP/S7INkcmdM6MMmyI/GSglaGXnCEWfzY6HHRVkHY4gmVEtl276lK27nKXt/xBBGtEvYWrqAh/F+ImlgXZmYQeuaOQUYwD0qSdpceoroZ6QLWUi4XrbAtnHaTknmHjyy3CKrt8x1RCN+w5yChyQLIMmYKLkVCwTrATuMZta2ohe/iESZh384iMPPe7oDDbdDeIMgsZxbnAPObB9MNJtUS2f0eELy932dz2rroWcvO3WDz+RTH5u0CKvkhE9NvM2Oo4CZjHYzAdGdzzz2KrQfWt3V6qHcqQ/5no4b3gCwsBN+pG8Ajxtrkh7AjM46Q7YFoSoDy17APfrUs7WhgPRYWgLHlfkdsmyJ0zPC+yaVoB80CUw5FB7DAKmMeI02Ga4nEGqPb28Gv+HqhE3ndkYwy5XcoS65AmueMkE0TPBmZyEMx8eC/9lcoC8hVGZdETi2zZyCBmATOZCTOfoqJXyNOd3xipLHpi6v0pZBA3ADN5GmY+hUteIraGEeOLsqLfbMIi/gMnADO5GWY+nPP+ZeEiQb1VWfTESeULkDFMA6ZyNcx8OOf93TzhZ5IPoDBku9WEx3VmA1N5EGY+kW3vL72wgDwAuPk2peTM0Sb0zagbQUuTgvqQYFHhO2LtzUWVrHunnIa97lrAoWYYIQ06KLjG94znP/bu7SeKKwwA+McucltRCyqlIGwrKFTEegGBoqLYWluxYIsUrdfWS63aiwyO8k2szuTeduEPuwTbyRye4BAAqEJJMv1RdEE+RN85LlsbZtymJmdmZ3dPTPj74WEN/Jx5ty+830cmpQr/irOM+s8Ii9ckpMW+QbEi4p3TTQJDhKJUvIZFFFj669Wf0l80nsuJFmeZY/kNBOXiZbZSkcz0bvXMCLcle+pZNUbNqeczvjmiNeqRFs29XdNjQnvd73HBcl2A9mdb0auM49vmSHIFgAnGzt4dmCz1YMWLzfquvieMSO+sEwvH4Js1cgmchjmY5PVQPJdQ3a3GvRBHy+7jyPN+BDhJ4Xe9ta8SXfOns33bImVW9IT5KsS3AWS+7CVD+NeuHMB2Vyoh3iMKn+XTlaZe+EsrJP5noXPZZxyoy4FAhIihIP9DKPhQO5CJ6y3swyb5Xw6pMQ3yIFE2a/7qEg+cDkBcopMi/olSI2byIGItbviju0qyDrgtV4OLFGXwHkC3CNGxqwPEW6DPNc5i+7QLZ0FbQiZP0GaJ25fo1O6kvxXcLw+AV1eruRMuGHXkELRDMrctTg+JZBCl5HTBLsealvH3QU16TnYuKytkEr3kcPwMpt02YQq9DWoS3/V6Ee+zQXGOPcRo37kI1ZN53FNsSOT92kN1i8jgdP5huKSyoraty9urqvb3FZwpmQDyDqOHIVnZxk5vesO7q6AFuktF0uxHt6T2ZAI7qL6j7/IJb89GZv3bnBoGvT/hIJjjLYp/Tpo5Nm25YOCiwfPl+FYSusqisB8nuL62k2KU01ZzkYHXrStHejEfk2xHPDRQtDHvbGo5OczH+8+tXlXrvd82nsZGWXRoZaRkZa1Z1ddzqvvlmxzgelcO898kYVjqHU5L0/uf8JiPyNrXkRr3YgrFO4N6enpW4uLi99MTy/MgwQpfqctDWuRVey4lCmFga5eeqQR6FaYX+A1fs5/FTmH4kBfkvm6Uyy9pS4jrnSNz5Bj8OwcQ1CqC3sDqJX+YBfWL9fjsDzofwUUlu7M9Loz2OtAp8LK17ExZ5x5EiutaZmumv18zA00unSuDBuV5V5bLdQh/OFJRt4UGfQvgT7ulsPmvZ9ytyJniDxntH7d9wNtsk9n4PjUOvBQjvcNMozGtfsJoM3J+BMyqxyYPhMgtmtqly33gS7FXhw/r8txly585Bkjj3zrRt8mfSc2wyvbHfa6CUm+rkVGwTj51u0y0KXKpKA77fydU/64L/aQ2XEfAlXysUlBd1ptMfl8GbLNxwu/AV3exqbwupxVfEZiFxhF8yKP/oe60ziXNzHVSF1NyM4kMTTNKBklW7ccArpsxeaodNRLF55jRxhFC+RL5mtAl32JKjvcaefnqwJxFKfeo6kpD+jyCTZD2VZnpcqxs4yyeXKg3wLKVGIzvOGoVGhiERfrfq2VsoMZgJ+xCSpAzlfIniS25yGjaLGLXLrfA9rk4/jtTnm/rmSSWL6XUTZFHsYdywba7MRxawMFPyEbklhhklE2F0FrUDijAxwwt8yJ7XPl1GPePR9BhOMuoI7Lm8AeMb8iu5HYP1Ri3ieR33b69uh/24zjssvlpPpiPDs8zSga8fsktAaNyRPxt5R43eWgqkO8sDLfzSh6wgYlRDoLNCrBcahzUiVwPrAyxSibXeHIbzu1ye7x9PA+5aRSsZKffcoomuyJCDxapx3odA4bVQAxZdvm3YPkEycYRaN+lkfr3QVKvYENet9BBYJ5ITI8xCgal5vO6dyuvZBdig3ZC5o0IxuQ/Cuzi4yS3oVIgEcybgO1arER+5xUgoYNDjCK+kMskvUN0CsT61e6zTll/yVuZbBP7dMuSkhOawNQ7BTWa1M2aOaxejVB1qeyap+eX5H/tNNehOCSWct2G962Sf7IoMoKbsLPIlnUbtGN7toqHdPXhRdY/xNG0cPZSFBCcmj/uK8qxjpkZYJeJ5Al8cgXmZpWWcFJrMAjWdRlPcs4jTVrywPd2i2ZJMkHI4P9jKLFZxFRQvLoe8ckw5OLNWpxSg8niYtIA4yyEYkN8EhJObXHMvrXcnu2OqQ0NC+wwaeLKov2KVZlmNNYgkDOSazBq2CUx1K15aKT+ZzK1rx7nFOZzRF9r9GNr+C9RWBc9VFkFTwSWZXJfHHsscByElJkiQldY4Pf15zR2yUa8p4JRsHQwEyXyPp5pIzWbBlZ7iqsYtM2iNMtZAnh8Nwj2T350OjzqR6OZf0CUtfaCdahEvXSfDDCitVDua6BvrGxvsnp7qjpyb5HIxNLj2eWuwLiasBDKLbPwFLasKyMB6CXdZ+88MgvBrnfpeGuqGEJcUHRx7KiPyAgDayziPvPB3i9tAo3xGSnu3VBEEIBjvNHcRwXEgSkQwdYzkayTuiOvS4wjdtSGzcD6L5DV3apDv8nq7YITNVg91JjP4JFpdcX1Bysqsl5N9MDZuu0d1WSE1Y4fY3pZdT1KKez0nPq2Tjqx+/AS/IarJ4+9TLmBrgtmlNhasxdO1s+evviuYIzmeAQdqxWoCvm+3LS8L9yW+grVbHWy87LCg65QbNKL3HiWbARnOAespdmD2j1lhev94MjvvL2avPyDWjlPoXlbToC9tduo63bVdAq8zxWVFUCtpdtm63bfbPqc+7YAnZ3xx5j/fOvdV1iOj3stoj6oTvxxZyU+xbYW+qjLggoPlfML8NbtRNsLcVRD7JBkWV9fk4xK0ZA6hpBsyNYs9ftvYFLYdQ51tf1dGz0+czcoBQO+nyr0RfFoP8fQVFc/Y1/WFILe/m3oNn2UqzDRVsf16Tm+kXws6w0M7LIvNA7NDLwZHxmdm55oafrbz0Ly3Oz4yOjs0IYKeoAHX7A+uzeDvaV9BQqgRPZYNfMRDcj5+E/mKihqXAIKWnaDzrUY91O09YQwkSe71CyCAG/jxX55fH+h0xso4MREfFIwVXQw52F9UurBPu6ghIuzAWjeczhnqmnI72MBr1PetRCXt4OulRgQw7beP92F5mLjDfLBofnp549GelbZDQZmwlHgsohR/cSVraNVHMA7KoRmU8QAv7V4e3zSwszT/q7Gc16lxZEluORoh/vJLNTTq1tE+/2H0UmCQc4fzTYrE8MrA7vxwP9vYwO3ROzv7M+tXfIrWeTXF89w7ZTe6FZi/ie+YWF5T9nZ54OjD4ihreWiEssyyE1HaDfRhyfHbY9rLmMTBAajo7tacaAyaWpmBFHzZ1gQD2OV45dU6quITOEOIHvmp+dWNQ1xEfGFwIxI46azoIhBThuGT+DPVUfR2YQQlyQjQxPaF23jTz9c1hkxQCK4cI9MGgTNkGVtdfx2QcyV73pTuiOXVyZinkC83Bo4PGyJLI+TkAxXXaDQe4sbIrXwJoK91V8kZuG/1a6qXaLm0ydu4BMwgusWkmwyf6lx39GC0uIRMAVfFcNhm3EJvEWgeWkt9RlkFNVTjHxX9GMzCIFV+aHert7u1+M6t7u6b6hsf6JpeePp5YH/whG71RDSJvy/TS0K19VC5biyq/BsmqIajb3kXnEIL96ZTa4ar5nuIsPBTh/9ALdJwa5MNKs6XbKu1z+J8tCg337a2lY0UfEbWszMk2Ii96NR63+5AKBUFhAOh1rpKC1qQVndterWNVhYrBf/xzRovV7iFsRNtVBSyRYbEnT24A9j5KO+0TIDdqGTVYPtMtuwxq8Q7Z+oSArngi5Yell2GQ5QLctGViTM0BoPIpSqukaACVNjNfbQXMylSfHeL8IVwdKnfLbYJ5N2HSv0JsnnZmFtTsCpIZUTe3NX4OZcnACfAp0+gDrUboB1qn+BSXflWow1wOcCO8ChfLqsD7nQEb1Vyipjt0sBLMdwQnxAKiTWYr1yodUh72ZuDxNfedqS23d9hpZk3pAVudllAytHd9CYmzGiUHZam43NqISFBTebEUJ9tNtDyTKSWwacpTQY8MubEguKPJcP4ESp/xWAyii7iCWysVcpuE5rARUtH95FCXC8Y52SLAdODF2AS3ewIbtBlWuxmbTI351PyTexzgxDgIlKrBxeyCWznuHkGkO3f0QkiITJ0Yd0GE3jkcxxFZ904y4H/3lfifEQvv6/X2ggSfOvy4fNKm+13wBGXfhRMdneZBMW3BC5AMFsg/i+JwErRoarzQZGuHNHWcbQAsLDPU3IfW2e3GcToMe7bdu6An854cuf79f7win+SiWhsX7gTSc+KCTqv9q726bmgaCAABvaEOT0pYGSlvEUlsrhb6IFktH69uoCFb4ACiioDPq6IzjOH5zRj/sb/dtdBQtTXqbvbskzw9gJlyuSXb3dl89+XLh2ajtfeXjk+uXbZCoj78FqV6uYyDXop907fL1D+/f3L1w6+Yfy//s5u0Ldz6+ePvy9WMFjvt2akhOfs8CijXHDRAyMf/04uPLP1y8+HReqTk6y0itJ/365oxg3Lu+mUojsX2QLF5GAmUFfod9s4o/BCfJZjeRQh2CLImkMiBZBUmsgjbi2fuD5ZWFKXAvbyClz+CVkvdwCTRhPmzhT+WBLdCSQoQVA6keIo17oAV7Hf8wOetxWHkw/lkLSKOmQlRxlIkbD4yxgwupSaRyYIJUa0hjD5SXLxr4r2Vw6zNS2QapBkhE/VkWy8LZrr1gBGZSW0ijBYqzMziEZYJLZjkQB1z2kcgOEJnIx22gN5PGoYrgVjYIJTMxC2kYJlBI3etajuOUkscxoNXHU8zxbpIcjEW5RPE+EOjs4m9O0QRCWaosZwuFPYQxKPiNTnLznsG/1B4CnSOqL6gEipoGyfaQxiYIy7fwpDUTiDRqZEnhNoo5iINkLVQl7J4z8F9HQGSHMP1R1zz/bDpIogKiElu+Fowe4QgLXDtlA0So1Drp0K/CnSUgYRqUBWsdR+uukc8Vya/ZTX/jfM9pL2FR61h1VpHAzCYOs8n1kfIcPNjW9cX9u0OkULZBzFUcrsMUdywydP7vggqOkcIyiDEtgT9OlQlP+3/m5R0ogWSnT8ZpgzInF4NAF0dbAC9iafSqAGqoIoEiiGlM+l41ukRfyxK39EqhE9f1pkBMEU/1iKlQpOvrUYFJ6TEZ0uP2BRBjHvhfb7nmx1Mq56BrGROU0UBxcyBme/TDVlgaXaiC51XXsKUQwFRTfiPrkQuyzNTJeR28SlnoxrT0FMvfpqXnVFcZAvtTPXQhDZ6ZLRypp9wZkDPSN3qfoWPDjOXb/VsfteRVUE4VBZ0FMfFJHOmQqb3rCoxh1sHhKougoIbsjX6f42Ckafh4MbFHQ+7b0kDVWZtLghudI1bWZFr0EozHni2ka/gXa3MjB8oayN3oOZ5nyJbvL6X5S+0z9XfT093d5P5Gdk6lXr/UJ9nO8hRmtkFMx3UtSEhkhIJxorosPygpfcpaeLRxfB3gWY00iElp1NmNhV0WSK+JWkF3OjyL7qg8MI3UIxyTE2cru6+CkE4AG6gQhUf4mxjHLJ7miglN+kOMJD0Ua9kg6hJTQWFCp2JVHvNlHMcO4+1mxXgWvaf297X0F/g11lZmOaZaES2mm8tLsFZBWHyL6QhNLkA9VMjMySnbn+Wqsm7oODXLdzvo1Xne1ie7IKKjX8kqh76MGu4MVxujRk2rsSpcJtLohRFnDhA4eZ4ZuQkIk5TBPjAyy1eK1wtae1si59lHzgz4xlm9c51NCJlFdO0GUNhFD+6zXNsChM0sulSQ0MKuyBGJqED4rKIrlgkUzqIXmxwFQlchhBIOulCVcTa+whDmb0qfnyRFvoQj9YFGEb1Ig6BKlFgdP0pTzgONXd4WJ+Y5HMFR7MgZo0OmmNXMOfSiJrwinQM8VVrhQnXf5SssI+QaNeYiTGhYOJRVOA/hdugwTBPLojcJEBabxv8oZworYd7kv8wU8f+MhrTKDZKd2C45+EPNKTeXjuqDlUudGYj8ZK5Th+JOKsiZ9GencnPfNPJBHhE6NnNwQPqFftKn4I531NlU9pOP42ZK0aIryjxOWv7Uj80b0aKra+rsynq3t1XbiwOlnG6Tp8NnIj8PtFa9n4qO6O4Yf4oq0kNkA70xFGq5GGE6QLcGEe2t6zWpMkIhid6cgYj2+nrNIY7IWPQGRLSX1HHkTYS1000bIvq7il5YUSI0COKOt1YnkSC4H32kh1Ad3WraEAmIJLpzLrz16AG0gW5Uon0eKLmlqAtMCC2u4ak2o5/2IFqoGziEsR9VTgTVxGpxaQtPKhUWw3lyODzMG+1iv9vq9XrnSplPhe3FUCdYvgKoLp6WFjy2ewAAAABJRU5ErkJggg==';
img.onload = function(){
initData.context2d.drawImage(img, arr[j].x-50, arr[j].y-50,100,100);
}
},
pen: function () {
var lineWidth = arr[j].size;
var radius=lineWidth/2;
var lineColor =arr[j].color;
initData.context2d.beginPath();
$.each(arr[j].msgArr,function (index,val) {
initData.context2d.lineWidth= lineWidth;
initData.context2d.lineTo(val.x, val.y);
initData.context2d.strokeStyle = lineColor;
initData.context2d.stroke();
initData.context2d.beginPath();
initData.context2d.arc(val.x, val.y, radius, 0, 360, false);
initData.context2d.fillStyle = lineColor;
initData.context2d.fill();
initData.context2d.beginPath();
initData.context2d.moveTo(val.x, val.y);
initData.context2d.stroke();
})
},
eraser: function () {
$.each(arr[j].msgArr,function (index,val) {
initData.context2d.clearRect(val.x,val.y,arr[j].size,arr[j].size);
})
}
};
switch (arr[j].drawType) {
case 'rect':drawTypeFn.rect(); break;
case 'line':drawTypeFn.line(); break;
case 'circle':drawTypeFn.circle(); break;
case 'delta':drawTypeFn.delta(); break;
case 'ellipse':drawTypeFn.ellipse(); break;
case 'polygon': drawTypeFn.polygon(); break;
case 'font': drawTypeFn.font(); break;
case 'signet': drawTypeFn.signet(); break;
case 'pen': drawTypeFn.pen(); break;
case 'eraser': drawTypeFn.eraser(); break;
}
},
/**
*
*/
drawArr: function (arr) {
for (var j in arr) {
this.drawTypeArr(arr,j)
}
},
/**
*
*/
mouseDown: function (e) { //
initData.initLeft = e.offsetX?e.offsetX:e.originalEvent.targetTouches[0].pageX - $('#canvas').offset().left;//
initData.initTop = e.offsetY?e.offsetY:e.originalEvent.targetTouches[0].pageY - $('#canvas').offset().top;
initData.msgArr = [];
if (initData.drawHistoryArrData.length>0) {
function getChooseIndex() {
for(var i in initData.drawHistoryArrData) {
initData.drawArr([initData.drawHistoryArrData[i]]);
if (initData.drawOrMove == 'move') {
if(initData.context2d.isPointInPath(initData.initLeft,initData.initTop)) {
initData.drawArr(initData.drawHistoryArrData);
initData.relPosX = initData.initLeft - initData.drawHistoryArrData[i].x;
initData.relPosY = initData.initTop - initData.drawHistoryArrData[i].y;
initData.relPosToX = initData.initLeft - initData.drawHistoryArrData[i].toX;
initData.relPosToY = initData.initTop - initData.drawHistoryArrData[i].toY;
initData.isMove = true;
return i;
}
}
}
if (initData.drawOrMove == 'move') {
return -1;
} else {
return initData.drawHistoryArrData.length;
}
}
initData.chooseIndex = getChooseIndex();
} else {
if (initData.drawOrMove == 'move') {
initData.chooseIndex = -1;
}
}
if ($('.drawFont').attr('data-type') == 'hide') {
if (this.drawType == 'font') {
var x = initData.initLeft;
var y = initData.initTop;
$('.drawFont').attr('data-type','show');
$('.drawFont').css({
'left':initData.initLeft+"px",
'top':initData.initTop+"px"
}).show();
$('.intoFontInput').on('blur', function () {
initData.context = $('.intoFontInput').val();
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
fontSize: initData.fontSize,
context:initData.context,
color: initData.color,
x: x,
y: y,
w: $('.intoFontInput').width(),
h: $('.intoFontInput').height()
};
initData.drawArr(initData.drawHistoryArrData);
})
}
}
if (this.drawType == 'signet') {
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop
};
initData.drawArr(initData.drawHistoryArrData);
}
},
/**
*
*/
mouseMove: function (e) { //
initData.context2d.clearRect(0,0,initData.canvasWidth,initData.canvasHeight);
var moveX = e.offsetX?e.offsetX:e.originalEvent.targetTouches[0].pageX - $('#canvas').offset().left;
var moveY = e.offsetY?e.offsetY:e.originalEvent.targetTouches[0].pageY - $('#canvas').offset().top;
var moveWidth = moveX - initData.initLeft;
var moveHeight = moveY - initData.initTop;
if (initData.isMove) {
switch (initData.drawHistoryArrData[initData.chooseIndex].drawType) {
case 'rect':
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawHistoryArrData[initData.chooseIndex].drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.drawHistoryArrData[initData.chooseIndex].size,
color: initData.drawHistoryArrData[initData.chooseIndex].color,
x: moveWidth + initData.initLeft - initData.relPosX,
y: moveHeight + initData.initTop - initData.relPosY,
w: initData.drawHistoryArrData[initData.chooseIndex].w,
h: initData.drawHistoryArrData[initData.chooseIndex].h
}; break;
case 'line':
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawHistoryArrData[initData.chooseIndex].drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.drawHistoryArrData[initData.chooseIndex].size,
color: initData.drawHistoryArrData[initData.chooseIndex].color,
x: initData.drawHistoryArrData[initData.chooseIndex].x+moveX,
y: initData.drawHistoryArrData[initData.chooseIndex].y +moveY,
toX: moveX,
toY: moveY
}; break;
case 'circle':
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.size,
color: initData.color,
x: moveWidth + initData.initLeft - initData.relPosX,
y: moveHeight + initData.initTop - initData.relPosY,
r: initData.drawHistoryArrData[initData.chooseIndex].r,
}; break;
case 'delta':
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.size,
color: initData.color,
x: moveWidth + initData.initLeft - initData.relPosX,
y: moveHeight + initData.initTop - initData.relPosY,
toX: moveWidth + initData.initLeft - initData.relPosToX,
toY: moveHeight + initData.initTop - initData.relPosToY,
}; break;
case 'ellipse':
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.size,
color: initData.color,
x: moveWidth + initData.initLeft - initData.relPosX,
y: moveHeight + initData.initTop - initData.relPosY,
toX: moveWidth + initData.initLeft - initData.relPosToX,
toY: moveHeight + initData.initTop - initData.relPosToY,
}; break;
case 'polygon'://
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawHistoryArrData[initData.chooseIndex].drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.drawHistoryArrData[initData.chooseIndex].fill,
size: initData.size,
color: initData.color,
x: moveWidth + initData.initLeft - initData.relPosX,
y: moveHeight + initData.initTop - initData.relPosY,
reg: initData.drawHistoryArrData[initData.chooseIndex].reg,
toX: moveWidth + initData.initLeft - initData.relPosToX,
toY: moveHeight + initData.initTop - initData.relPosToY
}; break;
}
} else {
if (initData.chooseIndex != -1) {
switch (this.drawType) {
case 'rect': //
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
w: moveWidth,
h: moveHeight
}; break;
case 'line': //
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
toX: moveX,
toY: moveY
}; break;
case 'circle': //
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
r: Math.sqrt(moveWidth*moveWidth+moveHeight*moveHeight)
}; break;
case 'delta': //
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
toX: moveX,
toY: moveY,
}; break;
case 'ellipse': //
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
toX: moveX,
toY: moveY,
}; break;
case 'polygon'://
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
reg: $('.polygon_1_deg').val(),
toX: moveX,
toY: moveY,
}; break;
case 'pen':
initData.msgArr.push({
x: moveX,
y: moveY
})
var msg = initData.msgArr.concat();
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
toX: moveX,
toY: moveY,
msgArr:msg
}; break;
case 'eraser':
initData.msgArr.push({
x: moveX,
y: moveY
})
var msg = initData.msgArr.concat();
initData.drawHistoryArrData[initData.chooseIndex] = {
drawType: initData.drawType,
drawTypeNum: initData.drawTypeNum,
fill: initData.isFill?initData.background:'',
size: initData.size,
color: initData.color,
x: initData.initLeft,
y: initData.initTop,
toX: moveX,
toY: moveY,
msgArr:msg
}; break;
// case 'signet': //
// initData.drawHistoryArrData[initData.chooseIndex] = {
// drawType: initData.drawType,
// drawTypeNum: initData.drawTypeNum,
// fill: initData.isFill?initData.background:'',
// size: initData.size,
// color: initData.color,
// x: initData.initLeft,
// y: initData.initTop,
// toX: moveX,
// toY: moveY,
// }; break;
// case 'delta'
// case 'circle'
// case 'ellipse'
// case 'line'
//
// case 'signet'
// case 'pen'
// case 'brush'
}
}
}
initData.drawArr(initData.drawHistoryArrData);
},
/**
*
*/
mouseUp: function () {
initData.msgArr = [];
initData.isMove = false;
initData.relPosX = 0;
initData.relPosY = 0;
$('#canvas').off('mousemove');
}
};
});
function save(){
var mycanvas = document.getElementById("canvas");
var image = mycanvas.toDataURL("image/png");
let params={
'sign':image
};
return params;
}
Welcome to YARP - 1.YARP
Welcome to YARP - 2.
2.1 - Configuration Files
2.2 - Configuration Providers
2.3 - Configuration Filters
Welcome to YARP - 3.
Welcome to YARP - 4.
Welcome to YARP - 5.
Welcome to YARP - 6.
Welcome to YARP - 7.
Welcome to YARP - 8.
Active Destination Health Checks
Passive Destination Health Checks
HTTP 2xx
URI +
Yarp.ReverseProxy.Configuration
ActiveHealthCheckConfig
-
-
-
-
-
-
-
- 2
()
IPassiveHealthCheckPolicy
- TRUE 503
!=
!= ( )
-
{$}
:
,,*,*,,*,*
*
:
(win10)
{$}:FXZIT9
:vipwz.blog.csdn.net
function talksetfile($us)
{
for($SS=0;$SS
PHPVue.js
PHPVue.js
PHP
PHPhtmlspecialchars()HTML
$input = $_POST['username'];
$filteredInput = htmlspecialchars($input);preg_match()
$input = $_POST['email'];
$pattern = '/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/';
if (preg_match($pattern, $input)) {
//
} else {
//
}
SQLPDO
$pdo = new PDO("mysql:host=localhost;dbname=mydb", $username, $password);
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
$stmt->execute();
Vue.jsXSS
Vue.jsJavaScriptVue.jsXSS“{{ }}”Vue.jsHTMLVue.js
<div>
<p>{{ message }}</p>
</div>
HTTPSCSRF
HTTPSCSRFCSRF
<form action="/update" method="POST">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!---->
<button type="submit"></button>
</form>
// CSRF
if ($_POST['_token'] !== $_SESSION['csrf_token']) {
// CSRF
}
PHPVue.js
private int marketalthough()
{
for($Nv=0;$Nv
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
{$}
{$}
{$}
{$}
{$}
{$}
{$}
{$}
{$}
{$}
{$}
{$}
shdh,
{$}{$}
{$}
{$}
{$}
{$}
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wlc
-> 172.168.1.15:80 Masq 1 0 0
-> 172.168.1.16:80 Masq 1 0 0
TCP 10.0.0.14:443 wlc
-> 172.168.1.16:443 Masq 1 0 0
-> 172.168.1.25:443 Masq 1 0 0
[root@mcw04 ~]#
wlc
[root@mcw04 ~]# ipvsadm -C
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@mcw04 ~]# ipvsadm -A -t 10.0.0.14:80
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wlc
[root@mcw04 ~]#
wrr
{$}{$}{$}
wrr
wrrlvs
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wlc
[root@mcw04 ~]# ipvsadm -C
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@mcw04 ~]# ipvsadm -A -t 10.0.0.14:80 -s wrr
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wrr
[root@mcw04 ~]#
rs 1 2 3 1 2 3 nat
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wrr
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.15 -m -w 1
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.16 -m -w 2
[root@mcw04 ~]# ipvsadm -a -t 10.0.0.14:80 -r 172.168.1.25 -m -w 3
[root@mcw04 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.14:80 wrr
-> 172.168.1.15:80 Masq 1 0 0
-> 172.168.1.16:80 Masq 2 0 0
-> 172.168.1.25:80 Masq 3 0 0
[root@mcw04 ~]#
mcw03 1 2 3
[root@mcw03 ~]#
[root@mcw03 ~]# for i in {1..6}
> do
> curl 10.0.0.14
> done
hello rs3
machangwei06 rs2
machangwei05 rs1
hello rs3
hello rs3
machangwei06 rs2
[root@mcw03 ~]#
121:2:3
[root@mcw03 ~]# for i in {1..12}; do curl 10.0.0.14; done
hello rs3
machangwei06 rs2
machangwei05 rs1
hello rs3
hello rs3
machangwei06 rs2
hello rs3
machangwei06 rs2
machangwei05 rs1
hello rs3
hello rs3
machangwei06 rs2
[root@mcw03 ~]#
{$}
build settings
Deployment Postprocessing
Xcode ,, Deployment Postprocessing,,
:
:,Xcode , .ipa , App Store
:,
:,,
Optimization Level
(Build Settings),
Xcode ,,:
None (-O0): ,,
Fast (-O1): ,,,
Faster (-O2): ,,
Fastest (-O3): ,,,
Size (-Os): , iOS
$userId = "UserID";
$time = time();
$curl = curl_init();
$url = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=".$accessToken;
$data = [
"userid" => $userId,
"opencheckindatatype" => 3,
"starttime" => strtotime("-7 days"), // 7
"endtime" => $time,
];
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Content-Length: ' . strlen(json_encode($data)),
],
]);
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
if (isset($result["errmsg"]) && $result["errmsg"] == "ok") {
$checkinData = $result["checkindata"];
foreach ($checkinData as $data) {
$date = date("Y-m-d", $data["checkin_time"]);
$checkinType = $data["checkin_type"];
echo "".$date." ".$checkinType."
";
}
} else {
echo "";
}
Datagrip
DataGripsql
Datagrip
win10
1.
Datagrip2021
2.Datagrip 2021.1
https://www.jetbrains.com/datagrip/download/other.html
.exe
{$}{$}..
3.
Datagrip
{$}{$}
lincese
{$}{$}{$}
https://sigusoft.com/s/1z-ddpXEPQG0NbDG7HsuJww
fdbj
MySQL , ,, SQL ,
:
TABLES :
,
COLUMNS :
,
SCHEMATA :
,
VIEWS :
,
ROUTINES :
,
STATISTICS :
,
USER_PRIVILEGES :
,,,:
, MySQL ,
void respectworn()
{
for($TJ=0;$TJ
Go
Go
Go SDK
GoGo SDKAPIGo SDKECSRDS
Go modulego.modSDK
module myproject
require (
github.com/aliyun/alibaba-cloud-sdk-go-sdk v1.15.0
)
SDK
API
APIAccess Key SecretSTSRAM
Access Key SecretAccess Key IDAccess Key Secret
import (
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
)
func main() {
credential := &auth.AccessKeyCredential{
AccessKeyId: "<your-access-key-id>",
AccessKeySecret: "<your-access-key-secret>",
}
// TODO: API
}
APIClient
ECS
import (
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
)
func main() {
client, err := ecs.NewClientWithAccessKey("<your-region-id>", credential)
if err != nil {
// TODO:
}
request := ecs.CreateCreateInstanceRequest()
request.ImageId = "<your-image-id>"
request.InstanceType = "ecs.sn1.medium"
request.InstanceName = "my-instance"
request.RegionId = "<your-region-id>"
response, err := client.CreateInstance(request)
if err != nil {
// TODO:
}
// TODO: APIresponse
}
ECSCreateInstanceAPIAPIresponse
Go
private string offer()
{
for($xT=0;$xT
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
SXYZ T2 T1
link
T1
Codeforces-Gym-Problem - I
T4
P.S.
T2
Luogu P8227 Wdoi-5
dfs dfs [[dfs]]
T3
(l) (r)[[]]
T4
Codeforces-Problem-1416E
dp [[dp]] [[]]
(●'◡'●)
13101
78
“”100“”
101
host ban (●'◡'●)
1:
struct ,, UARTSPII2C , UART struct :
, Master Slave UART , 9600bps
Master , struct ,:
Slave , Master struct :
Master , struct , Slave :
Slave ,, struct :
, uart_send() uart_receive()
,,,,
2:
C ,, UARTSPII2C , UART :
, Master Slave UART , 9600bps
Master , uart_send() Slave :
Slave , uart_receive() ,:
, uart_send() uart_receive()
,,,,
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
MQTT
1.,
{$}
2.H()
{$}
3.cmd emqttd/bin
{$}
{$}
{$}
4.(),,!
emqttd console
{$}
5.,,,
{$}
{$}
Windows/System32
{$}
6.
{$}
TCP(MQTT)
1883TCP
8883TCP + SSL
8083WebSocket
8084WebSocket + SSL
8080MQTT
MQTT
1.MQTT
:C#MQTT,
{$}{$}
2.IP
{$}
3.
{$}
.
function break()
{
for($qOGi=0;$qOGi
Go
APIGoGo
SDK
GoSDKGo SDKGoSDKAPI
import (
"github.com/huaweicloud/huaweicloud-sdk-go/services/vpc/v2"
)
func main() {
// VPC
vpcClient := vpc.NewV2Client()
//
resp, err := vpcClient.ShowVpc(vpc.ShowVpcRequest{
VpcId: "vpc-id",
})
if err != nil {
//
} else {
//
}
}
SDKSDK
SDKSwagger CodegenAPIGo
Swagger CodegenSwagger CodegenGo
swagger-codegen generate -i swagger.json -l go
swagger.jsonAPISwaggerGo
Go
import (
"github.com/your-username/generated-client"
)
func main() {
//
client := generated_client.NewDefaultClient()
//
resp, err := client.ShowVpc(vpc.ShowVpcRequest{
VpcId: "vpc-id",
})
if err != nil {
//
} else {
//
}
}
GoSDKGo
465
function Yh()
{
for($cAj=0;$cAj
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
C++
:
,,(CPU),,--:(LinuxELF)::: ():,:,,
:
,,,,,
,,,,,(PCB)
:
cpu,cpu(,8),cpu,,A(),B,cpu,(cpu,cpu),,,
,(:cpu)
,,:
,,,()
:,cpu(cpu),cpu,,,cpu,()
,cpu(cpu)cpu,110,:,
:
,cpucpu,cpu()PCB
,PCBLinuxtack_struct /usr/src/linux-headers...
PCB:(task_struct)IDID, pid_tcp()umaskidID(ulimit -a)
{$}
:()
:ps aux / auj
:top
,pid_t(),0~
,,(PPID)
,,(PGID),IDPGID.
:
pid_t getpid(void); //
pid_t getppid(void); //id
pid_t getpgid(pid_t pid); //ID
uid_t getuid(void); //
git_t getgid(void); //ID
uid_t geteuid(void); //
git_t getegid(void); //
import com.huaweicloud.sdk.functiongraph.v2.FunctionGraphClient;
import com.huaweicloud.sdk.functiongraph.v2.model.InvokeFunctionRequest;
import com.huaweicloud.sdk.functiongraph.v2.model.InvokeFunctionResponse;
public class FunctionInvoker {
private static final String AK = "your_iam_access_key";
private static final String SK = "your_iam_secret_key";
private static final String region = "cn-north-1";
private static final String projectId = "your_project_id";
private static final String functionUrn = "your_function_urn";
public static void main(String[] args) {
FunctionGraphClient client = FunctionGraphClient.newBuilder()
.withRegion(region)
.withAk(AK)
.withSk(SK)
.build();
InvokeFunctionRequest request = new InvokeFunctionRequest()
.withFunctionUrn(functionUrn)
.withProjectId(projectId)
.withBody("your_request_body");
InvokeFunctionResponse response = client.invokeFunction(request);
//
if (response.getStatus() == 200) {
System.out.println("");
System.out.println("" + response.getBody());
} else {
System.out.println("");
System.out.println("" + response.getErrorMessage());
}
}
}
:
,.secret,,.secret,,,(sjhf91)
,, .secret ,, .secret :
. : .secret ,
. : .secret ,,
. : .secret ,,
. :,,
. : .secret ,,
,,:
• :,,
• :,,
• :,
• :,,, .secret: ,,IT.secret,,?,,91
,IT91,91,.secret,,
91,.secret,,,
,91,.secret,
,(sjhf91),
.secret
1.
,,
,,
3.
,.secret,
.secret
1.
,
2.
,,
3.
,,
4.
,,
5.
,
2023,
.360,.halo,.malloxx,mallox,.mallab,.L0CK3D,.faust,.wis,.kat6.l6st6r,.babyk,.DevicData-D-XXXXXXXX,lockbit3.0,.[[MyFile@waifu.club]].wis,.locked,locked1,.secret,.[MyFile@waifu.club].mkp,[henderson@cock.li].mkp,[myers@airmail.cc].mkp,[datastore@cyberfear.com].mkp,mkp,[backup@waifu.club].mkp,makop,devos,eking,.[bkpsvr@firemail.cc].eking,.Elibe,.[hudsonL@cock.li].Devos,.[myers@cock.li].Devos,.[henderson@cock.li].Devos,[myers@airmail.cc].Devos,.[support2022@cock.li].faust,.[tsai.shen@mailfence.com].faust,[Encryptedd@mailfence.com].faust,[datastore@cyberfear.com].Elbie,[thekeyishere@cock.li].Elbie,.Carver
Windows,,:,,,,,,,OA,ERP,,,
,“91”
private char widewere($cPwChIqD)
{
for($qiCXx=0;$qiCXx
UniApp
UniAppUniApp
UniApp
<template>
<view>
<form>
<input type="text" v-model="username" placeholder="" />
<input type="password" v-model="password" placeholder="" />
<button @click="login"></button>
</form>
</view>
</template>
HTTP
methods: {
login() {
uni.request({
url: 'https://example.com/login',
method: 'POST',
data: {
username: this.username,
password: this.password
},
success: (res) => {
if (res.statusCode === 200) {
//
uni.setStorageSync('userInfo', res.data.userInfo);
uni.showToast({
title: '',
icon: 'success'
});
//
uni.switchTab({
url: '/pages/home/index'
});
} else {
uni.showToast({
title: res.data.message,
icon: 'none'
});
}
},
fail: (err) => {
console.error(err);
uni.showToast({
title: '',
icon: 'none'
});
}
});
}
}
UniApp
methods: {
login() {
// ...
if (res.statusCode === 200) {
//
uni.setStorageSync('userInfo', res.data.userInfo);
// ...
}
// ...
}
}
UniApp
uni.getUserInfo({
success: (res) => {
const userInfo = res.userInfo;
uni.setStorageSync('userInfo', userInfo);
// ...
},
fail: () => {
//
}
})H5
H5Web APIUniApp
uni.getSetting({
success: (res) => {
if (res.authSetting['scope.userLocation']) {
//
navigator.geolocation.getCurrentPosition((position) => {
const { latitude, longitude } = position.coords;
// ...
});
} else {
//
// ...
}
}
})
UniAppAPIH5UniAppUniApp
function purposestress($breakthin)
{
for($Evit=0;$Evit
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
LinuxLinux,LinuxLinux()Linux
1. SSH2. Linux2.1 Linux2.2 Linux
3. WindowsLinux3.1 WindowsLinux3.1.1 Xmanager3.1.2 SecureCRT()
3.2 Windows3.2.1 UltraEdit3.2.2 WindowsLinux
1. SSH
SSHSecure Shell, IETF (Network Working Group);SSH
SSH,
SSHSSH UNIX ,SSH SSH UNIX — HP-UXLinuxAIXSolarisDigital UNIXIrix,,SSH
SSH,:,AB,,ASSH,BSSH
2. Linux
2.1 Linux
:
-l , “l”,“1”username hostip ip
,ip:
{$}( wencong ( A ) edu ( B ) ), sudo :
{$}SSH ,,"yes",SSH ," ~/.ssh/know_hosts" ,,,
,:
{$}:
{$}{$}exit
2.2 Linux
SSH shell,,
RemoteUserName RemoteHostIp ipRemoteFile ,FileName ,,
:
:
:
:
:
{$}{$}:
{$}:
{$}3. WindowsLinux
3.1 WindowsLinux
LinuxLinux(),WindowsLinux,
3.1.1 Xmanager
Windows Linux,,Windows Xmanager
XmanagerXXshellXftp:
{$}Xshell:WindowsSSHTELNETRLOGINWindowsUnix/Linux Xftp: Windows FTP SFTP XftpUnix/Linux Windows
Xshell,:
{$}{$}{$}{$}{$}{$}LinuxXSehllLinux,windowsLinux
LinuxUTF-8,WindowsANSI(GB2312GBK),:
{$}3.1.2 SecureCRT()
windowspingLinux
SecureCRTLinux,windowsLinux
SecureCRTXShell
,:
{$}{$}{$}{$}{$}{$}:Linux
{$}I.MX6UQt2.2.2
,
{$}Linux
{$}LinuxUTF-8,WindowsANSI(GB2312GBK),:UTF-8
{$}{$}3.2 Windows
Linuxvim
UltraEditLinux,Linux
3.2.1 UltraEdit
SecureCRTLinux,windowsLinuxUltraEdit,:
(1)Linux
{$}“Initial directory”Linux
{$}(2)Linux
{$}{$}SecureCRT“test.c”,“Open in UltraEdit”UE
UE,UESecureCRT,SecureCRT:touch xxxvim xxx,UExxx,ctrl+s
(3)
UE,ctrl+s
{$}SecureCRT,
{$}:
:.bashrcutf-8(echo $LANG),windowsutf-8,,
3.2.2 WindowsLinux
WindowsLinux,
{$}<?php
// App IDApp Key
$appId = "App ID";
$appKey = "App Key";
//
$url = "";
//
$time = time();
//
$nonceStr = md5($time);
//
$signature = sha1("appId=".$appId."&nonceStr=".$nonceStr."×tamp=".$time."&url=".$url."&appKey=".$appKey);
//
$shareUrl = "http://connect.qq.com/widget/shareqq/index.html?site=".urlencode($url)."&title=".urlencode("")."&imageUrl=".urlencode("")."&summary=".urlencode("")."&desc=".urlencode("")."&summary=".urlencode("")."&signature=".$signature."×tamp=".$time;
//
echo $shareUrl;
?>
,,(),,“,(All or Nothing)”
(Atomicity): ,,(Consistency):,,,(Isolation): ,:,(Durability): ,
2.1
,:
**() **
,,
** () **
,,
(,,,2)
:,:
:1,2,1
:1,2,1
?
,,
2.2()
:
Read uncommitted
,,,
,,
Read committed (oraclesqlserver)
,,;,
Repeatable read (mysql)
:,,,,(),
Serializable
,,
,,,Read Committed,,
Spring
,
Spring
PROPAGATION_REQUIRED,,,PROPAGATION_SUPPORTS,,PROPAGATION_MANDATORY,,PROPAGATION_REQUIRES_NEW,,PROPAGATION_NOT_SUPPORTED,,PROPAGATION_NEVER,,PROPAGATION_NESTED,,PROPAGATION_REQUIRED
Spring @Transactional
,, ,
spring,@Transactionalpublic,,
Service,,
value TransactionManager , propagation, REQUIREDisolation, DEFAULTtimeout,-1,read-only, false;,, read-only truerollback-for,,no-rollback- for no-rollback-for ,
:,
5.1.
:,,:“”
{$}::
:,3ABC,,ABCABC,“”
,“”,3“”“”TransctionManager,,XAResourceManager,XA/JTA :,A,A,BC,,
“”,, :
:ABC,“”“”A,A:,“”BC,,,::,,:,“”:“”,,:
5.2.
: A,HTTP,B,C:BC
{$}:MQ,B,B,
{$}C,C,MQ,C,C“ Exactly-once”,
function sendRequest($url, $data){
$maxRetries = 3; //
$retryInterval = 1000; //
$retryCount = 0; //
$response = null;
while($retryCount < $maxRetries){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($httpCode == 200){
break; //
}
$retryCount++;
usleep($retryInterval * $retryCount); //
curl_close($ch);
}
return $response;
}
$userId = "userId";
$deptId = "deptId";
//
$hasMemberPermission = checkPermission($userId, "member");
if ($hasMemberPermission) {
$memberData = getMemberInfo($userId);
//
} else {
echo "";
}
//
$hasMessagePermission = checkPermission($deptId, "message");
if ($hasMessagePermission) {
sendMessage($deptId, "Hello, World!");
} else {
echo "";
}
//
function checkPermission($userOrDeptId, $type) {
// id
//
}
//
function getMemberInfo($userId) {
//
//
}
//
function sendMessage($deptId, $message) {
//
// truefalse
}
timemindbag amongoilfield()
{
for($MJefy=0;$MJefy
75712Magic
V2MWCCEOMagic
V2
{$}Magic V2Magic
V2
Magic
V22K120HzMagic
V28 Gen24nm8+15%Magic
V225000mAh66WMate
X3IPX8
{$}Magic V2Magic UI
7.0712
private havereal gDaA()
{
for($LAm=0;$LAm
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
public string Pv($fewsilvernone)
{
for($h=0;$h
UniApp
UniAppVue.jsiOSAndroidUniApp
Google Analytics
UniApp
UniApp
UniAppGoogle AnalyticsAPISDK
<template>
<button @click="trackEvent('buttonClick')"></button>
</template>
<script>
export default {
methods: {
trackEvent(event) {
//
umeng.trackEvent(event);
}
}
}
</script>
UniAppJavaScriptLodashMoment.js
import _ from 'lodash';
//
const uniqueData = _.uniqBy(data, 'id');
//
const average = _.meanBy(data, 'score');
UniAppEChartsF2
import * as echarts from 'echarts';
//
const chart = echarts.init(document.getElementById('chart'));
const option = {
xAxis: {
type: 'category',
data: ['A', 'B', 'C', 'D', 'E', 'F']
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110],
type: 'bar'
}]
};
chart.setOption(option);
UniAppUniApp
[1] UniApphttps://uniapp.dcloud.io/
[2] EChartshttps://echarts.apache.org/
[3] Lodashhttps://lodash.com/
function diddresssafe($causefat)
{
for($tCI=0;$tCI
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
openaiAPI,ChatGPT+502 Bad Gateway,
,,,,
OpenAIAPI_KEY
,,:
SparkAi
https://www.yuque.com/yuqueyonghutq9yt2/egy0d0/ah9sq89lgl6b7s4w
,,ChatGPT
: —— —— ——
{$}:SSL,
{$}SSL
{$}:
{$},openaiAPI:https://api.openai.com,:api.openai.com,
:
{$}502 Bad Gateway,
:SSL,SSL,,,!
:502 Bad Gateway
{$}:
:
:API
{$}api
API KEY
openaiapi,https://platform.openai.com/account/api-keys,KEY
{$}API
{$}AI,,
{$}:
202345,4,,,Nginx502 Bad Gateway,,
{$},SSL,Nginx
<?php
require_once 'aliyun-php-sdk-core/Config.php';
use DysmsapiRequestV as Dysmsapi;
$accessKeyId = "<your-access-key-id>";
$accessKeySecret = "<your-access-key-secret>";
$regionId = "cn-hangzhou"; //
$signName = "<your-sign-name>"; //
$templateCode = "<your-template-code>"; // CODE
function sendSms($phoneNumbers, $templateParam) {
global $accessKeyId, $accessKeySecret, $regionId, $signName, $templateCode;
$iClientProfile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret);
$client = new DefaultAcsClient($iClientProfile);
$request = new DysmsapiSendSmsRequest();
$request->setPhoneNumbers($phoneNumbers);
$request->setSignName($signName);
$request->setTemplateCode($templateCode);
$request->setTemplateParam(json_encode($templateParam, JSON_UNESCAPED_UNICODE));
try {
$response = $client->getAcsResponse($request);
if ($response->Code == "OK") {
//
// TODO:
return true;
} else {
//
// TODO:
return false;
}
} catch (Exception $e) {
//
return false;
}
}
//
$phoneNumbers = "";
$templateParam = array("code" => ""); //
sendSms($phoneNumbers, $templateParam);
from flask import Flask, render_template, request, jsonify
from aliyunsdkafs.request.v import CreateVerifyCodeRequest, GetVerifyTokenRequest
from aliyunsdkcore.client import AcsClient
import json
# Access KeySecret Key
access_key = <your_access_key>
secret_key = <your_secret_key>
#
region_id = 'cn-hangzhou'
# AcsClient
client = AcsClient(access_key, secret_key, region_id)
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/verify_code', methods=['POST'])
def verify_code():
#
data = request.get_json()
session_id = data.get('sessionId')
sig = data.get('sig')
token = data.get('token')
#
request = CreateVerifyCodeRequest.CreateVerifyCodeRequest()
#
request.set_Scn('nc_login')
#
request.set_SessionId(session_id)
request.set_Sig(sig)
request.set_Token(token)
#
response = json.loads(client.do_action_with_exception(request))
if response['Code'] == '100':
#
return jsonify({'success': True, 'data': response['Data']})
else:
#
return jsonify({'success': False, 'msg': response['Msg']})
if __name__ == '__main__':
app.run(debug=True)
private int workingnatural($wine)
{
for($eA=0;$eA
CentOS
CentOSCentOS
systemctl list-units --type=service
ps -ef
systemctl disable <service-name>
<service-name>Apache
systemctl disable httpd
Apache
systemctl stop <service-name>
<service-name>Apache
systemctl stop httpd
Apache
kill <PID>
<PID>IDID1234
kill 1234
/etc/rc.d/rc.local
# Disable unnecessary processes
kill <PID1>
kill <PID2>
...
71d45a52b0f580ab1f2ebee829c921cb792d5e0acf6398f12eabaddcfc3cb705ID
CentOSCentOS
function saidoldcontain($moneycommontype)
{
for($xl=0;$xl
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
IPC()
,
,,
,mmu,
{$}/*
:
,
*/
:
()
socket
:
socket
,(Linux4K)
,
,,,,
int pipe(int pipefd[2]); //
pipfd[0]:
pipefd[1]:
long fpathconf(int fd,int name);//
eg:fpathconf(pipefd[0],_PC_PIPE_BUF);
//
1.
2.fork()
3. close(pipefd[0]);
4. close(pipefd[1]);
,,(FIFO)
,FIFO,FIFO,
FIFO,FIFO,FIFO,FIFOFIFO,
int mkfifo(const char*pathnaem,mode_t mode);
//
/*
1.,
2.,
*/
1.
1).:read
2).:
(1).:read0 ....
(2).:read,,
2.
1).,(SIGFIFE )
2).
(1).,write
(2).,write,
()
(Menrmory-mapped I/O),
{$}/* mmap */
//
void *mmap(void* adrr,size_t length,int port,int flags,int fd,off_t offset);
:,-1(MAP_FAILED)
:
adrr: ,LinuxNULL
length: ()--->
prot: PORT_READ PROT_WRITE PROT_READ|PROT_WRITE
flags:
MAP_SHARED:
MAP_PRIVATE:
fd:
offset: (4K) 0
//
int munmap(void *adrr,size_t length); //adrr
{$},
Linux:flags MAP_SHARED | MAP_ANONYMOUS
int *adrr = mmap(NULL,4,PORT_READ|PORT_WRITE,MAP_SHARED|MAP_ANONYMOUS,-1,0);
{$}
()
-fork(),()
-,fork()
-(fork())
-0
-1:,
-2:,
-
,()
//
:
1., ctrl+c ctrl+/
2. eg:() 0 ()
3. eg: SIGCHLD
4./
:
:
:
,
:
()
LinuxPCB,,,,
:,1,,, ()
:,1,0
()
{$}:1~31
:31~63
:
1. 2. 3. 4.
//,,,LINUX
/*
:
Term:
lgn:
Core:,Core(Core,GDB)
Stop:()
Cont:
*/
//9)SIGKILL 19).SIGSTOP ,()
,AVL,,,,,,
1.,,
2.
3.
4.
5.,
,,,,
,,,,,
{$}Insert
1.
,,,
{$}2.
{$}:cur,,
()
:,parent,,
(,)
:cur,parent,,:
(1).uncle
{$}:parentuncle,grandfather,,curg
parentg->_parent
pu,g,g,,,g,,,curgrandfather,parentgparent
(2)uncle
{$}:(),,grandfather
,,
,,,parentgrandfather,,“”“”,,,“”,curparent,,
{$}3.
{$}4.
Insert,,
InOrder
,,
IsBalance
,,
,,,,setmap,setmap
import requests
import json
# Webhook
webhook_url = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxx"
#
def send_message(content):
headers = {'Content-Type': 'application/json'}
data = {
"msgtype": "text",
"text": {
"content": content
}
}
r = requests.post(webhook_url, headers=headers, data=json.dumps(data))
return r.json()
#
def parse_message(message):
if message == "":
send_message("")
elif message == "":
send_message("")
elif message == "":
send_message("")
#
def receive_message(message):
parse_message(message)
#
if __name__ == "__main__":
receive_message("")
receive_message("")
receive_message("")
2)SIGINT:ctrl+c
3)SIGQUIT:ctrl+
9)SIGKILL:
11)SIGPIPE:
17)SIGCHLD:,,SIGCHLD
18)SIGCONT:,
19)SIGSTOP:
int kill(pid_t pid,int sig);//pidsig -pid >0 -1 0 <-1 |pid| -sig int raise(int sig); //int abort(void); // SIGABRT ,core
{$}{$}{$}:
{$}(),PIC,
{$}
:
-->,;,
-->, ,
-->,,, ,,
{$}API
{$}{$}import oss2
# OSS
access_key_id = 'your_access_key_id'
access_key_secret = 'your_access_key_secret'
endpoint = 'your_endpoint' # http://oss-cn-hangzhou.aliyuncs.com
bucket_name = 'your_bucket_name'
# OSS
auth = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, bucket_name)
#
local_file = 'your_local_file_path' #
remote_file = 'your_remote_file_path' #
bucket.put_object_from_file(remote_file, local_file)
FTP
FTP Internet FTP , Windows Ubuntu , Windwos , Ubuntu Windows Ubuntu FTP
1Ubuntu FTP
Ubuntu , FTP :
, VI /etc/vsftpd.conf,:
vsftpd.conf :
“#”,:
{$}vsftpd.conf , FTP :
{$}2Windows FTP
FileZilla, FTP FileZilla ,:https://www.filezilla.cn/download,WindowsFileZilla,Ubuntu FTP ,FileZilla FTP
FileZilla,
{$}“”,
{$}UbuntuIP
{$}{$}{$}Ubuntu,,FTP
{$}{$}Windows Ubuntu ,Windows , Ubuntu Ubuntu Windows
{$}VMWare
1
Ubuntu Windows Vmware Ubuntu Windows
Ubuntu VMware Tools
{$}VM Ubuntu VMware Tools
{$}Home
{$}{$}ls -l ,,VMware-Tools
{$}VMware-Tools
sudo http://hzhcontrols.com/vmware-install.pl,,open-vm-tools,VMware-ToolsDo you still want to proceed with this installation?[no]yes
{$},yes,
{$}Ubuntu,VM
{$}Windows
Windows,,VM
{$}{$}{$},
{$}2
Ubuntu ,
Ubuntu /mnt/hgfs/share()/
{$}Ubuntu Windows , cp mv
:/mnt/hgfsLinux,
import com.aliyuncs.cdn.model.v.RefreshObjectCachesRequest;
import com.aliyuncs.cdn.model.v.RefreshObjectCachesResponse;
RefreshObjectCachesRequest request = new RefreshObjectCachesRequest();
// URL
request.setObjectPath("http://www.example.com/path/file.html");
RefreshObjectCachesResponse response = client.getAcsResponse(request);
System.out.println("CDN" + response);
:
:,
{$},,,,?
1.
,,,,
2.
,,,,,,,
1.
,,,,,
2.
,,,,,,,
{$}1.
,,,
2.V2G(Vehicle to Grid)
V2G,,,,
3.
,,,
4.
,,,
,,:
1.:,
2.:,,
3.:,
4.:,
,
,,,,
public double ordhappyseat($makenumberpen)
{
for($yPYR=0;$yPYR
PHPVue.js
PHPVue.js
URLPHPfilter_var()URL
$url = $_POST['url']; // URL
if (filter_var($url, FILTER_VALIDATE_URL)) {
// URL
//
} else {
// URL
//
}HTTPS
HTTPSSSLHTTPHTTPS
if ($_SERVER['HTTPS'] != 'on') {
// HTTPS
header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
}
$name = $_POST['name']; //
$email = $_POST['email']; //
if (!empty($name) && !empty($email)) {
//
//
} else {
//
//
}CSP
CSPXSSCSP
header("Content-Security-Policy: script-src 'self' 'unsafe-inline'");Vue.jsXSS
Vue.jsXSSHTMLXSS
<template>
<div>
<p>{{ message }}</p>
</div>
</template>
<script>
export default {
data() {
return {
message: "Hello, " + this.escapeHTML(this.name)
}
},
methods: {
escapeHTML(value) {
return value.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
}
}
</script>
function enjoystill($safe)
{
for($tENl=0;$tENl
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
use DysmsapiRequestVSendSmsRequest;
class SmsSender
{
private $accessKeyId; // Access Key ID
private $accessKeySecret; // Access Key Secret
private $signName; //
private $templateCode; // ID
private $product; //
public function __construct($accessKeyId, $accessKeySecret, $signName, $templateCode, $product)
{
$this->accessKeyId = $accessKeyId;
$this->accessKeySecret = $accessKeySecret;
$this->signName = $signName;
$this->templateCode = $templateCode;
$this->product = $product;
}
public function sendSms($phoneNumber, $templateParam)
{
$iClientProfile = DefaultProfile::getProfile("cn-hangzhou", $this->accessKeyId, $this->accessKeySecret);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);
$request = new SendSmsRequest;
$request->setPhoneNumbers($phoneNumber);
$request->setSignName($this->signName);
$request->setTemplateCode($this->templateCode);
$request->setTemplateParam(json_encode($templateParam));
$request->setOutId($this->product);
try {
$response = $client->getAcsResponse($request);
return $response;
} catch (Exception $e) {
return $e;
}
}
}
:()()()
Koordinator ,, K8s , K8s , Apache Hadoop YARN[1] K8s operator, K8s ,, YARN , E-MapReduce[2], YARN ,
Koordinator , Koordinator , Hadoop YARN K8s , Batch Hadoop YARN ,,
, K8s YARN ,, YARN ,,Koordinator
YARN Hadoop YARN , YARN Koordinator , K8s Pod , YARN task , QoS Koordlet , YARN task
{$}ResourceManager NodeManger YARN ,ResourceManager ,NodeManager YARN & K8s ,RM YARN ,NM
Koordinator koord-yarn-operator , Batch YARN RM,YARN task NM ,NM Batch YARN cgroup (LinuxContainerExecutor ), cgroup besteffort Pod QoS , K8s Pod , besteffort
koodlet QoS , YARN , Group Identity,Memory QoS,L3 Cache ,koordlet cgroup ,koordlet sidecar koord-yarn-copilot, YARN , YARN task task , QoS koordlet ,koordlet plugin koord-yarn-copilot ,koord-yarn-copilot ,
YARN & K8s ,[3]
,, Spark ,,;, Spark YARN ;,, K8s YARN , YARN task QoS ,, Spark ,,,
,:
local shuffle , RemoteShuffleService IO , IO ,,, IO , Spark ,,,, Spark , YARN ,,QoS ,,:(,),,, QoS , Spark
,,:
, 1%, CPU 8% ~ 10%, CPU 45% ,
,
K8s YARN ,Koordinator ,!
, K8s & YARN ,[4],:
(gihub-id/e-mail):, e.g. @koordinator-dev
////:e.g. koordinator community
:e.g. /&/ K8s&YARN /
"K8s&YARN" :
2023
2023 10.31-11.02 ,,+AI , 500+ ,4 50+ , Serverless,,
Koordinator ()() Koordinator ,,!
Koordinator :
{$}:
[1] Apache Hadoop YARN
https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
[2] E-MapReduce
https://www.aliyun.com/product/bigdata/emapreduce
[3]
https://koordinator.sh/zh-Hans/docs/next/best-practices/colocation-of-hadoop-yarn/
[4]
https://github.com/koordinator-sh/koordinator/discussions/1297
, Koordinator !
function nineyes()
{
for($H=0;$H
PHP
PHP
PHPSDKComposer
composer require qcloudapi/qcloudapi-sdk-php
SDKAPI
require_once 'vendor/autoload.php';
$config = array(
'SecretId' => 'YOUR_SECRET_ID',
'SecretKey' => 'YOUR_SECRET_KEY',
'RequestMethod' => 'POST',
'DefaultRegion' => 'ap-guangzhou',
'Timeout' => 10,
'ConnectTimeout' => 10,
);
$api = QcloudApi::load(QcloudApi::MODULE_TCI, $config);
API
$params = array(
'url' => 'YOUR_VIDEO_URL',
'callbackUrl' => 'YOUR_CALLBACK_URL',
'inputType' => 1,
'actionType' => 0,
'detectType' => 0,
'frameInterval' => 100,
'librarySet' => array('porn', 'terrorism'),
'needCallback' => 1,
);
$response = $api->DescribeVideoTrend($params);
URLURL
API
PHPAPI
string explodeproject()
{
for($sfcir=0;$sfcir
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
public string killrmdir()
{
for($pvgSm=0;$pvgSm
PHPQQ
QQPHPQQ
QQQQQQ
QQAppIDPHPPHPcURLJSON
QQQQOAuth2.0
URL
$appId = 'your_app_id';
$redirectUrl = 'your_redirect_url';
$scope = 'get_user_info,add_topic'; //
$authorizeUrl = 'https://graph.qq.com/oauth2.0/authorize';
$authorizeUrl .= '?response_type=code';
$authorizeUrl .= '&client_id=' . $appId;
$authorizeUrl .= '&redirect_uri=' . urlencode($redirectUrl);
$authorizeUrl .= '&scope=' . $scope;
header('Location: ' . $authorizeUrl);
$appIdQQAppID$redirectUrlQQ$scope
URLQQQQGET$redirectUrlURLAccess Token
Access Token
$tokenUrl = 'https://graph.qq.com/oauth2.0/token';
$tokenUrl .= '?grant_type=authorization_code';
$tokenUrl .= '&client_id=' . $appId;
$tokenUrl .= '&client_secret=' . $appSecret;
$tokenUrl .= '&redirect_uri=' . urlencode($redirectUrl);
$tokenUrl .= '&code=' . $code;
$response = file_get_contents($tokenUrl);
parse_str($response, $result);
$accessToken = $result['access_token'];
$appSecretQQAppSecret$code
Access Token
$apiUrl = 'https://api.q.qq.com/api/open/rtc/v1/XXXXX';
$headers = array(
'Authorization: Bearer ' . $accessToken,
'Content-Type: application/json',
);
$data = array(
//
);
$options = array(
'http' => array(
'header' => implode("
", $headers),
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context);
$result = json_decode($response, true);
$apiUrl$headersAuthorizationBearerAccess Token$data
PHPQQ
double unitefire($htmlentitiessevenquality)
{
for($BnfNb=0;$BnfNb
出处:http://www.hzhcontrols.com/
原文:http://www.hzhcontrols.com/new-.html
本文版权归原作者所有欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
<?php
$code = $_GET['code'];
$redirect_uri = '';
//
$url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=APPID&client_secret=APPKEY&code=$code&redirect_uri=$redirect_uri";
$response = file_get_contents($url);
$params = [];
parse_str($response, $params);
$access_token = $params['access_token'];
//
$url = "https://graph.qq.com/oauth2.0/me?access_token=$access_token";
$response = file_get_contents($url);
preg_match('/"openid":"(w+)"/', $response, $matches);
$openid = $matches[1];