본문 바로가기

[JS][HTML] 브라우저 이미지 캐싱 피하기 브라우저 이미지 캐싱 피하기 요약 : 요청 url에 ? 쿼리를 추가한다. 프로필 사진을 변경하는 기능을 구현하던 중, 프로필 사진 변경요청에서 성공적인 응답을 받으면 프로필사진 태그만을 reload 하는 기능을 구현하였습니다. 태그의 src속성을 다시 초기화하면 될줄 알았지만, 이는 동작하지 않았습니다. 개발자 콘솔의 네트워크탭을 확인해보니, 아얘 서버에 있는 프로필 image에 접근하지 않는 현상을 발견하였습니다. 이유는 브라우저가 이미지를 캐싱하기때문입니다. 브라우저는 네트워크 성능 향상을 위해, 해당 페이지에서 요청한, image, file, js, css등을 캐싱하여 사용합니다.(원래 몰랐습니다 TT) 아래의 사진은 크롬의 인터넷 사용기록 삭제 기능입니다.여기서 보면, 캐시된 이미지 또는 파일 이.. 더보기
[JS] 내 이름은 다재다능 논리연산자 논리연산자 다시보기요약 : AND논리연산자 &&는 그 특성 때문에 if문 과 비슷하게 사용할 수 있다. OR논리연산자 ||는 그 특성때문에, 변수를 선언할때, 유용하게 사용할 수 있다.NOT논리연산자 !을 이용하여 어떤 값의 boolean값을 얻을 수 있다. 최근에 논리연산자를 다시보며, 새로 알게된 사실이 있습니다.논리연산자 또한, 평가후에 리턴이 있다는 것입니다.이러한 JS의 특성과 AND, OR연산자의 특성을 함께 이용하여, 생각치 못한 동작을 하게 할 수 있습니다. (좀 꼼수같은) AND 연산자 다르게 사용하기AND 연산자 &&는 좌, 우로 피연산자 2개를 가지는 연산자 입니다. 또한 &&는 좌에서 우로 평가됩니다.기본적으로 좌항과 우항이 모두 참이면 우항의 truthy한 값을 리턴하고 그 외의경.. 더보기
[JS] 유효범위와 호이스팅(hoisting) 자바스크립트 유효범위와 호이스팅 자바스크립트의 유효범위는 블록 유효범위(block scope)가 아니라 함수 유효범위(function scope) 입니다. JAVA나 C/C++같은 언어의 유효범위와는 조금 다릅니다. 123456function scopeTest() { for(var loop = 0; loop 더보기