All Projects → f-lab-edu → black-postoffice

f-lab-edu / black-postoffice

Licence: other
[무신사 신입] 익명으로 편하게 고민, 일상을 공유하는 소셜 네트워크 서비스입니다.

Programming Languages

HTML
75241 projects
kotlin
9241 projects

Projects that are alternatives of or similar to black-postoffice

event-recommender-festa
[SI -> 오늘회, 펫프렌드 이직, 연봉 35% 상승] 내 주변지역의 이벤트와 행사를 추천해주는 서비스
Stars: ✭ 64 (+106.45%)
Mutual labels:  jenkins, mybatis, graduate, f-lab
My Blog Layui
layui 版本的 My-Blog : A simple & beautiful blogging system implemented with spring-boot & layui & thymeleaf & mybatis My Blog 是由 SpringBoot + Layui + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 204 (+558.06%)
Mutual labels:  springboot, mybatis
Learningsummary
涵盖大部分Java进阶需要掌握的知识,包括【微服务】【中间件】【缓存】【数据库优化】【搜索引擎】【分布式】等等,欢迎Star~
Stars: ✭ 201 (+548.39%)
Mutual labels:  springboot, mybatis
Springboot Learning Example
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。
Stars: ✭ 14,640 (+47125.81%)
Mutual labels:  springboot, mybatis
Seconds Kill
基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000
Stars: ✭ 180 (+480.65%)
Mutual labels:  springboot, mybatis
Demo Project
存放学习过程中的demo项目,别光fork,顺便点下⭐哦
Stars: ✭ 198 (+538.71%)
Mutual labels:  springboot, mybatis
Dynamic Datasource Spring Boot Starter
dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务
Stars: ✭ 3,112 (+9938.71%)
Mutual labels:  springboot, mybatis
Spring Boot Leaning
Spring Boot 2.X 最全课程代码
Stars: ✭ 2,008 (+6377.42%)
Mutual labels:  springboot, mybatis
vacomall
☀️☀️ 基于 dubbo 实现的分布式电商平台。
Stars: ✭ 42 (+35.48%)
Mutual labels:  jenkins, mybatis
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+1280.65%)
Mutual labels:  jenkins, mybatis
Spring Boot Plus
🔥 Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding. 🚀
Stars: ✭ 2,198 (+6990.32%)
Mutual labels:  springboot, mybatis
Blog demos
CSDN博客专家程序员欣宸的github,这里有四百多篇原创文章的详细分类和汇总,以及对应的源码,内容涉及Java、Docker、Kubernetes、DevOPS等方面
Stars: ✭ 1,030 (+3222.58%)
Mutual labels:  jenkins, springboot
Easyadmin
简易的java后台管理框架,基于SpringBoot+FreeMark+ace admin+mysql
Stars: ✭ 169 (+445.16%)
Mutual labels:  springboot, mybatis
Springboot mybatisplus
SpringBoot集成MyBatisPlus
Stars: ✭ 199 (+541.94%)
Mutual labels:  springboot, mybatis
My Blog
🌴A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 2,400 (+7641.94%)
Mutual labels:  springboot, mybatis
Springboot Examples
spring boot 实践系列
Stars: ✭ 216 (+596.77%)
Mutual labels:  springboot, mybatis
Priest
dubbo mybatis springboot base soa rest api framework with customer code generator
Stars: ✭ 160 (+416.13%)
Mutual labels:  springboot, mybatis
Crown
Based on SpringBoot2, Crown builds a rapidly developed web application scaffolding.
Stars: ✭ 161 (+419.35%)
Mutual labels:  springboot, mybatis
moments v2 backend
backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3.
Stars: ✭ 54 (+74.19%)
Mutual labels:  aws-s3, springboot
Ansible Playbooks
Ansible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..
Stars: ✭ 429 (+1283.87%)
Mutual labels:  jenkins, aws-s3

black-postoffice

  • 익명으로 편하게 고민, 일상을 공유하는 소셜 네트워크 서비스입니다.

WIKI

해당 프로젝트의 모든 정보는 WIKI 를 참고하실 수 있습니다.

API 문서

현재까지의 사용기술

기술 스택

서버 구조도

Untitled Diagram drawio (4)

디렉토리 구조

└─ src
   ├─ docs                                       Rest Docs API 자동화 관련
      ├─ api-guide.adoc
      ├─ api-html.adoc
      
   ├─ main
      ├─ kotlin
         ├─ com.flabedu.blackpostoffice
            ├─ commom                             공통으로 사용하는 파일들
               ├─ annotation                        - 사용자 권한 체크등 관련된 어노테이션            
               ├─ config                            - Redis, MySQL Replication, S3등 설정 파일 관련 
               ├─ encryption                        - 비밀번호 암호화등 관련
               ├─ enumeration                       - 사용자 권한 부여등 Enum Class
               ├─ interceptor                       - 스프링 인터셉터를 통해 중복 코드를 제거하기 위한 것과 관련
               ├─ property                          - yml파일을 객체에 매핑하여 property로 사용
               ├─ utils.constants                   - 공통 상수 관련
            ├─ controller                         Model과 View의 연결하는 제어 로직을 담당
            ├─ exception                          예외처리 관련
               ├─ dto                               - 예외처리 관련 데이터 교환을 위해 사용
               ├─ handler                           - 전역적으로 예외를 다루는 핸들러                          
             ├─ mapper                            Mybatis 매핑XML에 기재된 SQL을 호출하기 위한 인터페이스
             ├─ model                             비즈니스 로직과 사용되는 데이터를 다루는 영역
             ├─ service                           비즈니스 로직을 수행
             
   ├─ test                                        테스트 코드 관련
      ├─ kotlin
         ├─ com.flabedu.blackpostoffice
            ├─ ...                     

프로젝트 주요 관심사

  • 여러 기술들의 트레이드 오프를 고려한 후, 어떤 기술을 도입하는 것이 가장 서비스에 가장 적합할까?
  • 다른 개발자가 내 코드를 보았다고 가정할 때, 어떻게 코드를 작성하는 것이 이해하기 쉬운 코드이며 유지보수에 용이한 코드일까?
  • 꾸준히, 깊은 이론 학습을 통해 내가 작성한 코드를 어떻게 더 좋은 코드로 만들까?
  • 대용량 트래픽의 상황에서 지속적인 서버 개선을 위해 어떻게 성능을 튜닝할까?
  • 위의 관심사들을 기반으로 고민한 이슈들을 기술블로그 에 작성하고 팀 내 공유하여 함께 성장해가는 개발 문화 추구

코틀린 사용 이유

  • 자바에서는 형식을 맞추기 위해 무의미하고 반복적인 코드를 작성하게 되어 항상 코드가 비대해지기 마련이었습니다. 저는 이 문제를 해결하기 위해 코틀린을 사용하였습니다.
  • 코틀린은 타입 추론과 더불어 자체적으로 함수형 프로그래밍을 지원해주기 때문에 자바에 비해 훨씬 코드를 간결하게 작성할 수 있었으며 개발 생산성과 유지 보수성 면에서도 훨씬 좋은 성과를 거두었습니다.
  • 또한 코틀린은 별도의 표기가 없는 경우 널 값을 허용하지 않기 때문에 자바에서 흔히 발생하는 널 포인터 예외를 피할 수 있었습니다. 이는 널 포인터 때문에 프로그램이 중단되는 현상을 방지하는 성과를 거둘 수 있었습니다.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].