요즘 Python을 만지다보니 linux는 별 문제가 없는데 윈도우 환경에서는 영 뭔가 불편하기 짝이 없었다.

다행히도 windows 7 부터 기본프로그램으로 탑재된 Windows Powershell 이 있어 써보고자 했는데 기본 속성 

설정에는 어디에도 font 를 바꾸는게 없었다.

짧은 개발 경력에도 불구하고 익숙해져버린 나눔고딕코딩으로 바꾸기 위해서는 간단한 설정이 필요했다


0. powershell 옵션에서 현재 코드 페이지 번호 찾기


1. windows + R

2. regedit

3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

4. 현재 코드 번호 페이지의 데이터를 원하는 font로 수정


신고

'12.OS' 카테고리의 다른 글

Windows Powershell font 바꾸기  (0) 2013.06.11
linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Posted by Stewie

linux 상에서 수집된 log를 parsing 해서 입맛에 맞게 사용하고 싶을 때 쓰면 좋을 명령어들


  • uniq : distict 와 유사함
  • sort : 정렬
  • awk
    • -F : file separator 지정
    • 기본 문법
      • awk   [-f prog-file]   [-F c]   [ 'pattern {action}' ]   [filename]
    • 예시
      • cat {file} | awk '{ split($0,arr,","); printf("%s,%s\n",arr[6],arr[11]); }' | sort | uniq -c
      • 혹은 cat {file} | awk -F '`' 'printf("%s,%s\n",arr[6],arr[11]); }' | sort | uniq -c


신고

'12.OS' 카테고리의 다른 글

Windows Powershell font 바꾸기  (0) 2013.06.11
linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Posted by Stewie


사용하고 있는 인터넷에 private proxy server가 있는 경우 설정을 해줘야지만 AWS의 s3에 정상적인 접근이 가능하다.

주로 많이 사용되고 있는 2개의 Lib사용법을 정리한다.


<AWS SDK>

AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
ClientConfiguration configuration = new ClientConfiguration();
configuration.setProxyHost({host});
configuration.setProxyPort({port});
configuration.setProtocol(Protocol.HTTP); // PROXY 서버가 HTTP 인 경우
AmazonS3Client s3Client = new AmazonS3Client(awsCredentials, configuration);


<Jets3t>

AWSCredentials awsCredentials = new AWSCredentials(accessKey, secretKey);
Jets3tProperties properties = Jets3tProperties.getInstance(Constants.JETS3T_PROPERTIES_FILENAME);
properties.setProperty("httpclient.proxy-autodetect", "false"); // 필수
properties.setProperty("httpclient.proxy-host", {host});
properties.setProperty("httpclient.proxy-port", {port});
properties.setProperty("s3service.https-only", "false"); // PROXY 서버가 HTTP 인 경우
S3Service s3Service = new RestS3Service(awsCredentials, null, null, properties);
신고
Posted by Stewie

yum install을 통한 MySQL 설치 간단 정리


1. 의존성 있는 것과 함께 몽땅 설치

yum install mysql mysql-server mysql-connector-odbc mysql-devel


2. 서버 용량에 따라 다양한 conf 파일을 제공해 준다. (/usr/share/mysql/)

/etc/my.cnf 로 copy 하면 OK


3. 기본 mysql DB 설치 및 권한 변경

mysql_install_db && chown -R mysql:mysql /var/lib/mysql/


4. root 권한으로 접속

mysql mysql


5. user 추가

grant all privileges on *.* to 'testuser'@'localhost' identified by '{password}' with grant option;
grant all privileges on *.* to 'testuser'@'%' identified by '{password}' with grant option;


신고
Posted by Stewie

mod_proxy vs. mod_jk


So what to use when? It depends on your topology. In case you already have or need Apache 2.2 functionality you have the choice to choose between mod_proxy and mod_jk. Mod_jk works very well on Apache 2.2, so it all depends on the functionality needed: 


mod_proxy
  • Pros:
    • No need for a separate module compilation and maintenance. mod_proxy, mod_proxy_http, mod_proxy_ajp and mod_proxy_balancer comes as part of standard Apache 2.2+ distribution
    • Ability to use http https or AJP protocols, even within the same balancer.
  • Cons:
    • mod_proxy_ajp does not support large 8K+ packet sizes.
    • Basic load balancer
    • Does not support Domain model clustering

mod_jk
  • Pros:
    • Advanced load balancer
    • Advanced node failure detection
    • Support for large AJP packet sizes
  • Cons:
    • Need to build and maintain a separate module


출처 : https://community.jboss.org/people/mladen.turk/blog/2007/07/16/comparing-modproxy-and-modjk

신고
Posted by Stewie


maven으로 의존 lib들과 함께 java application package 방법


java application package 방법


1. executable jar with dependencies

=> 의존 lib들을 .class 파일로 하나의 jar 파일 안에 package 


# maven-assembly-plugin

- 의존 lib들중 menifest (namespace) 파일이 겹치는 경우 가장 마지막 것만 남음


			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-assembly-plugin</artifactId>

				<version>2.2.1</version>

				<configuration>

					<descriptorRefs>

						<descriptorRef>jar-with-dependencies</descriptorRef>

					</descriptorRefs>

					<archive>

						<manifest>

							<mainClass>com.stewie.test.Main</mainClass>

						</manifest>

					</archive>

				</configuration>

				<executions>

					<execution>

						<phase>package</phase>

						<goals>

							<goal>assembly</goal>

						</goals>

					</execution>

				</executions>

			</plugin>


# maven-shade-plugin

- 설정으로 manifest 파일을 append하여 namespace 문제 해결 가능


<예제>

			<plugin>

				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-shade-plugin</artifactId>

				<version>1.7.1</version>

				<executions>

					<execution>

						<phase>package</phase>

						<goals>

							<goal>shade</goal>

						</goals>

						<configuration>

							<transformers>

								<transformer

									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

									<mainClass>com.stewie.test.Main</mainClass>

								</transformer>

								<transformer

									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

									<resource>properties.properties</resource>

								</transformer>

								<transformer

									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">

									<resource>applicationContext.xml</resource>

								</transformer>

							</transformers>

						</configuration>

					</execution>

				</executions>

			</plugin>



2. /${dist}.jar , /lib, /bin 형태의 tar로 package 방법


# maven-assembly-plugin 사용


		<plugins>

			<plugin>

				<artifactId>maven-assembly-plugin</artifactId>

				<executions>

					<execution>

						<id>distribution-assembly</id>

						<phase>package</phase>

						<goals>

							<goal>single</goal>

						</goals>

						<configuration>

							<descriptors>

								<descriptor>assembly/assembly.xml</descriptor>

							</descriptors>

							<finalName>${filename}</finalName>

							<appendAssemblyId>false</appendAssemblyId>

						</configuration>

					</execution>

				</executions>

			</plugin>

		</plugins>

- 필요한 descriptor 예시 (참조 : http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html)


<?xml version="1.0" encoding="UTF-8"?>

<assembly

	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"

	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

	<id>zip</id>

	<formats>

		<format>tar</format>

	</formats>

	<includeBaseDirectory>false</includeBaseDirectory>



	<dependencySets>

		<dependencySet>

			<includes>

				<include>.....</include>

        ..

        ..

			</includes>

			<outputDirectory>lib</outputDirectory>

			<unpack>false</unpack>

		</dependencySet>

	</dependencySets>

	<fileSets>

		<fileSet>

			<directory>${basedir}</directory>

			<outputDirectory>/</outputDirectory>

			<includes>

				<include>**/*.jar</include>

			</includes>

		</fileSet>

	</fileSets>

</assembly>


// 사족으로 moduleset은 생각보다 작동이 션찮다

신고
Posted by Stewie

apache ab

07.Web 2012.10.09 09:27

apache ab는 벤치마크 툴로서 서버 및 웹 어플리케이션의 성능 측정에 사용된다.

가장 많이 쓰여지는 옵션은 -t, -c, -n 정도 인 것 같다.


심심해서 http://www.naver.com 으로 테스트를 해봤다.


$ ab -t 10 -c 10 http://www.naver.com/

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Copyright 2006 The Apache Software Foundation, http://www.apache.org/


Benchmarking www.naver.com (be patient)

Finished 410 requests



Server Software:        nginx

Server Hostname:        www.naver.com

Server Port:            80


Document Path:          /

Document Length:        109954 bytes


Concurrency Level:      10

Time taken for tests:   10.5510 seconds

Complete requests:      410

Failed requests:        408

   (Connect: 0, Length: 408, Exceptions: 0)

Write errors:           0

Total transferred:      44177669 bytes

HTML transferred:       44040476 bytes

Requests per second:    40.98 [#/sec] (mean)

Time per request:       244.037 [ms] (mean)

Time per request:       24.404 [ms] (mean, across all concurrent requests)

Transfer rate:          4311.82 [Kbytes/sec] received


Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:       12   30 208.9     16    3014

Processing:   115  202 295.1    144    3664

Waiting:       15   27 148.3     20    3021

Total:        131  233 364.9    160    3685


Percentage of the requests served within a certain time (ms)

  50%    160

  66%    167

  75%    174

  80%    180

  90%    441

  95%    491

  98%    544

  99%   3161

 100%   3685 (longest request)


역시 예상했던 것 처럼 nginx를 사용중이다.

실제 업무에서 사용해보진 못했지만 httpd 수준으로 알아둬야겠다.

신고
Posted by Stewie


Array를 List로 만들 때 흔히 Arrays.asList( .. )를 사용했었는데 여기에는 큰 단점(?) 이 있다.

이렇게 만들어지는 List는 흔히 unmodifiable이라 하여 remove 및 add를 할 수 가 없다.

해서 사용되는 다른 대안이 있는데


1번은 remove/add에 이 같은 Exception이 발생하고

2번은 reference가 그대로 전해지는 스타일이고

3번은 copy이기 때문에 reference는 없어지지만 불필요하게 2개 생성되는 케이스가 될 수 있다.



public class ArraysTest {
	public static void main(String[] args) {
		String[] strArrays = {"a", "b", "c", "d", "f", "g", "h", "i"};
		// 1
		List strList = Arrays.asList(strArrays);
		// 2
		List strList = new ArrayList();
		Collections.addAll(strList, strArrays);
		// 3
		List strList = new ArrayList(Arrays.asList(strArrays));
		System.out.println(strList.remove(0));
	}
}
신고

'01.Java' 카테고리의 다른 글

Arrays.asList의 UnsupportedOperationException  (1) 2012.09.05
Apache Flume-NG structure  (0) 2012.07.18
JMX Url  (0) 2012.04.02
run Hadoop Mapreduce Job Remotely(Cluster)  (0) 2012.03.13
Exception Handling vs. Error Logging  (0) 2012.02.14
JUnit Test. 그리고 Stub, Mock  (0) 2011.12.27
Posted by Stewie

Eclipse 4.2 + plugins

05.IDE 2012.08.30 19:47

3.x 와 4.x가 공존하던 중 4.2 Juno가 Main Version이 된 것 같다

새롭게 설치하면서 간만에 plugins update site를 정리해봤다.

물론 내가 쓰는 것만 -_-;


-m2eclipse

http://download.eclipse.org/technology/m2e/releases


-zookeeper

http://www.massedynamic.org/eclipse/updates/


-pmd

http://pmd.sourceforge.net/eclipse


-properties editor

http://propedit.sourceforge.jp/eclipse/updates/


-subversive

http://download.eclipse.org/technology/subversive/1.0/update-site/


-emma

http://update.eclemma.org/

+ jad, jadclipse

신고

'05.IDE' 카테고리의 다른 글

Eclipse 4.2 + plugins  (0) 2012.08.30
Runtime ClassNotFoundExceptions may result 문제 해결  (0) 2011.05.16
CVS fileattr.xml 에러 발생 해결  (0) 2009.10.20
Subversion을 이용한 형상관리  (0) 2009.10.08
TOW All-in-One 설치하기  (0) 2009.09.29
Posted by Stewie


신고

'01.Java' 카테고리의 다른 글

Arrays.asList의 UnsupportedOperationException  (1) 2012.09.05
Apache Flume-NG structure  (0) 2012.07.18
JMX Url  (0) 2012.04.02
run Hadoop Mapreduce Job Remotely(Cluster)  (0) 2012.03.13
Exception Handling vs. Error Logging  (0) 2012.02.14
JUnit Test. 그리고 Stub, Mock  (0) 2011.12.27
Posted by Stewie


티스토리 툴바