전체 글 69

Spring - HttpSessionListener 로그인 세션 관리(중복 로그인 방지하기)

웹을 하다보면 자주 접하는 중복 로그인 방지 기능 요청사항이 들어오는데, HttpSessionListener를 통해 관리할 수 있습니다. 해당 객체는 Session이 생성되거나 제거될때 발생하는 이벤트를 제공하므로 등록만 해주면 세션을 통제할 수 있습니다. HttpSessionListener @WebListenerpublic class SessionConfig implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent hse) { //세션 생성시 } @Override public void sessionDestroyed(HttpSessionEvent hse) { //세션 삭제시 ..

program/java 2025.12.28

자바스크립트 파일 하나로 돈 버는 비결

자바스크립트로 돈 버는 방법 중 하나로 브라우저 확장 기능 개발이 있어요. 비교적 만들기 쉬우면서도 큰 수익을 내는 사례들이 꽤 많죠. 💰1. 브라우저 확장 기능, 왜 주목해야 할까?* 높은 수익 잠재력: 간단한 아이디어로 시작해도 큰 성공을 거둘 수 있어요. * Honey: 쇼핑몰 할인 쿠폰 자동 적용 기능으로 시작해 페이팔(PayPal)에 거액으로 인수되었죠. 🍯 * Grammarly: 원래 문법 교정 사이트였지만, 브라우저 확장 기능을 출시하며 사용자가 폭발적으로 증가했고, 연 2천억 원 이상의 수익을 내고 있어요. ✍️ * CSS Peeper: 웹사이트 CSS 속성을 쉽게 확인하는 기능으로, 라이선스 판매를 통해 상당한 수익을 올렸어요. 🎨 * 이메일 ..

etc 2025.06.16

[javascript] 모듈 .mjs Vs .js

.mjs Vs .js 원래 Node.js의 모듈 시스템은 commonjs를 사용했습니다(require과 module.exports를 사용하는..) 그러다가 ECMAscript 모듈 시스템이 표준이 되었고, Node.js는 이를 지원하게 되었습니다. Node.js 는 .cjs 파일로 commonjs 모듈 시스템을 지원했고, .mjs파일로 ECMAsript 모듈 시스템을 지원했습니다. 그러고 js파일은 둘 다 모두를 지원하게 되었습니다. (default는 commonjs) (package.json에 "type" :"module"쓰면 ecma 모듈 지원) .JS const b = require("./main2.js"); console.log(b.a); 받아오는 js function hello() { retur..

program/javascript 2024.02.12

[MySQL] 테이블 수정 (ALTER TABLE)

컬럼 추가 (Add) ALTER TABLE table_name ADD COLUMN ex_column varchar(32) NOT NULL; 컬럼 변경 (Modify) ALTER TABLE table_name MODIFY COLUMN ex_column varchar(16) NULL; 컬럼 이름까지 변경 (Change) ALTER TABLE table_name CHANGE COLUMN ex_column ex_column2 varchar(16) NULL; 컬럼 삭제 (Drop) ALTER TABLE table_name DROP COLUMN ex_column; 테이블 이름 변경 (RENAME) ALTER TABLE table_name1 RENAME table_name2; 컬럼 이름 변경 ALTER TABLE s..

DB 2024.02.12

[css] bootstrap

https://getbootstrap.com/ Bootstrap Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins. getbootstrap.com link 복사 Hello, world! 번역된 부트스트랩 https://getbootstrap.kr/ Bootstrap 강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, ..

[db] mysql select 문 실행순서

SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT 아래의 순서대로 해석 및 실행됨 FROM WHERE GROUP BY HAVING SELECT ORDER BY LIMIT FROM: 어느 테이블을 대상으로 할 것인지를 먼저 결정합니다. WHERE: 해당 테이블에서 특정 조건(들)을 만족하는 row들만 선별합니다. GROUP BY: row들을 그루핑 기준대로 그루핑합니다. 하나의 그룹은 하나의 row로 표현됩니다. HAVING: 그루핑 작업 후 생성된 여러 그룹들 중에서, 특정 조건(들)을 만족하는 그룹들만 선별합니다. SELECT: 모든 컬럼 또는 특정 컬럼들을 조회합니다. SELECT 절에서 컬럼 이름에 alias를 붙인 게 있다면, 이 이후 단계(ORDER BY, ..

DB 2024.02.04

[html] 테이블

Premium Standard Basic 화질 최대 FHD HD 다운로드 무제한 월 30회 불가 ₩15,900 ₩10,900 ₩8,900 table { border: 1px solid red; /* 표 전체의 테두리를 빨간색으로 */ } th { border: 1px solid green; /* 제목 셀의 테두리를 초록색으로 */ } td { border: 1px solid blue; /* 각 셀의 테두리를 파란색으로 */ } table { border: 1px solid red; border-collapse: collapse; /*테두리 겹치기 */ } th { border: 1px solid green; } td { border: 1px solid blue; } table { border: 1px s..