Q0.SAS和SAS eg的帮助文档,可以解决90%问题

https://documentation.sas.com/?activeCdc=egdoccdc&cdcId=egcdc&cdcVersion=8.1&docsetId=egug&docsetTarget=p120m0y084zc3ln136lcseq41alx.htm&locale=zh-CN

Q1.平时经常使用的宏变量

A1.定义方法有三种:
%let xxx=yyy;
Call Symput(‘xxx’,‘yyy’);
select xxx into: yyy.
三种定义方式最大的区别是在MACRO函数内定义所生成的宏变量的类型不同:
Call Symput在宏函数中定义的宏变量可以在函数外调用;而%let和 Select into则不能,因为这2种方法在MACRO函数内生成的是局部宏变量,若要想在MACRO函数外调用,需事先用%global申明变量类型。

%macro test();
/*Method 1*/
data _NULL_;
call symput('Today',put(today(),date9.));
run;/*Method 2*/
%let today=%sysfunc(today(),date9.);/*Method 3*/
data todaydate;
date=today();
Proc sql noprint;
select put(date,date9.) INTO: today
from todaydate;
quit;%put &today;
%mend;
%test;
%put &today;

来自https://zhidao.baidu.com/question/1642728095170651860.html

Q2.用bat执行sas文件不成功

A2.bat文件执行条件:
1.不能加密
2.同一条语句不能换行

"D:\Program Files\SASHome2\SASFoundation\9.4\sas.exe"  -sysin "C:\Users\**\Desktop\SAS脚本\每日自动\贷前客户画像.sas"   -log "C:\Users\**\Desktop\SAS脚本\每日自动\贷前客户画像.log" -CONFIG "D:\Program Files\SASHome2\SASFoundation\9.4\nls\zh\sasv9.cfg"

3.一个bat调用多个bat

start C:\Users\**\Desktop\SAS脚本\每日自动\111.bat exit
start C:\Users\**\Desktop\SAS脚本\每日自动\222.bat exit
start C:\Users\**\Desktop\SAS脚本\每日自动\333.bat exit

Q3.ERROR: 值“ ”是无效的 SAS 名。不识别中文变量名

A3.解决方案:options validvarname=any;

Q4.WARNING: 连接逻辑库“SASHELP”中指定的一个或多个逻辑库不存在。这些逻辑库已从连
WARNING: 接中删除。

A4.解决方案:新建文件夹SASCFG 建立路径如下:
盘:\SASHome\x86\SASFoundation\9.4\nls\en
盘:\SASHome\x86\SASFoundation\9.4\nls\zh
建立后结果:
盘:\SASHOME\x86\SASFoundation\9.4\nls\en\SASCFG
盘:\SASHOME\x86\SASFoundation\9.4\nls\zh\SASCFG

来自 https://bbs.pinggu.org/thread-5896458-1-1.html

Q5.ERROR: 执行错误: Data too long for column ‘发放季度’ at row 1

A5.解决方案1:在SAS中新建一个满足column '发放季度’字段长度的表,再将其复制到mysql中
解决方案2:LENGTH
DATA month_fir_ovd;
LENGTH '发放季度’n $ 500;
SET month_fir_ovd;
RUN;

Q6.ERROR: 字符表达式要求字符输出格式。

A6.解决方案1:INPUT(SUBSTR(createdate,1,10),YYMMDD10.) FORMAT YYMMDD10. AS 执行日期,FORMAT在 AS 前还是后都可以
解决方案2:time=input(put(date,yymmn6.),yymmn6.)

Q7.日期互换

A7.PUT(dd_date,YYMMN6.) accdate=INPUT(accdate,YYMMDD10.) INPUT(substr(accdate,1,10),yymmdd10.)/用这个,也不一定行/ INPUT(SUBSTR(app_num,3,8),yymmdd10.)
PUT(A.create_time,YYMMDDN8.) 为YYYYMMDD
INPUT(STERM, BEST.)文本转数值

Q8.ERROR: 日期值越界

A8.需要加上DATEPART()

Q9.给代码加注释

Q9.良好的代码习惯

*---------------------------------------------------*
| PURPOSE: ***
| PROGRAMMER: abc
| DATE: 2019-08-26
| REMARK:
|
*---------------------------------------------------*;
分段
*------------------------------------------------------------------------------------------------------*
/*1.*************************;
*------------------------------------------------------------------------------------------------------*;

Q10.week周函数

A10.weeku=week(date,“u”),表示把每周的Sunday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天按照0周看待,上一年的后几天当作52周;
weekv=week(date,“v”),表示把每周的Monday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天和上一年的后几天当作53周;
weekw=week(date,“w”),表示把每周的Monday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天按照0周看待,上一年的后几天当作52周;

Q11.添加序号

A11._N _

Q12.TRANSPOSE转置/固定符号拆分

A12.双ID作为字段名

PROC TRANSPOSE DATA=上下限_20181116_汇总 OUT=上下限_20181116_汇总 delimiter=_;
BY 业务品种 业务类型 客户类型 客户评级 机构 版本;
VAR COL1;
ID 借款主体 _NAME_;
RUN;/*固定符号拆分*/
proc transpose data=risk_all out=spec_risk_1  prefix=spec_risk;
by app_num;
var spec_risk;
data spec_risk;
set spec_risk_1;
spec_risk=catx('@',of spec_risk1-spec_risk6);
run;

Q13.太慢

建立索引

PROC SQL;
create unique index studentID on class(studentID);
quit;PROC SQL;
create index app_num on zrb_tag(app_num);
quit;

Q14.scan(string,i,“char”)

A14.表示从字串string中以char为分隔符提取第i个字串,eg:scan(‘2011-09-01 14:20:31’,1,’ '),

Q15.报错终止程序

A15.

%if &SYSERR > 6 %then %goto STOPLOG

Q16.SAS数据集取前N条记录

A16.

proc sql outobs=n;
create table temp4 as
select * from sashelp.air;
quit;

Q17.将一个数据集拆分成多个数据集

A17.

data chk chk1;
set qry_record_report(obs=1000);
if rid^=' ' then output chk;
if rid=' ' then output chk1;
run;

Q18.直连本地库,还可以用mysql的语言

A18.

方法一:
1.普通版本
proc sql ;
connect to mysql as database
(user=abc password=*** server='**.***.*.***' database=mddb port=****
DBCONINIT='set names gbk');
create table ccard1_1 as select * from connection to database
(select * from abcdefg where etl_date='2019-01-13' limit 100);
disconnect from database;quit;
2.宏版本(不知道为什么只能用一次)
%macro load_base(dsout,sql);proc sql;
connect to mysql  as database
(user=ss password=u3ass server='***.***.**.*' database=base port=1234 DBCONINIT='set names gbk');
create table &dsout. as select * from  connection  to database
(&sql.);
disconnect from database;
quit;
%mend;
方法二:
proc sql stimer; connect to netezza (server='server_name' database=database1 user=myuser pwd=mypassword connection=global); execute (DLL语言) BY DATABASE;
DISCONNECT FROM DATABASE;
QUIT;
方法三:sas9.4连接失败的时候,可以试下先配置odbc,再用以下脚本连接mysql
详见https://mp.weixin.qq.com/s?src=11&timestamp=1585276317&ver=2241&signature=LdUCIwDOaB-tN7nVm-PWKbiNd-KM*lXNslwl9F7-QFkC00E7xRmtk-DNP17Np6XhjzN9SVUif5z*-i2tAikbYwOwr--cyrk*Y-T5rWXWfpyv5Eh11TtBAn5ryrj6RW2N&new=1
libname sql7 odbc complete="driver=MySQL ODBC 8.0 ANSI Driver;uid=admin;pwd=12345;
database=mysql;
Server=**.***.***.*";

Q19.删除mysql中表方法

A19.proc delete data=work.data1 data2 sasuser.data3……;run;
效果同proc sql;drop table data1;quit;

Q20.retain 和notsorted 和first

A20.data bal_term;

set bal_term;
retain 累计偿还本金;
by notsorted serialno;
if first.serialno then 累计偿还本金=应还本金;
else 累计偿还本金=累计偿还本金+应还本金;
剩余本金=dd_amt-累计偿还本金;
run;

Q21.逻辑库连接

A21.

LIBNAME FRAUD "D:\SAS_DATASET\FRAUD_SCORE_DATA";/*逻辑库引用名不能超过8个字符*/
LIBNAME abcd MYSQL USER='**' PASSWORD='***' DATABASE='***'
SERVER='***.***.*' PORT=3307 DBCONINIT='set names gbk' DBMAX_TEXT = 10000;
/*使本脚本下的数据集存入固定位置,不会删除*/
LIBNAME DATAWIDE "D:\SAS_DATASET\DATA_WIDE";
options missing=. validvarname=any user=DATAWIDE;

Q22.删除原先的再导出

A22.

OPTION NOXWAIT;
X "DEL C:\Users\Desktop\评分.csv";

Q23.WARNING: The quoted string currently being processed has become
more than 262 bytes long. You might have unbalanced quotation marks.

A23.

那么我们可以通过添加一行代码来解决这个问题:
optionsnoquotelenmax;

Q24.滚动率代码中技巧,当in的内容特别多,且有规律时,可以这样写(目的主要是便于有新增月)

A24.
方法一

data month_end;/*输出每个月月末日期*/
format date yymmdd10.
dt datetime19.;
do date='28FEB2018'd to '01apr2020'd;
if  day(date+1)=1 then output;
end;
run;data month_end;/*输出到2018.2.28到上月末的日期*/
set month_end;
dt=dhms(date,0,0,0);
if dt<=&LAST_MON_DT;
run;proc sql;/*作用,为了用在etl_date in ( &month_end )中*/
select "'"||trim(put(dt,datetime19.))||"'dt" into:month_end separated by ","
from month_end
;quit;
%put &month_end;
方法二
直接在mysql库建视图,
MONTH (`etl_date` + INTERVAL 1 DAY) <> MONTH (`etl_date`)

Q25.LAG取领先一期的值

  1. 添加序号
  2. 逆序排列
  3. 用滞后函数LAG DESCENDING
三种方法解决分组排序编号问题(2种SQL+1种DATA STEP)
[https://bbs.pinggu.org/thread-1260188-1-1.html](https://bbs.pinggu.org/thread-1260188-1-1.html)
这个最简单
PROC SORT
DATA=XUDAI_ALL_DATE_CNT;
BY cert_id
apply_mon;RUN;DATA
XUDAI_ALL_DATE_CNT_BY;
SET XUDAI_ALL_DATE_CNT;
BY cert_id;IF FIRST.cert_id THEN
FLAG=1;
ELSE FLAG+1;
RUN;

Q26.SAS续订至2022年3月底

PROC SETINIT RELEASE='9.4';
SITEINFO NAME='SUNGKYUNKWAN UNIV-MIDTIER1 0401'
SITE=10502994 OSNAME='WX64_WKS' RECREATE WARN=33 GRACE=0
BIRTHDAY='07APR2021'D EXPIRE='31MAR2022'D PASSWORD=194343661;
CPU MODEL=' ' MODNUM=' ' SERIAL=' ' NAME=CPU000;
EXPIRE 'PRODNUM000' 'PRODNUM001' 'PRODNUM002' 'PRODNUM003'
'PRODNUM004' 'PRODNUM005' 'PRODNUM006' 'PRODNUM007'
'PRODNUM008' 'PRODNUM010' 'PRODNUM013' 'PRODNUM015'
'PRODNUM025' 'PRODNUM035' 'PRODNUM050' 'PRODNUM070'
'PRODNUM075' 'PRODNUM094' 'PRODNUM095' 'PRODNUM119'
'PRODNUM123' 'PRODNUM164' 'PRODNUM165' 'PRODNUM166'
'PRODNUM167' 'PRODNUM192' 'PRODNUM194' 'PRODNUM204'
'PRODNUM208' 'PRODNUM209' 'PRODNUM215' 'PRODNUM216'
'PRODNUM219' 'PRODNUM222' 'PRODNUM225' 'PRODNUM448'
'PRODNUM535' 'PRODNUM538' 'PRODNUM550' 'PRODNUM555'
'PRODNUM557' 'PRODNUM560' 'PRODNUM561' 'PRODNUM563'
'PRODNUM564' 'PRODNUM565' 'PRODNUM566' 'PRODNUM567'
'PRODNUM568' 'PRODNUM677' 'PRODNUM678' 'PRODNUM884'
'PRODNUM964' 'PRODNUM1304' 'PRODNUM1312' '31MAR2022'D
/ CPU=CPU000;
SAVE; RUN;

Q27.查看SAS过期时间

proc setinit;run;

Q28.查看SAS过期时间

proc setinit;run;

Q29.取月末日期/取月初日期/月/季度/年

INTNX('MONTH',dd_month,0,'E')单独使用时,month的e必须加引号,
INTNX('MONTH',dd_month,0,'B')
%LET LAST_MON_D_PLUS1 =
%SYSFUNC(INTNX(MONTH,&DATE,0,E))这样可以不加引号SAS取当前时间:PUT(TODAY(),YYMMDDN8.)||" "||PUT(TIME(),TIME8.) AS ETL_DATE
时间格式 '01mar2013:00:00:00'dt 或者 dhms('1mar2013'd, 0,0,0)SUBSTR(DD_MON,1,4)||'-Q'||PUT(CEIL(INPUT(SUBSTR(DD_MON,5,2),BEST.)/3),1.)  AS 发放季度
'Y'||STRIP(PUT(year(发放日期),z4.))||'-Q'||STRIP(PUT(qtr(发放日期),z1.)) AS 发放季度
sasdate = datepart(date); fmtdate = put(sasdate,yyq.);发放季度
'Y'||PUT(YEAR(发放日期),z4.) AS 发放年份
'Y'||STRIP(PUT(year(发放日期),z4.))||'-H'||STRIP(PUT(CASE WHEN qtr(发放日期) IN (1,2) THEN 1 WHEN qtr(发放日期) IN (3,4) THEN 2 END ,z1.)) AS 发放半年
'Y'||PUT(发放日期,YYMMD7.) AS 发放月份

Q29.删除该文件夹下的所有excel文件

OPTION NOXWAIT;
X "DEL
D:\数据\roll_rate\*.xls";

Q30.SAS临时数据集存放位置

D:\SASDATA\TEMP\SAS Temporary Files
修改临时数据集存放位置C:\Program
Files\SAS\SASFoundation\9.2\SASV9.CFG
记事本打开它,里面只有一行字,默认是这个:
- CONFIG
"C:\Program Files\SAS\SASFoundation\9.2\nls\zh\SASV9.CFG"
**然后打开这个nls\zh\SASV9.CFG**
修改:/*
Setup the default SAS System user work folder                */
- WORK
"D:\" 这样临时逻辑库就在D盘了

Q31./空值/缺失值,统一刷为-999/

DATA businessdetail;
SET businessdetail;
array num _numeric_;
DO OVER num;
IF num="." THEN num=-999;
END;array char _character_;
DO OVER char;
IF char=" " THEN char='-999';
END;
RUN;

Q32.sas em 无法登陆服务器 localhost:0 官方解决

解决方案出处: http://support.sas.com/kb/55/227.html

解决步骤:

  1. 记事本打开hosts文件, 默认目录是\System32\drivers\etc\hosts
  2. 添加行: 127.0.0.1 localhost FQDN 这里的 和FQDN见下一步:
  3. 在开始菜单或者左下角的搜索栏里输入cmd 打开命令提示符,输入 ipconfig /all
前两行结果如下:主机名  . . . . . . . . . . . . . :HM-WAPP-V076 主 DNS 后缀 . . . . . . . . . . . :na.SAS.com当然也可能后面什么都没有也就是说在hosts文件中添加的行是 :有DNS后缀:   127.0.0.1 localhost HM-WAPP-V076.na.SAS.com d79277无DNS后缀:      127.0.0.1 localhost HM-WAPP-V076
  1. 删除其他的以127.0.0.1开头的行 ( If there are other lines that begin with 127.0.0.1, then those lines should be deleted or commented out by prefixing the line with a # character. ) 。 由于我破解adobe acrobat 11 在host里加了东西,只能忍痛找别的办法重装acrobat了 (自侧只能有一行, 多行不行 )

Q33.计算IRR

/*计算XIRR,不通用*/
data _null_;
v1= -10000 ; d1=mdy(1, 1, 2008);
v2=2750; d2=mdy(3, 1, 2008);
v3=4250; d3=mdy(10, 30, 2008);
v4=3250; d4=mdy(2, 15, 2009);
v5=2750; d5=mdy(4, 1, 2009);
r=finance('Xirr', v1, v2, v3, v4, v5, d1, d2, d3, d4, d5, 0.1);
put r=;
run;/*计算IRR,金融通用*/
(select PUT(产品期限,z2.) AS 类别,放款月份
,min(FINANCE('IRR'
, SUM(CASE WHEN 还款期数=0 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=1 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=2 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=3 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=4 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=5 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=6 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=7 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=8 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=9 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=10 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=11 THEN FLOW ELSE 0 END)
, SUM(CASE WHEN 还款期数=12 THEN FLOW ELSE 0 END)
)*12,0.36) AS price
,&LAST_MONTH_END_D AS etl_date
FROM 还款计划_中间;
Quit;

Q34.tabulate不能计算除法,不能有空值

PROC TABULATE DATA = apply_info;
CLASS org_name house_if;
CLASS 发放季度/DESCENDING;
CLASS 发放月份/DESCENDING;
WHERE app_num^='' ;
TABLE (ALL='合计' org_name)
,(ALL='Total' 发放季度='' 发放月份='')*((n='#' pctn<house_if all>='%'))/indent=1 printmiss  box='顺位分析' misstext=' ';
RUN;/*tabulate太大时*/
ods html
file="c:\xxx.xls";
proc tabulate data=...;
ods html close;

注意以上group*(n pctn),使计算个数和占总的百分比,如果仅仅想计算占行百分比或者是列百分比,可将pctn改成相应的rowpctn和colpctn

Q35.sas的MD5的32位加密

certid_md5=lowcase(put(md5(trim(cert_id)),$hex32.));

Q36.显示和删除列名

/*取出所有列名*/
PROC CONTENTS
DATA=wide_dd_info
OUT=VARLIST(KEEP=TYPE
NAME LABEL);
RUN;/*利用attrib删去所有label标签*/
data want;
set have;
attrib _all_ label="";
run;

Q37.“未能将数据从euc-cn转码为utf-16le 编码……

这种情况先设置字符长度,有可能是前面的字符长度是2n+1,遇到下面的字符长度是2m,放不进去,截不断

遇见下图情况,找不到原因时,看下内置关键字有没正常变色,有可能是其他地方复制来的空格编码不对,问题在于SUBSTR(family_add,1,10),第三个参数应该是2的整数倍

Q38. SAS的MD5

certid_md5=lowcase(put(md5(trim(cert_id)),$hex32.));

Q39.ERROR: 执行排序失败。

原因是join时表太大了

Q40.分组后取组内前10个

PROC SORT DATA=detail; BY 字段1  ; RUN;
/*每个月份取前10*/
DATA test1;
SET detail;
BY '字段1'N  ;
IF FIRST.字段1 then Group_ranking=0;
Group_ranking+1;
run;data detail_result;
set test1;
WHERE Group_ranking<=10;
run;

Q41.SAS EG报错System.InvalidOperationException,SplitterDistance 必须在 Panel1MinSize 和 Width - Panel2MinSize 之间。

参考链接https://support.sas.com/kb/43/655.html
The following error might occur when you invoke SAS Enterprise Guide:
1、关闭 SAS Enterprise Guide
2、删除 Settings.xml file in c:\Users\user-ID\AppData\Roaming\SAS\EnterpriseGuide\7.1
3、重启SAS Enterprise Guide

method:specifies that intervals are counted using either a discrete or a continuous method.(DISCRETE为默认,CONTINUOUS备选)

Q41.intck

data a;
interval=‘month‘;
start=‘14FEB2000‘d;
end=‘13MAR2000‘d;
months_default=intck(interval, start, end);
months_discrete=intck(interval, start, end,‘d‘);
months_continuous=intck(interval, start, end,‘c‘);*相隔时间大于一个月小于两个月,按一个月计算;
output;

SAS-异常排查QA相关推荐

  1. 【视频点播最佳实践】视频点播播放异常排查

    阿里云视频点播是集音视频采集.编辑.上传.自动化转码处理.媒体资源管理.分发加速.视频播放于一体的一站式音视频点播解决方案.但是对于使用者来说经常遇到的问题即是视频点播中的视频如何对外提供服务,并且当 ...

  2. 服务器流量异常排查步骤(查看进程的流量)

    服务器流量异常排查步骤(查看进程的流量) 参考文章: (1)服务器流量异常排查步骤(查看进程的流量) (2)https://www.cnblogs.com/pangguoping/p/5836725. ...

  3. java.net.SocketTimeoutException: Read timed out 异常排查

    java.net.SocketTimeoutException: Read timed out 异常排查 参考文章: (1)java.net.SocketTimeoutException: Read ...

  4. SQLServer镜像状态异常排查

    title: SQLServer · CASE分析 · 镜像状态异常排查 author: 天铭 问题 用户实例的某个DB一直处于Synchronizing无法达到SYNCHRONIZED状态,用了很多 ...

  5. HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查

    HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查 参考文章: (1)HttpCli ...

  6. 一次SocketException:Connection reset 异常排查

    一次SocketException:Connection reset 异常排查 参考文章: (1)一次SocketException:Connection reset 异常排查 (2)https:// ...

  7. K8S集群中Pod挂载Storageclass存储卷异常排查思路

    K8S集群中Pod挂载Storageclass存储卷异常排查思路 故障描述: Jenkins是在K8S集群中部署的,Jenkins使用的各种资源以及全部创建了,但是Jenkins的Pod依旧无法启动, ...

  8. org.apache.shiro.session.ExpiredSessionException: Session with id异常排查

    org.apache.shiro.session.ExpiredSessionException: Session with id异常排查 系统运行过程中报出异常 Caused by: org.apa ...

  9. 破案现场:记一次压测异常排查--Redisson锁失效的场景

    异常现场回顾 7月7日对小驴班级推送视频任务功能进行压测. 压测过程中发现有一部分接口请求失败. 小驴端上报推送失败异常如下: 这个异常日志是小驴端收到的. 异常内容是网校网关返回的异常页面, 如何看 ...

  10. 记录一次生产环境中Redis内存增长异常排查全流程!

    作者:z小赵 ★ 一枚用心坚持写原创的"无趣"程序猿,在自身受益的同时也让朋友们在技术上有所提升. 最近 DBA 反馈线上的一个 Redis 资源已经超过了预先设计时的容量,并且已 ...

最新文章

  1. Matlab视频流处理:读取,播放,保存
  2. 在MacOS下使用Fiddler抓包
  3. redis 存储数据不设置过期时间 会自动过期吗_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
  4. 单位内部一个计算机系统属于,2012年计算机一级MsOffice第五十九套练习题及答案解析...
  5. Nancy简单实战之NancyMusicStore(四):实现购物车
  6. ERP(进纯销)系统如何开发,各类型系统都应该怎么做?
  7. gbrl参数_grbl-0.9运行参数配置说明
  8. php自学目录,PHP学习笔记(二) 了解PHP的基本语法以及目录结构
  9. java入门预备知识一
  10. 第一批做移动开发的程序员,现在怎么样了?
  11. Apache和Tomcat的区别与联系
  12. C#控制语音卡实现呼叫、录音以及来电弹屏
  13. 安卓App旅游(含汽车订票,含酒店预定,含团购)源码
  14. 【无标题】写了一个半小时才写这么一点,是不是我能力不行呀?而且暗亮边框还显示不出来,害
  15. 可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题
  16. A - Artwork ( 并查集 )
  17. Idea使用系统应用打开md文件
  18. 通过网线连接获取树莓派的ip地址
  19. 离职前一定要删除这几个文件,不然你的微信聊天记录全被别人看了
  20. 恭敬观世音菩萨( 远离色欲)

热门文章

  1. 20220625阶段总结
  2. css如何实现多个动画顺序播放
  3. Public Round #1 题解
  4. 前端收集(前端学习资源)
  5. 固定翼无人机培训第二周总结——多轴和起降
  6. R语言计量:Newey-West调整
  7. CentOS 7配置静态IP
  8. centos建立回收站
  9. Linux”特派大使”进入中国
  10. jenkins自动安装的大坑