본문 바로가기

개발 관련

(68)
github 레포지토리로 git push 시 오류 - refspec master does not match any. 오랜만에 github repository 에 push 를 하니 다음과 같은 오류가 났다. error: src refspec master does not match any 이러한 오류는 레파지토리에 커밋한 내용이 없기 때문에 branch 가 존재하지 않아 발생한 에러라고 한다. 커밋할 repository 가 비어있기 때문에 생긴 오류로, repository에 커밋하고자 하는 내용을 추가해 주면 된다. git add . (파일이 아예 없다면, git touch 파일명 으로 빈 파일을 만들어준다.) git commit -m "commit message" git push -u origin master 위와 같이 입력하니 해결됐다!
프로그래밍할 때 생각할 것 프로그래밍 할 때, 이를 염두에 두어야하는데 가끔 잊을 때가 있어서 기록하면서 다시 경각심을 고취시키고자 한다. 1. 머리로만 생각하지 말고, 코딩으로 실천을 꼭 옮기자2. 에러 발생 시, 그 구간을 옮겨와서 자신이 확실히 아는 부분을 제외한 나머지를 한줄 씩 점검해보자3. 프로그래밍이 잘 풀리지 않을 때는, 가장 쉬운 부분부터 하나씩 풀어나가자4. 프로그래밍은 절대 오류가 없을거야 라는 생각을 버리자. 가장 골치아픈 오류는 생각지도 못한 곳에서 발생하기 마련이다. 내가 가장 깜빡하는 부분은 4번이다.사실, 코드를 한번 고치면, 다른 곳에서 오류가 날 수도 있다는 점을 항상 염두에 두어야하는데, 사실 그게 잘 되지가 않는다.확인한다고 하는데, 가끔 오류가 나서 책임님들께 주의를 받았던 적이,,,,ㅎㅎ 코..
SQL 튜닝 팁 작년에 SQL 튜닝을 해야했던 적이 있다. 성능이 너무 느려 튜닝작업을 했었는데, 아래의 팁을 토대로 튜닝을 진행하니 메인 페이지에 접속하는 속도가 7초에서 1초대로 떨어졌던 기억이 난다. SQL 튜닝 팁은 다음과 같다. select 절에서 distinct는 피하자. where절 비교칼럼 데이터 타입은 일치시켜라 outer join, is null을 이용한 안티조인보다는 not in, not exists를 사용 outer join, union all로 full outer을 구현하기 보다는 full outer join을 사용 in을 이용한 조인보다는 exists를 사용 union 보다는 union all 을 사용 조인되는 건수가 작다면 일반적인 조인보다 스칼라 서브쿼리 사용 고려 인덱스 없이 count를 ..
#{} 와 ${} mybatis를 사용하면 심심찮게 볼 수 있는 표시. #{ } 파라미터가 string 형태로 들어오게 됨. ex) #{ user_id } -> user_id의 값이 abc라면, 쿼리문에서는 user_id='abc'의 형태라고 볼 수 있음. 때문에, 쿼리 주입 예방이 가능해, 보안 측면에서 유리함 ${ } 파라미터를 바로 출력해준다. 해당 컬럼의 자료형에 따라 파라미터의 자료형이 변경되어, 쿼리 주입 예방이 안돼 보안이 불리함 테이블이나 컬럼명을 파라미터로 전달 시 사용함