본문 바로가기

전체 글142

IIS 503 에러 1. 서론 서버에 배포를 하고, 배포된 코드에 오류가 발생하여, 여러번 반복해서 배포를 진행했더니, url을 입력해도 서버에서 503 에러를 뱉어 버림.. 2. 본론 이것도 꽤 오랜시간 삽질하였으나, 해당 사이트를 종료했다가 키면 되는 것을 확인 함. 3. 결론 IIS 내부에 응용프로그램 풀에 들어가서 해당 사이트를 중지 시켰다가 재시작 하면 해결됨. 2024. 7. 24.
Request failed with status code 405 1. 서론 프로그램 개발을 마치고, 서버에 배포해서 기능테스트를 하게 되었는데, 제목과 같은 에러가 발생했다.기술스택은 다음과 같았다. dotnet 6.0, react 18,  axios를 사용하고 있고, windows에 IIS 서버를 사용 중...2. 본론 인터넷은 검색해보니 IIS에서는 "WebDev" 라는 모듈을 기본 제공해주는 모양인데, 이 녀석이 Put 메서드와 Delete 메서드를 허용을 안한다고 한다... 이것때문에 2시간 넘게 삽질함..3. 결론아래와 같은 코드를 web.config에 추가하여 해결 !  해결해서 너무 기쁘다.. 참조https://stackoverflow.com/questions/6147181/405-method-not-allow.. 2024. 7. 24.
[Tip] 엑셀다운로드 기능 구현 시 텍스트 데이터가 날짜로 출력되는 경우(엑셀 날짜 자동 변환 현상) 0. 개요 엑셀다운로드 기능이 구현되어 있는 것을 가져다 사용하여엑셀다운로드를 진행하고, 데이터를 확인해보니, 텍스트 데이터 대신 이상한 날짜 데이터가 들어가 있었다. 1. 문제 데이터는 "5,6" 형식의 숫자 콤마 숫자로 이루어진 문자열 데이터 였으며,String 데이터로 변경해서 다운로드를 진행했음에도 불구하고 다운로드 된 엑셀 파일에서는 날짜형식으로 표기 됨.  2. 해결방법해결방법은 생각보다 간단템플릿 리터럴 문법을 사용해서 데이터 앞에 Single quote를 하나 추가해주면 엑셀에서는 이것이 텍스트 데이터라고 인지하고 날짜로 자동변환하지 않는다. 2024. 1. 11.
[React] useEffect가 2번 호출되는 이유 0. 개요 리액트에 대한 공부를 진행하면서, useEffect에 대해서 공부 하던 중, 이상한 현상을 발견했다. useEffect를 선언하였고, 컴포넌트들이 최초로 마운트 될 때에만 실행되도록 선언하였고, 언마운트시 실행되게끔 클린업 함수도 넣어주었다. (아래 코드 참조) useEffect(() => { console.log("컴포넌트가 화면에 생성"); return () => { console.log('컴포넌트가 화면에서 사라짐'); }; }, []); 그런데 실제로 yarn start로 실행하여 크롬개발자 모드로 로그를 확인하였더니, 아래와 같았다. 해당 컴포넌트가 리스트 안에 들어있어 3번 호출되는 건 맞다. 그러나 최초에 예상했던 결과는 아래 그림과 같이 "컴포넌트가 화면에 생성"이 3번 찍히는 .. 2023. 12. 30.
[C#, React]Expected a pseudo-class or pseudo-element 오류 해결법이 급하신 분들은 3.결론 만 보세요! 0.개요 평소와 같이 개발을 완료하고, 이제 개발서버에 배포를 위해서 게시작업을 진행했다. (visualStudio에서는 ASP.NET, .NET Core 및 Python 앱의 경우 게시를 통해 앱을 배포할 수 있다.) 그런데 게시가 완료되지 않고 오류를 뱉는 것이었다. 최초의 오류메시지는 아래 그림과 같았다. (ps.이와 별개로 typeScript의 오류도 밷어서 타입스크립트에 오류가 발생한 줄 알고 엄청난 삽질을 했다.) 미래의 나와 그리고 나와 같은 오류를 겪을 사람들을 위해서 기록을 남긴다. (사실 귀찮다) 1. 오류 해결을 위한 뻘짓 처음에는 위 그림의 오류와 동시에 타입스크립트 오류가 많이 발생해서, "타입스크립트 버전호환 문제인가?" 하고 다른 이.. 2023. 12. 15.
[TypeScript] TSX에서 Custom Attribute를 사용하려고 했을 때 생기는 오류 1, 오류내용 Type '{ children: any; name: any; }' is not assignable to type 'DetailedHTMLProps'. Property 'name' does not exist on type 'DetailedHTMLProps'.ts(2322) 2. 문제해결 https://ko.legacy.reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html DOM Attributes in React 16 – React Blog This blog site has been archived. Go to react.dev/blog to see the recent posts. In the past, React used to ignor.. 2023. 12. 5.
[React] 보일러 플레이트와 React 초기 폴더 설명 1. 보일러 플레이트란? 의미없이 반복되는 것들 또는 코드들. ex) JAVA의 getter/setter 또는 npx create-next-app을 입력했을 때 생성되는 초기 폴더 구조와 같이 항상 같은 구조로 사용하는 것들을 의미. (보일러 플레이트는 회사마다 다를 수 있다.) 2. React 초기 폴더가 의미하는 것들 myapp ├── node_modules // 라이브러리, 프레임워크 저장소 (npm install 받은거 저장됨) ├── pages // 프론트 엔드의 페이지 화면들 (js 파일이 들어간다) ├── public // 사진, 아이콘 등 ├── style // css 파일 ├── .gitignore // git에서 제외할 파일 ├── package-lock.json // npm insta.. 2023. 9. 24.
[React] node.js, npm, yarn의 이해 1. node.js 일반적으로 Python 또는 JAVA 또는 C#으로 브라우저로 실행되는 웹앱을 만들려고 하면, 무조건 JavaScript을 알아야 한다. 왜냐하면! 브라우저에서 실행될 수 있는 것들은 HTML, CSS, JavaScript이기 때문이다. HTML이 form, CSS가 스타일, JavaScript가 동작을 담당한다. 웹개발자로써 Python 또는 JAVA, C#을 다뤄보지 않은 개발자들은 많지만, JavaScript를 다뤄보지 않은 개발자는 드물다. 그렇기 때문에 이 JavaScript라는 언어를 가지고, 브라우저 밖에서도 실행가능한 앱을 만들고 싶어하는 사람들이 생겼을 것이고, 이를 실현가능하게 해준 것이 node.js이다. 쉽게 생각하면 JavaScript로 작성된 로직들을 실행해주.. 2023. 9. 20.
[pg] 프로그래머스 미로탈출 1. 문제 정의 전형적인 길찾기 문제이다. 지도가 주어지고 o로 된 곳은 지나갈 수 있는 곳 x로 된 곳은 벽으로 막힌 곳이다. 맵 안에는 start 지점, 레버, exit 지점이 있으며, start 지점에서 출발해 레버를 찍고 exit지점에 가야 탈출할 수 있다. 맵의 크기는 5x5 부터 100x100까지 가능하다. 2. 내가 한 시도 전형적인 BFS문제였다. 그런데 이 문제에서 BFS로직 만으로는 해결할 수는 없었다. 바로 레버 때문이었는데, 레버에 도착 후 다시 돌아가야하는 경우가 있는데, 이 경우 BFS 썼다면 vistied가 이미 뒤로는 갈 수없기 때문에 그 시점에서 전진이 안되고 끝나버리는 경우가 생겼다. 사실 정말 간단한 발상의 전환만으로도 해결이 가능했지만, 나는 끝내 해결법을 떠올리지 못.. 2023. 9. 9.