■ 좋은 의사 고르는법
- 환자의 말을 잘들어 주는 의사
■ 직장 스트레스와 자연 임신
- 워커홀릭은 자연 임신이 어렵다. (남성 호르몬 분비)
- 남자의 경우 기온이 높은 환경은 고환에 해롭다.
'육아' 카테고리의 다른 글
[임신]베이비플랜 - 자연임신 (0) | 2021.01.10 |
---|---|
[건강]열 내리는 방법 (0) | 2021.01.04 |
■ 좋은 의사 고르는법
- 환자의 말을 잘들어 주는 의사
■ 직장 스트레스와 자연 임신
- 워커홀릭은 자연 임신이 어렵다. (남성 호르몬 분비)
- 남자의 경우 기온이 높은 환경은 고환에 해롭다.
[임신]베이비플랜 - 자연임신 (0) | 2021.01.10 |
---|---|
[건강]열 내리는 방법 (0) | 2021.01.04 |
java7 이상 4g 이상의 jvm은 G1 알고리즘이 적합
■ java의Default 옵션 알아내기
java -XX:+PrintCommandLineFlags -version
-Xms1024m -Xmx1024m
최초 Heap Size / 최대 Heap Size
-XX:PermSize=256m -XX:MaxPermSize=256m
최초 Prem영역 Size / 최대 Prem 영역 Size
-XX:-UseAdaptiveSizePolicy
JVM에서 Heap Size 조절
-verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimesStamps
GC로그 상세출력
-XX:InitialTenuringThreshold=32 -XX:MaxTenuringThreshold=32
객체의 Mionr GC 수행 횟수 / 객체의 최대 Mionr GC 수행 횟수
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
New 영역 병렬GC 수행 / Old 영역 병렬 GC 수행 / 클래스Data도 GC 수행
-XX:+DisableExplicitGC
사용자 임의의 GC 수행 비활성화
-XX:SurvivorRatio=8
New영역의 Eden size 비율
Eden 8 : Survivor 1 : Survivor 1
-XX:NewSize=32m -XX:MaxNewSize=512m
최소 최대 New사이즈
-XX:NewRatio=3
Heap영역에서 Old와 New size 비율
Old 3 : New 1
※절대값 설정과 상대값 설정을 혼용한다면 절대값이 우선순위가 높음
-XX:ParallelGCThreads=8
다중 gc를 위해 사용될 gc thread 개수
※활용가능한 프로세서의 수를 기반으로 할 것.
같은 머신에서 여러개의 jvm을 가동할때도 개수 고려할 것
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
new영역의 gc를 병렬적 사용 및 CMS gc 사용
-XX:+CMSClassUnloadingEnabled
클래스의 데이터도 gc의 대상이 되게 지정
[JEUS]JEUS6 ADMIN(ja) 호출 시 응답을 Null로 받는 경우 (0) | 2021.03.02 |
---|---|
OutOfMemory 에 대한 고찰 (0) | 2021.01.13 |
[SEVLET] REQUEST 정보 파악 (0) | 2020.12.29 |
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한 (0) | 2020.12.29 |
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
출처 : 베이비플랜 박문일 지음
1. 자연임신
1.1 임신을 위한 남성의 몸
- 건강한 정자를 만들려면 약 100일 전에 이미 건강한 몸이 되도록 계획을 세워야 함.
1.2 임신을 위한 여성의 몸
- 임신 3개월 전에 자궁암 검사를 받는다.
- 물을 많이 먹는다.
- 일주일에 3회이상, 하루 30분 이상 규칙적인 운동을 한다.
- 편안한 옷으 입는다.
- 배와 팔다리를 따뜻하게 유지 한다.
- 항상 즐거운 마음으로 생활한다.
- 요가와 명상을 즐긴다.
- 허리와 엉덩이 둘레의 비율(WHR, waist to hip ratio)가 0.7이 생식능력에는 최적의 조건임이 연구결과 밝혀짐.
[임신]베이비플랜 - 임신 전 준비 (0) | 2021.01.11 |
---|---|
[건강]열 내리는 방법 (0) | 2021.01.04 |
출처 : ko.wikihow.com/%EC%97%B4-%EB%82%B4%EB%A6%AC%EB%8A%94-%EB%B0%A9%EB%B2%95
체온을 재고 열의 온도를 정확하게 기술하기. 열이 나면 체온계를 사용해서 정확한 체온을 측정하면, 병원을 찾았을 때 더 유용한 정보를 의사에게 전달할 수 있다. 성인과 어린이의 경우 디지털 경구 체온계를 사용하면 정확하고 쉽게 체온을 측정할 수 있다. 디지털 체온계는 삑 소리가 날 때까지 혀 아래에 대어준 후 화면에 나타난 수치를 확인하면 된다. 유아의 경우, 항문 체온계를 사용하면 가장 정확한 체온을 측정할 수 있다.[1]
물을 많이 마시기. 열이 나면 땀을 많이 흘리면서 빠르게 탈수 증상이 나타나기 쉽다. 수분이 부족하면 열의 온도가 더 높아질 수 있으며, 두통과 어지러움, 근육 경련, 저혈압, 발작 등의 증상으로 이어질 수도 있다. 증상이 호전될 때까지 충분하게 수분을 보충해서 이런 문제점들을 예방해보자.[3]
의약품을 사용해서 열을 낮추기. 39 °C 이상의 열이 나타나거나 열로 인해 몸이 상당히 불편한 상태라면, 해열제를 복용해보자. 아세트아미노펜, 이부프로펜, 아스피린 등 열에 대항하는 일부 의약품들이 있다. 사용 설명을 준수해서 의약품을 사용하도록 하자.[9]
헐렁하고 가벼운 옷 입기. 열이 날 때는 얇고 헐렁한 옷을 입어서 몸을 시원하게 해준다. 예를 들어, 가벼운 티셔츠에 편안한 운동복 바지를 입어보자. 밤에도 가벼운 이불을 덮고 잠을 청하는 것이 좋다.[11]
실내 온도를 낮추기. 열이 있다면 시원하고 편안한 상태를 유지할 수 있도록 실내 온도를 평상시보다 조금 낮춰보자. 온도가 높으면 열이 더 오래 유지되고, 과도하게 땀을 흘리면 탈수 상태로 이어질 수 있다.[12]
미지근한 물로 스펀지 목욕하기. 욕조에 실온보다 살짝 뜨겁지만 체온보다는 낮은 29 - 32 °C정도의 온도로 물을 받아보자. 욕조에 앉아서 스펀지나 샤워 타월을 물에 적신 후 온몸을 닦아주면, 체온 감소에 도움이 될 수 있다.[14]
대한 실내에 있기. 가능하면 공기가 건조하고 온도가 크게 변하지 않는 실내에서 휴식을 취한다. 더울 때 밖에 나가야 한다면, 그늘에서 최대한 머물고 활동을 크게 제한한다. 밖의 온도가 낮다면, 편안함을 유지할 수 있는 정도에서 최대한 따뜻하게 옷을 입는다.
주의할 점
춥더라도 옷을 겹겹이 입지 않기. 열이 나면 오한이 찾아오는 경우도 있다. 하지만 오한이 발생하더라도 체온이 더 상승할 수 있기 때문에 이불 속에서 머물거나 옷을 겹겹이 입는 것은 좋지 않다.[16]
피부의 온도를 낮추기 위한 목적으로 소독용 알코올을 사용하지 않기. 피부에 소독용 알코올을 바르면 시원함이 느껴질 수 있지만, 이는 일시적인 현상일 뿐이며, 중심 체온을 높여서 오한으로 이어질 수도 있다.[18]
아플 때 카페인과 알코올은 피하기. 카페인과 알코올 모두 탈수 증상의 원인이 될 수 있다. 열이 있을 때 탈수 상태에 빠지기 쉽기 때문에, 카페인과 알코올 사용이 매우 위험할 수 있다. 그러므로 상태가 호전될 때까지 이런 성분들은 피하도록 하자.[21]
병원을 찾아야할 시기
39–41 °C 사이의 열이 난다면 바로 응급실을 찾기. 고열은 매우 위험할 수 있다. 성인의 경우 체온이 39 °C 이상으로 올라가면 응급실을 찾아서 검사를 받아보자. 경우에 따라 내원을 하거나 처방 의약품을 사용해야 할 수 있다.[23]
아이가 의식을 잃었거나, 쉽게 일어나지 않거나, 일주일 정도 열이 올랐다 떨어지기를 반복한다면, 현재 체온이 그리 높지 않거나 고열 증상이 사라졌더라도 응급실을 찾도록 하자. 또한 아이가 울 때 눈물을 흘리지 않는 등의 심각한 탈수 증세가 나타나는 경우에도 병원을 찾도록 하자.
열이 지속되면 병원을 찾기. 열은 질병에 대항하는 자연스러운 신체 반응이지만, 열이 계속되면 더 심각한 문제일 수도 있으니, 며칠이 지나도 열이 떨어지지 않는다면 병원을 찾아보자. 검사를 받은 후 의사가 응급 치료를 권하거나, 의약품을 처방해줄 수 있다.[25]
열이 있는 동안 발진이나 멍이 보인다면 의사와 이야기를 나눠보기. 특별한 이유 없이 갑자기 피부에 발진이나 멍이 나타났다면, 병원을 찾아보자. 면역 체계와 관계있는 심각한 문제의 신호일 수 있다.[28]
[임신]베이비플랜 - 임신 전 준비 (0) | 2021.01.11 |
---|---|
[임신]베이비플랜 - 자연임신 (0) | 2021.01.10 |
1. 잘 팔리는 것으로 시작함
--> 처음에 어떤 상품을 올렸는데 팔렸고 그래서 그 상품의 최저가격을 찾아서 하니까 마진이 계속 올라감
※ 네이버 스마트스토어 기준 최저가를 찾아야했기에, 최저가격은 다른곳에서 찾아와야함.
2. 유통기한만 길고 배송만 빠르면 됨
3. 물건은 대기업 물품이 많아서 특별히 설명하지 않아도 되었음
4. 힘들었던 점은? 전화 불통(문자, 네이버 톡톡으로 상담)
[재테크] 슈퍼개미 4강 (0) | 2021.02.01 |
---|---|
[재테크] 슈퍼개미 3강 (0) | 2021.01.30 |
[재테크] 슈퍼개미 1강,2강 (0) | 2021.01.27 |
[재테크] 월급만 믿다 벼락 거지? (0) | 2021.01.27 |
[제테크]미국 주식 (0) | 2020.10.05 |
출처:https://helols.tistory.com/m/15
local이라 하면 일반적으로 서버를 의미하는 것이겠죠..
Local IP : <%=request.getLocalAddr()%>
Local Name : <%=request.getLocalName()%>
Local Port : <%=request.getLocalPort()%>
클라이언트의 정보입니다.
IP, Host, Port를 가져올 수 있습니다.
Remote IP : <%=request.getRemoteAddr()%>
Remote Host : <%=request.getRemoteHost()%>
Remote Port : <%=request.getRemotePort()%>
서버 이름과 포트가 있는데요.. 일반적으로 local 기본정보와 동일하겠죠..
Server Name : <%=request.getServerName()%>
Server Port : <%=request.getServerPort()%>
지역 정보입니다. 대부분 한국을 의미하는 ko가 나올 것 같네요..
Locale : <%=request.getLocale()%>
사용하는 프로토콜입니다. "프로토콜/메이저버전.마이너버전" 의 형태입니다.
Protocol : <%=request.getProtocol()%>
http, https, ftp와 같은 것을 의미합니다.
Scheme : <%=request.getScheme()%>
https와 같은 보안 채널의 사용 여부입니다. true/false 값으로 되어 있네요..
Secure Channel : <%=request.isSecure()%>
요청에 대한 URI, URL, 컨텍스트 경로, 서블릿 경로, GET/POST등의 메소드를 나타냅니다.
Request's URI : <%=request.getRequestURI()%>
Request's URL : <%=request.getRequestURL()%>
Context Path : <%=request.getContextPath()%>
Servlet Path : <%=request.getServletPath()%>
Method : <%=request.getMethod()%>
세션 ID에 대한 정보들입니다.
Session ID : <%=request.getRequestedSessionId()%>
Session ID from Cookie : <%=request.isRequestedSessionIdFromCookie()%>
Session ID from URL : <%=request.isRequestedSessionIdFromURL()%>
Session ID is still valid : <%=request.isRequestedSessionIdValid()%>
Header 정보를 보는 방법입니다.
<%
Enumeration eHeader = request.getHeaderNames();
while (eHeader.hasMoreElements()) {
String hName = (String)eHeader.nextElement();
String hValue = request.getHeader(hName);
out.println(hName + " : " + hValue);
}
%>
Request 객체를 통해서 쿠키 정보를 보는 방식이구요~
<%
Cookie cookies[] = request.getCookies();
for (int i=0; i < cookies.length; i++) {
String name = cookies[i].getName();
String value = cookies[i].getValue();
out.println(name + " : " + value);
}
%>
HTML 폼을 통해 넘어온 데이터를 받는 부분입니다.
<%
Enumeration eParam = request.getParameterNames();
while (eParam.hasMoreElements()) {
String pName = (String)eParam.nextElement();
String pValue = request.getParameter(pName);
out.println(pName + " : " + pValue);
}
%>
미리 설정한 attribute를 가져오는 부분이구요..
<%
Enumeration eAttr = request.getAttributeNames();
while (eAttr.hasMoreElements()) {
String aName = (String)eAttr.nextElement();
String aValue = request.getHeader(aName);
out.println(aName + " : " + aValue);
}
%>
OutOfMemory 에 대한 고찰 (0) | 2021.01.13 |
---|---|
[JAVA]JVM GC관련 기본 옵션 (0) | 2021.01.11 |
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한 (0) | 2020.12.29 |
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
[JAVA]java agent?? (0) | 2020.12.22 |
Server > adminServer 선택
Engine > Web Connections > ADMIN-HTTP 선택
고급선택사항 > Server Access Control 체크
> Allowed Server 에 허용할 IP기입
[JAVA]JVM GC관련 기본 옵션 (0) | 2021.01.11 |
---|---|
[SEVLET] REQUEST 정보 파악 (0) | 2020.12.29 |
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
[JAVA]java agent?? (0) | 2020.12.22 |
[JAVA] BCI (Byte Code Instrumentation) ?? (0) | 2020.12.22 |
출처: https://ifuwanna.tistory.com/223
크롬(Google Chrome)80버전부터 새로운 쿠키 정책이 적용 되어 Cookie의 SameSite 속성의 기본값이 "None"에서 "Lax"로 변경
■ 그로 인한 어떠한 영향도가 있는가??
SameSite 를 None 으로 설정할 경우 모든 도메인에서 쿠키를 전송하고 사용할 수 있지만 사용자가 사이트 간 요청 위조(CSRF - Cross-site request forgery) 및 의도하지 않은 정보 유출에 취약해질 가능성이 있음.
이러한 취약점을 방지하기 위해 지금까지는 별도의 SameSite 속성 명시 없이 쿠키를 생성했을 때 "SameSite=None" 으로 설정한 것과 동일하게 동작 했지만 Chrome80 버전 이후에는 SameSite 속성 설정이 없는 쿠키는 "SameSite=Lax" 로 명시한 것과 동일하게 동작
즉 iframe, ajax를 이용하여 다른 도메인으로부터 받은 쿠키를 저장하지 않게 됨
■ SameSite 란?
Cookie의 SameSite 속성은 서로 다른 도메인간의 쿠키 전송에 대한 보안을 설정.
"None"은 동일 사이트과 크로스 사이트에 모두 쿠키 전송이 가능. 그리고 "Strict"로 설정할 경우 서로 다른 도메인에서는 아예 전송이 불가능해 지기 때문에 CSRF를 100% 방지할 수 있으나 사용자 편의성을 많이 해치게 됩니다. 그래서 Strict 설정에 일부 예외( HTTP get method / a href / link href )를 두어 적용되는 설정이 이번에 기본값으로 변경되는 "Lax"
■ 크롬이 SameSite 정책을 변경한 이유
브라우저에서 기본 설정을 변경한 것은 크로스 도메인간 중요한 정보 유지는 CSRF 가능성이 있는 쿠키가 아닌 다른 안전한 방식으로 하기를 권장하기 때문.
제안하는 대로 Lax 설정에서도 문제 없게끔 쿠키에 대한 의존성을 낮추는 것이 권장 되지만 바로 수정개발이 힘든 경우는 쿠키의 SameSite설정을 기존의 기본값이었던 None으로 설정하여 임시로 해결 할 수 있음.
■ 해결방안
1. WEBTOB patch
WebtoB-4.1.9.1-B308.50.18 로 패치
2. JEUS patch
버전별 패치파일 상이
JEUS6 : jext_v6008_i215676_a1340679.jar
JEUS7: jext_v7004_i214319_a1333430.jar
JEUS8: jext_v8000_i215340_a1339733.jar
3. JEUS설정 변경
버전별 설정파일 상이
JEUS6
- JEUSMain.xml 의 다음과 같은 내용 추가
<node><engine-container><command-option>-Djeus.servlet.response.cookie.sameSite=None
- WEBMain.xml 의 다음과 같은 내용 추가
<web-container><session-config><seasion-cookie><secure>true
JEUS7,8
Servers 메뉴 - MS선택 - Basic탭 - Basic Info 탭 이동
[Lock&Edit] 버튼 클릭 - Jvm Option 수정(-Djeus.servlet.response.cookie.sameSite=None) - 우측 상단 파란색 확인 버튼 클릭 - [Activate Changes] 버튼 클릭
Servers 메뉴 - MS선택 - Engine탭 - Web Engine 탭 - Session Config 탭 이동
[Lock&Edit] 버튼 클릭 - Secure 옵션 체크 - 우측 상단 파란색 확인 버튼 클릭 - [Activate Changes] 버튼 클릭
[SEVLET] REQUEST 정보 파악 (0) | 2020.12.29 |
---|---|
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한 (0) | 2020.12.29 |
[JAVA]java agent?? (0) | 2020.12.22 |
[JAVA] BCI (Byte Code Instrumentation) ?? (0) | 2020.12.22 |
[WEBTOB]Compression 설정 (0) | 2020.12.17 |
출처 : https://blog.xenomity.com/Summary-Java-Agent-Bytecode-Instrumentation/
What are Java(JVM) Agent?
JVM Agent는 JVM에서 동작하는 Java 어플리케이션으로 JVM의 다양한 이벤트를 전달받거나 정보 질의, 바이트 코드 제어 등을 특정 API(Instrumentation API -java.lang.instrument-)를 통하여 수행할 수 있다.
보통 개발 도구 또는 모니터링 도구 개발에 응용된다.
바이트 코드 변조를 통한 개발의 편의성을 제공하는 AspectJ의 LTW(Load Time Weaver)나 Lombok과 같은 오픈소스가 대표적인 Java Agent의 활용 예이다.
Features
Agent는 지정된 JVM의 실행 가능한 최초 진입점인 ‘main’ 메서드를 가로채기 할 수 있다.
지정된 JVM에서 실행된다.
지정된 JVM의 동일한 System Class Loader 내에서 로드된다.
지정된 JVM의 Security Policy 및 Context의 영향을 받는다.
실행시간에 동적으로 bytecode를 조작할 수 있다.
Agent의 단일 진입점은 위와 같이 ‘premain’ 메서드를 구현하면 되며 바이트 코드를 포함한 추가적인 정보 수집 도구로 Instrumentation 인터페이스를 제공받을 수 있다.
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한 (0) | 2020.12.29 |
---|---|
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
[JAVA] BCI (Byte Code Instrumentation) ?? (0) | 2020.12.22 |
[WEBTOB]Compression 설정 (0) | 2020.12.17 |
[JEUS] 6버전 세션클러스터 구성 시 주의사항 (0) | 2020.12.04 |
■ BCI (Byte Code Instrumentation) ?
Java의 Byte Code에 직접 수정을 가해서, 소스 파일의 수정 없이 원하는 기능을 부여하는 기법
이러한 특징때문에 대부분의 Java 프로파일러나 모니터링 툴들이 BCI 기능을 사용하고 있다. Bytecode를 직접 수정할 수 있으므로 이를 통해 구현할 수 있는 기능은 무궁무진함.
■ Java Bytecode
JVM에서 인지할 수 있는 일종의 기계어(Machine Code)이며, 특정 OS / HW에 의존하지 않는, JVM에만 의존적이기 때문에 서로 다른 환경에서도 하나의 Bytecode로 구동이 가능(JVM은 공통이니까!!)
■ BCI를 활용하여 내가 생성한 클래스 파일 사용하게 하기
ClassReader 객체를 이용해 원래 클래스의 바이트 코드를 읽어들인다.
ClassAdapter 객체를 이용해 바이트 코드를 변경한다.
ClassWriter 객체를 이용해서 변경된 바이트 코드를 얻는다.
원래의 Exception 클래스를 변경(하진 않았지만)하여 새로운 Exception 클래스를 생성하고 파일을 확인하였다.
문제는 어떻게 하면 JVM의 rt.jar에서 제공하는 java.lang.Exception 클래스 파일이 아닌, 내가 생성한 Exception 클래스 파일을 쓰게 하느냐이다.
rt.jar파일을 직접 변경시킬순 없고 (매우 위험하고 법적인 문제가 될 수 있음!) 답은 -Xbootclasspath 옵션을 이용하는 것이다.
즉, -Xbootclasspath/p:<내가 작성한 Exception Class의 path>를 지정하면, JVM은 rt.jar보다 먼저(prepend) 내가 작성한 Exception Class 파일을 읽어들인다.
이렇게 함으로써 rt.jar 파일에 대한 수정을 가하지 않아도 된다.
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
---|---|
[JAVA]java agent?? (0) | 2020.12.22 |
[WEBTOB]Compression 설정 (0) | 2020.12.17 |
[JEUS] 6버전 세션클러스터 구성 시 주의사항 (0) | 2020.12.04 |
[JEUS]6008버전 에서의 세션 유지가 되지 않는 경우 (0) | 2020.12.04 |