我的创作纪念日

机缘

可以和大家分享最初成为创作者的初心

  1. 实战项目中的经验分享,个人博客已成为程序员展示专业技能、分享知识经验、构建个人品牌的重要平台。它不仅是一种个人表达的形式,更是一种和志同道合者共同探讨技术难题的互动社区。分享专业知识、展示自己的技能、建立个人品牌,甚至是为了网络建设和职业发展。
  2. 日常学习过程中的记录,技术博客不仅是分享知识和信息的平台,也是促进学习和交流的社区。提高自己的思维能力,促进学习、写博文就会经常动脑,经常写博客,就象经常练习脑保健操一样,天天做,月月想,能够让大脑一直得到锻炼,对于一个要靠脑袋来生活的人来讲,非常有价值。博客写多了,你的逻辑思维是很强的,解决问题的思路会非常清晰,有利于程序员的长远发展。
  3. 通过文章进行技术交流,分享喜悦和收获有些问题大家一起讨论,或赞同,或反对,听听别人的思想,可以促进双方的共同进步。写博客的过程其实也是分享自己学习收获的过程,也可以看看别人的技术世界,你会受到启发。分享就是快乐!交流与思想碰撞中发现问题,取其精华去其糟粕,然后更新文章,使文章更加有深度和广度。

收获

在创作过程中,加深对技术点的理解:每写一篇博客,都可以加深对技术点的理解记录足迹,反映成长:写博客实际上是记录一个人思考和解决问题的成长过程。

当你的博客被推送到首页,获得更多的人的点赞,收藏和评论时,你会感到无比的喜悦,满满的成就感,付出总是有收获的。在这一年的时间里我也收获满满。

  1. 获得了许多粉丝的关注,感谢你们的支持,我们一起加油,深耕属于自己的技术领域
  2. 获得了正向的反馈,如赞、评论、阅读量等
  3. 认识和哪些志同道合的领域同行,Java开发的,前端Vue的好多
  4. 收到CSDN系统的榜单入围通知

日常

当前创作和你的工作、学习是什么样的关系
例如:

  1. 创作已经是生活的一部分了,写了博客,自然会有许多志趣相同甚至观点完全相反的朋友来阅读,这样就可以认识许多朋友。有共同的兴趣爱好自然就谈得来,对有些观点进行探讨,也可以互相交流心得体会。
  2. 有限的精力下,如何平衡创作和工作学习,比如每天工作压力很大,事情太多等等,因此,每当想放弃的时候,都要告诉自己:不能轻易把已坚持那么久的东西给丢掉,这本身就是一种对毅力的锻炼。其实,喜欢上写博客就会成为一种习惯,一天不看就想少了什么似得,你想不看、不写都困难,慢慢地习惯就成了自然。
  3. 传播正能量,发展自己,服务社会多写传播正能量的博客,想有阳关心态,自己心里要有阳光,多看别人的优点自己就会进步的快一些。看别人的博客,多看正能量的优秀领域文章,相信有一天,自己也能成为领域大牛,有一片自己的天地。

成就

你过去写得最好的一段代码是什么? 请用代码块贴出来
例如:

  1. 单元测试类
    @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
    @Sql(scripts = "/sql/test_book_ddl.sql",executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
    @Sql(scripts = "/sql/test_book_dml.sql",executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
    @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    public class BookControllerTest {
        @LocalServerPort
        private int port;
    
        private String baseUrl = "http://localhost";
    
        private static RestTemplate restTemplate = null;
    
        @BeforeAll
        public static void init() {
            restTemplate = new RestTemplate();
            restTemplate.setErrorHandler(new DefaultResponseErrorHandler(){
                @Override
                public boolean hasError(HttpStatus statusCode) {
                    return false;
                }
            });
        }
    
        @BeforeEach
        public void setUp() {
            baseUrl = baseUrl.concat(":").concat(port+ "").concat("/books");
        }
    
        @AfterEach
        public void teardown() {
        }
    
        @Test
        @Order(0)
        public void getBookByRestId() {
    
            Book forObject = restTemplate.getForObject(baseUrl.concat("/getBookByRestId/{id}"), Book.class, 1);
    
            assertAll(
                    () -> assertNotNull(forObject),
                    () -> assertEquals("西游记续集", forObject.getBook_name())
            );
        }
    
        @Test
        @Order(1)
        public void getBookById() {
            Map<String,Object> map = new HashMap<>();
            map.put("id",1);
            Book forObject = restTemplate.getForEntity(baseUrl.concat("/getBookById?id={id}"), Book.class,map).getBody();
    
            assertAll(
                    () -> assertNotNull(forObject),
                    () -> assertEquals("西游记续集", forObject.getBook_name())
            );
        }
    
        @Test
        @Order(2)
        public void queryBookAll() {
            Book[] forObject = restTemplate.getForObject(baseUrl.concat("/findBookAll"), Book[].class);
            List<Book> books = Arrays.asList(forObject);
            String jsonObject = JSONUtil.toJsonStr(books);
    
            System.out.println("---queryBookAll--------------"+jsonObject);
            assertAll(
                    () -> assertNotNull(books),
                    () -> assertEquals("西游记续集", books.get(0).getBook_name().toString()),
                    () -> assertEquals("smile to society", books.get(1).getBook_name().toString())
            );
        }
    
    
        @Test
        @Order(3)
        public void queryBookByConditions() {
            Book book = new Book();
            book.setBook_name("西游记续集");
            book.setBook_no("256889");
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);
    
            //构造实体对象
            HttpEntity<Book> postRequest = new HttpEntity<>(book, headers);
            Book[] books = restTemplate.postForObject(baseUrl.concat("/findBook"), postRequest, Book[].class);
            List<Book> books1 = Arrays.asList(books);
            String jsonObject = JSONUtil.toJsonStr(books1);
            System.out.println("---queryBookByConditions--------------"+jsonObject);
    
            assertAll(
                    () -> assertNotNull(books1),
                    () -> assertEquals("西游记续集", books1.get(0).getBook_name().toString()),
                    () -> assertEquals("256889", books1.get(0).getBook_no())
            );
        }
    
    }
    @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    @AutoConfigureMockMvc
    public class BookController2Test {
    
        @Autowired
        private MockMvc mockMvc;
    
    
        @Test
        public void getBookByRestId() throws Exception {
    
            MockHttpServletResponse response = mockMvc.perform(
                    get("/books/getBookByRestId/1")
                            .accept(MediaType.APPLICATION_JSON))
                    .andExpect(MockMvcResultMatchers.status().isOk())
                    .andDo(MockMvcResultHandlers.print())
                    .andReturn().getResponse();
    
            System.out.println("响应1:" + response.getContentAsString());
    
        }
    
        @Test
        public void getBookById() throws Exception {
            MockHttpServletResponse response = mockMvc.perform(
                    get("/books/getBookById?id=2")
                            .accept(MediaType.APPLICATION_JSON))
                    .andDo(MockMvcResultHandlers.print())
                    .andReturn().getResponse();
    
            System.out.println("响应1:" + response.getContentAsString());
    
        }
    }
  2. 某个项目实现代码,多线程的运用实例
    /**
         * 1.分配线程池
         * 2.分配多线程异步任务处理,addAll(分批查询数据)
         * 3.执行多线程异步任务
         */
        public static void asyncRun() {
            List<CompletableFuture<Void>> futureList = new ArrayList<>();
            CompletableFuture<Void> orgFuture = CompletableFuture.runAsync(() -> {
                orgList.addAll(new ArrayList<>());//分批查询数据
            }, poolExecutor);
    
            CompletableFuture<Void> empFuture =
                    CompletableFuture.runAsync(() -> empList.addAll(new ArrayList<>()),poolExecutor);
    
            futureList.add(orgFuture);
            futureList.add(empFuture);
    
            CompletableFuture.allOf(futureList.toArray(new CompletableFuture[0])).join();
        }


憧憬

职业规划、创作规划

  1、技术提升:继续深入学习软件开发相关知识,掌握最新的编程语言和开发工具。同时,关注行业动态和技术趋势,不断提升自己的技术水平。
  2、团队协作:加强与团队成员的沟通和协作,提高自己的团队协作能力和项目管理能力。通过参与团队项目和跨部门合作,积累更多的实践经验。
  4、领导力培养:通过参与团队管理和项目领导,培养自己的领导力和决策能力。同时,关注行业动态和市场需求,提高自己的战略思维和创新能力。

        在这里认识更多的同道中人,与优秀者同行,你的成长速度会更快,但是首先你自己也要优秀,而在技术圈子里,博客是含金量较高的展示自己的方式。另外,与你关心同类问题的人们,在搜索文章时更容易发现你,因为有了过滤,通过博客来联系你的人大多数都是有意义的。

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值