自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 速学Webpack5 - Plugin

前言插件能够完成 webpack 本身不具有的功能。它的使用一般是在 webpack 的配置信息 plugins 选项中指定。在上一章中,打包后需要我们手动把打包的 js 文件引入到 html 中去。其实我们可以通过html-webpack-plugin插件实现自动生成 html 文件和引入 js 的功能。html-webpack-plugin1. 安装npm i html-webpack-plugin -D2. 配置 html-webpack-pluginweb

2023-03-02 20:02:10 208

原创 JavaScript常用设计模式盘点

前言设计模式是对软件设计中普遍存在的各种问题所提出的解决方案。可以简单理解为程序开发的一些套路。当我们遇到合适的场景时,可能会条件反射一样想到符合这种场景的设计模式。比如,有个组件不能满足现有需求,需要给它加上新功能。组件内业务相对独立,我们并不想修改这个组件。这时候,我们就可以使用装饰器模式。构造器模式有下面两个对象:const jack = {  name: 'jack',  age: 18};

2023-03-01 15:29:48 102

原创 Echarts图表自适应?你可以这样做

一、图表变形使用 Echarts 绘制图表时,可能会遇到变形的问题。如下图:其原因是 Echarts 在初始化实例的时候,对应 dom 元素的宽高还没有确定。解决方案也很简单:监听对应 dom 元素,如果大小发生变化,调用resize()方法。import echarts from 'echarts';...const chartDom = document.getElementById('myChart');let myCh

2023-01-17 11:01:26 6236 3

原创 造轮子?不妨发个组件到 npm

1. 创建项目mkdir component-template && cd component-templatenpm initnpm init会弹出项目名称、版本、描述等信息,按照自己需要填写即可。执行完以上 shell 命令后会生成一个含有package.json的空项目, 我们修改文件目录如下:component-template├─ config│  ├─ webpack.config.

2023-01-17 10:58:23 83

原创 傻瓜都能理解的JavaScript面向对象

1. 面向过程与面向对象面向过程(Procedure Oriented):以「过程」为核心,强调事件的流程、顺序。面向对象(Object Oriented):以「对象」为核心,强调事件的角色、主体。举个简单的例子 - 把大象装进冰箱:面向过程:按照步骤(过程)来编程打开冰箱把大象装进去关闭冰箱面向对象首先确定两个对象, 大象和冰箱。然后确定它们的功能:    大象 - 装进某个东西    冰箱 - 打开,

2023-01-17 10:56:32 71

原创 三分钟入门 react-router-dom v6

一、安装npm install react-router-dom@6 -S二、使用我们使用 vite 初始化 react 项目:yarn create vite react-router-v6-demo --template react更多关于 vite 的使用,参考vite 官网1. 基本的路由配置// main.jsx 入口文件import React from&nbsp

2023-01-17 10:51:51 353

原创 前端多屏幕适配的两套方案

在大屏开发中,最常遇到的就是多屏幕适配了。这里提供两套简单实用的方案。一. 最外层元素增加 scale这里的最外层元素指的是能包含所有页面的元素。我们可以给最外层元素设置固定的宽高,比如 1920 * 1080。一旦大屏的尺寸跟设定的不符合,则通过缩放相应的倍数来适配大屏。具体代码如下:// 获取缩放倍率getScale = () => {    const  [width,&nbsp

2023-01-17 10:51:03 1750 1

原创 前端代码规范最佳实践

Why团队开发中,每个人的编码习惯不同,代码格式不同。这就会导致代码难看,难以维护。统一代码风格可以:增强代码的可读性,降低维护成本有利于代码审查养成规范代码的习惯,有利于自身成长How推荐使用 eslint + prettier 来进行代码格式化。通过 git hook 调用来实现代码的自动格式化,git hooks 工具推荐 husky。既然用到了 git hook,顺便把提交信息规范也做一下,这里推荐 commitlint。用到的插件eslint: js/jsx 语法检查插件按照

2023-01-17 10:49:08 329

原创 几个常见的Chrome调试技巧,你都用过吗

1. 拖动 dom 元素选中一个 dom 元素,通过拖动就可以改变元素的位置。如下图:2. 选中 dom 元素右键删除元素选中一个 dom 元素右键菜单会有很多功能选项,常用的有隐藏、删除元素等。如下图:3. 在控制台引用选中元素 $0使用$0 可以在控制台引用选中元素,如下图:4. $_引用上一次的结果使用$_可以在控制台引用上一次结果,如下图:5. ctrl+点击样式 会跳转到该样式代码的源文件6. saveAs 保存修改后的样式源文件保存后的样式文件打开,如下:7

2023-01-17 10:42:49 333

原创 17个JavaScript简洁代码技巧,让代码纵享丝滑

1. ? 替换 if...else 语句const age = 12;let adultOrChild;if (age >= 18) {    adultOrChild = 'Adult';} else {    adultOrChild = 'Child';}// 简写

2023-01-16 16:01:30 214

原创 算不上攻略 —— 前端过来人的一点心得

不知不觉,做前端也有三年半了。自己也在不断学习和总结中产生了一些个人的见解(带有偏见)。下面就来盘一盘:前端学习的三个误区:1. 追新很多前端 er 会时刻关注新技术、新框架的动态。一旦有新的东西,立马阅读官方文档,上手操作。感觉自己好像学了什么厉害武林秘籍。其实对这样自己的成长并没有多少提升。对于程序员来说,要时刻保持着这样的心态: 「技术只是解决问题的工具,学习、思考的能力才是一个程序员更应该具备的。」因为前端技术多而杂,且大部分都是工具。「学一项技能首先要了解它能够做什么?我们是否真的需要

2023-01-16 14:52:39 78

原创 Fragment实现底部菜单栏功能——仿微信

Fragment实现底部菜单栏,相比微信少了侧滑功能。1. 实现效果点击页面底部的选项,能够进行Fragment的切换。2. 项目目录1> 一个MainActivity.java,对应布局文件activity_main.xml。activity_main.xml中分为两个部分,FrameLayout与底部菜单栏(layout_bottom.xml)。2> 四个F...

2019-01-29 19:14:22 563

原创 Sqlite数据库增删改查——简易学生管理系统demo

Android studio写的一个简单的数据库增删改查demo。便于初步理解数据库操作。1.实现效果增删改查2.项目目录3.具体Activity与Layout实现1> studentdemo包,主要是ActivityAddActivity.javapackage com.example.rex.studentdemo;imp...

2019-01-28 20:49:57 3433 4

原创 自定义控件

    Android里所有的控件都是直接或间接继承自View,所有布局都是直接或间接继承自ViewGroup。View是Android中最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件。因此,我们使用的各种控件其实就是在View的基础上又添加了各自特有的功能。而ViewGroup则是一种特殊的View,它可以包含很多子View和子ViewGroup,是一个用于放置...

2018-04-22 23:15:19 132

原创 BaseActivity, 活动管理器

BaseActivity开发中,如果有多个Activity需要完成一个相同的功能,那么就可以新建BaseActivity继承自Activity,然后所有的Activity继承自BaseActivity,只需要在BaseActivity中实现该功能即可。BaseActivity还可以让我们立即判断出当前界面对应的Activity。只需要在BaseActivity的onCreate()方法中获取当前实...

2018-04-22 16:55:02 293

原创 Java多线程

程序是一段静态的代码。进程是程序的一次动态执行过程,程序执行的过程对应了进程从产生、发展至消亡的过程。线程是比进程更小的执行单位。一个进程在执行过程中可以产生多个线程。每个进程都有一段专用的内存区域。与此不同的是,线程间可以共享相同的内存单元(包括代码和数据)。Java程序总是从主类的main方法开始执行。JVM加载代码,发现main方法后,会启动一个线程,这个线程就是主线程,负责

2016-04-28 00:01:35 330

原创 Java中的static关键字

变量和方法都可以被声明为static类型。被声明static的变量叫做类变量,也叫静态变量,这个变量属于类,不属于任何一个对象。没有被static修饰的变量为实例变量,属于各对象。同样被static修饰的方法叫做类方法,属于类。没有被static修饰的方法称为实例方法,属于对象。不管创建了多少对象实例,整个类中,系统只给静态变量分配一个空间,所有对静态变量的操作都是对这一空间值得操作。

2016-04-24 23:17:49 398

原创 Java抽象类abstract class与接口interface

abstract是抽象修饰符,用来修饰类和方法。用abstract修饰的类都是抽象类。用abstract修饰的方法是抽象方法。抽象方法只有方法体,并无具体的方法体和方法实现。有抽象方法的类必须定义成抽象类(当然还有可能是接口),抽象类可以有抽象方法,也可以没有。一般来说,抽象类必须有子类来继承,否则就失去了存在的意义。abstract class Shape{ publi

2016-04-24 22:33:52 407

原创 Java中的super关键字

两个关键字用来指代类,this指代本类,super指代父类。对于一个类来说,它可以继承父类所有可继承的方法和数据成员,但是任何一个类都不能继承父类的构造方法。然而在子类的构造方法中却可以使用super调用父类的构造方法。注意:若要在子类的构造方法中调用父类的构造方法,则在子类构造方法中的第一条语句就要用super调用,否则会报错。一个super的例子:class Employee

2016-04-24 22:16:55 439

原创 Java的构造方法

Java中的基础知识。构造方法是一种特殊的方法,它与所在类的名字相同。一旦定义好一个构造方法,创建对象时就会自动调用它。构造方法没有返回类型,一个类的构造方法的返回值的类型就是这个类本身。构造方法的任务是初始化一个对象的内部状态。构造方法初始化汽车的参数。class Carr{ private String color; private String brand; publ

2016-04-24 22:06:21 979

原创 JS实现图片推拉门效果

初学者。推拉门是网页中常见的一种形式,通过JS实现比较简单。主要是通过getElement找到节点元素,然后对其进行相应的赋值即可。新建一个index.html文件,并在同一个目录中添加三个文件夹,images(用来当作“门”的图片),styles(用来存放css文件),scripts(用来存放js文件)。然后在index.html中添加代码: sliding door

2016-04-14 15:47:48 3131

原创 多按钮共享事件,对话框,Toast

安卓初学者。安卓项目文件夹目录:src:存放所有Java源代码gen:存放所有自动生成的文件,最重要的是R.java。R.java记录应用程序用到的资源,并为其制作索引列表。asserts:存放不产生索引的外部资源res:资源文件夹。drawable用来存放图片资源,layout用来存放界面设置的XML文件,values用来存放参数设置的XML文件。TextView,文

2015-12-09 12:09:19 381

原创 匿名类,try-catch语句

初学者。匿名类是一个子类,没有类名,用匿名类创建对象时,要直接使用父类的构造方法。class Cry{ public void cry() { System.out.println("大家好"); }}public class seven { public static void main(String args[]) { Cry hello = new Cry(

2015-11-30 23:24:09 693 1

原创 对象的上转型对象,接口回调

初学者。A类是B类的父类,当用子类创建一个对象,并把这个对象的引用放到父类的对象中,则称对象a是对象b的上转型对象。一般来说,有两种方法:A a;a = new B();或:A a;B b = new B();a = b;上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。举个例子比较清楚:class animal{ int m = 100; void

2015-11-29 23:27:04 952

原创 杭电2036——改革春风吹满地

Problem Description“ 改革春风吹满地,不会AC没关系;实在不行回老家,还有一亩三分地。谢谢!(乐队奏乐)”话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题目,也是云里雾里,而且,还竟然来这么几句打油诗。好呀,老师的责任就是帮你解决问题,既然想种田,那就分你一块。这块田位于浙江省温州市苍南县灵溪镇林家铺子村,多边形形状的一块地,原本是

2013-11-23 12:46:58 616

StudentDemo

Android studio写的一个简单的数据库增删改查demo。便于初步理解数据库操作。简单明了,功能简单。

2019-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除