最新文章尚硅谷Java面试题
再找不到工作怎么办
基础篇i++热身只要记住i++和++i的区别即可,i++就是先把i的原值进行操作,操作完后进行加,所以输出的是2,然后i的值加了1*,所以第三行i++的值还是2,而++i则表示先给i+1,然后进行操作,所以会先改变i的值,当然如果是单独的i++或者++i是一样的.
12345678910111213public class IPlusPlus { public static void main(String[] args) { int i = 1; System.out.println("i: " + i); // 1 System.out.println("++i: " + ++i); // 2 System.out.println("i++: " + i++); // 2 System.out.println("i: " + i); // 3 System.out.pri ...
Android开发
布局前面三种布局分别是
LinearLayout-线性
RelativeLayout-相对
FrameLayout-单帧
这三种都挺简单的,不用多说
ConstrainLayout约束布局-为子view添加约束来确定位置
通过减少嵌套,来减少过度绘制,从而优化布局
View几点注意:
在线性布局中垂直布局,可以用orientation=”vertical”来实现
跑马灯的效果
android:singleLine="true"
android:ellipsize="marquee"
在代码中,开启:textView.setSelected(true);即可实现跑马灯的效果
Activity安卓生命周期图:
开始阶段:
onCreate:页面创建(用于数据初始化,比如绑定事件)
onStart:页面可见,但不能交互
onResume:页面可见,且能交互
结束阶段
onPause:页面不能交互了
onStop:页面不可见-但是后台还在
onDestory:页面摧毁-后台也没了(数居收尾,保存工作)
Activity之间 ...
Electron入门
Electron介绍
一款应用广泛的跨平台的桌面应用开发框架
Electron的本质是结合了Chromium与Node.js
使用HTML,CSS,JS等Web技术构建桌面应用程序
Electron流程模型
创建Electron项目直接npm i electron -D先安装
主进程->预加载脚本->渲染进程而预加载脚本是运行在渲染进程上的
进程通信渲染进程->主进程(单向)一个简单的需求,在窗口内输入一个字符串,然后将字符串写入到磁盘中
也就是渲染进程传递到主进程,要借助预加载脚本
首先在预加载脚本中写上传递参数的方法
1234567contextBridge.exposeInMainWorld('myAPI', { version: process.versions.electron, // 这个就相当于传递数据的桥梁,供渲染进程使用 saveFile: (data) => { ipcRenderer.send('file-save', data) ...
框架面经
以下对继承的描述错误的是:
Java中的继承允许一个子类继承多个父类
父类更具有通用性,子类更具体
Java中的继承存在传递性
当实例化子类时会递归调用父类中的构造方法
访问修饰符作用范围由大到小的是
pubilc-protected-default-private
以下选项不是Object类的方法是
clone()
finalize()
toString()
hasNext()
以下抽象类描述正确的是
抽象类没有构造方法
有抽象方法的类一定是抽象类
抽象类必须提供抽象方法
抽象类可以通过new关键字直接实例化
以下对接口的描述错误的是
接口没有提供构造方法
接口中的方法默认使用public,abstract修饰
接口不允许多继承
接口中的属性默认使用public,static,final修饰
一个类实现一个接口,就要实现这个接口的全部抽象方法,若没有实现全部的抽象方法,则这个类是抽象类
输出结果是什么:
1234567891011121314151617public class Test extends Father { pri ...
Uniapp实现微信小程序登录
整体流程就是
uniapp调用login方法,指定为微信登录,将用户的授权码(临时票据)发送至后端
后端使用该临时票据,发送请求,请求用户的openid
没办法获取用户信息了,像昵称这种东西只能是用户授权微信登录后自行填写
uniapp代码实现12345678910111213141516171819202122232425262728293031323334uni.login({ "provider": "weixin", "onlyAuthorize": true, // 微信登录仅请求授权认证 success: async function (event) { const { code } = event //客户端成功获取授权临时票据(code),向业务服务器发起登录请求。 console.log('正在请求后端接口,获取openid,code为:', code) const res = await http<strin ...
Vue3+Ts
创建vue3项目不适用vue-cli了,直接上vite
npm create vue@latest
然后选择一些配置项就行了,ts就ts呗
Vue3核心语法setupsetup是vue3中一个新的配置项,值是一个函数,它是Composition Api表演的舞台,组件中所用到的:数据,方法,计算属性,监视等等,均配置在setup中
setup中无法使用this,是undefined
想要只是用一个script,但又想自定义组件名,可以使用这个插件
1npm i vite-plugin-vue-setup-extend -D
然后在vite.config.ts中引入
1234import VueSetupExtend from 'vite-plugin-vue-setup-extend' plugins: [ VueSetupExtend(), ],
setup基本使用
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
uni-app学习笔记
创建项目通过HBuilderX创建直接新建项目,选择vue的版本即可
通过命令行创建拉取vue3+ts的版本:npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
然后进入项目目录,下载依赖pnpm i(装了个pnpm)
记得加上appId
运行就用:npm run dev:mp-weixin
好好好,难道说我还要学个ts?
那这就学的太多了吧,先看看吧
用Vscode就直接导入就行了
vscode要安装些插件才能用着舒服,然后还要安装一个类型声明文件:
1pnpm i -D @types/wechat-miniprogram @uni-helper/uni-app-types
然后到manifest.json中配置小程序id
到tsconfig.json中加上以下配置,用于语法检查1234567891011121314"types": [ "@dcloudio/types", "@types/wechat-miniprogram", ...
Minio
毕设用Minio搭建一个对象存储服务得了,不用买oss了
docker搭建Minio123456docker run -d -p 9000:9000 -p 9001:9001 --name minio \-e "MINIO_ROOT_USER=root" \-e "MINIO_ROOT_PASSWORD=01020304" \-v /mnt/data:/data \-v /mnt/config:/root/.minio \minio/minio server --console-address ":9001" /data
密码最低八位….,不然启动失败:
minio concole配置文件上传后默认是不会返回url的,但是可以获取临时的访问链接,这个链接最长7天,不符合业务要求,所以可以新增存储桶的规则:
这样就可以直接通过ip:port/bucket/filename来访问了
Springboot整合minio依赖12345<dependency> <groupId>io. ...
BeanUtils注意事项
今天改了一个项目中的bug
简单来说就是关于BeanUtils.copyProperties()的,当属性名一样但是属性类型不一样时,方法不会进行拷贝
项目里就是用了这玩意导致搜索条件没加上
123456789101112131415161718192021 @Test void testBeanUtils() { Test1 t1 = new Test1(); Test2 t2 = new Test2(); /** * 如果要拷贝的某个字段名一样但是类型不一样,则不会拷贝 */ BeanUtils.copyProperties(t2, t1); System.out.println(t1); }@Dataclass Test1 { private String id;}@Dataclass Test2 { // private String id = 10L; private String id = ...
毕设规划
2024年1月11日 12点33分
功能需求部分美食教程小程序应能够满足用户的基本需求
食谱浏览:
分类浏览:按照不同的菜系等分类浏览食谱。
热门推荐:展示热门、受欢迎的食谱。
搜索菜谱
根据菜谱的名字,内容搜索
发布菜谱
菜谱的帖子中要包含文字和图片,图片怎么弄呢?难道还要买个OSS,应该还是要买一个OSS的,不然图片传不上取啊
一个难点在于,菜谱中的图片,传上来,然后怎么确定就在那个位置呢?
一个上传按钮,上传完图片就会在光标位置生成markdown的图片引用,这不就刚刚好了
评论
评论主要是针对菜谱进行的,而这里的菜谱代表的就是帖子,然后菜谱的评论可以嵌套,也就是对评论也可以进行评论
收藏
而收藏,也就是收藏菜谱了
点赞
点赞菜谱
杂谈登录部分设计成什么样的呢?
手机验证码登录
手机号密码登录
微信扫码登录,这个做不了,要认证啥的,很麻烦.
数据库设计user:用户表
id
nick_name
account:手机号
password
avatar_url:头像url
bio:个人简介
create_time
update_time
role_i ...