avatar
文章
72
标签
59
分类
21

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

玲辰书斋

Turbo Rails Tutorial-第二章
发表于2023-07-02|Turbo-Rails
​ 实现简单的增删改查 这一章,我们将要创建quote模型,并关联Controller通过Rails的约定 我们先通过Excalidraw来画一些草图,来描述我们要做的事儿 在Quotes#index页面中,我们将展示quotes集合,并且每个quote都有详情,修改,删除的按钮,并且也有增加的按钮。下面是样式图: 当点击New quote按钮时跳转到Quotes#new页面: 当点击Create quote时跳转到Quotes#index页面,显示存储的数据,并按照时间排序。 当你点击Edit按钮时,就会跳转到Quotes#edit去更新已有的数据 当点击Update quote,还是跳回Quotes#index页面 当点击quote的标题时,则跳转到Quotes#show,现在我们仅仅显示标题,后面增加其他内容。 在开始之前,我们先创建一些测试用例去确保我们构建的内容正常 测试 测试是软件开发的基础部分,如果没有一个强有力的测试,我们将会引入bug,并无意间影响以往的功能。 创建测试文件 bin/rails g system_test quotes 编写 ...
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就可以增加实时更新的特点。你可以做类似的多用户游戏或者实时监控系统。 通过本次教程的学习,你将知道所有的细节关于上面三点。 本教程适用范围本 ...
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 ...
勇闯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容器不允许线程注入,也就是没办 ...
1…345…8
avatar
庚辰
要么读书,要么旅行,身体和心灵总有一个要在路上.
文章
72
标签
59
分类
21
Follow Me
最新文章
Rails层级设计演化
Rails层级设计演化2025-07-09
警惕AI
警惕AI2025-04-06
Ruby元编程实战
Ruby元编程实战2025-02-09
RSpec 测试示例与技巧说明
RSpec 测试示例与技巧说明2025-01-12
位运算 & (与)实际应用
位运算 & (与)实际应用2024-12-08
分类
  • JVM5
  • Java4
  • LSP1
  • Linux2
  • Redis2
  • Ruby10
  • 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 rails ruby rubyGem turbo 事务 二叉树 位运算 元编程 内存分配 内存溢出 加密,https 博客搭建 反射
归档
  • 七月 20251
  • 四月 20251
  • 二月 20251
  • 一月 20251
  • 十二月 20242
  • 十月 20241
  • 八月 20241
  • 七月 20241
网站资讯
文章数目 :
72
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By 庚辰
框架 Hexo|主题 Butterfly
陕ICP备2022014054号
搜索
数据库加载中