반응형

대화하는 대상보다 대화주체가 직급이 낮은경우 보통 이런식으로 말을한다. (둘 다 본인보다 직급이 높음)

과장님 김대리가 XX했습니다.
사장님 김이사가 XX했습니다.

이것은 잘못된 표현이다.
그러나 인터넷에 올라와 있는 많은 블로그 등에서 위의 표현이 맞다고 한다.(무려 나무위키에서도)

대화 상대방보다 직급이 낮은것이지, 본인보다 직급이 낮은것은 아닌데, 왜 반말을 하는 것일까?
이것은 압존법을 직장에서 쓰려고 하다가 생긴 부작용이다.

압존법은 사적인 관계에서 사용하는 존대법이다.

제대로 교육되지 않은 압존법과 일제감정기때 들어온 압존법(나무위키 참조)이 뒤섞여 위와같은 직장내 압존법이 생긴것으로 보인다.

 

제대로 된 표현은 다음과 같다.

과장님 김대리님이 XX했습니다.
사장님 김이사님이 XX했습니다.

 

존칭을 한다고 대화주체에 ~~께서를 붙이면 대화상대보다 대화주체를 더 높이는 것이 되므로 조심해야 한다.

과장님 김대리님께서 ~~~
과장님 김대리께서 ~~~

 

참조 (인터넷에서 잠시 검색해봤을때는 2011년이 최신버전이었다)

직장에서의 경어법에 대해서는 아래와 같은 ‘표준 언어 예절(2011, 국립국어원)’의 내용을 참고하실 수 있습니다. 아래의 ‘표준 언어 예절’에 따르면, “김 부장님, 박 과장님은 잠깐 외출하셨습니다.” 정도로 쓸 수 있겠습니다.

17. 직장, 사회에서
지칭 대상이 말하는 사람보다 상급자인 경우, 듣는 사람의 직위와 나이를 고려하여 ‘총무과장이’, ‘총무과장님이’, ‘총무과장께서’, ‘총무과장님께서’ 가운데 어떤 것을 써야 할이지 또 ‘하시었’이라고 할 것인지 ‘했’이라고 할 것인지를 결정하기 어렵다. 그러나 직장에서의 압존법은 우리의 전통 예절과는 거리가 멀다.
윗사람 앞에서 그 사람보다 낮은 윗사람을 낮추는 것이 가족 간이나 사제 간처럼 사적인 관계에서는 적용될 수도 있지만 직장에서 쓰는 것은 어색하다. 따라서 직장에서 윗사람을 그보다 윗사람에게 지칭하는 경우, ‘총무과장님께서’는 곤란하여도, ‘총무과장님이’라고 하고 주체를 높이는 ‘-시-’를 넣어 ‘총무과장님이 이 일을 하셨습니다.’처럼 높여 말하는 것이 언어 예절에 맞다.

'일상' 카테고리의 다른 글

아이폰 6s 로즈골드 64G 구매  (0) 2015.10.23
뉴투스카니 스펙  (0) 2012.11.09
웃음따위...  (0) 2010.04.14
반응형

출처:http://egloos.zum.com/indirock/v/3791689

[vi 에디터 utf8 <-> euc-kr 웹문서 encoding 전환하기]
원문: (http://onlyu.blog.me/60123862837)

 

vi로 웹문서를 열어 보면 한글이 깨어져 있고

<meta http-equiv=Content-Type Content="text/html; charset=euc-kr">이 보인다면

리눅스 콘솔창에 env 해 볼때 LANG=ko_KR.UTF-8 으로 나온면 utf8 환경입니다.

 

Q) 그럼 한글이 깨어져 보이는 utf-8 시스템 환경에서 euc-kr 웹문서를 제대로 볼 수 없는 것인가?

A) 리눅스 환경이라면 vi 환경설정 파일인 .vimrc 파일 set fileencodings=utf8,euc-kr 를 추가하면 문서를 열때 자동적으로 fileencoding이 utf8인지 euc-kr 인지 encoding에 맞게 열고 저장을 합니다.

계정 로그아웃(재접속)하지 않고 vi 설정을 적용할려면 콘솔에서 source .vimrc 하고 엔터키를 누르면 됩니다.

 

Q) 그럼 euc-kr 파일 웹문서를 utf8 파일로 변경을 하고 싶다면 어떻게 하죠?

A) vi로 파일을 열고 나서

:set fileencoding=utf-8

:w

 

하면 됩니다. 저장 후 종료를 할려면 :wq 엔터를 하면 됩니다.

반대로 utf8 문서를 euc-kr로 변경 할려면 :set fileencoding=euc-kr을 하면 됩니다.

 

 

euc-kr 웹문서를 utf8로 변경 하고 저장 했다면

<meta http-equiv=Content-Type Content="text/html; charset=utf-8">

로 하지 않으면 웹브라우저에서 확인시에는 다시 한글이 깨어져 보이겠죠.

 

 

 

 

 

Q) vi 에디터로 열지 않고 euc-kr 웹문서를 utf8로 변경 할려고 합니다. 어떻게 해야 하죠?

 

A) iconv 명령어로 가능합니다.

 

iconv -f euc-kr -t utf-8 euc-kr.html --output utf8.html

 

or 

 

iconv -f euc-kr -t utf-8 euc-kr.html > utf8.html

 

 

 

Q)한개 파일이 아니라 여러개의 html 파일을 동시에 변경 할려면 어떻게 하죠?

 

백업 파일처럼 utf8.html로 할 필요없이 그냥 utf-8 파일로 변환 되면 좋겠는데요??

 

A)

 

변경을 원하는 경로로 이동을 하고 아래와 같은 명령어로 한방에 그럼 변경해 보겠습니다.

 

cd /web/files 

 

for I in ./-.html ; do iconv -c -f euc-kr -t utf-8 $I > $I.tmp && mv $I.tmp $I ; done

 

 

 

작업 완료 전에는 무조건 백업본을 유지하는 것이 좋습니다. 그냥 원본폴더를 tar로 묶어 두면 되죠. 

 

시스템 환경에 따라 작업 환경에 따라 charset encoding은 테스트 작업을 하고 본격적으로 진입 하는 것이 바람직합니다.  

 

 

 

Q) recode 명령어로 한번에 변경 할 수 있다고 하는데 어떻게 하나요?

 

A) 먼저 시스템에 recode 명령어를 사용할 수 있는지 확인 해야 하는데

 

rpm -qi recode 해서 아무것도 안나오면 설치 해야합니다.

 

yum install recode recode-devel 또는 rpm을 찾아서 설치 하거나 

 

http://recode.progiciels-bpi.ca/index.html 접속해서 파일을 받아서 설치합니다.

 

recode 명령어로 얼마나 많은 charset 변경을 할 수 있는지 확인은

 

recode -l 로 살펴 보면 됩니다. 그럼 euc-kr에서 utf-8로 변경 명령어는 아래와 같습니다.

 

 

 

recode -v <소스 CHARSET>...<변환 CHARSET> <파일명>

 

recode -v EUC-KR...UTF-8 *.html

 

 

 

 

 

Q) php에서 특정 문자열만 euc-kr 또는 utf8로 할려면 어떻게 하죠?

 

A) iconv 함수를 이용하면 됩니다.

 

iconv("euc-kr", "utf-8", $str); // euc-kr을 utf8로 encoding 됩니다.

 

iconv("utf-8", "euc-kr", $str); // utf8을 euc-kr로 encoding 됩니다.

 

참조 URL : http://www.php.net/manual/en/function.iconv.php

 

 

 

 

 

Q) java,jsp에서 문자열 encoding 전환은?

 

A)

 

StringBuffer szBuffer = new StringBuffer();
String str = new String(szBuffer.toString().getBytes("UTF-8"), "EUC-KR");

 

http://download.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html

 

여전히 한글이 깨어진다면 아래 상황을 체크 해 봅니다.

 

1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 

2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

 

3. <Connector URIEncoding="UTF-8" connectionTimeout="10000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
4. URIEncoding 세팅을 해 놓아도 get/post 메소드로 넘어갈때 Parameter값 한글이 깨어질때는

 

SetCharacterEncodingFilter.java 파일을 $CATALINA_HOME/common/classes (톱캣) 또는 WEB-INF/classes (개인환경) 밑에

 

javac SetCharacterEncodingFilter.java -d .

 

컴파일을 하고 web.xml 파일 encoding 필터 세팅이 되어 있는지 확인 해 봅니다.

 

* utf8 톰캣이 아니라면 톰캣 4.x 은 기본적으로 8859_1로구동이 됩니다. export LANG=en_US.iso8859-1

 

export LANG=ko_KR.eucKR 으로 한다면 charset은 euc-kr로 구동이 됩니다.

 

추가 옵션으로 export CATALINA_OPTS='-Dencoding.default=euc-kr -Dfile.encoding=euc-kr'

 

 

 

 

 

Q) 윈도우 노트패드(notepad)에서 encoding 변환 작업은 할 수 없나요?

 

A) 윈도우에서 작업 가능한 무료 에디터 notepad++를 소개 해 드립니다.

 

http://notepad-plus-plus.org/ 접속 후 다운로드(DOWNLOAD) 메뉴에서 받으시면 됩니다.

 

윈도우에서 생성한 ANSI Encoding 파일을 상단 메뉴 Encoding 에서

 

Convert to UTF-8 without BOM (UTF-8 형식으로 변환 BOM 없음) 으로 선택하시면 UTF-8 Charset 으로 변환이 됩니다.

 

 




 

(notepad++ 메뉴를 한글로 변경 Settings > Preferences > General Localization 셀렉터 항목에 한국어를 선택하면 됩니다.)

 

 

 


(추가)

 

Q) 여러 사이트에서 넘어 오는 값이 각각 다른데 utf8 인지 euc-kr 인지 어떻게 알죠?

 

A) php 경우라면 mb_detect_encoding($str); 로 찍어 보면 압니다.

 

하여 각각 원하는 encoding을 iconv로 변환을 해 주면 됩니다.

'develop > linux' 카테고리의 다른 글

vi 자동으로 encoding 설정  (0) 2024.03.07
TTFB 체크 명령어  (0) 2016.02.16
GNU C, __attribute__  (0) 2014.10.14
Linux C에서 키보드 이벤트 받기(kbhit())  (0) 2014.02.28
NAT 종류별 설정  (0) 2014.02.17
반응형

출처: http://bitxflow.synology.me/wordpress/?p=311%20

swift: https://indra17.tistory.com/entry/ios-%ED%83%88%EC%98%A5%ED%8F%B0-%EC%B2%B4%ED%81%ACswift

+(BOOL)isJailbroken{
#if !(TARGET_IPHONE_SIMULATOR)
    if ([[NSFileManager defaultManager] fileExistsAtPath:@”/Applications/Cydia.app”]){
        return YES;
    }else if([[NSFileManager defaultManager] fileExistsAtPath:@”/Library/MobileSubstrate/MobileSubstrate.dylib”]){
        return YES;
    }else if([[NSFileManager defaultManager] fileExistsAtPath:@”/bin/bash”]){
        return YES;
    }else if([[NSFileManager defaultManager] fileExistsAtPath:@”/usr/sbin/sshd”]){
        return YES;
    }else if([[NSFileManager defaultManager] fileExistsAtPath:@”/etc/apt”]){
        return YES;
    }
    return NO;

    NSError *error;
    NSString *stringToBeWritten = @"This is a test.";
    [stringToBeWritten writeToFile:@”/private/jailbreak.txt” atomically:YES encoding:NSUTF8StringEncoding error:&error];
    if(error==nil){
        //Device is jailbroken
        return YES;
    } else {
        //Device is not jailbroken
        [[NSFileManager defaultManager] removeItemAtPath:@”/private/jailbreak.txt” error:nil];
    }
    if([[UIApplication sharedApplication] canOpenUrl: [NSURL URLWithString:@”cydia://package/com.example.package”]]){
        //Device is jailbroken
    }
#endif
  
    //All checks have failed. Most probably, the device is not jailbroken
    return NO;
}

'develop > iOS' 카테고리의 다른 글

ios 탈옥폰 체크(swift)  (0) 2020.04.23
swift 타입체크 함수 (UIViewController)  (0) 2019.12.11
xcode에서 개발/운영 환경 설정  (0) 2019.03.28
swift에서 macro define 사용하기  (0) 2019.03.28
swift용 SQLite 클래스  (0) 2018.07.13
반응형

함수 정의,  UIViewController대신에 원하는 타입의 부모클래스를 넣으면 됨

func isAleadyVC<T>(_ vcs:[UIViewController]?, _ tp: T.Type) -> UIViewController? {
	for i in 0 ..< vcs!.count {
		if (vcs![i] as? UINavigationController) != nil {
			let nc = vcs![i] as! UINavigationController
			if let vc = isAleadyVC(nc.children, tp) {
				return vc
			}
		}
		else if (vcs![i] as? UITabBarController) != nil {
			let tc = vcs![i] as! UITabBarController
			if let vc = isAleadyVC(tc.children, tp) {
				return vc
			}
		}
		else { // always UIViewController
			let vc = vcs![i]
			if type(of: vc) == tp {
				return vc
			}
			if let vc = isAleadyVC(vc.children, tp) {
				return vc
			}
		}
	}
	return nil
}

 

사용

if let homeVC = isAleadyVC(self.window?.rootViewController?.children, HomeVC.self) as? HomeVC {
	...
}

'develop > iOS' 카테고리의 다른 글

ios 탈옥폰 체크(swift)  (0) 2020.04.23
ios 탈옥폰 체크  (0) 2019.12.12
xcode에서 개발/운영 환경 설정  (0) 2019.03.28
swift에서 macro define 사용하기  (0) 2019.03.28
swift용 SQLite 클래스  (0) 2018.07.13
반응형

페이지 이동 시 도메인을 확인하여 webView.removeJavascriptInterface(SCRIPT_NAME); 을 호출.

 

상황에 따라 handler를 이용하거나 runOnUiThread사용

 

 

----------------------- 추가 --------------------

위의 방법은 HTTPS를 사용하거나, 특정 몇개의 도메인만 사용하는 경우에만 허용됨.

사이트 내부에서 다른 외부 사이트의 이미지들을 로딩하는 경우에는 사용할 수 없는 방법으로, 이 경우에는 prompt를 이용하여 비슷하게 구현가능

반응형

1. 서버에서 HTTPS 사용.

 

2-1. 서버에서 HTTPS사용 불가 시 manifest파일의 application태그에 android:usesCleartextTraffic="true" 속성 추가

2-2. 서버에서 HTTPS사용 불가 시 resource/xml폴더에 임의의 xml 파일 생성 후 다음과 같은 내용을 입력 후 manifest파일의 application태그에 android:networkSecurityConfig="@xml/추가한 파일명" 속성추가

<network-security-config>
<domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>

 

반응형

프로젝트 생성 시 기본적으로 Debug, Release Scheme이 생성되어 있다.

Scheme설정 중 Archive는 Release, Run은 Debug가 기본 설정

 

1. 프로젝트 설정에서 개발, 운영 용 의 설정셋을 추가한다 (Debug설정으로 복사)

 

2. Scheme을 추가한다

 

3. scheme과 설정셋을 매핑

 

4. 개발/운영 설정을 설정셋에 추가한다

프로젝트 설정 - 타겟 - Build Settings - Active Compilation Conditions 의 개발/운영 환경에 macro define값을 추가 (여기선 dev만 구분)

 

5. 소스에서 macro define으로 구분

#if DEV

public static let DOMAIN = "http://개발서버주소"

#else

public static let DOMAIN = "http://운영서버주소"

#endif

 

6. 추가적으로 info.plist파일 복제하여 개발/운영에 따라 앱 이름, bundle ID 등을 변경

'develop > iOS' 카테고리의 다른 글

ios 탈옥폰 체크  (0) 2019.12.12
swift 타입체크 함수 (UIViewController)  (0) 2019.12.11
swift에서 macro define 사용하기  (0) 2019.03.28
swift용 SQLite 클래스  (0) 2018.07.13
ipa 커맨드라인으로 만들기 (xcode 9.2 대응)  (0) 2018.04.09
반응형

#ifdefine 은 사용할 수 없다

 

#if, #else, #endif를 사용

반응형

1. 프레임 이름

window.frames['frame_name'].location.href = "페이지 주소";

 

2. 프레임 인덱스

window.frames[0].location.href = "페이지 주소";

'develop > javascript' 카테고리의 다른 글

스크롤 높이 계산  (0) 2018.04.09
반응형


Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT"));



시간을 변경했더라도, 출력할 때 사용하는 SimpleDateFormat을 사용하면 자동으로 Local Time으로 변경된다.

SimpleDateFormat에서도 GMT+0기준으로 변경하기 위해서는 아래와 같은 설정을 해야 한다.


SimpleDateFormat formatter = new SimpleDateFormat(form);

formatter.setTimeZone(TimeZone.getTimeZone("GMT"));


+ Recent posts