안녕하세요. 이번에 좋은 기회로 수강을 하게 되었는데요. 아직 강의 초반이긴 하지만 협업 관련 궁금해서 문의드립니다 깃허브에 A라는 프로젝트가 올라가 있습니다. 이를 로컬 pc에서 clone을 이용해서 다운로드 하여서 이클립스에 import를 하였습니다. 해당 프로젝트를 B라고 하겠습니다. A프로젝트는 tomcat7, jdk8 구성이었고 로컬PC는 tomcat9, jdk8 환경입니다. A프로젝트를 로컬로 가져온 B프로젝트에서 tomcat을 9로 설정하니 .classpath .settings/org.eclipse.wst.common.component .settings/org.eclipse.wst.common.project.facet.core.xml 등이 새로 생기더라고요 보니깐 A프로젝트를 깃허브에 올릴때 환경과 B프로젝트에서의 환경차이로 인해 생기는거 같은데요. 처음부터 .ignore 를 썼으면 모르겠지만, ignore에 작성을 하지 않아서 위의 파일들이 tracking 대상이 되는거 같습니다. 여기서 제가 하고 싶었던건 환경차이로 인해 생긴 B프로젝트의 .classpath파일같은 것을 더 이상 tracking하지 않고 B프로젝트에서 수정만 소스만 깃허브에 올리고 싶습니다. 그래서 인터넷에 찾아보니 .gitignore를 수정하고 git rm -r --cached git add . git commit -m 'remove ignore' git push {remote}{brach} 이렇게 ignore 를 수정해서 다시 올리는 방법이 있더라고요. 저렇게 해서 올리면 일단 history에 ignore 수정한 내역이 올라옵니다. 여기서 궁금했던게 깃허브에 있는 A프로젝트를 다른 제 3자가 pull을 해서 받습니다. 이때 gitIgnore로 추가한 .classpath 등의 파일이 삭제된 상태로 제3자한테 pull이 됩니다 ㅠㅠ 간략 요략드리면 A프로젝트의 .classpath는 그대로 유지하면서 로컬의 gitIgnore 대상이 아니라서 tracking 대상이 된 B프로젝트의 .classpath 파일만 tracking 대상에서 제외할수 잇는 방법은 없을까요? A프로젝트의 저런 환경파일들이 실제 서버의 배포환경부분이 포함되어 있다면 이 부분은 건들지 않고 그대류 유지만 하고 수정한 소스만 올리고 싶어서요...... 말로 하니 설명이 기네요 ㅠㅠ
안녕하세요 제로초님 강의 잘 듣고 있습니다. 이번 강의에서 컴포넌트 분리하는 방법을 배웠는데요. 혹시 함수 부분도 기능별로 분리할 수 있는지 궁금합니다. 또 리액트에서 스타일 작업을 할때는 기존에 html에 css를 link 걸었던 방식대로 하면 될까요? 너무 초보적인 질문인가 싶긴 하지만 궁금해서 질문 남겨봅니다ㅎㅎ
(node:17608) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at C:\Users\oksos\Desktop\study\PTE\loginWeb\client\node_modules\postcss-safe-parser\node_modules\postcss\package.json. Update this package.json to use a subpath pattern like "./*". (Use `node --trace-deprecation ...` to show where the warning was created) createProxyMiddleware is not a function
copy . . RUN npm install 와 COPY package. json . RUN npm install COPY . . 의 차이에서 궁금해서 질문 드립니다. 전체를 복사해오면 package.json 파일도 같이 컨테이너 안에 이동되는게 아닌가요? 왜 완성본 도커파일에서는 RUN npm install 할때 캐시에서 가져오는거죠...? 여기서의 캐시란 컨테이너의 캐시인가요? 아니면 바깥(도커 환경 전체 ) 의 캐시인가요? 그리고 저는 build과정을 기존에 있던 도커파일로 만들더라도 (수정 후 재빌드라고 가정) 새로운 img id, 새로운 container id를 갖는 별개의 컨테이너가 생긴다고 이해를 했는데 무언가 잘못 이해한걸까요...? 도대체 재빌드 과정의 캐시는 어디서 있는 누구인지 궁금합니다. 아니면 DOCKERFILE이 하나 일때는 기존에 만들었던 이미지를 토대로 컨테이너를 생성하고, 그 이미지가 특정 캐시를 가진 걸까요??(이쪽이 좀 더 맞아 보이긴 합니다) 근데 이렇게 이해를 해도 npm install을 웹상에서 다 해오는것과 캐시에서 가져오는 것의 상황 차이에 대해 이해가 잘 안됩니다. 답변 부탁드리겠습니다
for i in range ( 1 ,n+ 1 ): for j in range ( 1 , n+ 1 ): if (a[i][j] > max (a[i- 1 ][j], a[i][j- 1 ], a[i+ 1 ][j], a[i][j+ 1 ])): cnt+= 1 이런 식으로 푸는 건 별로인가요?
안녕하세요! 수업 잘 듣고 있습니다. 무엇이 문제인지 모르겠는데... 입력 커서가 자꾸 자기 멋대로 이동됩니다ㅜㅜ 예를 들어 10줄에서 입력을 하다가, 잠깐 5줄로 되돌아가 입력한 내용을 수정하거나 빈 줄에 내용을 추가 하려고 하면 커서가 바로 10줄에 있던 마지막 위치로 되돌아가서 5줄에 입력이 안 됩니다ㅜㅜ 되돌아갈 때 마지막 입력 단어가 지워지고 새로 입력하는 내용으로 대체돼서 자꾸 내용이 지워지고요. 무엇이 문제일까요... ㅜㅜ
조합처럼 이렇게 풀었는데 in1,in2까지는 정답이 잘 맞는데 그 이후에는 답이 틀리게 나옵니다. 어떤 부분이 잘못되었을까요? def DFS(s, time, score): global res if time>m : if score-a[s-1][0]>res: # print("score %d" %(score-a[s-1][0])) res=score-a[s-1][0] else: for i in range(s, n): DFS(i+1,time+a[i][1],score+a[i][0]) n, m=map(int, input().split()) a=[] for i in range(n): x1,x2 = map(int, input().split()) a.append((x1,x2)) res=0 DFS(0,0,0) print(res)
간단한 궁금증입니다.. map()과 forEach()의 세세한 차이점은 검색을 해봤는데 map메소드가 보통 성능 면에서도 더 빠르고 기존의 데이터를 변형시키지 않고 새로운 배열을 반환하기 때문에 기존 데이터가 필요한 경우에도 쓸 수 있을 것 같다는 생각이 들었습니다. 강사님은 각각 어떤 경우에 map()과 forEach()를 사용하시는지 여쭤보고 싶습니다!