https://ollama.com/
개발한 Android App 및 개발 중 TIP 및 정보에 대한 기록 공간..
https://ko.wikipedia.org/wiki/%EC%8B%A0%EB%B0%9C
https://blog.naver.com/heaye/221399587054
https://eiec.kdi.re.kr/material/clickView.do?cidx=1040&click_yymm=200907
https://www.youtube.com/watch?v=7p3CHdF_EOs
https://www.youtube.com/watch?v=MDXhLPiftkE
🔗 위키백과 링크
정의 및 목적: 신발은 발을 보호하고 따뜻하게 하며, 기능성·패션·사회적 상징의 역할도 수행합니다.
기원: 약 1만 년 전부터 존재했으며, 고대 이집트·메소포타미아·로마 등 다양한 문명에서 각기 다른 형태로 발전.
종류: 샌들, 부츠, 운동화, 구두 등. 기능과 지역적 환경에 따라 진화.
현대: 신발 산업은 기능성, 패션, 스포츠 등으로 세분화되며 글로벌 브랜드(예: 나이키, 아디다스) 중심으로 성장.
🔗 블로그 링크
역사적인 첫 신발: 유럽에서 발견된 구석기 시대의 가죽신이 최초.
문화와의 연관성: 과거엔 계급, 권력, 직업에 따라 신발이 달라졌음.
재미있는 사실:
높은 굽은 원래 남성 귀족의 전유물이었음.
신발끈의 시작은 고대 로마로 추정됨.
아기 신발은 행운의 상징으로도 여겨졌음.
국내 신발 산업 발전사:
1960~80년대: 수출 중심 산업으로 성장 (특히 베트남과 중국으로의 생산 이전)
1990년대 이후: OEM(주문자상표부착생산)에서 브랜드 중심으로 전환 시도
토종 브랜드의 부상: 프로스펙스, 르까프, 휠라 등 한국 고유 브랜드가 글로벌 시장에 도전
주요 내용:
신발은 발 건강에 큰 영향을 미치며, 잘못된 신발은 발 변형이나 통증을 유발할 수 있음.
기능성 신발의 필요성과 과학적 구조의 중요성 강조.
발 모양과 걷는 방식에 맞춘 신발 선택이 중요.
주요 내용:
일상에서 자주 신는 신발이 발에 얼마나 영향을 주는지 분석.
신발의 재질, 굽 높이, 착용 시간에 따른 건강 영향 설명.
무심코 신는 슬리퍼, 플랫슈즈, 운동화의 숨겨진 단점도 다룸.
| 구분 | 핵심 내용 |
|---|---|
| 역사 | 신발은 고대부터 존재해왔으며 시대와 지역에 따라 다양한 형태로 발전함. |
| 문화 | 신분과 직업, 문화적 상징을 지닌 아이템으로 사용됨. |
| 산업 | 한국도 신발 제조 강국이었으며, 최근엔 브랜드화로 경쟁력 확보 중. |
| 건강 | 발 건강과 밀접한 관련이 있으며, 잘못된 신발 착용은 건강 문제를 유발할 수 있음. |
Step 3/7 : RUN apk update
---> Running in 2fdba320b542
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.b89edf6e.tar.gz: No such file or directory
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/community: temporary error (try again later)
WARNING: Ignoring APKINDEX.737f7e01.tar.gz: No such file or directory
$ docker build --tag shlee/springboot-cicd:latest --no-cache --network=host .
--> Add "--network=host" ..
$ mkdir nexus
$ wget https://download.sonatype.com/nexus/3/nexus-3.39.0-01-unix.tar.gz
$ sudo apt-get update
$ sudo apt install openjdk-8-jdk-headless
$ cd nexus/bin
- install & startup : nexus run
- startup : nexus start
- stop : nexus stop
$ sudo apt update
$ sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.8.0.63668.zip
$ unzip sonarqube-9.8.0.63668.zip
$ sudo groupadd sonar
$ sudo useradd -c "SonarQube - User" -d /home/shlee/sonarqube/ -g sonar sonar
# $ sudo chown -R sonar:sonar /home/shlee/sonarqube/
$ sudo chown -R shlee:shlee /home/shlee/sonarqube/
$ /home/shlee/sonarqube/bin/linux-x86-64/sonar.sh start
$ /home/shlee/sonarqube/bin/linux-x86-64/sonar.sh stop
$ curl localhost:9000 [admin/admin and change password]
[SonarQube Setup in gitlab / SonarQube]
1) create gitlab Impersonation Token in Gitlab
2) create gitlab project and insert gitlab Token in sonarqube
3) create credential for "admin" account in sonarqube
and copy credential, paste to jenkins new credentials
[SonarQube Setup In jenkins]
Install GitLab plugin for Jenkins - version 1.5.13 or later
Install SonarQube Scanner plugin for Jenkins - version 2.11 or later
setting for integrating cicd
setting for sonarqube server
[Jenkinsfile]
withSonarQubeEnv('sonarqube_rookie01') {
sh "mvn clean verify sonar:sonar -Dsonar.projectKey=springboot_springboot-cicd_AYUplgxydso4nsDrpk6X"
}
sonarqube_rookie01 <- ID for sonarQube Server Setting
springboot_springboot-cicd_AYUplgxydso4nsDrpk6X <-- project key in sonarqube
-----
(1) Docker Push in Jenkinsfile
docker.withRegistry('<Docker Registry URL>', '<Credential defined in Jenkins Credentials>') {
dockerImage.push('<Tag>')
}
ex>
docker.withRegistry('http://localhost:7890/repository/docker-local-registry/', 'docker_credential') {
dockerImage.push('latest')
}
(2) Integrate Sonar with Jenkins
withSonarQubeEnv('<Name of Jenkins SonarQube Server Settings>') {
sh "mvn clean verify <Goal for SonarQube (default : 'sonar:sonar' )> -Dsonar.projectKey=<ProjectKey generated by SonarQube Server>"
}
[Prometheus]
1) download prometheus
$ wget http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
압축 해제.. & prometheus.yml 편집
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9091"]
-
- job_name: "springboot"
scrape_interval: 15s
metrics_path: "/actuator/prometheus"
static_configs:
- targets: ["rookie01.local:8080"]
-
2) startup
$ ./prometheus --config.file=prometheus.yml --web.listen-address="0.0.0.0:9091" --web.enable-lifecycle 2>&1 | tee -a ./startup.log &
3) shutdown
$ curl -X POST localhost:9091/-/quit ( or kill )
4) brower 접속
http://localhost:9091
http://localhost:9091/metrics
[Grafana]
1) download installation file
$ wget wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.6.linux-amd64.tar.gz
2) startup
$ ./bin/grafana-server web
3) browser 접속
http://localhost:3000 ( admin / admin ; pwd 변경 : lsh~)
4) springboot 용 pannel 샘플 다운로드 / Import
download from : https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/