-
c# name sapce 하위 클래스들 알아내기
c# namesapce에 있는 하위 클래스 알아내기 코드를 보자. using System; using System.Linq; using System.Reflection; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string nspace = "ConsoleApp1"; var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t; q.ToList().ForEach(t => Console.WriteLine(t.Name)); } } class AAA { } class BBB { } } AAA BBB 가 찍히는것을 볼수 있다. 배운점 질문을 잘 정리하자. 그럼 빠른 결론에 도달하거나 정리하면서 해결이 되버리기도...
-
study plan 01
study plan devops를 해보자. schedule aws region , available zone , edge location EC2 Security Group - firewall elastic ip ec2 login ami cloud watch s3 cloud front (cdn) RDB ( mysql , posgreql ,auroa) snapshot replication elastic cache - redis iam route 53 (도메인) elb auto scaling vpc (virtual network) Glacier - storage CloudFormation SNS , Email SQS - que aws cli docker docker swarm k8s docker on aws ci/cd jenkins iis or nginx...
-
mailgun service
mailgun 서비스를 사용해보자. 사용해야할 경우 메일을 보내는 용도로만 사용하려고 함 (gitlab에서 알림 메세지를 보낼때 사용) 추가로 설정을 하면 teamsmiley@gmail.com 이메일을 가지고 있지만 teamsmiley@회사도메인.com으로 이메일 주소를 만들수 있음. 이메일 보내기 오늘은 알림 메세지를 보내기만 하려고함. https://www.mailgun.com/ 에 회원가입을 한다. 이제 로그인을 해보자 . 가입을 하면 sandbox라고 테스트용 계정을 하나 준다. 이건 사용하지 않을것이다. https://app.mailgun.com/app/domains 에서 Add New Domain 을 누른다. 도메인 이름을 넣고 다음을 누르면 설명서가 보여진다 보고 그대로 따라하면 된다. https://app.mailgun.com/app/domains 에서 방금 만든 도메인을...
-
GitLab on Docker
GitLab을 도커로 설치해보자. centos 7에 도커 최신버전을 설치하고 다음을 진행한다. 참고 https://docs.gitlab.com/omnibus/docker/ 설치및 실행 - docker run sudo docker run --detach \ --hostname gitlab.publishapi.com \ --publish 443:443 --publish 80:80 --publish 30022:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest –publish 30022:22 ==> 이부분이 22면 기존 ssh와 포트 충돌 에러가 난다. 30022로 변경했음 위 커맨드를 실행하면 최신 깃랩 이미지를 받아서 실행을 한다. http://gitlab.publishapi.com로 접속을 해본다. 에러가 나면...
-
mssql 2017 docker on macosx
mssql 2017 docker install docker https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-2017 install mssql install mssql 2017 docker image sudo docker pull microsoft/mssql-server-linux:2017-latest mssql run 데이터 저장할 폴더를 만들고 사용합니다. 저는 Users//Desktop/mssql/data 여기로 정했습니다. mkdir -p ~/Desktop/mssql docker run --name mssql -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=StrongPassw0rd' -p 1433:1433 -d microsoft/mssql-server-linux:latest docker logs mssql mssql 프로세스 확인 docker ps # 프로세스가 보이면 된다 docker stop mssql # 멈출때 docker start mssql # 시작할때 docker rm mssql # 지울때 뷰어 https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-develop-use-vscode?view=sql-server-2017 install vscode &...
-
ios App 만들기 -1
아이폰용 앱을 만들어 보려고 한다. 공부하는 법을 적어보자. 목표 : 싱글페이지 앱이며 todolist를 서버에서 받아와서 뿌려주고 스와이프를 통해 완료 체크를 해준다. 미리 준비할것 : oauth인증서버가 있고 (없으면 auth0.com을 사용) api도 만들어져있다고 가정한다. 추가 기술 : cocoapod , alamofire , rxswift, swiftyjson, 1단계 기본 프로젝트 만들기 - xcode , new project Controller에 dummy data 만들기 table view를 넣어서 화면에서 data를 가져와서 뿌리기 화면에 검색창 넣기 auto layout 적용 기본 화면에 들어왔을때 인증 체크 - userdefaults 인증이...
-
Docker Tip 02
Docker Tip 2 기본적인 도커 사용법을 배우고 난후 뭐를 해볼까 싶어서 진행하다 생긴 이슈를 적어본다. 스웜을 설치해서 사용할때 특정 노드에 특정 서비스를 실행하고 싶다. docker-compose에서 constraints를 사용해서 처리한다. --- version: "3.3" services: docker01: image: mysql:5.5 deploy: mode: replicated replicas: 1 placement: constraints: - node.hostname == docker01 이러면 docker01이라는 호스트에서만 배포가 된다. 그럼 특정 노드가 아니라 특정 타입 예를 들면 32기가 장비에서만 서비스를 실행해라고는 어떻게 할까? docker node update --label-add <key>=<value> <node-id> docker node update --label-add...
-
Redis 기본
redis를 설치하고 web api c# 에서 사용한다. 설치 vi docker-compose.yml --- version: "3.3" services: redis: image: redis:4.0.11 ports: - "6379:6379" command: ["redis-server"] 혹시 비밀번호를 설정하려면 다음처럼 command: ["redis-server","--requirepass","password"] docker stack deploy -c docker-compose.yml redis 클라이언트에서 서버에 접속해보자. 윈도우즈 클라이언트 다운로드 https://github.com/dmajkic/redis/downloads redis-cli -h docker01.yourdomain.com 접속 확인 완료 c#에서 사용 사용전 알아야할것 기존에는 컨트롤러에서 디비를 가져와서 json으로 만들어서 프론트앤드에 보내준다. 이제 레디스에 데이터가 있는지 먼저 체크하여 있으면 json 만들어서 보내고 없으면 디비에서 가져와서 레디스에 넣고 그...
-
Docker Mysql Replication
docker 로 mysql설치후 리플리케이션 까지. (feat. swarm , docker-machine) 목표 2개의 서버에 도커 스웜을 설치하고 컨테이너를 올린다. docker01 : master db docker02 : slave db를 올린다. 특정 컨테이너는 호스트명으로 구별해서 특정 호스트에서 실행되게 한다. ingress network에서 포트가 중복 안되므로 master는 3306 slave는 3307을 외부에 오픈할 것이다. 2개의 mysql이 리플리케이션이 되게 한다. 실서버 설치 docker01.ur-domain.com : 100.100.100.24 docker02.ur-domain.com : 100.100.100.25 설치후 firewalld는 끄고 yum update는 다 끝내두자. 작업 컴퓨터에서 docker-machine을 사용하여 클러스터를 만든다. docker-machine -D create...
-
Macosx Terminal Setting
맥 터미널 설정 homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" vscode 설치 brew cask install visual-studio-code 실행후 command shift p » path (옵션에 나오면 선택한다. code 명령어를 path에 등록한다는 이야기) zsh mac이 가지고 있지만 (/bin/zsh) 다시 설치하자. brew install zsh which zsh > /usr/local/bin/zsh # standard shell로 추가 code /etc/shells > /usr/local/bin/zsh # 추가 # 기본쉘로 등록 chsh -s /usr/local/bin/zsh reboot echo $SHELL > /usr/local/bin/zsh # check version zsh --version oh my zsh sh -c "$(curl -fsSL...