ttps://docs.microsoft.com/ko-kr/dotnet/core/linux-prerequisites?tabs=netcore2x
1. 설치 (CentOS 7.5 에서)
dotnet core 2.2 설치
https://docs.microsoft.com/ko-kr/dotnet/core/linux-prerequisites?tabs=netcore2x
다운로드
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm (리포추가)
sudo yum update (일단 OS 몽땅 업데이트)
sudo yum install dotnet-sdk-2.2
2. Helloword를 찍어보자
#mkdir /home/www/dotnet/helloworld
#cd /home/www/dotnet/helloworld
[www@dot-netcore-001-talk-svc-jp2v-dev helloworld]$ dotnet new console
Welcome to .NET Core!
---------------------
Learn more about .NET Core: https://aka.ms/dotnet-docs
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
ASP.NET Core
------------
Successfully installed the ASP.NET Core HTTPS Development Certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation.
For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054.
Getting ready...
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on /home1/www/dotnet/helloworld/helloworld.csproj...
Restoring packages for /home1/www/dotnet/helloworld/helloworld.csproj...
Generating MSBuild file /home1/www/dotnet/helloworld/obj/helloworld.csproj.nuget.g.props.
Generating MSBuild file /home1/www/dotnet/helloworld/obj/helloworld.csproj.nuget.g.targets.
Restore completed in 407.77 ms for /home1/www/dotnet/helloworld/helloworld.csproj.
Restore succeeded.
[www@dot-netcore-001-talk-svc-jp2v-dev helloworld]$ dotnet run
Hello World!
or
[www@dot-netcore-001-talk-svc-jp2v-dev helloworld]$ dotnet ./bin/Debug/netcoreapp2.2/helloworld.dll
Hello World!
수정 후 빌드만 다시하기
[www@dot-netcore-001-talk-svc-jp2v-dev calc]$ dotnet build
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 54.51 ms for /home1/www/dotnet/calc/calc.csproj.
calc -> /home1/www/dotnet/calc/bin/Debug/netcoreapp2.2/calc.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.22
Process 모냥
[www@dot-netcore-001-talk-svc-jp2v-dev ~]$ ps -ef | grep dotnet
www 91284 1 0 14:01 pts/0 00:00:03 /usr/share/dotnet/dotnet /usr/share/dotnet/sdk/2.2.100/Roslyn/bincore/VBCSCompiler.dll -pipename:www.F.4YVjXIkKKf73NaMTt+z4fEXoz
www 93060 90767 1 14:13 pts/0 00:00:00 dotnet run -- kwon
www 93098 93060 0 14:13 pts/0 00:00:00 dotnet exec /home1/www/dotnet/calc/bin/Debug/netcoreapp2.2/calc.dll kwon
high cpu 찾기
top -H -c -b -n1
동작중인 내용잡기
strace -p pid
stack 추출
pstack $pid (high cpu pid)
2018년 12월 27일 목요일
2018년 12월 17일 월요일
google home 삽질기(ing....)
몇몇 서비스에 대해서 콜백이 되는것 같은데 내경우 무슨 서비스를 선택해야 하는지 알 길이 없내
구글홈 관련 질문을 해야 하는 건지 유튜브인지 계정문의 인지 내가 어케 아냐
여하간 간만에 낚시 미끼를 지대로 물었다 슬슬 입이 아프다...
여하간 IT환경에서는 모르면 나처럼 자괴감에 빠진다. (IT 20년차 따위는 모르는게 당연하다)
아래는 요청 한거고 이거 답변이나 오려나 모르겠다.
답이 오면 업데이트 해보겠다
업뎃1 : 찾아보니 메일 문의가 있다. google pay 쪽이다. 모르겠다 일단 메일 보낼 수 있는곳으로 보내보자
https://support.google.com/pay/answer/7644089?hl=ko
https://support.google.com/pay/contact/general_email
===============================
가족그룹 공유관련 질문 및 요청이 있습니다.
=요청사항=
sistet0@gmail.com(와이프) 계정을 가족관리자로하고 (현 가족관리자로 되어 있음)
yckwon75@gmail.com(나)과 arakwon0901@gmail.com(딸)이
가족으로 초대 될 수 있도록 조정 부탁합니다.
좀 복잡하지만 히스토리는 이렇습니다.
1. youtube red에 가입함
2. 괜찮은듯 하여 구글홈 mini 구입함
3. 구입시 6개월 무료 사은품이라는 글을 보고 기기 등록후 유료결제 해지 (12월 15일 끝난다는 안내는 봤지만 그냥 연장되는 줄 알았음)
> 이 부분에서는제가 잘 몰랐던 부분이 있었음을 압니다. 결제를 한번이라도 한 계정은 대상이 아님을 나중에 알았내요
4. 기능이 괜찮아서 구글홈, 구글mini 하나씩 더 구입 (구글홈1, 구글홈mini2, 크롬케스트1)
5. 와이프계정을 등록할때 6개월 무료라고 나와서 그것도 가입
6. 뒤늣게 한번이라도 결제한 계정은 사은품(?) 대상이 아닌걸 알게됨 낚였음을 이때 알았음 -.-;
7. 그래도 와이프계정이 프리미엄이므로 공유 된다고 알고 그냥 둠
> 여기서도 구글 가족그룹이라는것 자체를 안내받은적이 없음, 그냥 구글홈 앱에서 집에 포함되면 같이 공유되는줄 알았음
8. 몇일 잘 쓰다가 12월 16일 오후쯤 갑자기 나오던 음악이 안나옴, 어시스턴스가 계속 안된다고 다음에 하라고 메시지 나옴
9. 전체 기기 초기화 하고 재등록하고 몇시간을 고생하다가 구글링에서 가족그룹이 있고 가족그룹의 관리자가 있다. 그리고 가족그룹의 관리자가 유튜브프리미엄 권한이있을 경우에만 구매내역이 공유된다고 글을 봄
> 이쯤해서 사용자 입장에서 열이 좀 받겠지요?
10. 구글홈, 유튜브, 가족그룹이 상호간 참조이기는 하지만 하나의 서비스가 아니라는 것을 이제야 깨달음 (대체 제품하나 쓰는데 얼마나 공부를 해야 하는것인가 ㅠㅠ)
11. 와이프계정을 가족관리자로 하려고 가족들 탈퇴 시키고 가족그룹 해체
> 12개월 제한이 있는지 몰랐 -.-;; 미치겠....
12. 와이프계정을 가족관리자로 등록하고 초대하였으나 내 계정으로 초대가 안옴 -> 구글링구글링....12개월 제한이 이 뜻이라는 걸 깨달음
13. 뭔지 모르겠으나 어뷰징 방지용인듯 하여....순응해 보기로 함...다시 내 계정으로 가족 관리자가됨 (1회에 한해서 가능하다는 것도 나중에 알게 됨) 와이프 초대가 안됨
14. 뭐가 문제인지 몰라서 와이프, 딸, 내계정 다시 탈퇴시킴, 구글홈 기기들 모두 초기
> 요단강 건넜음
15. 현상태
내 계정 yckwon75@gmail.com 관리자도 못되고, 가족에 들어가지 못함
딸 계정 arakwon0901@gmail.com 14세인가?? 계정이라 관리자는 안되고, 가족에 못 들어감
와이프 계정 sistet0@gmail.com 관리자는 되어 있으나, 초대를 해보았으나 위 두 계정 가입불가
유튜브 뮤직도 홈에서 뭐가 문제인지 안되길래 새로 계정 하나 만들어서 음악 듣기 계정으로 연결해 놓음
폰과 PC, 테블릿의 계정이 엉망이 됨 ㅜ.ㅜ (이 부분은 뭐...해보느라 삽질의 결과...)
안되면 계정 다 다시 파고 가족으로 묶어야 하는데 내 계정이 워낙 엮인것이 많아서 요청을 해봅니다.
그리고 의견으로
구글 홈, mini 구매시 "사은품"이라고 하고 안내에서
구매이력이 없는 계정에서 가능하다는 부분은 안내하고 있으나
가족그룹에 대한 설명이 없고 그룹관리자가 권한이 있어야 한다는것도
꽤나 시간을 들여야 이해할 정도로 설명이 모자라다고 봅니다
솔직히 "세상에공짜는없다" 라는 기조를 가지고 있음에도
워낙 구글서비스를 많이쓰다보니 홀딱 넘어가기는 했으나
이렇게 사람을 고생시켜서야 되겠나 싶내요
아무리 "낚은 물고기에게 먹이를 주지않는다"라고 해도
이런 미끼 마케팅에 2중 트랩은 문제가 있다고 봅니다. (가입이력없어야함, 그룹관리자 권한따라감+12개월제한)
구글홈제품 과 유투브프리미엄 마케팅시(유의사항설명에)
가족 그룹관리자에 대한 설명+12개월 가족그룹 이동에 대한 설명이 제공되야 할것 같습니다.
모바일로 안내를 일일이 보기 어렵습니다. 이 모든 내용은 PC에서 뒤지고뒤져서 찾아낸 내용이지요
2018년 10월 30일 화요일
지랄발광
증시패닉, 靑게시판에 개미들 '통곡'…文 경제팀 책임론 확산
내 누차 술먹으며 말을 하지만
거시적으로봤을때
금본위 화폐시장에서 기축통화의 품격(?)이 떨어지면서
이미 주식이니 코인이니 중구난방 폭탄돌리기를 하는상황에
특히나 2014년 버냉키에서 옐런으로 미국연준의장이 바뀔때 부터
금리인상이 이번에는(?) 정말(?) 할것이라고 으름장 그리 날리고
15년 이후 실제 미국이 달러를 회수하기 시작했고
현재 미국이 마치 경기가 좋은듯이 버블이 일어나는것은
기존의 미국에서 개발도상국으로 나가던 달러를
긁어 들여서 유지하고 있을 뿐 좋을게 없는 상황이라는 점과
중국 미국 일변도에다
특히나 지금은 미국의 3배나 의존하는 중국무역의존도를 가지는 우리가
미국과 중국이 무역전쟁 수준인 국제상황에
내돈은 괜찮을것이라는 상상력은 무슨 생각인지 알 길이 없다
극단적인 미시경제활동이 개미가 하는 단타에 미수치기라면
그 리스크는 니들이 공부해서 알아야 하고
risk taking도 해야지
무슨 개노무 청와대 청원이냐
2018년 10월 19일 금요일
openJDK String 처리 속도 비교
JVM성능 측정에 여러가지 측면이 있겠으나 (collection object, network, thread....)
젤 만만 한게 요즘은 XML에 JSON이 대세이므로 Sting 연산이 많이 쓰이기 때문에 그냥 이걸루 비교를 해봤다
결과값은 절대적이지 않고 내용에 책임 못 진다.
그냥 참고만 하고 비슷한 테스트할때 이해하는데 사용하시라
Server : Physical Xeon 40Core
MEM : 64G
Heap : 4G (TEST를 위해 작게 잡고 동일한 환경으로 테스트)
TEST Tool : JMH http://openjdk.java.net/projects/code-tools/jmh/
TEST Sample code : http://hg.openjdk.java.net/code-tools/jmh/file/tip/jmh-samples/src/main/java/org/openjdk/jmh/samples/ (이건 다 돌리면 10시간 걸린다... 회사내부에서 볼 자료라 오픈하기 뭐해서 안올릴란다)
TEST String code :.... 걍 만들어 올리기도 구찮음...는 아니고...이놈에 블로그스팟 넘해... 에디터에 무슨 박스 하나가 없어요.... {code} 이런것 까지 원하지도 않아 그냥 좀 표같은거라도 좀 편집 할 수 있게 해주면 안되나!!!! 맨날 HTML Code수정해야 겠냐...미치것내
정말 집에 NAS에 워드프레스를 깔던가 해야지 원....
어디선가 배껴온 소스에 값만 바꿔 쓴다.(어딘지 출처가 기억안난다 ㅋㅋ)
some more data 라를 문자를 StringBuilder append로 1만번 String +연산으로 1만번 하는 코드를
워밍업 5회 후 10회의 테스트를 하고 처리시간을 평균낸 데이터를 그래프에 사용했다
가끔 GC가 떠서 성능이 개판난 데이터는 3회 정도 해서 젤 높은 값을 빼고 다시 평균을 잡았다.
2018년 10월 1일 월요일
open jdk base Visual Remote Server monitoring
openJDK JMC(Java Mission Control) 사용방법
1. 대상서버에 jstatd 데몬을 구동한다.
모니터링시 해당 데몬으로 접근하여 서버에 JVM 정보를 가져온다.
정책파일을 수정해서 권한을 추가해 주어야 JMC에서 접근하여 정상적으로 값을 가져올 수 있다
openJDK의 경우 CentOS 7.x에서 설치시 PATH는 아래와 같다.
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/lib
해당폴더에 아래 파일을 만든다 (tools.jar 파일이 있는곳에 만들면 된다)
#vi tools.policy
grant codebase "file:[absolute-path-to JAVA_HOME]/lib/tools.jar" {
permission java.security.AllPermission;
};
백그라운드로 띄운다
#jstatd -p 1099 -J-Djava.security.policy=${JAVA_HOME}/lib/tools.policy &
2. WAS Process에 JMX 설정을 한다. JVM에서 열어도 되고 tomcat 리스너중에 JMX리스너를 열어도 된다. 여기서는 JVM에서 연다
./catalina.opts.common.sh (JVM 옵션을 넣을 수 있는곳이라면 아무대나 잘 넣자)
OPT_JMX="-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.port=30088 \
-Dcom.sun.management.jmxremote"
3. JMC openjdk 버젼을 받아보자 oracle jdk에 있는거랑 별 차이없다
http://jdk.java.net/jmc/
JMC 7 Early-Access Buildsr
4. JMC 띄우고 원격으로 대상서버 접속하면 끝
요런화면
요런화면도 볼 수 있다. 라이브로 덤프도 볼 수 있고 뭐뭐뭐... 기능은 많다
근데 이거 끼우면 overhead를 감안해야 한다
어느정도인지는 잘 모르겠다능...
1. 대상서버에 jstatd 데몬을 구동한다.
모니터링시 해당 데몬으로 접근하여 서버에 JVM 정보를 가져온다.
정책파일을 수정해서 권한을 추가해 주어야 JMC에서 접근하여 정상적으로 값을 가져올 수 있다
openJDK의 경우 CentOS 7.x에서 설치시 PATH는 아래와 같다.
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/lib
해당폴더에 아래 파일을 만든다 (tools.jar 파일이 있는곳에 만들면 된다)
#vi tools.policy
grant codebase "file:[absolute-path-to JAVA_HOME]/lib/tools.jar" {
permission java.security.AllPermission;
};
백그라운드로 띄운다
#jstatd -p 1099 -J-Djava.security.policy=${JAVA_HOME}/lib/tools.policy &
2. WAS Process에 JMX 설정을 한다. JVM에서 열어도 되고 tomcat 리스너중에 JMX리스너를 열어도 된다. 여기서는 JVM에서 연다
./catalina.opts.common.sh (JVM 옵션을 넣을 수 있는곳이라면 아무대나 잘 넣자)
OPT_JMX="-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.port=30088 \
-Dcom.sun.management.jmxremote"
3. JMC openjdk 버젼을 받아보자 oracle jdk에 있는거랑 별 차이없다
http://jdk.java.net/jmc/
JMC 7 Early-Access Buildsr
4. JMC 띄우고 원격으로 대상서버 접속하면 끝
요런화면
요런화면도 볼 수 있다. 라이브로 덤프도 볼 수 있고 뭐뭐뭐... 기능은 많다
근데 이거 끼우면 overhead를 감안해야 한다
어느정도인지는 잘 모르겠다능...
피드 구독하기:
글 (Atom)


