TIL

[TIL] 2022-11-02

아몬드통 2022. 11. 2. 23:39

1. 스프링부트와 AWS로 배우는 혼자 구현하는 웹서비스 책 공부하면서 Security로 인해서 막히고 에러 나는 부분들을 설정해주는 방법과 각각의 의미

@Override
    protected void configure(HttpSecurity http) throws Exception {

        http


                .csrf().disable()   //시큐리티는 기본적으로 csrf 공격을 막는 것이 default인데 개발동안 비활성화 시킴
                .authorizeRequests()    //시큐리티 처리에 HttpServletRequest를 이용한다는 의미. 클라이언트의 요청정보를 활용한다고 보면 됨
                .antMatchers("/").permitAll()   //"/"경로를 permitAll 해준다. 즉 허용해준다는 뜻
                .antMatchers("/h2-console/**)").permitAll() // "/h2-console/**"경로를 모든 사용자가 접근 가능하게 해준다.
                .and()
                .headers().frameOptions().sameOrigin(); //X-Frame-Options 응답 헤더 설정. <iframe>,<frame> 등의 공격을 막기 위해서 설정되어 있어서 h2-console이 안들어가진다.
                //그래서 같은 도메인에서는 접근이 가능하도록 sameOrigin으로 설정. disable하면 비활성화도 가능하다.
                //참고사이트1: https://zyngirok.com/entry/Java-Spring-H2-Localhost-%EC%97%B0%EA%B2%B0%EC%9D%84-%EA%B1%B0%EB%B6%80
                //참고사이트2: https://gigas-blog.tistory.com/124


    }


2. javascript에서 if(i & 1 === 0) 이런식의 &연산을 할때는 꼭 &연산식 부분에  if((i & 1) === 0) 이렇게 ()를 붙여주자 아니면 의도하지 않은 결과가 나온다.

3.  javascript에서 아스키코드 변환을 제공해주는 메서드
- charCodeAt / fromCharCode
   charCodeAt: 문자열 to 아스키코드
   fromCharCode: 아스키코드 to 문자열

4. javascript에서 문자열을 배열로 만들고 싶을때 str.split('') 하면 배열로 만들어주고 .join('')을 하면 다시 합쳐준다.

5. javascript에서 array.map이나 array.filter는 불변객체로 새로운 배열을 반환해주는 반면 array.sort는 원본 배열을 정렬한다. 이 점을 주의해서 사용해야할 듯

6. n개에서 r개 를 뽑는 경우의 수는 nCr 이라고 표현하며 이를 조합이라고 부른다. 공식으로는
n! / ((n-r)! * r) 이다. 이때 ! fatorial이다.

7. javascript에서 배열의 요소를 추가하는 여러방법 참고 https://developer-talk.tistory.com/154
 . javascript에서 배열의 요소를 삭제하는 여러방법 참고 https://developer-talk.tistory.com/153


8. java나 javascript나 둘 모두 sort에서 비교 검사를 할때 기본적으로 asc(내림차순) 이고 이때 비교 조건을 양수, 음수 0 으로 판단하는 게 보통이다. asc가 기본 정렬일때 a - b 를 해서 나오는 값이 양수이면 앞의 값이 크다는 말이므로 두 수를 바꾼다. 이런 방식으로 계속 해 나가면 asc로 정렬이 된다. 반대로 음수이면 바꾸지 않기 때문에 그대로 둔다. 그리고 desc 로 하고 싶다면 입력값 순서가 (a, b) 인 상태에서 
b - a를 하면 a가 큰수라면 음수가 나오기 때문에 바꾸지 않는다. 그러므로 내림차순으로 정렬 할 수 있다.