• [기타]클린코드 (Clean Code)

    Chapter 1. 깨끗한 코드 코드가 존재하리라 코드는 요구사항을 상세히 표현하는 수단 프로그래밍은 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업 나쁜 코드 좋은 코드는 중요하다 나쁜 코드는 프로그램, 나아가 회사를 망하게 할 수도 있다. 급해서… 서두르느라… 제대로 짤 시간이 없어서… 코드를 다듬느라 상사에게 욕 먹을까봐… 지겨워서… 다른 업무가 밀려서… 일단 나쁜...


  • [Java]List? ArrayList?

    1. List list = new ArrayList(); vs ArrayList list = new ArrayList(); 학부생 시절, 멋모르고 그저 많이 쓰니깐, 편리하니깐 ArrayList를 많이 애용하곤 했다. 물론 현업에서 일하는 지금도 많이 쓰는 녀석이다. ArrayList를 잠깐 설명하고 지나가자면, Collection 혹은 List를 인터페이스로 하여 구현한 클래스. 처음 생성했을 때 배열과 달리 기본 크기가 10으로 정해져있다....


  • [Spring]Jasypt를 이용하여 properties 파일 암호화하기

    1. pom.xml 수정 <!-- JASYPT: Spring 3.1x Simplified Encryption --> <dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt-spring31</artifactId> <version>1.9.2</version> <scope>compile</scope> </dependency> 2. Spring XML 파일 수정 <!-- Jasypt --> <bean id="environmentVariablesConfiguration" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig"> <property name="algorithm" value="PBEWithMD5AndDES" /> </bean> <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor"> <property name="config" ref="environmentVariablesConfiguration" /> <property name="password" value="EASTGLOW_PASS" /> </bean> <bean id="propertyConfigurer" class="org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer"> <constructor-arg ref="configurationEncryptor" />...


  • [Java]Session & Cookie

    1. 서론 일반적으로 웹 서비스를 구현할 때, 클라이언트마다 구분값을 주기 위해 고유의 아이디나 계정을 부여하곤 한다. 하지만 이러한 클라이언트 고유값은 파라미터로 일일이 URL마다 들고다니지 않으면(www.github.com?id=eastglow 와 같이) 일반적으로 지금 페이지에 머물고 있는 클라이언트가 어떤 클라이언트인지 알 수가 없다. 때문에 어떠한 곳에 이러한 클라이언트 정보를 담아놓고 필요할 때마다(로그인 여부 체크라든가, 권한...


  • [Java]Garbage Collection

    1. 개념 Java로 실행되는 프로그램은 JVM위에서 돌아가게 된다. 이때 프로그램은 실행을 위해 메모리를 사용하게 되는데 메모리는 유한하다. 때문에 무한대로 퍼줄 수가 없다. Garbage Collection의 Garbage는 위에서 언급한 프로그램 실행을 위해 사용된 메모리 중 회수되지 않은, 정리되지 않은 메모리 혹은 유효하지 않은 메모리 주소를 칭한다. 이러한 Garbage가 생기는 이유는 주로 Java에서는...