본문 바로가기
728x90

IT관련/정리35

[IT용어] StringBuilder 개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요. StringBuilder를 사용하는 이유 ① str이 가르키는 객체와 str2가 가르키는 객체가 같기때문에 결과는 true가 나온다. ② str이 가르키는 객체와 str2가 가르키는 객체가 다르기때문에 결과는 false가 나온다. ③ str이 가르키는 객체와 str2가 가르키는 객체가 다르기때문에 결과는 false가 나온다. ①과 같이 코드를 짜게 되면 같은 내용을 재사용할 수 있어서 효율적이고 좋은 것 같다. 그러나 아래와 같은 상황에서 봤을 때 결과값은 '***'인데, 메모리상으로는 '*', '**', '***' 이렇게 3가지가 생기기때문에 비효율적이다. 위의 상황이 왜 비효율적인지 이해가 안되면 아래와 같은 상황을 보자. '100개짜.. 2020. 8. 3.
[IT용어] RSA 암호 개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요. RSA 암호는 공개키 암호시스템의 하나로 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘이다. 1978년 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)의 연구에 의해 체계화되었으며, RSA라는 이름은 이들 3명의 이름 앞글자를 딴 것이다. 이 세 발명자는 이 공로로 2002년 튜링상을 수상했다. ※ 사실상 첫개발자는 1973년 영국 GCHQ의 수학자였으나 이는 비밀로 취급됐었고 1997년에서야 밝혀졌다. RSA 암호체계의 안정성은 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 기반을 두고 있다. 그러므로 큰 수의 소인수 분해를 획기적으로 빠르게 할 수 있는 알고.. 2020. 8. 2.
[IT용어] 에이젝스(Ajax) 개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요. 자바스크립트를 이용해서 내부적으로 통신을 할 수 있는 방식이다. 웹페이지가 실행됐을 때 기본적으로 로딩되는 것과 동기화 되지않고 따로 실행시켰을 때야 로딩이 되게 해준다. 특히 액티브X나 플래시등에 비해 가볍고 속도가 빨라 차세대 웹기술로 각광받고 있다. Ajax는 Asynchronous JavaScript and XML약자로 비동기적 자바스크립트&XML을 의미한다. 즉, 자바스크립트와 XML을 이용하여 비동기적으로 서버와 브라우저가 데이터를 공유하는 방식을 말한다. 그런데 예전에는 API로 XMLHttpRequest를 사용해서 통신을 했지만 지금은 XML말고도 JSON이나 다른 프로그램을 많이 이용한다. 2020. 7. 31.
[IT용어] 디바운싱(debouncing)과 스로틀링(throttling) 개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요. 웹프로그램이 구동될 때 접속자가 몰리면 동시간 대에 수많은 이벤트가 발생한다. 이때 어떤 함수에는 병목현상이 생기기도 하고 서버에는 부하가 걸린다. 그 결과, 사용자의 화면은 느려지거나 정지하는 문제가 생길 수 있다. 디바운싱(debouncing)과 스로틀링(throttling)은 특정 함수 그룹을 호출할 때 시간간격을 두어 실행되도록 하여 위 문제를 개선하도록 돕는 기능이다. 그 중 디바운싱은 순간적인 이벤트를 그룹화하여 하나로만들고 임의의 시간이 지난 후 마지막 함수만 호출하도록 구조화하는 것이며, 스로톨링은 일정한 실행의 흐름을 만들기 위해 마지막함수가 호출된 후 설정한 시간동안 다시 호출되는 것을 방지한 것이다. 2020. 7. 29.
스프링부트(Spring Boot) 소개 개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요. 스프링부트를 사용하면 "실행"할 수있는 독립형 프로덕션급 Spring 기반 응용 프로그램을 쉽게 만들 수 있다. 한마디로 스프링부트를 이용하면 스프링보다 편하게 작업할 수 있다. 가령 스프링으로 작업할 때는 외부 라이브러리를 사용하려면 jar파일을 따로 다운받아서 넣어야했다. 그런데 스프링부트를 이용하면 maven을 통해 명령만으로 자동으로 다운받을 수 있다. ※ packaging은 war또는 jar로 선택할 수 있는데, war을 선택하면 톰캣은 필요없고 jar를 선택하면 톰캣이 필요하다. 이건 뭐가 더 좋다기보단 서버환경에 따라 다르게 설정해주는 것 아무튼 스프링부트는 스프링보다 편하게 프로그래밍하도록 돕는 기능들이 많다. 2020. 7. 28.
728x90
반응형