自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 问答 (2)
  • 收藏
  • 关注

原创 day15 学一下Tailwindcss(java转ts全栈/3r教室)

目前距离全栈差得最多的是前端,而对于前端主要是CSS一直不熟悉,觉得很复杂写起来总是不上道,所以特别关注下Tailwindcss吧,其他前端框架可以先放放,多说无益直接用tailwindcss做个页面试试

2024-04-30 22:01:16 735 5

原创 day14 ts前端技术栈Vite+React18+Eslint+Stylelint+TailwindCSS+Antd(java转ts全栈/3R教室)

端React开发相关技术介绍:Vite+React+Eslint+Stylelint+TailwindCSS+Antd

2024-04-29 20:41:46 943 1

原创 day13 ts后端Typeorm框架(java转ts全栈/3R教室)

* 简介:如果说TS全栈后端开发最重要的两个框架,除了nestjs就是持久层框架了,这里主要看下Typeorm

2024-04-25 22:20:27 329 2

原创 day12 过一遍Nestjs框架(java转ts全栈/3R教室)

今天来看下ts后端用的框架——Nestjs

2024-04-24 22:08:25 676 1

原创 day11 过一遍TypeScript语法(java转ts全栈/3R教室)

今天正式开始学ts相关技术,先学下TypeScript。

2024-04-22 20:47:58 400

原创 day10 全栈开发都需要学什么?(java转ts全栈/3R教室)

程序员提升&&转型交流群:954614622。

2024-04-15 19:27:28 909 2

原创 day9 next商业项目初探·五(java转ts全栈/3R教室)

背景:从头一点点学起太慢了,直接看几个商业项目吧,看看根据Java的经验,自己能看懂多少,然后再系统学的话也会更有针对性。今天看下一个项目 huanghanzhilian/c-shopping: A beautiful shopping platform developed with Next.js, tailored for various devices including Desktop, Tablet, and Phone. 基于Nextjs开发同时适配Desktop、Tablet、Phone多种

2024-04-12 18:35:46 600

原创 day8 nest商业项目初探·四(java转ts全栈/3R教室)

【代码】day8 nest商业项目初探·四(java转ts全栈/3R教室)

2024-04-11 20:34:00 414

原创 全栈外包接单/远程工作(TS, React, Vue, Java, 移动端)

我毕业于中国某一本院校计算机专业,曾在北京大型软件公司从事Java开发多年,主要服务于全国各大头部985/211院校。后来为扩宽职业路径,转向了Ts全栈,现专注于远程外包接单工作,致力于打造一个能为客户带来优质体验的开发工作室,希望早日获取一些值得长期合作的客户,做出更多优秀的项目成果。融客空间 | For Consilience (wangc.site)

2024-04-11 18:59:04 855 1

原创 day7 nest商业项目初探·三(java转ts全栈/3R教室)

的start脚本,了解了一下:PM2 是一个守护进程管理工具,可以帮助你管理和守护你的应用程序12。它以简单直观的 CLI 命令行方式进行工作1。也有网页的服务端监控平台(需要注册),看着还挺高级的,并且使用起来很方便npm安装后直接就能用了,比起来java中类似的监控组件SBA还得配置依赖与改代码,这个更简便一些。:从头一点点学起太慢了,直接看几个商业项目吧,看看根据Java的经验,自己能看懂多少,然后再系统学的话也会更有针对性。概览:只有个pc和moblie,没有管理端,只是个官网,做了移动端的适配。

2024-04-10 20:58:56 270

原创 day6 nest商业项目初探·二(java转ts全栈/3R教室)

按照nvm方式试试,主义得先把之前安装的node给删掉, 不然也没法切换成功,一直是之前的node版本(因为配置环境变量了),成功谢欢到16之后,发现pnpm的版本又和node不匹配了。还有个403的错误,没能解决(这是nest项目特有的报错方式吧,直接报错到页面上了,应该是dev启动,方便调试问题的)不用dev启动了,直接build之后start,倒是不报错了,但这样子没图片呀?另外,其中因为一直install了很多次,wsl空间涨的特别厉害,并且删除了也没有释放,导致c盘满了。用nvm的方式试试吧。

2024-04-09 21:04:30 908

原创 day5 nest商业项目初探·一(java转ts全栈/3R教室)

先启动前端看看效果吧,install 之后 run dev报错:估计是后端没启动吧,但web项目中并没有.env文件,估计没上传吧,自己创建个配置下。*后端 install start之后报了好多错,不想是代码问题,像是版本之类什么的问题?但是报错,f12也看不出来什么问题,先把后端启动下吧。先弄后端,配置下.env的数据库配置,数据库和redis的ip则是在config.ts中。概况:三个子项目,web是前端页面,api是后端接口;这个帖子报错一样,是切换了pnpm版本。

2024-04-08 21:28:46 347

原创 day4 linux上部署第一个nest项目(java转ts全栈/3R教室)

网上查了一些帖子,竟然很多人要把整个项目代码 git下载到生产环境,在服务器上安装依赖包的。:上一篇吧nest-vben-admin项目,再开发环境上跑通了,并且build出来了dist文件,接下来再部署到linux试试吧。直接生成了两个dist文件夹,前端admin项目一个(vue的),后端server项目一个(nestjs的):于是生产环境的linux上,安装node pnpm等环境。:前端就是放nginx上,后端cd到server目录下,:把整个项目放到了linux上,然后再install把。

2024-03-29 20:54:02 659

原创 day3 wsl下启动第一个nest项目(java转ts全栈/3R教室)

【代码】day3 wsl下启动第一个nest项目。

2024-03-28 21:25:54 947

原创 day2 nestjs应用初始化及调试(java转ts全栈/3R教室)

Java转Ts全栈的学习记录。

2024-03-21 20:19:21 299 2

原创 day1 linux下nodejs环境搭建(java转ts全栈/3R教室)

linux上肯定得安装吧,之后服务部署启动要用;windows安装过,开发用。该笔记已整合入个人知识体系,详见。:一种shell工具。

2024-03-19 16:42:00 306

原创 day0 3r文档docker部署(java转ts全栈/3R教室笔记)

【代码】day0 3r文档docker部署。

2024-03-18 21:37:55 494

原创 Struts2

Struts现在无疑是很老了,可能一些老项目还用Struts,但近五年已经基本被SpringMVC所取代。老技术虽然不用深入去研究,但还是要去了解和会用的,一方面扩展视野,另一方面更好的理解新技术的优势。是什么:Struts:2000年开发的Web层框架,符合Model-View-Controller三层架构的设计模式。名为 ActionServlet 的 Servlet 充当控制器(Controller)根据描述模型、视图、控制器对应关系的 struts-config.xml 的配置文件.

2020-07-30 23:55:50 251

原创 Java IDE 之间的异同 (IDEA, Eclipse)

Java常用的IDE有很多种,比较经典的Eclipse,MyEclipse,近年来比较流行的IDEA.而将eclipse创建的项目用IDEA打开多少会出现点问题,这需要我们比较两个IDE之间的不同. IDE是什么:IDE一般指集成开发环境,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。 区别:比如代码编辑器的自动生成策略就不一样 编译器:idea默认编译用JDK的javac,eclipse里面用的则是EPJ,编译时会有区别 其他:听同事说不同IDE对jdk和tomcat的版本选择也有区别.

2020-07-30 11:38:17 2638

原创 Day131 面试记录(3)

安博教育 微服务之间接口的调用怎么实现,从代码层面具体怎么写 springcloud你都用过那些组件 浏览器发一个请求到网关,网关是通过什么转发到微服务 线程安全的集合 concurrenthashmap和hashmap的区别 jdk1.8在集合方面的处理都增加了什么方法? List和set的区别 如何实现多线程 callable的返回值是拿什么方法接收的 Thread和Runable的区别 String、StringBuffer 和 StringBuilder .

2020-07-30 11:09:10 194

原创 Day131 面试记录(2)

多线程的应用场景线程的生命周期线程间的通讯机制进程和线程hashmapconcurrenthashmap常用的锁有哪些数据量特别大hashmap存储不了java的内存模型git的垃圾回收机制arraylist和linklistarraylist扩容机制spring用到那些设计模式aop怎么实现动态代理的为什么要用springcloud熔断机制的实现原理各层协议抓包工具的实现原理存储过程聚合函数用过索引吗?那些字段需要建立索引联合索引听到过吗项目中的并发常见介绍

2020-07-19 23:58:29 111

原创 Day131 面试记录(1)

人力面试问题离职的原因?是统招本科吗,学信网可查吗?可以接受外包/驻地/外派吗?上家公司的工资,福利,年终奖等期望薪资?什么时候入职?大学绩点排名?技术面试题目项目中并发的体现:优惠权展示: 如果优惠券列表缓存存在,从缓存中查询,缓存不存在从DB中查询并插入到缓存,在这里用到了分布式锁来解决并发问题。因为某个时间点缓存不存在请求量有很大的时候,会出现缓存并发的问题,多个线程会重复查询数据库,有重复查询缓存,出现两组优惠券,所以用分布式锁解决并发问题,拿到锁并且判断尚未缓存..

2020-07-08 12:45:23 187

原创 Day130 SpringCloud

SpringCloud微服务基础

2020-07-02 14:37:51 131

原创 Day129 消息中间件

消息中间件基础知识消息队列 MQ:为什么:当数据进行更新时,数据库,索引库,静态页面都需要进行修改,如果直接让服务器端修改这些代码,违背了微服务的独立原则;即使通过接口进行修改也会导致代码的耦合,所以产生了消息队列的机制,如果数据发生修改,服务器端只需要向消息队列发送消息,就可以做其他工作了(异步),而索引库和静态页面的接口时刻监听消息队列,如果监听到服务端的消息便进行数据的更新。是什么:消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息

2020-06-30 11:59:44 131

原创 Day128 全面理解Redis

Redis基础知识NoSQL 数据库的产生就是为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方案,就是NoSql 数据库。Redis数据库:与传统数据库不同的是redis 的数据是存在内存中的,所以存写速度非常快,因此redis 被广泛应用于缓存方面。另外,redis 也经常用来做分布式锁。*常见问题集群1、常见问题 1、缓存穿透 1、概念 2、产生原因 3、解决方案 2、缓存击穿 1、概念

2020-06-29 19:22:39 244

原创 Day127 Redis基础

Redis基础NOSQL数据库是什么:NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。以下为主流的NOSQL产品:为什么:随着互联网 web2.0 网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种

2020-06-29 09:39:07 88

原创 Day126 JVM

JVMJVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。Java语言的跨平台特性是由JVM实现的。类加载机制Java程序运行机制:先在IDE上编写源代码(.java)之后编译器会将源代码编译成字节码文件 (.class)然后类加载器再把字节码加载到内存中,将其放在运行时数据区的方法区内由执行引擎将字节码翻译成底层系统指令,再交由CPU去执行这里面重点关注

2020-06-27 10:20:59 101

原创 Day125 MySQL索引

MySQL索引索引概述索引:MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。优点:提高数据检索的效率,降低数据库的IO成本;通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。缺点:实际上索引也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,

2020-06-25 11:20:19 110

原创 Day124 MySQL优化

MySQL优化在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的 SQL 语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化。SQL优化优化SQL的步骤:当面对一个有 SQL 性能问题的数据库时,我们应该从何处入手来进行系统的分析,使得能够尽快定位问题 SQL 并尽快解决问题?查看SQL执行频率:作为SQL优化的借

2020-06-24 10:50:56 114

原创 Day123 MySQL事务

MySQL高级数据库优化:* SQL优化,存储引擎选择,表结构优化,索引优化,分库分表,数据库分库分表一般数据量多大才需要?数据类型选择存储引擎和大多数数据库不同,MySQL有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式。存储引擎是基于表的,所以存储引擎也可以被称为表类型。InnoDB:MySQL5.5之后默认引擎。支持事务的支持,提供了行级锁和外键的约束;数据一致性,完整性应用场景:需要事务支持的业

2020-06-23 23:06:06 136

原创 Day122 Linux常用命令

查看日志因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。CentOS中的日志服务系统rsyslogLinux系统常见的日志文件路径1:/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息路径2:/var/log/cron:记录 crond 计划任务产生的事件信息路径3:/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息路径4:/var/l

2020-06-21 23:38:27 105

原创 Day121 深入理解Spring与SpringBoot

SpringSpring是一个 轻量级 的 控制反转(IoC) 和 面向切面(AOP) 的容器框架,意在解决Java企业应用开发的复杂性。IOCIOC意在降低程序的耦合度,将对象创建和对象之间调用关系交给IOC容器管理,参与开发的每一成员只要实现自己的类就可以了,不需要依赖其他类。原理IOC容器就是一个管理对象的工厂IOC原理:工厂模式 + xml解析 + 反射为什么:为了尽可能的降低程序的耦合度new方法:原始方法用new来创建调用对象耦合度太高,一旦调用的对象路径方法发生

2020-06-19 11:48:27 143

原创 Day120 计算机网络

计算机网络重点了解网络分层模型(OSI、TCP/IP和五层模型)和常用的协议(HTTP/HTTPS 和 TCP/IP)分层模型概述:OSI模型七层,概念清楚,理论也比较完整,但其既复杂又不实用;TCP/IP模型四层,应用非常广泛,计算机网络的课程一般会把两者折中为五层架构,这样既简洁又能将概念阐述清楚。数据传输流程:应用进程数据线传送到应用层,加上应用层首部,成为应用层PDU在传送到运输层,加上运输层首部,成为运输层报文在传送到网络层,加上网络层首部,成为IP数据报在传送到数据链路层,加上链

2020-06-18 19:48:27 276

原创 Day119 并发编程之线程池

核心参数线程池的工作流程线程池的底层实现BlockingQueue的使用调优策略拒绝策略线程池组件线程池种类

2020-06-15 22:13:39 91

原创 Day118 并发编程进阶

JUCjava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks

2020-06-15 16:07:43 128

原创 Day117 并发编程基础

并发编程基础概述基本概念:程序:程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。进程:进程就是用来加载指令、管理内存、管理 IO 的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。比如在Windows系统中,一个运行的xx.exe就是一个进程。线程: 一个进程之内可以分为一到多个线程,一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给 CPU 执行,Java 中,线程作为最小调度单位,进程作为资源分配的最小单

2020-06-13 10:24:21 168

原创 Day116 并发编程之Lock体系

Lock体系对比同步方法和同步块,Lock 接口提供了更具扩展性的锁操作。基本概念悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。应用场景:Java 里面的synchronized 关键字的实现也是悲观锁。再比如传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,

2020-06-12 17:43:40 134

原创 Day115 并发关键字之synchronized与volatile

synchronized起因:在并发编程中存在线程安全问题,主要原因有多线程共同操作共享数据,我们可以使用同步机制(synchronized)来解决该问题,使得同一时刻,只有一个线程可以操作改数据。synchronized:通过使用synchronized关键字可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。用法使用方法:Java中每一个对象都可以作为锁,这是synchronized实现同

2020-06-11 15:12:12 175

原创 Day114 Java容器底层原理

ArrayList的扩容机制ArrayList的扩容机制还是相对容易理解的,就是在第一个添加元素时,创建一个长度为10的数组,之后随着元素的增加,以1.5倍原数组的长度创建一个新数组HashSet实现原理HashSet实际上为(key,null)类型的HashMap,而我们知道,HashSet的key是不能重复的,所以HashSet的值自然也是没有重复的.因为HashMap的key可以为null,所以HashSet的值可以为null.、sort方法的底层排序实现原理https://www.jia

2020-06-10 08:56:31 144

原创 Day113 ConcurrentHashMap底层原理

ConcurrentHashMap前言:现在很多会涉及到高并发的应用场景,最常用的双列集合HashMap是线程不安全的,HashTable虽然线程安全但却效率太低,所以就在HashMap的基础上有了并发安全的ConcurrentHashMap。为什么HashMap线程不安全:多线程put操作,导致元素丢失。多线程put操作后,get操作导致死循环。为什么HashTable线程安全:因为它的remove,put,get都做成了同步方法。HashTable安全机制的缺点:只有一把锁,效率

2020-06-09 13:28:03 221

空空如也

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

TA关注的人

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