├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── config.yml
│ └── feature_request.md
├── dependabot.yml
└── workflows
│ └── ci.yml
├── .gitignore
├── LICENSE
├── README.md
├── code
├── CNAME
├── assert
│ └── logo.gif
├── basic
│ ├── computer_architecture_principles
│ │ ├── 01-overview
│ │ │ └── index.md
│ │ ├── 02-data-representation-and-operations
│ │ │ └── index.md
│ │ ├── 03-memory
│ │ │ └── index.md
│ │ ├── 04-instruction-set
│ │ │ └── index.md
│ │ ├── 05-cpu
│ │ │ └── index.md
│ │ ├── 06-bus-and-io-system
│ │ │ └── index.md
│ │ └── index.md
│ ├── computer_network
│ │ ├── application_http
│ │ │ └── index.md
│ │ └── index.md
│ ├── data-structures-and-algorithm-analysis
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── luguosong
│ │ │ ├── _01_foundations
│ │ │ ├── _01_the_role_of_algorithms_in_computers
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ │ └── index.md
│ ├── index.md
│ └── operating_system
│ │ └── index.md
├── custom
│ ├── css
│ │ ├── custom.css
│ │ ├── font.css
│ │ └── viewer.css
│ └── js
│ │ ├── custom.js
│ │ ├── katex.js
│ │ ├── viewer-js-init.js
│ │ └── viewer.js
├── document-translation
│ ├── css-the-definitive-guide
│ │ ├── 01-css-fundamentals
│ │ │ └── index.md
│ │ └── index.md
│ ├── index.md
│ ├── junit5-user-guide
│ │ ├── 01-overview
│ │ │ └── index.md
│ │ ├── 02-writing-tests
│ │ │ └── index.md
│ │ └── index.md
│ ├── spring-framework
│ │ ├── 01-overview
│ │ │ └── index.md
│ │ ├── 02-core-technologies
│ │ │ ├── 01-the-ioc-container
│ │ │ │ ├── 01-introduction
│ │ │ │ │ └── index.md
│ │ │ │ ├── 02-basics
│ │ │ │ │ └── index.md
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ └── index.md
│ ├── spring-security-in-action2
│ │ ├── index.md
│ │ ├── part1_say_hello_to_spring_security
│ │ │ ├── 01_security_today
│ │ │ │ └── index.md
│ │ │ ├── 02_hello
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ ├── part2_configuring_authentication
│ │ │ ├── 03_managing_users
│ │ │ │ ├── index.md
│ │ │ │ ├── ssia-ch3-ex1
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ │ └── ssiach3ex1
│ │ │ │ │ │ │ │ ├── SsiaCh3Ex1Application.java
│ │ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ │ ├── controller
│ │ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ │ │ │ ├── model
│ │ │ │ │ │ │ │ └── User.java
│ │ │ │ │ │ │ │ └── services
│ │ │ │ │ │ │ │ └── InMemoryUserDetailsService.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ └── application.properties
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── ssiach3ex1
│ │ │ │ │ │ └── SsiaCh3Ex1ApplicationTests.java
│ │ │ │ ├── ssia-ch3-ex2
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ │ └── ssiach3ex2
│ │ │ │ │ │ │ │ ├── SsiaCh3Ex2Application.java
│ │ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ │ └── controllers
│ │ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ ├── data.sql
│ │ │ │ │ │ │ └── schema.sql
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── ssiach3ex2
│ │ │ │ │ │ └── SsiaCh3Ex2ApplicationTests.java
│ │ │ │ └── ssia-ch3-ex3
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── ssiach3ex3
│ │ │ │ │ │ │ ├── SsiaCh3Ex3Application.java
│ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ └── controllers
│ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── server.ldif
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── ssiach3ex3
│ │ │ │ │ └── SsiaCh3Ex3ApplicationTests.java
│ │ │ ├── 04_managing_passwords
│ │ │ │ └── index.md
│ │ │ ├── 05_begins_with_filters
│ │ │ │ ├── index.md
│ │ │ │ ├── ssia-ch5-ex1
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ │ └── ssiach5ex1
│ │ │ │ │ │ │ │ ├── SsiaCh5Ex1Application.java
│ │ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ │ ├── controllers
│ │ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ │ │ │ └── filters
│ │ │ │ │ │ │ │ ├── AuthenticationLoggingFilter.java
│ │ │ │ │ │ │ │ └── RequestValidationFilter.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ └── application.properties
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── ssiach5ex1
│ │ │ │ │ │ └── SsiaCh5Ex1ApplicationTests.java
│ │ │ │ ├── ssia-ch5-ex2
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ │ └── ssiach5ex2
│ │ │ │ │ │ │ │ ├── SsiaCh5Ex2Application.java
│ │ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ │ ├── controllers
│ │ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ │ │ │ └── filters
│ │ │ │ │ │ │ │ └── StaticKeyAuthenticationFilter.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ └── application.properties
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── ssiach5ex2
│ │ │ │ │ │ └── SsiaCh5Ex2ApplicationTests.java
│ │ │ │ └── ssia-ch5-ex3
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── ssiach5ex3
│ │ │ │ │ │ │ ├── SsiaCh5Ex3Application.java
│ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ └── ProjectConfig.java
│ │ │ │ │ │ │ ├── controllers
│ │ │ │ │ │ │ └── HelloController.java
│ │ │ │ │ │ │ └── filters
│ │ │ │ │ │ │ ├── AuthenticationLoggingFilter.java
│ │ │ │ │ │ │ └── RequestValidationFilter.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── ssiach5ex3
│ │ │ │ │ └── SsiaCh5Ex3ApplicationTests.java
│ │ │ ├── 06_implementing_authentications
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ ├── part3_configuring_authorization
│ │ │ ├── 07_configuring_endpoint_level_authorization_restricting_access
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ ├── part4_implementing_oAuth2_and_openid_connect
│ │ │ └── index.md
│ │ ├── part5_going_reactive
│ │ │ └── index.md
│ │ └── part6_testing_security_configurations
│ │ │ └── index.md
│ └── spring-start-here
│ │ ├── index.md
│ │ ├── part1
│ │ ├── 01-spring-in-the-real-world
│ │ │ └── index.md
│ │ ├── 02-defining-beans
│ │ │ └── index.md
│ │ ├── 03-wiring-beans
│ │ │ └── index.md
│ │ └── index.md
│ │ └── part2
│ │ └── index.md
├── english
│ ├── grammar
│ │ └── index.md
│ ├── index.md
│ ├── new_concept_english
│ │ └── index.md
│ ├── phonetic_symbol
│ │ ├── index.md
│ │ └── mp3
│ │ │ ├── aɪ.mp3
│ │ │ ├── b.mp3
│ │ │ ├── d.mp3
│ │ │ ├── e.mp3
│ │ │ ├── eɪ.mp3
│ │ │ ├── g.mp3
│ │ │ ├── iː.mp3
│ │ │ ├── k.mp3
│ │ │ ├── p.mp3
│ │ │ ├── t.mp3
│ │ │ ├── uː.mp3
│ │ │ ├── æ.mp3
│ │ │ ├── ɑː.mp3
│ │ │ ├── ɒ.mp3
│ │ │ ├── ɔː.mp3
│ │ │ ├── ə.mp3
│ │ │ ├── əʊ.mp3
│ │ │ ├── ɜː.mp3
│ │ │ ├── ɪ.mp3
│ │ │ ├── ʊ.mp3
│ │ │ └── ʌ.mp3
│ └── programming_vocabulary
│ │ └── index.md
├── front-end
│ ├── code_bundler
│ │ ├── index.md
│ │ └── webpack
│ │ │ └── index.md
│ ├── css
│ │ └── index.md
│ ├── html
│ │ ├── basic
│ │ │ ├── auxiliary.html
│ │ │ ├── comment.html
│ │ │ ├── entity.html
│ │ │ ├── form.html
│ │ │ ├── frame.html
│ │ │ ├── hyperlinks.html
│ │ │ ├── image.html
│ │ │ ├── img
│ │ │ │ └── small-image.jpg
│ │ │ ├── index.md
│ │ │ ├── list.html
│ │ │ ├── media
│ │ │ │ ├── an-sound.mp3
│ │ │ │ └── sp.mp4
│ │ │ ├── meta.html
│ │ │ ├── table.html
│ │ │ ├── text.html
│ │ │ └── typography.html
│ │ ├── html5
│ │ │ ├── h5_audio.html
│ │ │ ├── h5_datalist.html
│ │ │ ├── h5_details.html
│ │ │ ├── h5_form.html
│ │ │ ├── h5_layout.html
│ │ │ ├── h5_meter.html
│ │ │ ├── h5_text.html
│ │ │ ├── h5_video.html
│ │ │ └── index.md
│ │ └── index.md
│ ├── index.md
│ ├── js
│ │ ├── 01_Introduction_to_JavaScript
│ │ │ ├── hello.js
│ │ │ └── index.md
│ │ ├── 02_Lexical_Structure
│ │ │ └── index.md
│ │ ├── 03_Types_Values_and_Variables
│ │ │ ├── destructuring_assignment.js
│ │ │ └── index.md
│ │ ├── 04_Expressions_and_Operators
│ │ │ ├── delete.js
│ │ │ └── index.md
│ │ ├── 05_Statements
│ │ │ └── index.md
│ │ ├── 06_Objects
│ │ │ └── index.md
│ │ ├── 07_Arrays
│ │ │ └── index.md
│ │ ├── 13_Asynchronous_JavaScript
│ │ │ ├── callback_hell.html
│ │ │ ├── event.html
│ │ │ ├── index.md
│ │ │ ├── interval.html
│ │ │ ├── request.html
│ │ │ └── timeout.html
│ │ ├── index.md
│ │ └── js
│ │ │ └── print.js
│ ├── react
│ │ ├── basic
│ │ │ ├── adding-interactivity
│ │ │ │ └── index.md
│ │ │ ├── describing-the-ui
│ │ │ │ └── index.md
│ │ │ ├── escape-hatches
│ │ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── managing-state
│ │ │ │ └── index.md
│ │ │ └── react-demo
│ │ │ │ ├── eslint.config.js
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── public
│ │ │ │ └── vite.svg
│ │ │ │ ├── src
│ │ │ │ ├── App.jsx
│ │ │ │ ├── assets
│ │ │ │ │ └── react.svg
│ │ │ │ ├── index.css
│ │ │ │ └── main.jsx
│ │ │ │ └── vite.config.js
│ │ ├── global-state-management
│ │ │ ├── index.md
│ │ │ ├── mobx
│ │ │ │ └── index.md
│ │ │ └── redux
│ │ │ │ ├── example
│ │ │ │ └── reducer
│ │ │ │ │ └── reducer.js
│ │ │ │ └── index.md
│ │ ├── index.md
│ │ ├── nextjs
│ │ │ └── index.md
│ │ └── react_router
│ │ │ └── index.md
│ ├── typescript
│ │ ├── basic
│ │ │ ├── hello_world.js
│ │ │ ├── hello_world.ts
│ │ │ ├── index.md
│ │ │ ├── interfaces.js
│ │ │ └── interfaces.ts
│ │ ├── engineering
│ │ │ └── index.md
│ │ └── index.md
│ └── vue
│ │ └── index.md
├── index.md
├── java-serve
│ ├── authentication
│ │ └── index.md
│ ├── database
│ │ ├── index.md
│ │ ├── jdbc
│ │ │ ├── index.md
│ │ │ └── jdbc-demo
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ └── JDBCHello.java
│ │ ├── mybatis
│ │ │ ├── index.md
│ │ │ ├── mybatis-demo
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ ├── dynamic_sql
│ │ │ │ │ │ ├── pojo
│ │ │ │ │ │ │ └── Employees.java
│ │ │ │ │ │ ├── sql_if
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ └── sql_where
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── get_param
│ │ │ │ │ │ ├── multiple_parameters
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── object_and_mapper
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── param_annotation
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── placeholder
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── pojo
│ │ │ │ │ │ │ └── Employees.java
│ │ │ │ │ │ ├── single_parameter
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ └── string_splicing
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── hello
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ ├── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ └── pojo
│ │ │ │ │ │ │ ├── Departments.java
│ │ │ │ │ │ │ └── Employees.java
│ │ │ │ │ │ ├── many_to_one
│ │ │ │ │ │ ├── association
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── pojo
│ │ │ │ │ │ │ ├── Departments.java
│ │ │ │ │ │ │ └── Employees.java
│ │ │ │ │ │ └── step_by_step
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ ├── DepartmentsMapper.java
│ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ ├── one_to_many
│ │ │ │ │ │ ├── collection
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── DepartmentsMapper.java
│ │ │ │ │ │ ├── pojo
│ │ │ │ │ │ │ ├── Departments.java
│ │ │ │ │ │ │ └── Employees.java
│ │ │ │ │ │ └── step_by_step
│ │ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ ├── DepartmentsMapper.java
│ │ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ │ └── pagination_plugin
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ └── mapper
│ │ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ └── resources
│ │ │ │ │ ├── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ │ ├── dynamic_sql
│ │ │ │ │ │ ├── sql_if
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ └── sql_where
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── get_param
│ │ │ │ │ │ ├── multiple_parameters
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── object_and_mapper
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── param_annotation
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── placeholder
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── single_parameter
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ └── string_splicing
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── hello
│ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── many_to_one
│ │ │ │ │ │ ├── association
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ └── step_by_step
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ ├── DepartmentsMapper.xml
│ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ ├── one_to_many
│ │ │ │ │ │ ├── collection
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ │ └── DepartmentsMapper.xml
│ │ │ │ │ │ └── step_by_step
│ │ │ │ │ │ │ └── mapper
│ │ │ │ │ │ │ ├── DepartmentsMapper.xml
│ │ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ │ └── pagination_plugin
│ │ │ │ │ │ └── mapper
│ │ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ ├── mybatis-config-hello.xml
│ │ │ │ │ └── mybatis-config-page.xml
│ │ │ └── mybatis-generator
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── Test.java
│ │ │ │ │ ├── mapper
│ │ │ │ │ ├── DepartmentsMapper.java
│ │ │ │ │ └── EmployeesMapper.java
│ │ │ │ │ └── pojo
│ │ │ │ │ ├── Departments.java
│ │ │ │ │ └── Employees.java
│ │ │ │ └── resources
│ │ │ │ ├── com
│ │ │ │ └── luguosong
│ │ │ │ │ └── mapper
│ │ │ │ │ ├── DepartmentsMapper.xml
│ │ │ │ │ └── EmployeesMapper.xml
│ │ │ │ ├── generatorConfig.xml
│ │ │ │ ├── log4j.properties
│ │ │ │ └── mybatis-config.xml
│ │ └── mybatis_plus
│ │ │ ├── index.md
│ │ │ └── mybatis-plus-hello
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── mybatisplushello
│ │ │ │ │ ├── MybatisPlusHelloApplication.java
│ │ │ │ │ ├── entity
│ │ │ │ │ └── User.java
│ │ │ │ │ └── mapper
│ │ │ │ │ └── UserMapper.java
│ │ │ └── resources
│ │ │ │ ├── application.yml
│ │ │ │ └── db
│ │ │ │ ├── data.sql
│ │ │ │ └── schema.sql
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── luguosong
│ │ │ └── mybatisplushello
│ │ │ ├── MybatisPlusHelloApplicationTests.java
│ │ │ └── WrapperTest.java
│ ├── distributed
│ │ ├── configuration
│ │ │ ├── index.md
│ │ │ └── nacos
│ │ │ │ └── nacos.md
│ │ ├── gateway
│ │ │ ├── index.md
│ │ │ └── spring_cloud_gateway
│ │ │ │ ├── gateway-custom-gateway-filter
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── upda
│ │ │ │ │ │ │ └── gatewaycustomgatewayfilter
│ │ │ │ │ │ │ ├── GatewayCustomGatewayFilterApplication.java
│ │ │ │ │ │ │ └── filter
│ │ │ │ │ │ │ └── PrintAnyGatewayFilterFactory.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── upda
│ │ │ │ │ └── gatewaycustomgatewayfilter
│ │ │ │ │ └── GatewayCustomGatewayFilterApplicationTests.java
│ │ │ │ ├── gateway-custom-global-filter
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── upda
│ │ │ │ │ │ │ └── gatewaycustomglobalfilter
│ │ │ │ │ │ │ ├── GatewayCustomGlobalFilterApplication.java
│ │ │ │ │ │ │ └── filter
│ │ │ │ │ │ │ └── MyGlobalFilter.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── upda
│ │ │ │ │ └── gatewaycustomglobalfilter
│ │ │ │ │ └── GatewayCustomGlobalFilterApplicationTests.java
│ │ │ │ ├── gateway-hello
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── gatewayhello
│ │ │ │ │ │ │ └── GatewayHelloApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── gatewayhello
│ │ │ │ │ └── GatewayHelloApplicationTests.java
│ │ │ │ ├── gateway-server1
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── gatewayserver1
│ │ │ │ │ │ │ ├── GatewayServer1Application.java
│ │ │ │ │ │ │ └── controller
│ │ │ │ │ │ │ └── Server1Controller.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── gatewayserver1
│ │ │ │ │ └── GatewayServer1ApplicationTests.java
│ │ │ │ ├── gateway-server2
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── gatewayserver2
│ │ │ │ │ │ │ ├── GatewayServer2Application.java
│ │ │ │ │ │ │ └── controller
│ │ │ │ │ │ │ └── Server2Controller.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── gatewayserver2
│ │ │ │ │ └── GatewayServer2ApplicationTests.java
│ │ │ │ └── index.md
│ │ ├── index.md
│ │ ├── invocation
│ │ │ ├── index.md
│ │ │ ├── open-feign
│ │ │ │ ├── index.md
│ │ │ │ ├── open-feign-consumer
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ │ └── openfeignconsumer
│ │ │ │ │ │ │ │ ├── OpenFeignConsumerApplication.java
│ │ │ │ │ │ │ │ ├── client
│ │ │ │ │ │ │ │ └── ProducerClient.java
│ │ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ │ └── DefaultFeignConfig.java
│ │ │ │ │ │ │ │ └── controller
│ │ │ │ │ │ │ │ └── TestController.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ └── application.yml
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── openfeignconsumer
│ │ │ │ │ │ └── OpenFeignConsumerApplicationTests.java
│ │ │ │ └── open-feign-producer
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── openfeignproducer
│ │ │ │ │ │ │ ├── OpenFeignProducerApplication.java
│ │ │ │ │ │ │ └── controller
│ │ │ │ │ │ │ └── DemoController.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.yml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── openfeignproducer
│ │ │ │ │ └── OpenFeignProducerApplicationTests.java
│ │ │ └── rest-template
│ │ │ │ ├── index.md
│ │ │ │ ├── rest-template-hello
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ │ └── resttemplatehello
│ │ │ │ │ │ │ ├── RestTemplateHelloApplication.java
│ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ └── RestTemplateConfig.java
│ │ │ │ │ │ │ └── controller
│ │ │ │ │ │ │ └── TestController.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── resttemplatehello
│ │ │ │ │ └── RestTemplateHelloApplicationTests.java
│ │ │ │ └── rest-template-service
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── resttemplateservice
│ │ │ │ │ │ ├── RestTemplateServiceApplication.java
│ │ │ │ │ │ └── controller
│ │ │ │ │ │ └── DemoController.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ └── resttemplateservice
│ │ │ │ └── RestTemplateServiceApplicationTests.java
│ │ └── service-discovery
│ │ │ ├── index.md
│ │ │ └── nacos
│ │ │ ├── index.md
│ │ │ ├── nacos-consumer
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ └── nacosconsumer
│ │ │ │ │ │ ├── NacosConsumerApplication.java
│ │ │ │ │ │ └── controller
│ │ │ │ │ │ └── TestController.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.yml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ └── nacosconsumer
│ │ │ │ └── NacosConsumerApplicationTests.java
│ │ │ └── nacos-producer
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── nacosproducer
│ │ │ │ │ ├── NacosProducerApplication.java
│ │ │ │ │ └── controller
│ │ │ │ │ └── DemoController.java
│ │ │ └── resources
│ │ │ │ └── application.yml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── luguosong
│ │ │ └── nacosproducer
│ │ │ └── NacosProducerApplicationTests.java
│ ├── index.md
│ ├── spring
│ │ ├── aop
│ │ │ ├── aop-aspect
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── luguosong
│ │ │ │ │ │ ├── anno
│ │ │ │ │ │ ├── SpringConfig.java
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ ├── UserAspect.java
│ │ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ │ │ └── xml
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ ├── UserAspect.java
│ │ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── aspect.xml
│ │ │ └── index.md
│ │ ├── basic
│ │ │ ├── index.md
│ │ │ └── spring-hello
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── ioc
│ │ │ │ │ ├── User.java
│ │ │ │ │ ├── UserService.java
│ │ │ │ │ ├── annotation
│ │ │ │ │ ├── config
│ │ │ │ │ │ ├── SpringConfig.java
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ ├── dependency_injection
│ │ │ │ │ │ ├── Basketball.java
│ │ │ │ │ │ ├── Bike.java
│ │ │ │ │ │ ├── Car.java
│ │ │ │ │ │ ├── Hobby.java
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ ├── User.java
│ │ │ │ │ │ └── Vehicle.java
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── Test.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ ├── create_bean
│ │ │ │ │ ├── FactoryMethod1.java
│ │ │ │ │ ├── FactoryMethod1Test.java
│ │ │ │ │ ├── FactoryMethod2.java
│ │ │ │ │ ├── FactoryMethod2Test.java
│ │ │ │ │ ├── SimpleFactory.java
│ │ │ │ │ └── SimpleFactoryTest.java
│ │ │ │ │ ├── dependency_injection
│ │ │ │ │ ├── IocAutoTest.java
│ │ │ │ │ ├── IocConstructorTest.java
│ │ │ │ │ ├── IocSetterTest.java
│ │ │ │ │ ├── IocUtilTest.java
│ │ │ │ │ ├── Jdbc.java
│ │ │ │ │ └── JdbcTest.java
│ │ │ │ │ ├── hello
│ │ │ │ │ └── SpringHello.java
│ │ │ │ │ ├── life_cycle
│ │ │ │ │ ├── Dog.java
│ │ │ │ │ ├── LifeCycleTest.java
│ │ │ │ │ └── MyBeanPostProcessor.java
│ │ │ │ │ └── other
│ │ │ │ │ └── MyObjectToApplication.java
│ │ │ │ └── resources
│ │ │ │ ├── ioc_annotation_dependency_injection .xml
│ │ │ │ ├── ioc_annotation_hello.xml
│ │ │ │ ├── ioc_auto.xml
│ │ │ │ ├── ioc_constructor.xml
│ │ │ │ ├── ioc_create_factory_method1.xml
│ │ │ │ ├── ioc_create_factory_method2.xml
│ │ │ │ ├── ioc_create_simple_factory.xml
│ │ │ │ ├── ioc_jdbc.xml
│ │ │ │ ├── ioc_life_cycle.xml
│ │ │ │ ├── ioc_scope.xml
│ │ │ │ ├── ioc_set.xml
│ │ │ │ ├── ioc_util.xml
│ │ │ │ ├── jdbc.properties
│ │ │ │ ├── log4j2.xml
│ │ │ │ └── spring_config_hello.xml
│ │ ├── beans
│ │ │ └── index.md
│ │ ├── index.md
│ │ ├── spring-framework-versions
│ │ │ └── index.md
│ │ └── ssm
│ │ │ ├── index.md
│ │ │ └── ssm-annotation
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ ├── bean
│ │ │ │ └── User.java
│ │ │ │ ├── config
│ │ │ │ ├── DataSourceConfig.java
│ │ │ │ ├── MyBatisConfig.java
│ │ │ │ ├── SpringConfig.java
│ │ │ │ ├── SpringMvcConfig.java
│ │ │ │ └── WebAppInitialize.java
│ │ │ │ ├── controller
│ │ │ │ └── UserController.java
│ │ │ │ ├── dao
│ │ │ │ └── UserDao.java
│ │ │ │ ├── interceptor
│ │ │ │ └── MyInterceptor.java
│ │ │ │ └── service
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── resources
│ │ │ └── jdbc.properties
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── thymeleaf
│ │ │ ├── error.html
│ │ │ └── index.html
│ ├── springboot
│ │ ├── basic
│ │ │ ├── index.md
│ │ │ └── springboot-hello
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── SpringBootHelloApplication.java
│ │ │ │ │ └── controller
│ │ │ │ │ └── HelloController.java
│ │ │ │ └── resources
│ │ │ │ └── application.yml
│ │ └── index.md
│ └── web_application
│ │ ├── filter_listener
│ │ ├── filter-hello
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── Filter1.java
│ │ │ │ │ ├── Filter2.java
│ │ │ │ │ └── Servlet1.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── index.md
│ │ └── listener-hello
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ ├── MyHttpSessionAttributeListener.java
│ │ │ │ ├── MyHttpSessionListener.java
│ │ │ │ ├── MyServletContextAttributeListener.java
│ │ │ │ ├── MyServletContextListener.java
│ │ │ │ ├── MyServletRequestAttributeListener.java
│ │ │ │ ├── MyServletRequestListener.java
│ │ │ │ ├── ServletDemo.java
│ │ │ │ └── User.java
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ │ └── index.jsp
│ │ ├── index.md
│ │ ├── jsp
│ │ ├── hello_jsp
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ └── web.xml
│ │ │ │ ├── index.jsp
│ │ │ │ ├── java_in_jsp1.jsp
│ │ │ │ ├── java_in_jsp2.jsp
│ │ │ │ ├── java_in_jsp3.jsp
│ │ │ │ └── request_object.jsp
│ │ ├── index.md
│ │ ├── jsp_el
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ └── web.xml
│ │ │ │ ├── index.jsp
│ │ │ │ ├── initParam.jsp
│ │ │ │ ├── pageContext.jsp
│ │ │ │ ├── param.jsp
│ │ │ │ └── priority.jsp
│ │ └── jsp_jstl
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ │ ├── index.jsp
│ │ │ └── jstlHello.jsp
│ │ ├── mvc
│ │ ├── index.md
│ │ ├── springmvc-exception-annotation
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ ├── ExceptionController.java
│ │ │ │ │ └── TestController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── error.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-exception-xml
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ └── TestController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── error.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-forward-redirect
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ └── TestController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── test.jsp
│ │ │ │ └── web.xml
│ │ ├── springmvc-header-info
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ └── header_info
│ │ │ │ │ ├── CookieController.java
│ │ │ │ │ └── HeaderInfoController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── header-info
│ │ │ │ │ └── form.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-hello-annotation
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── config
│ │ │ │ │ ├── SpringMvcConfig.java
│ │ │ │ │ └── WebAppInitialize.java
│ │ │ │ │ ├── controller
│ │ │ │ │ └── HelloController.java
│ │ │ │ │ └── interceptors
│ │ │ │ │ └── MyInterceptor.java
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ └── templates
│ │ │ │ │ ├── error.html
│ │ │ │ │ ├── hello.html
│ │ │ │ │ └── view-controller.html
│ │ │ │ └── static
│ │ │ │ └── earth.png
│ │ ├── springmvc-hello
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ └── HelloController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── hello.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-interceptor-hello
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── controller
│ │ │ │ │ └── HelloController.java
│ │ │ │ │ └── interceptors
│ │ │ │ │ ├── Interceptor1.java
│ │ │ │ │ └── Interceptor2.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── hello.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-parameters
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── controller
│ │ │ │ │ ├── FileDownloadController.java
│ │ │ │ │ ├── FileUploadController.java
│ │ │ │ │ ├── FormController.java
│ │ │ │ │ ├── FormPojoController.java
│ │ │ │ │ ├── FormStringController.java
│ │ │ │ │ ├── JsonPojoController.java
│ │ │ │ │ ├── RequestEntityController.java
│ │ │ │ │ ├── ResponseEntityController.java
│ │ │ │ │ ├── ResponseJSONStringController.java
│ │ │ │ │ └── ResponseStringController.java
│ │ │ │ │ └── pojo
│ │ │ │ │ └── User.java
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ │ └── get-parameters
│ │ │ │ │ │ └── form.html
│ │ │ │ └── web.xml
│ │ │ │ └── upload
│ │ │ │ └── demo.jpg
│ │ ├── springmvc-restful
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ └── TestController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── test.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-scope
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── controller
│ │ │ │ │ ├── ApplicationScopeController.java
│ │ │ │ │ ├── RequestScopeController.java
│ │ │ │ │ └── SessionScopeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ ├── application-scope.html
│ │ │ │ ├── request-scope.html
│ │ │ │ └── session-scope.html
│ │ │ │ └── web.xml
│ │ ├── springmvc-view-controller
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── springmvc-servlet.xml
│ │ │ │ ├── templates
│ │ │ │ └── test.jsp
│ │ │ │ └── web.xml
│ │ └── springmvc-view-jsp
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ └── controller
│ │ │ │ └── TestController.java
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── springmvc-servlet.xml
│ │ │ ├── templates
│ │ │ └── test.jsp
│ │ │ └── web.xml
│ │ ├── reactive
│ │ └── index.md
│ │ ├── servlet
│ │ ├── annotation_servlet
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── HelloServlet.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── generic-servlet
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ │ └── example
│ │ │ │ │ └── genericservlet
│ │ │ │ │ └── HelloServlet.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── hello-servlet
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── HelloServlet.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── http-servlet-request-demo
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── DispatcherServletA.java
│ │ │ │ │ ├── DispatcherServletB.java
│ │ │ │ │ ├── GetRequestInfo.java
│ │ │ │ │ └── HelloHttpServletRequest.java
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ └── web.xml
│ │ │ │ └── index.html
│ │ ├── http-servlet-response-demo
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── OutputStreamDemo.java
│ │ │ │ │ ├── RedirectA.java
│ │ │ │ │ ├── RedirectB.java
│ │ │ │ │ └── WriteDemo.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── http-servlet
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── GetServletDemo.java
│ │ │ │ │ └── PostServletDemo.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ ├── index.md
│ │ ├── servlet-config
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ ├── ServletConfigDemo.java
│ │ │ │ │ └── ServletConfigDemo2.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ └── servlet-context
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ └── ServletContextDemo.java
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ │ └── test.html
│ │ ├── session_cookie
│ │ ├── index.md
│ │ └── session_and_cookie
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── luguosong
│ │ │ │ ├── AddCookie.java
│ │ │ │ ├── AddSession.java
│ │ │ │ ├── DeleteCookie.java
│ │ │ │ └── DeleteSession.java
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ │ ├── hello_cookie.jsp
│ │ │ ├── hello_session.jsp
│ │ │ └── index.jsp
│ │ └── tomcat
│ │ └── index.md
├── java
│ ├── index.md
│ ├── javase
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── luguosong
│ │ │ ├── basic
│ │ │ ├── ArithmeticDemo.java
│ │ │ ├── ArrayCopyDemo.java
│ │ │ ├── ArrayCopyOfDemo2.java
│ │ │ ├── ArrayDemo.java
│ │ │ ├── BitDemo.java
│ │ │ ├── BlockDemo.java
│ │ │ ├── BreakDemo.java
│ │ │ ├── BreakWithLabelDemo.java
│ │ │ ├── ComparisonDemo.java
│ │ │ ├── ConcatDemo.java
│ │ │ ├── ConditionalDemo1.java
│ │ │ ├── ConditionalDemo2.java
│ │ │ ├── ContinueDemo.java
│ │ │ ├── ContinueWithLabelDemo.java
│ │ │ ├── DoWhileDemo.java
│ │ │ ├── EnhancedForDemo.java
│ │ │ ├── ForDemo.java
│ │ │ ├── IfElseDemo.java
│ │ │ ├── InstanceofDemo.java
│ │ │ ├── MultiDimArrayDemo.java
│ │ │ ├── PrePostDemo.java
│ │ │ ├── StringSwitchDemo.java
│ │ │ ├── SwitchDemo.java
│ │ │ ├── SwitchDemo2.java
│ │ │ ├── SwitchDemoFallThrough.java
│ │ │ ├── UnaryDemo.java
│ │ │ ├── WhileDemo.java
│ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── object_oriented
│ │ │ └── index.md
│ │ │ ├── overview
│ │ │ └── index.md
│ │ │ └── reflection
│ │ │ └── index.md
│ ├── log
│ │ ├── basic
│ │ │ └── index.md
│ │ └── index.md
│ └── test
│ │ ├── index.md
│ │ └── junit
│ │ ├── index.md
│ │ └── junit5-demo
│ │ ├── pom.xml
│ │ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── luguosong
│ │ │ │ │ └── junit5demo
│ │ │ │ │ └── util
│ │ │ │ │ └── Calculator.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── luguosong
│ │ │ └── junit5demo
│ │ │ ├── DisplayNameTest.java
│ │ │ ├── HelloTest.java
│ │ │ ├── LifecycleTest.java
│ │ │ ├── assertions
│ │ │ ├── AssertEqualsTest.java
│ │ │ ├── AssertThrowsTest.java
│ │ │ ├── AssertTimeoutPreemptivelyTest.java
│ │ │ ├── AssertTimeoutTest.java
│ │ │ └── AssertTrueTest.java
│ │ │ └── assume
│ │ │ ├── AssumeTrueTest.java
│ │ │ └── AssumingThatTest.java
│ │ └── target
│ │ └── classes
│ │ └── application.properties
├── math
│ ├── basic
│ │ └── index.md
│ ├── index.md
│ └── latex
│ │ └── index.md
├── other
│ ├── history
│ │ ├── chinese_history
│ │ │ └── index.md
│ │ └── index.md
│ ├── idea
│ │ └── index.md
│ ├── index.md
│ ├── mathjax
│ │ ├── formulas
│ │ │ └── index.md
│ │ └── index.md
│ ├── potplayer
│ │ └── index.md
│ ├── website_building
│ │ ├── code
│ │ │ └── demo.json
│ │ ├── demo.md
│ │ ├── img
│ │ │ └── demo.jpg
│ │ ├── index.md
│ │ └── website_building.md
│ └── windows_cmd
│ │ └── index.md
├── resources.md
└── topics
│ ├── cryptography
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── luguosong
│ │ └── index.md
│ ├── design_pattern
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── luguosong
│ │ ├── behavioral
│ │ ├── chain_of_responsibility
│ │ │ ├── Demo.java
│ │ │ ├── index.md
│ │ │ ├── middleware
│ │ │ │ ├── Middleware.java
│ │ │ │ └── impl
│ │ │ │ │ ├── RoleCheckMiddleware.java
│ │ │ │ │ ├── ThrottlingMiddleware.java
│ │ │ │ │ └── UserExistsMiddleware.java
│ │ │ └── server
│ │ │ │ └── Server.java
│ │ └── index.md
│ │ ├── creational
│ │ └── index.md
│ │ ├── index.md
│ │ ├── overview
│ │ ├── index.md
│ │ └── simuduck
│ │ │ ├── edition1
│ │ │ ├── Duck.java
│ │ │ ├── MallardDuck.java
│ │ │ └── RedheadDuck.java
│ │ │ └── edition2
│ │ │ ├── DecoyDuck.java
│ │ │ ├── Duck.java
│ │ │ ├── Flyable.java
│ │ │ ├── MallardDuck.java
│ │ │ ├── Quackable.java
│ │ │ ├── RedheadDuck.java
│ │ │ └── RubberDuck.java
│ │ └── structural
│ │ ├── index.md
│ │ └── proxy
│ │ ├── dynamic_proxy_cglib
│ │ ├── Test.java
│ │ └── UserServiceImpl.java
│ │ ├── dynamic_proxy_jdk
│ │ ├── Test.java
│ │ ├── UserService.java
│ │ └── UserServiceImpl.java
│ │ ├── index.md
│ │ └── static_proxy
│ │ ├── Test.java
│ │ ├── UserService.java
│ │ ├── UserServiceImpl.java
│ │ └── UserServiceProxy.java
│ ├── docker
│ ├── build
│ │ └── index.md
│ ├── compose
│ │ ├── compose-file-reference
│ │ │ ├── index.md
│ │ │ ├── services-top-level-elements
│ │ │ │ └── index.md
│ │ │ └── volumes-top-level-element
│ │ │ │ └── index.md
│ │ └── index.md
│ ├── engine
│ │ ├── index.md
│ │ └── storage
│ │ │ ├── index.md
│ │ │ └── volumes
│ │ │ └── index.md
│ └── index.md
│ ├── git
│ ├── basic
│ │ └── index.md
│ └── index.md
│ ├── index.md
│ ├── itext-signatures
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── luguosong
│ │ │ ├── chapter01_understanding_the_concept_of_digital_signatures
│ │ │ ├── DigestBC.java
│ │ │ ├── DigestDefault.java
│ │ │ ├── EncryptDecrypt.java
│ │ │ └── index.md
│ │ │ ├── chapter02_pdf_and_digital_signatures
│ │ │ ├── CreateEmptyField.java
│ │ │ ├── SignEmptyField.java
│ │ │ ├── SignHelloWorld.java
│ │ │ ├── SignHelloWorldWithTempFile.java
│ │ │ └── index.md
│ │ │ ├── chapter03_certificate_authorities_certificate_revocation_and_time_stamping
│ │ │ └── index.md
│ │ │ ├── chapter04_creating_signatures_externally
│ │ │ └── index.md
│ │ │ ├── chapter05_validation_of_signed_documents
│ │ │ └── index.md
│ │ │ └── index.md
│ │ └── resources
│ │ ├── C2_01_SignHelloWorld
│ │ └── hello_signed.pdf
│ │ ├── C2_02_SignHelloWorldWithTempFile
│ │ └── hello_signed.pdf
│ │ ├── C2_03_SignEmptyField
│ │ └── hello_signed.pdf
│ │ ├── C2_04_CreateEmptyField
│ │ └── hello_empty.pdf
│ │ ├── hello.pdf
│ │ ├── hello_to_sign.pdf
│ │ └── ks
│ ├── linux
│ ├── basic
│ │ ├── 01-overview
│ │ │ └── index.md
│ │ └── index.md
│ ├── file_directory
│ │ └── index.md
│ ├── index.md
│ ├── shell
│ │ └── index.md
│ ├── system_administrator
│ │ └── index.md
│ └── user_management
│ │ └── index.md
│ ├── maven
│ ├── base
│ │ ├── index.md
│ │ └── maven-hello
│ │ │ └── pom.xml
│ └── index.md
│ ├── object-store
│ ├── index.md
│ └── minio
│ │ ├── index.md
│ │ └── minio-demo
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── upda
│ │ │ │ └── miniodemo
│ │ │ │ ├── MinioDemoApplication.java
│ │ │ │ └── config
│ │ │ │ └── Config.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── sample.txt
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── upda
│ │ └── miniodemo
│ │ ├── BucketTest.java
│ │ ├── MinioDemoApplicationTests.java
│ │ └── ObjectTest.java
│ ├── sql
│ ├── dcl.md
│ ├── ddl.md
│ ├── dml.md
│ ├── environment_building.md
│ └── index.md
│ └── tools
│ ├── frp
│ └── index.md
│ └── index.md
├── mkdocs.yml
├── overrides
├── main.html
└── partials
│ └── comments.html
├── pom.xml
└── qodana.yaml
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: 创建报告以帮助我们改进
4 | title: ''
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **描述此错误**
11 | 对这个错误的清晰简明描述。
12 |
13 | **重现**
14 | 重现该行为的步骤:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **预期行为**
21 | 对您期望发生的事情进行清晰简明的描述。
22 |
23 | **截图**
24 | 如果适用,请添加截图以帮助说明您的问题。
25 |
26 | **Desktop (请填写以下信息):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (请填写以下信息):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **附加背景信息**
38 | 请在此添加有关问题的其他背景信息
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Ask a question
4 | url: https://github.com/just-the-docs/just-the-docs/discussions
5 | about: Ask questions and discuss with other community members
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: 为这个项目提出一个想法
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **您的功能请求是否与某个问题相关?请描述。**
11 | 清晰简明地描述问题是什么。例如,我总是感到沮丧,当[…]
12 |
13 | **请描述您希望的解决方案**
14 | 你希望发生的事情的清晰简明描述。
15 |
16 | **描述你已经考虑过的替代方案**
17 | 对您所考虑的任何替代解决方案或功能进行清晰简明的描述。
18 |
19 | **额外的上下文**
20 | 在此添加有关功能请求的任何其他上下文或截图。
21 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: npm
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 | time: "10:00"
8 | open-pull-requests-limit: 10
9 | - package-ecosystem: bundler
10 | directory: "/"
11 | schedule:
12 | interval: daily
13 | time: "10:00"
14 | open-pull-requests-limit: 10
15 |
--------------------------------------------------------------------------------
/code/CNAME:
--------------------------------------------------------------------------------
1 | www.luguosong.com
2 |
--------------------------------------------------------------------------------
/code/assert/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/assert/logo.gif
--------------------------------------------------------------------------------
/code/basic/computer_architecture_principles/02-data-representation-and-operations/index.md:
--------------------------------------------------------------------------------
1 | # 数据的表示和运算
2 |
--------------------------------------------------------------------------------
/code/basic/computer_architecture_principles/03-memory/index.md:
--------------------------------------------------------------------------------
1 | # 存储器
2 |
--------------------------------------------------------------------------------
/code/basic/computer_architecture_principles/04-instruction-set/index.md:
--------------------------------------------------------------------------------
1 | # 指令系统
2 |
--------------------------------------------------------------------------------
/code/basic/computer_architecture_principles/05-cpu/index.md:
--------------------------------------------------------------------------------
1 | # 中央处理器
2 |
--------------------------------------------------------------------------------
/code/basic/computer_architecture_principles/06-bus-and-io-system/index.md:
--------------------------------------------------------------------------------
1 | # 总线和I/O系统
2 |
--------------------------------------------------------------------------------
/code/basic/computer_network/application_http/index.md:
--------------------------------------------------------------------------------
1 | # 应用层-HTTP协议
2 |
3 | ## 请求概述
4 |
5 | ## 请求行
6 |
7 | ### 示例
8 |
9 | ```text
10 | POST /aaa/bbb HTTP/1.1
11 | ```
12 |
13 | ### 请求类型
14 |
15 | ### URI
16 |
17 | URI表示统一资源标识符,表示请求的资源路径
18 |
19 | ## 请求头
20 |
21 | ## 请求体
22 |
--------------------------------------------------------------------------------
/code/basic/computer_network/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/network
3 | ---
4 |
5 | # 计算机网络
6 |
--------------------------------------------------------------------------------
/code/basic/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/apps
3 | ---
4 |
5 | # 基础知识
6 |
--------------------------------------------------------------------------------
/code/basic/operating_system/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/linux
3 | ---
4 |
5 | # 操作系统
6 |
--------------------------------------------------------------------------------
/code/custom/css/font.css:
--------------------------------------------------------------------------------
1 | @import "https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1.1.0/style.css";
2 |
3 | :root {
4 | --md-text-font: "LXGW WenKai Mono";
5 | }
6 |
--------------------------------------------------------------------------------
/code/custom/js/katex.js:
--------------------------------------------------------------------------------
1 | document$.subscribe(({ body }) => {
2 | renderMathInElement(body, {
3 | delimiters: [
4 | { left: "$$", right: "$$", display: true },
5 | { left: "$", right: "$", display: false },
6 | { left: "\\(", right: "\\)", display: false },
7 | { left: "\\[", right: "\\]", display: true }
8 | ],
9 | })
10 | })
11 |
--------------------------------------------------------------------------------
/code/custom/js/viewer-js-init.js:
--------------------------------------------------------------------------------
1 | document$.subscribe(async function () {
2 | // 遍历所有figure标签
3 | const figures = document.querySelectorAll('figure');
4 | figures.forEach((figure, index) => {
5 | new Viewer(figure);
6 | });
7 | })
8 |
9 |
10 |
--------------------------------------------------------------------------------
/code/document-translation/css-the-definitive-guide/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/book
3 | ---
4 |
5 | # CSS权威指南
6 |
7 |
8 |
--------------------------------------------------------------------------------
/code/document-translation/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/translate
3 | ---
4 |
5 | # 文档翻译
6 |
--------------------------------------------------------------------------------
/code/document-translation/junit5-user-guide/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/book
3 | ---
4 |
5 | # JUnit 5 用户指南
6 |
7 | 版本 5.12.1
8 |
9 | ---
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/code/document-translation/spring-framework/02-core-technologies/01-the-ioc-container/01-introduction/index.md:
--------------------------------------------------------------------------------
1 | # Spring IoC 容器与 Bean 简介
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-framework/02-core-technologies/01-the-ioc-container/02-basics/index.md:
--------------------------------------------------------------------------------
1 | # 容器概述
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-framework/02-core-technologies/01-the-ioc-container/index.md:
--------------------------------------------------------------------------------
1 | # IOC容器
2 |
3 | 本章介绍了 Spring 的控制反转(IoC)容器。
4 |
--------------------------------------------------------------------------------
/code/document-translation/spring-framework/02-core-technologies/index.md:
--------------------------------------------------------------------------------
1 | # 核心技术
2 |
3 | 这部分参考文档涵盖了所有对 Spring 框架至关重要的技术。
4 |
5 | 其中最重要的是 Spring 框架的`控制反转(IoC)`容器。文档首先对 Spring 框架的 IoC 容器进行了详细讲解,随后深入介绍了 Spring 的`面向切面编程(AOP)`技术。Spring 框架拥有自己的 AOP 框架,该框架在概念上易于理解,并成功满足了 Java 企业编程中 80% 的 AOP 需求。
6 |
7 | 此外,文档还介绍了 Spring 与 `AspectJ` 的集成(目前在功能丰富性和成熟度方面是 Java 企业领域最强大的 AOP 实现)。
8 |
9 | 同时,`AOT`(提前编译)处理也可以用于优化应用程序,通常用于通过 GraalVM 部署原生镜像。
10 |
--------------------------------------------------------------------------------
/code/document-translation/spring-framework/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/book
3 | ---
4 |
5 | Spring Framework 6.2.5官方文档
6 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part1_say_hello_to_spring_security/index.md:
--------------------------------------------------------------------------------
1 | # 第一部分:Spring Security入门
2 |
3 | 准备好深入探索 Spring Security 的世界了吗?让我们一起踏上这段旅程吧!在本书的开篇部分,我们将为后续内容打下坚实的基础。
4 |
5 | 第一章将带你初识Spring Security的世界。随着章节的深入,我们会进一步探讨软件安全的本质,尝试解答诸如`什么是软件安全?`以及`为什么软件安全至关重要?`等关键问题。此外,我们还会梳理本书的学习路线,帮助你明确在接下来的学习中可以期待哪些内容。
6 |
7 | 第二章将是一场实战体验。我们会从创建你的第一个 Spring 项目开始。如果你曾经好奇 Spring Security 的架构和类设计,本章将为你提供一个全局视角。但内容远不止于此。本书还将带你深入了解如何重写默认配置,包括自定义用户信息、在不同端点增强授权、探索多种配置方式、定义专属的认证逻辑,以及高效利用多个配置类。
8 |
9 | 在完成本部分内容后,你不仅能够扎实掌握 Spring Security 的理论基础,还能实际开发出一个经过安全防护的应用。这将帮助你在短时间内既理解`为什么`,又精通`怎么做`。
10 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex1/src/main/java/com/luguosong/ssiach3ex1/SsiaCh3Ex1Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex1;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh3Ex1Application {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(SsiaCh3Ex1Application.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex1/src/main/java/com/luguosong/ssiach3ex1/controller/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex1.controller;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | /**
7 | * @author luguosong
8 | */
9 | @RestController
10 | public class HelloController {
11 | @GetMapping("/hello")
12 | public String hello() {
13 | return "Hello!";
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex1/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=ssia-ch3-ex1
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex1/src/test/java/com/luguosong/ssiach3ex1/SsiaCh3Ex1ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex1;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh3Ex1ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/main/java/com/luguosong/ssiach3ex2/SsiaCh3Ex2Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex2;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh3Ex2Application {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(SsiaCh3Ex2Application.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/main/java/com/luguosong/ssiach3ex2/controllers/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex2.controllers;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @RestController
7 | public class HelloController {
8 |
9 | @GetMapping("/hello")
10 | public String hello() {
11 | return "Hello!";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.datasource.url=jdbc:h2:mem:ssia
2 | spring.datasource.username=sa
3 | spring.datasource.password=
4 | spring.sql.init.mode=always
5 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/main/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO `spring`.`authorities` (username, authority) VALUES ('john', 'write');
2 | INSERT INTO `spring`.`users` (username, password, enabled) VALUES ('john', '12345', '1');
3 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | create schema spring;
2 |
3 | CREATE TABLE IF NOT EXISTS `spring`.`users` (
4 | `id` INT NOT NULL AUTO_INCREMENT,
5 | `username` VARCHAR(45) NULL,
6 | `password` VARCHAR(45) NULL,
7 | `enabled` INT NOT NULL,
8 | PRIMARY KEY (`id`));
9 |
10 | CREATE TABLE IF NOT EXISTS `spring`.`authorities` (
11 | `id` INT NOT NULL AUTO_INCREMENT,
12 | `username` VARCHAR(45) NULL,
13 | `authority` VARCHAR(45) NULL,
14 | PRIMARY KEY (`id`));
15 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex2/src/test/java/com/luguosong/ssiach3ex2/SsiaCh3Ex2ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex2;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh3Ex2ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex3/src/main/java/com/luguosong/ssiach3ex3/SsiaCh3Ex3Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex3;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh3Ex3Application {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(SsiaCh3Ex3Application.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex3/src/main/java/com/luguosong/ssiach3ex3/controllers/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex3.controllers;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @RestController
7 | public class HelloController {
8 |
9 | @GetMapping("/hello")
10 | public String hello() {
11 | return "Hello!";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex3/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.ldap.embedded.ldif=classpath:server.ldif
2 | spring.ldap.embedded.base-dn=dc=springframework,dc=org
3 | spring.ldap.embedded.port=33389
4 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex3/src/main/resources/server.ldif:
--------------------------------------------------------------------------------
1 | dn: dc=springframework,dc=org
2 | objectclass: top
3 | objectclass: domain
4 | objectclass: extensibleObject
5 | dc: springframework
6 |
7 | dn: ou=groups,dc=springframework,dc=org
8 | objectclass: top
9 | objectclass: organizationalUnit
10 | ou: groups
11 |
12 | dn: uid=john,ou=groups,dc=springframework,dc=org
13 | objectclass: top
14 | objectclass: person
15 | objectclass: organizationalPerson
16 | objectclass: inetOrgPerson
17 | cn: John
18 | sn: John
19 | uid: john
20 | userPassword: 12345
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/03_managing_users/ssia-ch3-ex3/src/test/java/com/luguosong/ssiach3ex3/SsiaCh3Ex3ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach3ex3;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh3Ex3ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex1/src/main/java/com/luguosong/ssiach5ex1/SsiaCh5Ex1Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex1;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh5Ex1Application {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(SsiaCh5Ex1Application.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex1/src/main/java/com/luguosong/ssiach5ex1/controllers/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex1.controllers;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @RestController
7 | public class HelloController {
8 |
9 | @GetMapping("/hello")
10 | public String hello() {
11 | return "Hello!";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex1/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=ssia-ch5-ex1
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex1/src/test/java/com/luguosong/ssiach5ex1/SsiaCh5Ex1ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex1;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh5Ex1ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex2/src/main/java/com/luguosong/ssiach5ex2/SsiaCh5Ex2Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex2;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh5Ex2Application {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(SsiaCh5Ex2Application.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex2/src/main/java/com/luguosong/ssiach5ex2/controllers/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex2.controllers;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @RestController
7 | public class HelloController {
8 |
9 | @GetMapping("/hello")
10 | public String hello() {
11 | return "Hello!";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex2/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=ssia-ch5-ex2
2 | authorization.key=SD9cICjl1e
3 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex2/src/test/java/com/luguosong/ssiach5ex2/SsiaCh5Ex2ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex2;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh5Ex2ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex3/src/main/java/com/luguosong/ssiach5ex3/SsiaCh5Ex3Application.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex3;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class SsiaCh5Ex3Application {
8 | public static void main(String[] args) {
9 | SpringApplication.run(SsiaCh5Ex3Application.class, args);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex3/src/main/java/com/luguosong/ssiach5ex3/controllers/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex3.controllers;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @RestController
7 | public class HelloController {
8 |
9 | @GetMapping("/hello")
10 | public String hello() {
11 | return "Hello!";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex3/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=ssia-ch5-ex3
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/05_begins_with_filters/ssia-ch5-ex3/src/test/java/com/luguosong/ssiach5ex3/SsiaCh5Ex3ApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.luguosong.ssiach5ex3;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SsiaCh5Ex3ApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part2_configuring_authentication/index.md:
--------------------------------------------------------------------------------
1 | # 第二部分:配置身份认证
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part3_configuring_authorization/07_configuring_endpoint_level_authorization_restricting_access/index.md:
--------------------------------------------------------------------------------
1 | # 配置端点级授权:限制访问
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part3_configuring_authorization/index.md:
--------------------------------------------------------------------------------
1 | # 第三部分:配置授权
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part4_implementing_oAuth2_and_openid_connect/index.md:
--------------------------------------------------------------------------------
1 | # 第四部分:实施OAuth 2和OpenID Connect
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part5_going_reactive/index.md:
--------------------------------------------------------------------------------
1 | # 第五部分:响应式
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-security-in-action2/part6_testing_security_configurations/index.md:
--------------------------------------------------------------------------------
1 | # 第六部分:测试安全配置
2 |
--------------------------------------------------------------------------------
/code/document-translation/spring-start-here/part1/03-wiring-beans/index.md:
--------------------------------------------------------------------------------
1 | # Bean装配
2 |
3 | 本章内容包括:
4 |
5 | - 建立 Bean 之间的关系
6 | - 使用依赖注入
7 | - 通过依赖注入从 Spring 容器中获取 Bean
8 |
--------------------------------------------------------------------------------
/code/document-translation/spring-start-here/part1/index.md:
--------------------------------------------------------------------------------
1 | # 第一部分
2 |
3 | 任何建筑都离不开地基,框架也同样如此。在第一部分,你将学习如何使用支撑 Spring 框架的基础组件——Spring 上下文和 Spring 切面。随着阅读的深入,你会发现,Spring 的所有功能都是建立在这些核心组件之上的。
4 |
--------------------------------------------------------------------------------
/code/document-translation/spring-start-here/part2/index.md:
--------------------------------------------------------------------------------
1 | # 第二部分
2 |
--------------------------------------------------------------------------------
/code/english/grammar/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: simple/grammarly
3 | ---
4 |
5 | # 语法
6 |
--------------------------------------------------------------------------------
/code/english/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/account-voice
3 | ---
4 |
5 | # 英语学习笔记
6 |
--------------------------------------------------------------------------------
/code/english/new_concept_english/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: material/book-edit
3 | ---
4 |
5 | # 新概念英语单词
6 |
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/aɪ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/aɪ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/b.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/b.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/d.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/d.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/e.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/e.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/eɪ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/eɪ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/g.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/g.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/iː.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/iː.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/k.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/k.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/p.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/p.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/t.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/t.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/uː.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/uː.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/æ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/æ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ɑː.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ɑː.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ɒ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ɒ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ɔː.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ɔː.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ə.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ə.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/əʊ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/əʊ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ɜː.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ɜː.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ɪ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ɪ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ʊ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ʊ.mp3
--------------------------------------------------------------------------------
/code/english/phonetic_symbol/mp3/ʌ.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luguosong/programming-notes/c549dbcd02c50ba958ca87b4c6d07c2d023201fa/code/english/phonetic_symbol/mp3/ʌ.mp3
--------------------------------------------------------------------------------
/code/english/programming_vocabulary/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: octicons/code-16
3 | ---
4 |
5 | # 编程词汇
6 |
7 | ## 基础知识
8 |
9 | ## 前端
10 |
11 | ### Redux
12 |
13 | #### reduce
14 |
15 | - 原本意思:减少
16 | - js数组函数:归约、累积
17 |
18 | #### reducer
19 |
20 | - 状态更新函数、状态归约器
21 |
22 | #### store
23 |
24 | - 储藏
25 | - 状态存储器
26 |
27 | #### dispatch
28 |
29 | - 调度
30 |
31 | #### selector
32 |
33 | - 选择器
34 |
35 | #### immutability
36 |
37 | - 不变,不变性,永恒性
38 |
39 | #### mutable
40 |
41 | - 易变的,性情不定的
42 |
43 | #### slice
44 |
45 | - 切片、状态切片
46 |
47 | ## Java
48 |
49 | ## 专项研究
50 |
--------------------------------------------------------------------------------
/code/front-end/code_bundler/webpack/index.md:
--------------------------------------------------------------------------------
1 | # webpack
2 |
3 | ## 概述
4 |
5 | 本质上,webpack是一个用于现代JavaScript应用程序的`静态模块打包工具`。
6 |
7 | 当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个`依赖图(dependency graph)`,然后将你项目中所需的每一个模块组合成一个或多个 `bundles`,它们均为静态资源,用于展示你的内容。
8 |
--------------------------------------------------------------------------------
/code/front-end/css/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | icon: simple/css3
3 | ---
4 |
5 | # CSS
6 |
7 | ## 书籍和教程
8 |
9 |
这是第一行
这是第二行
这是第一行
21 |这是第二行
23 | 24 |26 | ********** 27 | ******** 28 | ****** 29 | **** 30 | ** 31 |32 | 33 | 34 | -------------------------------------------------------------------------------- /code/front-end/html/basic/comment.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
空格 空格
11 |小于号<小于号
13 |大于号>大于号
15 | 16 | 17 | -------------------------------------------------------------------------------- /code/front-end/html/basic/frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |