开发笔记汇总

开发笔记汇总

    • windows命令
      • 删除过期文件
    • Flutter
      • Flutter 不设置AppBar时覆盖状态栏的问题
    • Android
        • retrofit协程异常处理
      • 安卓时间选择器
      • RecyclerView布局预览
      • Android屏幕旋转,导致activity重启,上传文件中断
      • Android唤醒钉钉APP
      • android 优化dns
    • Java
      • idea target目录下没有部署resources相关文件
    • 数据库
      • Oracle查询
        • oracle 递归查询完整路径
        • oracle创建用户授权
          • 创建表空间
          • 创建用户
          • 授予用户连接权限
          • 用数据库用户登录:把数据库A的读权限授予B
      • sql server 2008安装失败
      • SQL Server添加字段
      • Gbase 8s 南大通用数据库
        • TO_DATE字符串转日期
        • TO_CHAR日期转换字符串
        • add_months来增加年和月
    • 前端
      • js时间戳转日期 yyyy-MM-dd HH:mm:ss
      • form表单 提交无opguid参数
      • ajax请求
      • mui 下拉框
    • Python
      • Python安装Scrapy失败
      • Python Cookie字符串转为cookie字典
      • Python 字符串替换re.sub
      • Python pip安装超时
    • 部署
      • 服务器部署 Nginx转发
      • MongoDB安装包
      • windows server 2012 配置自动注销
    • linux相关
      • 定时器详解

windows命令

删除过期文件

forfiles /p  "F:\aa" /s /m *.* /d -3 /c "cmd /c del @path" 

Flutter

Flutter 不设置AppBar时覆盖状态栏的问题

appBar: PreferredSize(preferredSize:Size.fromHeight(MediaQueryData.fromWindow(window).padding.top),child: SafeArea(top: false,child: Container(height: MediaQueryData.fromWindow(window).padding.top,child: Offstage(offstage: true,),color: Colors.blue,),),)

Android

retrofit协程异常处理

https://www.cnblogs.com/sw-code/p/15591713.html

安卓时间选择器

  • implementation ‘com.contrarywind:Android-PickerView:4.1.9’
  • implementation cn.qqtheme.framework:WheelPicker:1.5.5

RecyclerView布局预览

Android屏幕旋转,导致activity重启,上传文件中断

android:configChanges="orientation|screenSize|keyboardHidden"

Android唤醒钉钉APP

 	/*** 通过指定包名打开APP* 钉钉包名 com.alibaba.android.rimet* LaunchHomeActivity*/private void openRimet(Context context) {PackageManager packageManager = context.getPackageManager();PackageInfo pi = null;String packageName = "com.alibaba.android.rimet";try {pi = packageManager.getPackageInfo(packageName, 0);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();Toast.makeText(this, "没有安装钉钉", Toast.LENGTH_SHORT).show();return;}Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);resolveIntent.setPackage(pi.packageName);List<ResolveInfo> apps = packageManager.queryIntentActivities(resolveIntent, 0);ResolveInfo resolveInfo = apps.iterator().next();if (resolveInfo != null) {String className = resolveInfo.activityInfo.name;Intent intent = new Intent(Intent.ACTION_VIEW);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);ComponentName cn = new ComponentName(packageName, className);intent.setComponent(cn);context.startActivity(intent);}}

android 优化dns

okgo框架是用的okhttp,okhttp有dns的接口
参考:这里
http://cache.baiducontent.com/c?m=NlESwLm046gewSE1CkyApmqCWCRBY-KMmH1ZZBGWqDn5JYmHiXiFVmyA7ZZnhSna7gPrxxVghVglQnb9hDw6nH0u5LuuEOn6eK96fvUa-j5enC_bE9X7g7q3oK5cJMF__yv69YmIM28GVVM633eXR_&p=897d8913c5904ead08e2977e0b578d&newp=8634ca128d8c12a05abd9b7d0d10c9231610db2151d0d601298ffe0cc4241a1a1a3aecbe2526130ed8c0796005af4856e1f13c703d0034f1f689df08d2ecce7e&s=cfcd208495d565ef&user=baidu&fm=sc&query=android+https%BA%DC%C2%FD&qid=f8823e1400000bff&p1=10

Java

idea target目录下没有部署resources相关文件

在这里插入图片描述

数据库

Oracle查询

  • Oracle plsql查询结果编辑:select * from 表名 for update
  • 等值连接 笛卡尔积
    只能显示两边能匹配上的数据
    select small.* from t_activity_big big, t_activity_small small where big.id = small.big_activity_id;
oracle 递归查询完整路径
select code, sys_connect_by_path(t.mvalue, ' ') mvaluefrom bas_areas tstart with t.pcode = '130000' connect by prior t.code = t.pcode
oracle创建用户授权

#用sys登录执行以下语句:(注意改路径)

创建表空间

create tablespace XXXTABLESPACE
logging
datafile ‘D:\app\oracledb\XXXTABLESPACE.DBF’
size 29000m
autoextend on
next 100M
maxsize unlimited

创建用户

create user xxxx identified by “密码” default tablespaceXXXXTABLESPACE;

授予用户连接权限

grant connect to 用户;

用数据库用户登录:把数据库A的读权限授予B

grant select any table to userB;

sql server 2008安装失败

卸载2012不干净
执行以下命令:
rd /s /q %localappdata%\Microsoft_Corporation
SqlServe软件安装过程中容易出现问题,若是第一次安装失败,第二次卸载后再次安装则可能会出现问题:

System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings: Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. (C:\Users\Jozef\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0\user.config line 5) ---> System.IO.FileNotFoundException: Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'at System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)at System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

其原因就是如果Microsoft_Corporation文件没有删除,那么SQL软件则不能安装。
解决方法为:rd /s /q %localappdata%\Microsoft_Corporation

SQL Server添加字段

SQL server 批量添加字段

use yingjiting
go
declare @obj_name varchar(128)
declare @sql varchar(2000)
declare cur_obj cursor forSELECT name FROM SysObjects Where XType='U'  and name !='RT_RSVR_1'open cur_objfetch cur_obj into @obj_namewhile @@fetch_status =0begin exec( ' alter table '+ @obj_name + ' add UPDATETIME datetime' )exec( ' alter table '+ @obj_name + ' add DATASOURCE VARCHAR(10)' )fetch cur_obj into @obj_nameendclose cur_objdeallocate cur_obj

Gbase 8s 南大通用数据库

TO_DATE字符串转日期
TO_DATE("2008-07-07 10:24", "%Y-%m-%d %H:%M"); 
TO_CHAR日期转换字符串
TO_CHAR('2021-05-11','%Y-%d')
add_months来增加年和月
add_months('2021-05-11',1)

前端

js时间戳转日期 yyyy-MM-dd HH:mm:ss

//时间戳转日期 yyyy-MM-dd HH:mm:ssfunction timestampToTime(timestamp) {var date = new Date(timestamp);var Y = date.getFullYear() + '-';var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());return Y + M + D + h + m + s;}

form表单 提交无opguid参数

原因是没有写name=“opguid”,原来表单提交是按标签的name属性取value值

ajax请求

$.ajax({type : 'POST',url : '/xxx/xxx',data:{"opguid":opguid},dataType : "json",ContentType : "application/json; charset=utf-8",success : function(data) {},error:function(){}});

mui 下拉框

在这里插入图片描述
在这里插入图片描述

<div class="mui-col-sm-8 mui-col-xs-8"style="border: 1px solid rgba(0,0,0,.2);border-radius: 3px"><select id="xzqh" class="mui-h5" style="margin:auto; color:#000;"><option value="">全部option><option value="130930">孟村回族自治县option><option value="130981">泊头市option><option value="130982">任丘市option><option value="130983">黄骅市option><option value="130984">河间市option><option value="130902">新华区option><option value="130903">运河区option><option value="130921">沧县option><option value="130922">青县option><option value="130923">东光县option><option value="130924">海兴县option><option value="130925">盐山县option><option value="130926">肃宁县option><option value="130927">南皮县option><option value="130928">吴桥县option><option value="130929">献县option><option value="130985">渤海新区option><option value="130986">开发区option><option value="130987">高新区option>select>div>

Python

Python安装Scrapy失败

  • 错误提示,安装了Microsoft Visual C++ 14.0可以了
    Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

Python Cookie字符串转为cookie字典

cookies = "BIDUPSID=427C882C50971552ABD870B1A8B45774; PSTM=1604450696; BAIDUID=427C882C5097155263F49653FCFBA3F2:FG=1; BD_UPN=12314753; BDRCVFR[r_74CZIkx53]=aeXf-1x8UdYcs; BD_HOME=1; H_PS_PSSID=1432_32877_32951_32706_32961"
cookies = {i.split("=")[0]: i.split("=")[1] for i in cookies.split("; ")}

Python 字符串替换re.sub

\s 代表空白字符(可能是空格、制表符、其他空白)
\w 匹配字母或数字或下划线或汉字 等价于 ‘[^A-Za-z0-9_]’。

re.sub(r"\s","","\r\n\t\t\t")

Python pip安装超时

豆瓣镜像
pip --default-timeout=100 install 库名称 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

部署

服务器部署 Nginx转发

Tomcat在服务器启动后,Nginx配置文件转发到对应Tomcat服务器的ip和端口,telnet ip 端口 测试2台服务器是否连通,telnet未安装,通过服务器配置添加角色,功能里找到telnet客户端安装即可。然后重启Nginx,(windows是进入到Nginx目录中,然后双击reload即可)

MongoDB安装包

window版本:https://www.mongodb.org/dl/win32/x86_64
Linux版本:https://www.mongodb.org/dl/linux/x86_64

MongoDB安装zip版

RoboMongo客户端工具

windows server 2012 配置自动注销

Windows Server 2012远程连接断开后自动注销导致web项目停掉的坑

linux相关

定时器详解

今天在看linux的定时任务,了解了一下crontab命令,下面我们来一起学习一下。

首先要知道 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.

Crontab简单示例

1、在 凌晨00:01运行

1 0 * * * /home/linrui/XXXX.sh

2、每个工作日23:59都进行备份作业。

59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh

或者如下写法:

59 11 * * 1-5 /home/linrui/XXXX.sh

3、每分钟运行一次命令

*/1 * * * * /home/linrui/XXXX.sh

4、每个月的1号 14:10 运行

10 14 1 * * /home/linrui/XXXX.sh

Crontab命令的选项

以下是 crontab 的有效选项:

crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。
下面我做了一个很小的例子,通过这个小例子我们可以了解到定时任务的创建和删除

1.编写shell脚本hello.sh:

#!/bin/bash
echo “Hello World !” >> test
#这个意思是向test文件内输入“Hello World!"这句话
2.将脚本放到cron任务里:
在终端写入crontab -e命令打开crontab文件
在里面写:*/1 * * * * /home/wyx/hello.sh (这个路径是你存放脚本的路径)
写完后保存退出
3.输入命令:crontab -l 可以查看任务如图:

4.你会看到系统自动新建了一个test文件并每隔一分钟往里输入一句“Hello World!",如图

这样我们的定时任务就建好了

接下来如果我们想要删除这个任务怎么办呢

增加了crontab任务后,在/var/spool/cron目录下会有一个当前登录账号命名的文件。比如我的登录账号是wyx。则会存在一个wyx文件。该文件的内容就是刚添加的crontab任务。

该处我们使用sed命令来处理/var/spool/cron/wyx 文件,将含hello.sh的行的内容删除掉。

输入命令:sed -i ‘/hello.sh/d’ /var/spool/cron/wyx

可以查看任务 crontab -l 发现我们刚刚创建的任务没有了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部