Skip to content

Instantly share code, notes, and snippets.

View xinyii's full-sized avatar

Yi Xin xinyii

View GitHub Profile
@xinyii
xinyii / Dockerfile
Created May 8, 2021 06:08
[Docker deploy front-end] #docker
FROM node:alpine as builder
WORKDIR /usr/src/app
COPY package.json ./
RUN yarn install
ADD src ./src
ADD *.json ./
ADD *.conf.js ./
ADD e2e ./e2e
@xinyii
xinyii / Demo.java
Last active June 17, 2024 06:00
[Logback SiftingAppender with Marker] #logback #spring
// Will be written to `log/yyyy-MM-dd/demo.log`
Marker marker = MarkerFactory.getMarker("demo");
log.info(marker, "hello world");
@xinyii
xinyii / SubClassesScanner.java
Created May 6, 2021 10:25
[Scan all sub classes by ClassPathScanningCandidateComponentProvider] #spring
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
provider.addIncludeFilter(new AssignableTypeFilter(MyClass.class));
// scan in org.example.package
Set<BeanDefinition> components = provider.findCandidateComponents("org.example.package");
for (BeanDefinition component : components) {
Class cls = Class.forName(component.getBeanClassName());
// use class cls found
}
@xinyii
xinyii / docker-run-params.sh
Last active April 27, 2021 03:16
[Run docker command inside a docker container] #docker
-v /var/run/docker.sock:/var/run/docker.sock
-v /bin/docker:/bin/docker
-u root
@xinyii
xinyii / centos6-eol.repo
Created April 27, 2021 02:44
[CentOS 6 EOL Repo] #centos
[C6.10-base]
name=CentOS-6.10 - Base
baseurl=http://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never
[C6.10-updates]
name=CentOS-6.10 - Updates
@xinyii
xinyii / elasticsearch-migration.sh
Created April 23, 2021 11:16
[Elasticsearch Migration] #elasticsearch
multielasticdump --input=http://127.0.0.1:9200 --output=.
multielasticdump --direction=load --input=. --output=http://127.0.0.1:9200
@xinyii
xinyii / EndpointsListener.java
Created April 21, 2021 06:28
[Spring Controller Scan] #spring
@Component
public class EndpointsListener implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
ApplicationContext applicationContext = event.getApplicationContext();
applicationContext.getBean(RequestMappingHandlerMapping.class).getHandlerMethods()
.forEach((requestMappingInfo, handlerMethod) -> {
Set<RequestMethod> methods = requestMappingInfo.getMethodsCondition().getMethods();
Set<String> patterns = requestMappingInfo.getPatternsCondition().getPatterns();
@xinyii
xinyii / application.yml
Created April 21, 2021 06:27
[Spring Actuator] #spring
management:
endpoint:
health:
show-details: always
endpoints:
web:
exposure:
include: "*"
@xinyii
xinyii / RouterConfiguration.java
Last active April 21, 2021 06:25
[Spring Cloud Gateway] #spring
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("path_route", r -> r.method(HttpMethod.GET).and().path("/mock/**")
.filters(f -> f.rewritePath("/mock/(?<segment>.*)", "/${segment}"))
.uri("https://6000221fcb21e10017af883f.mockapi.io/api/v1"))
.build();
}
@xinyii
xinyii / commander.js
Created April 15, 2021 12:29
[Commander] #nodejs
const program = require('commander')
const path = require('path')
program
.requiredOption('-w, --workspace <dir>', '工作目录', (val) => path.resolve(__dirname, val))
.option('-s, --size <size>', '最大并发上传数量', (val, def) => parseInt(val) || def, 10)
program.parse(process.argv)
const {