[Tistory] [WEB기본] Servlet & JSP(EL, JSTL)

Servlet : 서블릿이란 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송 1. 동작방식 사용자(클라이언트)가 URL을 입력하면 HTTP Request가 Servlet Container로 전송합니다. 요청을 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체를 생성합니다. web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾습니다. 해당 서블릿에서 service메소드를 호출한 후 클리아언트의 GET, POST여부에 따라 doGet() 또는 doPost()를 호출합니다. doGet() or doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse객체에 응답을 보냅니다…

[Tistory] javascript

참조 타입과 동일성 테스트 let temp1 = [1,2,3]; let temp2 = [1,2,3]; temp1 === temp2 –> false 이유 : js에서 새롭게 만들어진 배열은 특정 주소값이 등록되어(즉, 배열의 고유한 주소인 참조를 갖게 됨.), temp1과 temp2의 주소값이 달라 false가 나옴. let nums = [1,2,3]; let nums2 = nums; nums === nums2 –> true 이유 : 이땐 nums 배열 자체를 nums2에 할당해줬기 때문에 메모리에서 같은 것을 참조하게 된다. 즉, 둘은 연결되어 있기 때문에 nums를 push, pop, shift(앞에서 뺌), unshift(앞에서 넣음)을 하면 nums2에도 똑같이 반영되는 것을 알 수 있다.(역도..

[Tistory] 어릴때 가난했던 자는 권력을 잡으면 부패하기 쉽다.

이명박, 박정희, 나폴레옹…이들의 공통점은 뭘까? 한마디로 별볼일 없거나 가난한 집안에 태어나 오직 자기 능력만으로 자수성가하여 입지전적인 지위에 오른 사람들이다. 물론 또 공통적으로 몰락 역시 급격했는데, 모두 권력 쟁취후의 부패 혹은 관리 실패로 권좌를 오래 유지하지 못하거나 말년이 좋지 못했던 인간들이다. 심리학책에서 읽은 건데 어릴때 가난했던 자수성가형 인물일수록 권력을 쟁취한 후에는 빠르게 부패하기 쉽다고 한다. 어릴때 유복하지 못한 한이 맺혔기 때문일까, 아니면 집안에 힘이 없어서 권력과 돈이 없는 비참함을 누구보다 잘 알기 때문일까? 그것도 아니라면 중이 고기맛을 알면 정신 못차린다고 오랜기간의 궁박함에서 오는 보상심리때문에 나중에는 돈과 권력을 더 밝히는 사람으로 변하는 것일까? 그마저..

[Tistory] [알고리즘] 그래프와 트리, 전위순회, 중위순회, 후위순회& 백준(트리 순회)

그래프 그래프는 현상이나 사물을 정점(Vertex) 또는 노드(Node), 간선(Edge)으로 표현하기 위해 사용한다. – 노드(Node) : 위치를 말함, 정점(Vertex)라고도 함 – 간선(Edge) : 위치 간의 관계를 표시한 선으로 노드를 연결한 선을 뜻함(Link 또는 Branch라고도 함) – 인접 정점(Adjacent Vertext) : 간선으로 직접 연결된 Vertex(또는 Node) 1) 무방향 그래프(undirected graph) – 방향이 없는 그래프로 간선을 통해 노드는 양방향으로 갈 수 있음 – 보통 노드 A,B가 연결되어 있을 경우 (A,B) 또는 (B,A)로 표기 2) 방향 그래프(directed graph) – 간선에 방향이 있는 그래프로 방향이 가르키는 곳으로만 갈 수 ..

[Tistory] 230327

📌웹페이지가 브라우저에 랜더링되는 과정을 설명해주세요. 렌더링이란? 서버로부터 HTML, CSS, JavaScript 등 작성한 파일을 받아 브라우저에 뿌려주는 것. 파싱 (Parsing) 프로그래밍 언어의 문법에 맞게 작성된 텍스트 문서를 읽어 들여 실행하기 위해 텍스트 문서의 문자열을 토큰으로 분해하고, 토근에 문법적 의미와 구조를 반영하여 트리 구조의 자료구조인 파스 트리를 생성하는 일련의 과정. 쉽게 말해, 브라우저가 코드를 이해하고 사용할 수 있는 구조로 변환하는 것 파싱 결과는 문서 구조를 나타내는 노드 트리인데 파싱 트리(parse tree) 또는 문법 트리(syntax tree)라고 부름. 렌더링 과정 1. 서버로부터 넘겨받은 HTML, CSS 파일 다운 2. DOM / CSSOM 생성 :..

[Tistory] 미드 시트콤 추천 (1부)

1. 브루클린 나인-나인 스트리밍 서비스 넷플릭스 개요 미국의 시트콤. 2013년 9월 FOX에서 첫 전파를 탔습니다. 2018년 봄까지 방영된 뒤 제작 중단되었다가, NBC에서 한 시즌을 더 제작하여 2019년에 방영했습니다. 뉴욕 브루클린의 99번 관할서라는 가상의 NYPD 관할서에서 벌어지는 좌충우돌을 다룹니다. 경찰이 나오는 형사물이긴 하지만 실제로는 경찰이 나오는 코미디가 더 적당한 표현, 99 관할서 형사 팀원들이 새로 부임한 서장을 모시게 되면서 이야기가 시작됩니다. 딱히 주연, 조연 가릴 것 없는 등장인물들의 개성 넘치는 캐릭터 설정과 코믹한 연기가 좋은 반응을 얻고 있습니다. 한국에서는 아는 사람만 아는 드라마였으나 넷플릭스에서 정식 서비스 되면서 가볍게 즐기기 좋은 드라마인 덕에 팬층이..

[Tistory] const로 배열, 객체에 요소나 속성을 추가할 수 있는 이유, useRef는 언제 필요할까

1. 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요 const 키워드는 변수에 할당된 값을 변경할 수 없게 만듭니다. 하지만 배열이나 객체에 요소나 속성을 추가하는 것은 해당 변수에 새로운 값을 할당하는 것이 아니라, 변수가 참조하는 메모리 영역에서 값이 변경되는 것입니다. 이러한 경우에는 const로 선언된 배열이나 객체도 요소나 속성을 추가할 수 있습니다. ex) 배열에 요소 추가 const arr = [1, 2, 3]; arr.push(4); // [1, 2, 3, 4] 위 예제에서 const로 선언된 arr 변수는 변경할 수 없습니다. 하지만 push 메서드를 사용하여 배열의 요소를 추가할 수 있습니다. 이는 push 메서드가 배열 자체를 변경하기 ..

[Tistory] [ Android Studio ] 2자리 코드를 이용한 뷰에 투명도 적용하기

안드로이드 스튜디오에서 2자리 코드를 입력하여 뷰에 투명도를 설정하는 방법에 대해 알아보도록 하겠습니다. ​위 코드처럼 완전 연두색을 나타내는 뷰의 투명도를 설정하기 위해서 따로 투명도를 설정하는 것이 아니android:background = “”에서 영문과 숫자로 이뤄진 2자리 코드를 넣어야 합니다. 투명도를 나타내는 2자리 코드는 아래와 같습니다. 100% — FF 99% — FC 98% — FA 97% — F7 96% — F5 95% — F2 94% — F0 93% — ED 92% — EB 91% — E8 90% — E6 89% — E3 88% — E0 87% — DE 86% — DB 85% — D9 84% — D6 83% — D4 82% — D1 81% — CF 80% — CC 79% — C9 7..

[Tistory] 에스엘비에스(SLBS) 갤럭시Z플립5 콜라보 핸드폰 케이스 추천! 플립수트 케이스

에스엘비에스(SLBS)는 모바일 악세사리 전문 브랜드입니다. 하지만 일반 모바일 악세사리 브랜드와 다른 점은 하드웨어와 소프트웨어가 융합되는 새로운 제품을 취급하고 있습니다. 다양한IP들(포켓몬, BTS 디지니 등)을 보유하고 있어 고객님들의 취향을 저격할 수 있는 콜라보 제품을 선보이고 있습니다. 확장하여 핸드폰에 연되는 테마나 콘텐츠를 같이 제공하고 있습니다. SLBS는 NFC*칩을 활용해서 폰의 테마나 콘텐츠를 연동하는 기술을 진행하고 있어요. 삼성과 협력을 해서 만든 제품이고, 갤럭시 같은 경우는 삼성의 OS를 인증을 받아서 진행하고 있습니다. 공개용으로 말하자면, SLBS는 NFC 칩을 활용해서 갤럭시와 연동이 되는 기술들을 가지고 있고요. 그걸 통해서 고객들한테 소프트웨어 UI, UX를 폰을 ..

[Tistory] 코루틴을 사용하면 스프링에서 비동기를 편하게 쓸 수 있을까?

개인 프로젝트 도중 사용하게 되서 써본 글입니다. 앞으로 계속 공부를 이어나갈 예정입니다. 부족하지만 잘 부탁드립니다! 코루틴 소개 코루틴은 흔히 백엔드 개발자 사이에서 코틀린에서 제공하는 기능으로 착각하고 있는 분들이 많습니다. 하지만 Javascript, C#, Go 등 이미 여러 언어에서 지원하고 있는 개념이며 새로운 개념, 기술이 아닙니다. 코루틴 소개 전 CallBack 지옥에 대해서 알아보자 콜백 지옥은 함수형 패러다임을 적용한 언어에서 등장하는 형태입니다. 함수에서 최종적인 결과를 도출하기 위해 콜백 함수를 과도하게 호출하면 콜백 지옥이 생기게 되고 이러한 코드는 가독성을 떨어트리고 디버깅을 어렵게 만듭니다. 예를 들어 단순 주문을 하는 로직을 구현한다고 가정해 봅시다. memberRepos..