avatar
文章
71
标签
58
分类
21

主页
标签
分类
链接
关于笔者
玲辰书斋
搜索
主页
标签
分类
链接
关于笔者

玲辰书斋

Turbo Rails Tutorial-第三章
发表于2023-07-02|Turbo-Rails
​ 组织CSS文件这一章我们将使用BEM方法论,去设计项目的CSS样式,这里我们将不会使用Bootstrap或者Tailwind,因为作者觉得不好看,并打算展示一些技巧 如果你喜欢CSS,你可以学习到一些技巧,如果你不喜欢,也可直接复制代码,进入下一章的Turbo学习 我们的CSS风格CSS是一个比较难掌握的话题,像其他的编程一样,它需要一些风格和约定才能更好的使用,而学习写CSS最好的办法就是写一个小项目去设计样式 BEM方法论对于命名约定,我们使用BEM方法论,它是简单易懂的,总结为以下三点: 每个 component(or block) 应有有独立的名字,比如系统中的card,.card的CSS类应该定义在card.scss文件中,这就BEM中的B。 每个 block 可能有多个 elements,比如 card 举例,每个card都有 title 和 body,在BEM中我们应该写为 .card_title 和 .card_body,这样就可以避免命名冲突,如果另有一个block为 .box也有 title 和 body,那么这个就是.box_title和.box_b ...
Turbo Rails Tutorial-第一章
发表于2023-07-02|Turbo-Rails
​ 我们将学习使用,Rails7默认引入的tubo-rails库,并创建一个响应式的单页面应用,而无需编写任何自定义JavaScript代码。 简介 这一章我们将解释要学习的内容,看下成品的样子,并且开始我们的项目。 线上试用:https://www.hotrails.dev/quotes,类似于一个账单管理器,你可以试着添加数据,并进行编辑。 为什么学习Turbo?伴随着2021年12月7日发布的Rails7,Hotwire整合了Stimulus和Turbo。成为了默认的前端框架。下面我们看看Turbo与Rails整合带来的新的特点: 第一:所有的链接和表单提交转为Ajax请求,通过Turbo Drive可以加速我们的系统,我们只需要简单的引入,而不需要做其他操作,即可获得好处。 第二:通过Turbo Frames几行代码,我们就可以很容易的将页面切割为小的组件,可以替换或延迟加载页面的独立部分。 第三:通过Turbo Stream就可以增加实时更新的特点。你可以做类似的多用户游戏或者实时监控系统。 通过本次教程的学习,你将知道所有的细节关于上面三点。 本教程适用范围本 ...
勇闯SAP失败,勇敢转行成功
发表于2023-05-28|个人经历
晚上看到Y总的勇闯腾讯的经历,脑袋一热,往日的经历让我的肾上腺素好像又高了。 我是物流专业,大三的时候,学校请的SAP培训机构来给我们上课,讲关于SAP在供应链上的应用。当时对这个外企很好奇,并且那时候刚会点儿python,正在学韩顺平的Java基础,刚好家旁边就是SAP西安分部,脑袋一热就跑公司楼下问招人吗,也没看boss直聘,到人楼下了,心里怂了,想着自己啥都不会,技术,英语,学历都不行,想还是算了吧,但又觉得既然来了,总得试试吧。 看着一个个员工出来,我愣是一个没敢上去打招呼,刚想抬手,又放下去了,发现有人用异样的眼光看我,让我更不敢上前询问了,最后坐到楼道里深呼吸,让自己放松。时间不等人,出来的员工越来越少,眼看着再不上去,今天就算白来了,等最后剩一个姐姐走门口了,我才鼓起勇气跑过去询问,她也很热情,说可以关注SAP招聘公众号,不过委婉的说基本都是研究生,除非你很优秀。我就连忙道谢,心里特别的开心,就好像已经找到工作了一样😂,之后我就在知乎上查找相关信息,并联系上一个SAP大连分公司研究生刚入职的学生,向他请教,怎么学才能有机会进去呢,人家听我是二本的物流学生,仍鼓励我可以试 ...
从Servlet到SpringMVC
发表于2023-03-14|演化过程系列
从Servlet 到 SpringMVC我们从最简单的Servlet项目来查看一个请求是如何被处理的: 本案例中使用SpringBoot + Servlet + Tomcat进行演示 <dependencies> <!-- 添加servlet依赖模块 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <!--添加tomcat依赖模块.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> ...
注解开发应用
发表于2023-03-12|Java
注解在Java基础中我们都学习过简单的注解开发,但并不没有意识到重要性,直到使用了SpringBoot后,我们看到了注解相比原先配置文件的大量定义的简洁与优雅。在测试中我们也常用注解:@Test ,在方法定义时加上该注解,我们便可以执行这个方法,这到底怎么做的呢? 本文将回顾注解基础,并衍生到具有应用: 基础知识@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { } 上面的代码大家都很熟悉,当我们子类重新父类的方法时,会带有该注解。而我们在声明一个注解时, 首先需要使用 @Interface 来定义,这和我们定义 class,Interface 一样,最终编译时也会生成一个 class 文件 其次需要 @Target 和 @Retention 来定义该注解的作用域,这也被称为元注解,下面我们看看它们常用的范围 public enum ElementType { /** 类, 接口 (包含注解), 枚举 ...
SpringBoot自动装配原理
发表于2023-02-26|Spring
SpringBoot 自动装配原理@SpringBootApplication 启动注解@SpringBootApplication public class SpringBootBasicLearnApplication { public static void main(String[] args) { SpringApplication.run(SpringBootBasicLearnApplication.class, args); } } /** * to store the base package from the importing configuration * 也就是获取到我们启动类的包路径 */ static class Registrar implements ImportBeanDefinitionRegistrar, DeterminableImports { @Override public void registerBeanDefinitio ...
ABAC权限设计
发表于2023-02-26|权限设计
这里我使用ABAC理论来设计: 数据库表设计 用户属性: ```sqlCREATE TABLE User(userId int,userName varchar(100),roleId int); - 环境属性 - ```sql CREATE TABLE Role ( roleId int, roleName varchar(100) # 比如:普通用户,付费用户,积分等级 ); 操作属性: ```sqlCREATE TABLE action(actionId int,actionName varchar(100) # 比如:read读,write评论); - 试读 - 付费读 - 免费读 - 评论 - Resources属性: - ```sql CREATE TABLE module # 我们最终操作的资源,例如查看的文章,数据 ( moduleId int, moduleName varcha ...
opencv环境搭建
发表于2023-02-20|opencv
opencv 入门环境下载与搭建Windows用户直接在官网下载 Windows 文件:https://opencv.org/releases/ 。然后参考这篇文章:https://blog.csdn.net/qianlixiaomage/article/details/108416400。说实话Windows上操作太方便了。我用Mac捣鼓了半天,气死。 Mac用户直接在官网下载 Sources 文件:https://opencv.org/releases/ 。并进行解压。 下载cmake:brew install cmake 下载Ant:https://www.jianshu.com/p/bdca5215e9ca 这里是必须的,如果没有,最后无法生成jar包 cd opencv-4.7.0 # 这里是opencv源码包解压的文件地址 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. # 这俩点表示OpenCV的源码位置,不能省略 ​ ...
多线程事务
发表于2023-02-01|并发
多线程事务​ 在Spring开发时,遇到一个从Excel表导入数据到数据库的需求,当然最简单的方法就是先使用EasyExcel把数据读出到集合中,然后依次插入到数据库中。但如何保证效率,原子性呢?我们一步步优化方案。这里会涉及到分布式事务的知识,如果感兴趣可以看我之前的文章:玲辰书斋,这里不会引入不必要的组件,而是我们自己模拟类似的思想。 方法1:依次顺序插入 void test() { List<User> users = getAllUsers(); users.forEach(user -> userService.save(user)); } 方法2:使用批处理,一次操作中执行多条SQL void test() { List<User> users = getAllUsers(); userService.saveBatch(users); } 方法3:使用多线程+批处理,每个线程插入多条数据 需要注意的一点,Spring容器不允许线程注入,也就是没办 ...
手写非公平锁(ReentrantLock)
发表于2023-01-30|手写系列
手写非公平锁(ReentrantLock)​ ReentrantLock很多教程都在讲解,虽然很细致,但内容太多了,过段时间就很容易忘,我们知道ReentrantLock的核心是AQS(抽象队列同步器),我们这里试着使用AQS,自己写一个非公平锁使用,看看AQS承载了哪部分的职责,ReentrantLock承载了哪部分的职责 第一步:定义接口,面向接口编程嘛 public interface myLock { // 很简单的加锁和释放锁 public void lock(); public void unlock(); } 第二步:看看ReentrantLock与AQS的关系 public class myUnFairLock implements myLock { private final Sync sync = new Sync(); // 锁的核心由AQS管理,ReentrantLock只负责重写 tryAcquire 和 tryRelease方法的逻辑 private stat ...
1…345…8
avatar
庚辰
要么读书,要么旅行,身体和心灵总有一个要在路上.
文章
71
标签
58
分类
21
Follow Me
最新文章
警惕AI
警惕AI2025-04-06
Ruby元编程实战
Ruby元编程实战2025-02-09
RSpec 测试示例与技巧说明2025-01-12
位运算 & (与)实际应用2024-12-08
Zed动态查询2024-12-03
分类
  • JVM5
  • Java4
  • LSP1
  • Linux2
  • Redis2
  • Ruby9
  • Spring4
  • Turbo-Rails11
标签
AI AQS锁 Filter IOC IO流 Interceptor JavaScript LSP Mysql OOP Promis RMI RPC Rails Ruby SDK SQL Servlet Shell SpringMVC SublimeText Zed electron jdbc mysql opencv orm ruby rubyGem turbo 事务 二叉树 位运算 元编程 内存分配 内存溢出 加密,https 博客搭建 反射 垃圾回收
归档
  • 四月 20251
  • 二月 20251
  • 一月 20251
  • 十二月 20242
  • 十月 20241
  • 八月 20241
  • 七月 20241
  • 六月 20241
网站资讯
文章数目 :
71
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By 庚辰
框架 Hexo|主题 Butterfly
陕ICP备2022014054号
搜索
数据库加载中