ORACLE


SELECT * 

FROM USER_OBJECTS

WHERE OBJECT_TYPE ='TABLE'

ORDER BY OBJECT_NAME


MS-SQL


SELECT * 

FROM sysobjects 

WHERE type = 'U' 

ORDER BY name


MySQL


SELECT *

FROM INFORMATION_SCHEMA.TABLES 

WHERE TABLE_SCHEMA = '계정명'

linux 환경


명령어

cd /usr/local/apache


웹서버를 시작

pico : text editer

pico /usr/local/apache/conf/httpd.conf



위치

1. /usr/local/apache

2. 



수정

#ServerName 

이란 것이 주석 처리(#) 이 되어 있을 것이다.

이것을 주석을 지우고 도메인을 입력하도록 하자.


변경후 

ServerName sansung.net



아파치 웹서버 httpds.conf 서버설정에 대해 정리한다.


ServerAdmin

- 관리자 이메일 주소를 설정한다. ServerSignature 값이 Email로 설정되었을 경우, 이메일 주소는 404, 500 에러가 발생했을 경우 에러 화면에 해당 이메일 주소가 표시된다.


DocumentRoot

- 웹 프로젝트가 있는 루트 디렉토리를 지정한다.

- 기본설정은 /var/www/html이다.

- 가상호스트에서도 사용할 수 있으므로 가상 호스트마다 각각 다른 웹 프로젝트 서비스가 가능해진다.


DirectoryIndex

- 웹요청 주소가 디렉토리만 있고 파일명이 없을 때 기본적으로 읽어서 전송할 파일명을 설정한다.

- index.html index.jsp 등


<Directory 디렉토리명></Directory>

- 디렉토리 단위별로 설정하는 지시자다. Location 지시자와 비슷하나 차이점은 Location은 URL을 기반으로 한다는 것이다. Directory 지시자는 로컬 파일의 경로를 대상으로 한다.

- 주로 Options와 접근권한을 설정하는 경우가 많다.


- 예제)

<Directory "/var/www/html">

  Options Indexs FollowSymLinks

  AllowOverride None

  Order allow,deny

  Allow from all

</Directory>


1) Options

- 설정한 디렉토리("/var/www/html") 하위의 모든 디렉토리와 파일에 대한 접근권한을 제어한다.

https://httpd.apache.org/docs/2.2/ko/mod/core.html#directory [Options Directive] 참조


 옵션

설명

 None

 모든 접근을 허용하지 않는다.

 All

 모든 옵션설정을 허용한다. (단, MultiViews는 제외)

 Indexes

 디렉토리 접근시 DirectoryIndex에 설정한 파일이 없을 때 디렉토리내 파일 목록을 보여준다.

 Includes

 Server-side includes provided by mod_include are permitted.

 IncludesNoExec

 Server-side includes are permitted, but the #exec cmd and #exec cgi agr disabled. 

 FollowSymlinks

 심볼릭 링크를 사용할 수 있다.

 ExecCGI

 CGI 스크립트를 실행할 수 있다.

 MultiViews

 클라이언트가 요청한 media type과 content-encoding을 가지고 적절한 요청을 처리한다.


2) AllowOverride

- 디렉토리에 .htaccess 파일이 있을 경우 기존 설정을 덮어쓸지 여부를 설정한다. 기본설정은 None이다.

※ .htaccess 파일은? 웹서비스 디렉토리별로 설정이 달라져야 할 경우가 있다. 이때 관리자가 모든 설정을 하기는 힘들기 때문에 개별 디렉토리마다 다르게 설정하기 위해 존재하는 파일이다. 예로, 호스팅을 받아 서비스를 할때 .htaccess 파일을 사용한다.


옵션

설명

 None

 디렉토리별 설정을 허가하지 않는다. 즉, htaccess 파일을 Override하지 않는다. 

 All

 .htaccess 파일을 우선 적용하도록 Override를 허용한다.

 Options

 .htaccess에 설정된 Options 지시자(디렉토리 옵션) 사용을 허용한다.

 FileInfo

 .htaccess에 설정된 AddEncoding, AddLanguage, AddType, DefaultType, 

  ErrorDocument, LanguagePriority와 같은 문서유형 지시자 사용을 허용한다.

 AuthConfig

 .htaccess에 설정된 클라이언트 인증 지시자 사용을 허용한다.

 Limit

 .htaccess에 설정된 Order, Allow, Deny와 같은 접근제어 지시자 사용을 허용한다.


3) Order allow, deny

- 순서대로 Allow에 대한 부분을 먼저 확인 후, Deny를 확인한다.


4) Allow

- Allow from all : 모든 클라이언트로부터의 연결을 허용한다.

- Allow from 127.0.0.1 192.168.111.100 : 127.0.0.1과 192.168.111.100 IP 클라이언트만 허용한다.


5) Deny

- Deny from all : 모든 클라인트로부터의 연결을 거부한다.

- 예)

<Location /server-status>

  SetHandler server-status

  Order deny,allow

  Deny from all

  Allow from 127.0.0.1

</Location>


<Files 파일명></Files>

- 파일명에 따라 특별한 처리를 할 때 사용한다.

- 파일명에 포함된 ?는 임의의 한 문자와 일치함을, *는 임의의 한 문자열이 일치함을 나타낸다.

- 파일명 앞에 ~가 붙게 되면 정규표현식을 사용할 수 있다.


- 예제1) 관리페이지는 외부인이 볼 수 없도록 설정

<Files admin.php>

  Order deny,allow

  Deny from all

  Allow From 127.0.0.1

</Files>


- 예제2) htm, html, css, js, php 파일 인코딩 설정

<Files ~ "\.(htm|html|css|js|php)$">

  AddDefaultCharset UTF-8

  DefaultLanguage ko_KR

</Files>


<FilesMatch 정규표현식></FilesMatch>

- <Files>의 정규표현식 사용가 동일하다. 대신 <FilesMatch>는 ~를 붙히지 않아도 정규표현식이 적용된다.


- 예제1) htm, html, css, js, php 파일 인코딩 설정

<FilesMatch "\.(htm|html|css|js|php)$">

  AddDefaultCharset UTF-8

  DefaultLanguage ko_KR

</FilesMatch>


Redirect

- Redirect [HTTP 상태코드] [요청URL] [리다이렉트 URL]

- HTTP 상태코드는 리다이렉트가 되면서 바뀔 상태코드를 지정한다. 기본값은 302.


- 예제1)

Redirect 301 /hello http://www.naver.com

Redirect /world http://www.naver.com


RedirectMatch

- Redirect 지시자와 비슷하며 정규표현식으로 리다이렉트를 처리할 수 있다.


- 예제1) 톰캣의 WEB-INF와 META-INF 폴더를 접근 못하게 설정

RedirectMatch 404 /(?i)(WEB-INF|META-INF)(/|$)


DefaultType

- 모르는 타입이 들어왔을 경우 설정할 기본 MIME 타입을 설정한다.


LogFormat

- 서버의 로그파일 형식을 설정한다. common은 기본설정, combined는 Referer와 User-Agent가 추가되었다.


LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common



옵션

설명

예제

 %h

 요청한 원격 호스트

 192.168.111.100

 %l

 원격 로그인명

 - 

 %u

 원격 사용자명

 - 

 %t

 요청날짜 및 시간 

 [21/Feb/2016:15:28:28 +0900]

 %r

 요청의 첫번째 라인

 GET/HTTP/1.1 

 %s

 HTTP 응답코드

 200

 %b 

 HTTP 헤더를 제외한 응답의 Byte 길이 

 66 

 %{헤더명}i

 HTTP 헤더에서 작성한 헤더명에 대한 값을 출력

 %{Referer}i 

 %{User-Agent}i


ErrorLog

- 에러로그 파일을 설정한다.


- 예제)

ErrorLog "| /usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/error.log.%Y%m%d 86400" combined


CustomLog

- 클라이언트의 요청이력을 남길 로그파일을 설정한다.


- 예제)

CustomLog "| /usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/access.log.%Y%m%d 86400" combind


Alias

- 요청 URL을 특정 파일 시스템에 연결시킨다.


- 예제)

Alias /helpFiles /nas/2016/helpFiles


AddDefaultCharset

- 컨텐츠 형식이 text/plain이나 text/html일 경우 HTTP 응답 헤더에 설정된 charset 헤더를 추가한다.

- 가상 호스트마다 다르게 설정할 수 있다.

- HTTP 응답 헤더에 charset이 지정되었을 경우는 HTML <meta>태그로 charset을 지정해도 헤더에 있는 charset이 적용된다. DefaultCharset과 다른 HTML이 있다면 파일의 인코딩을 변경하거나 <meta>태그로 charset을 명시적으로 지정하고 해당 지시자를 Off하여야 한다.


- 예제)

AddDefaultCharset UTF-8


결과 : Content-Type : text/html; charset=UTF-8



 

출저 : http://pshcode.co.kr/88

exERD


Some projects cannot be imported because they already exist in the workspace

= workspace .. 내에 같은 프로젝트가 존재하기 때문에 import 할 수 없습니다.

There are stopped jobs.
root@zetawiki:~# exit
logout
There are stopped jobs.


2016 . 3 . 8 AM 15:00


pwd /usr/local/mysql exit


logout

there are stopped jobs ...

http://brad2014.tistory.com/257

JDK 설치 및 PATH 설정

http://rhyshan.com/207


























삼성 통합 드라이브 : http://local.sec.samsung.com/comLocal/support/down/kies_main.do?kind=usb


java.lang.ClassNotFoundException: com.chat.data.SendTalkData

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:247)

at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

at com.chat.net.ChatServer$ClientHandler.run(ChatServer.java:124)

[접속자] 127.0.0.1

java.io.StreamCorruptedException: invalid stream header: 434E584E

at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:782)

at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)

at com.chat.net.ChatServer$ClientHandler.run(ChatServer.java:121)



해결방법은 간단하다.


ObjectInputStream 및 ObjectOutputStream으로 서로 주고 받으려는 클래스가 위치한 패키지 이름이 서버와 클라이


언트에서 서로 같은지를 확인해보자.


나의 경우 안드로이드 클라이언트에서는 com.example.pmbs_client 패키지 내에 Header 클래스가 위치해 있었고,


자바서버에서는 server 패키지 내에 Header 클래스가 위치해 있었다.


그래서 서버와 클라이언트 모두 각각 shared 라는 패키지를 별도로 만들고 그 안에 Header 클래스를 넣어 두니 문제


가 해결되었다.



p.s) 참고로 ObjectInputStream 및 ObjectOutputStream으로 객체를 보내고자 할때 해당 클래스는 Serializable을 구


현해야 한다. 

java.net.BindException: Address already in use: JVM_Bind

at java.net.PlainSocketImpl.socketBind(Native Method)

at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)

at java.net.ServerSocket.bind(ServerSocket.java:328)

at java.net.ServerSocket.<init>(ServerSocket.java:194)

at java.net.ServerSocket.<init>(ServerSocket.java:106)

at com.chat.net.ChatServer$BroadcastServer$WaitingSocket.run(ChatServer.java:66)

at java.lang.Thread.run(Thread.java:662)



그래서 다음과 같이 입력하면 됩니다.

netstat -ano

-a : 모든 포트를 표시해줍니다.

-n : IP주소:포트 형태로 보여줍니다. (예 - 192.168.0.22:1234)

-o : PID (프로세스 ID)를 표시해줍니다. (해당 프로그램 중지시에 사용)




주소가 이미 사용중에 있다!
즉 내가 요구한 포트 6789가 사용중이라 안된다는 것이다!

따라서 그 포트를 닫아주어야 해결된다.

1. cmd창에서 netstat -o -a 를 실행한다.
2. 사용중인 포트들에 대한 정보들이 쫙 나온다.
3. 이중 해당하는 포트번호(지금의 경우 6789)를 찾아 PID를 기억해둔다.
4. 작업관리자를 실행하여 프로세스탭 선택
5. 기억해둔 PID를 찾아 해당 PID의 프로세스를 "프로세스끝내기" 한다.





리소스 모니터에서 javaw.exe 제거

+ Recent posts