클릭을 많이 했더니, 두통이 늘어서 ai에 질문을 했더니 이렇게 답하네요.

생각해보니, 켄싱턴 볼마우스 사용중인데 엄지 클릭이 더 힘들고 힘이 들어가네요. 승모근이 딱딱해졌어요.

키보드를 먼저 텐키리스 키보드로 변경해봐야 겠네요.

손목보호 마우스 말고, 어깨 근육 뭉침이 가장 적은 마우스를 추천해줘.

 

 

어깨 통증이나 뭉침은 보통 손목의 각도뿐만 아니라, 팔을 몸바깥으로 얼마나 벌리는지(외전)어깨를 얼마나 들어 올리는지(승모근 긴장)와 밀접한 관련이 있습니다.

어깨 근육 뭉침을 최소화하기 위한 마우스의 핵심 조건은 "팔을 몸에 최대한 붙일 수 있는가""팔 전체의 움직임을 최소화하는가"입니다.

 

 

■ 어깨 통증을 줄이는 마우스 세팅 팁
마우스를 바꾸는 것만큼 중요한 세팅 방법입니다.

텐키리스 키보드 사용: 숫자패드가 없는 키보드를 쓰면 마우스가 몸의 중심축에 더 가까워집니다. 어깨 통증 완화의 가장 빠른 길입니다.

팔걸이 높이 맞추기: 의자 팔걸이와 책상 높이를 수평으로 맞춰 팔꿈치가 공중에 떠 있지 않게 하세요. 팔의 무게를 어깨가 온전히 버티면 무조건 뭉치게 됩니다.

마우스 감도(DPI) 높이기: 적은 움직임으로 화면 끝까지 이동하게 설정하여 어깨 관절 사용 범위를 줄이세요.

 

end.

'Etc > 기타정보' 카테고리의 다른 글

커피 드립  (0) 2024.05.14
관심종목  (0) 2022.05.10
eBook만드는순서_v0.33_20230418  (0) 2019.10.27
투자관련 사이트  (0) 2019.10.27

CORS(Cross-Origin Resource Sharing) 처리방안

 

1. 처리방안

1안) 서버 측에서 Access-Control-Allow-Origin 헤더를 설정하여 클라이언트의 요청 출처를 허용하는 것.

2안) 프록시 서버를 사용하거나, 브라우저 확장 프로그램을 활용하는 방법.

 

openapi 호출할 때 CORS가 발생하여, 1안으로는 해결할 수 없어서 2안으로 진행함.

 

2. 구현절차

2.1 proxy module 설치

npm install http-proxy-middleware

 

2.2 proxy module 설정

setupProxy.js 파일을 생성하고, 설정한다.

 

 - 호출 하려는 url: https://apihub.kma.go.kr/api/typ02/openApi/VilageFcstMsgService/getLandFcst?pageNo=1&numOfRows=10&dataType=JSON&regId=11B20601&authKey=인증키

 

 - proxy로 호출하는 url: http://localhost:3001/proxy/api/typ02/openApi/VilageFcstMsgService/getLandFcst?pageNo=1&numOfRows=10&dataType=JSON&regId=11B20601&authKey=인증키

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/proxy',
    createProxyMiddleware({
      target: 'https://apihub.kma.go.kr',
      changeOrigin: true,
      })
    );
};

 

매핑된 /proxy는 client에서 proxy 구분으로 사용될 뿐, 실제서버에서는 url에 들어가지 않음. (react 버전 19.2.0 기준)

 

2.3. proxy url로 호출

import React, { useState } from 'react';
import './App.css';

function App() {
  // const [temp, setTemp] = useState("");
  const [isReady, setIsReady] = useState(false);
  const [data, setData] = useState(null);
 

  const params = new URLSearchParams({
    pageNo: 1,
    numOfRows: 10,
    dataType: 'JSON',
    regId: '11B20601', // 수원지역
    authKey: '인증키'
  });

  React.useEffect(() => {
    fetch(`proxy/api/typ02/openApi/VilageFcstMsgService/getLandFcst?${params.toString()}`)
      .then(response => response.json())
      .then(data => {
        setData(data.response.body.items.item);
        setIsReady(true);
      })
      .catch(error => console.error('Error fetching data:', error));
  }, []);

  if(isReady) {
    return (
      <div className="App">
        <h1>Weather Data</h1>
        <table border="1">
          <thead>  
            <tr>
              <th>Announce Time</th>
              <th>지역코드</th>
              <th>발효번호(발표시간기준)</th>
              <th>날씨</th>
              <th>강수확률</th>
              <th>풍향1</th>
              <th>풍향2</th>
            </tr>
          </thead>
          <tbody>
            {data && data.map((item, index) => (
              <tr key={index}>
                <td>{item.announceTime}</td>
                <td>{item.regId}</td>
                <td>{item.numEf}</td>
                <td>{item.wf}</td>
                <td>{item.rnSt}</td>
                <td>{item.wd1}</td>
                <td>{item.wd2}</td>
              </tr>
            ))}
          </tbody>
        </table>
      </div>
    );
  } else {
    return (
      <div className="App">
        Loading...
      </div>
    );
  }

}

export default App;

 

 

결과

 

end.

 

'Programming Language > React' 카테고리의 다른 글

package.json 버전 표기법  (0) 2021.04.27

 

https://www.irfanview.com/

 

IrfanView - Official Homepage - One of the Most Popular Viewers Worldwide

I would like to sincerely thank all you faithful IrfanView users who send me messages of good wishes, congratulations and appreciation. THANKS ! Irfan Skiljan. About the Author

www.irfanview.com

 

최신 이미지 자동으로 보는 방법

- 기능중에, "Options > Hotfolder (watch folder)..." 를 설정하면, 해당 폴더의 최신 이미지가 업데이트되면 자동으로 표시된다.

 

 

https://supawer0728.github.io/2018/03/22/spring-multi-transaction/

 

(Spring)다중 DataSource 처리

서론Spring Application을 만들면서 여러 DataSource와 transaction이 존재하고 하나의 transaction 내에 commit과 rollback이 잘 동작하도록 하려면 어떻게 설정해야 할까? 실제로 구현을 해본 적은 없지만 세 가지

supawer0728.github.io

 

 

https://goodwoong.tistory.com/126

 

[Spring boot] 분산 트랜젝션

분산 트랜젝션이란 ? 2개 그 이상의 네트워크 상의 시스템 간의 트랜잭션. 2개의 Phase Commit으로 분산 리소스간의 All or Nothing 보장 Spring Boot 내에서 XA protocol을 사용해서 two phase commit을 진행한다. XA

goodwoong.tistory.com

 

 

https://kindloveit.tistory.com/120

 

[Spring boot] atomikos 라이브러리 활용 XA 멀티 DBMS Transacaction 구현

백엔드 개발을 할때 하나의 DB 가 아닌 여러 DB를 활용해서 개발을 해야 할 경우가 있을 수 있다. 여러 DB에 데이터를 write 할 경우에 데이터 정합성을 위한 transaction 관리가 쉽지 않을텐데 Spring boot

kindloveit.tistory.com

 

참조.

- atomikos : https://www.atomikos.com/Documentation

 

 

 

'Tools > Spring' 카테고리의 다른 글

Spring 관련 한글 문서  (0) 2023.10.06
[SpringBoot 2.7.*] H2 Jdbc 설정, schema(DDL) 및 data(DML)  (0) 2023.09.16
spring application.properties 정보  (0) 2023.08.18
J2DBC 참조  (0) 2023.05.09
web Flux 참조  (0) 2023.05.09

+ Recent posts