반응형

<input id="upfile" type="file" class="" name="upfile" accept="*/*" />


위와같이 파일을 첨부하는 경우에 파일용량을 확인하는 방법


아래와 같이 전송하기 전에 파일의 용량을 확인하는 함수를 만들어서 사용한다.


document.getElementById("upfile").files[0].size;//파일 용량


반응형
반응형

우분투 vsftpd를 설치하는 부분은 아래링크 참조


http://nahosung.tistory.com/40


1. aws 포트 열기

aws 콘솔 접속 - 좌측 메뉴 Sequrity Groups 클릭 - 하단 Inbound - Edit

20-21 포트 추가

1024-1048 포트 추가




2. vsftpd.conf 파일 수정

파일에 아래의 내용추가


pasv_enable=YES

pasv_min_port=1024

pasv_max_port=1048

pasv_address=자신의 ip



반응형
반응형

1. vsftp 설치


#apt-get install vsftpd


(삭제 : #apt-get remove vsftpd)


2. vsftpd.conf 파일 수정 


#vi /etc/vsftpd.conf


아래의 그림과 같이 주석('#')제거 

write_enable=yes


(chroot_local_user=YES 주석 풀면 자신의 홈 디렉토리만 접근가능)


*chroot_local_user=YES 주석을 풀면 아래와 같은 에러가 발생하는 경우가 있음

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

이러한 경우 vsftpd.conf 파일에


allow_writeable_chroot=YES 을 추가 저장


*aws를 사용하는 경우 vsftpd.conf 파일에 아래내용 추가

pasv_enable=YES

pasv_min_port=1024

pasv_max_port=1048

pasv_address=자신의 ip


3.vsftpd 재시작


#service vsftpd restart


*접근 제한 사용자 리스트*


#vi /etc/ftpusers

 

ftpusers안에 있는 사용자는 ftp접속이 제한된다.

(root계정을 사용하고싶으면 파일안에 root를 삭제하고 저장)



*FTP 접속 디렉토리 변경*


#usermod -d /home/ 유저아이디


ex)usermod -d /home/ftp/ root


*FTP 계정 생성*


#adduser 유저아이디


#passwd 유저아이디


*ftp 기본 권한 설정


#vi /etc/vsftpd.conf


local_umask = 022


위와 같은 부분의 주석 풀기


(022가 기본으로 설정 되어있음)


폴더는 777 - 022 = 775

파일은 666 - 022 = 644


local_umask의 숫자를 변경하여 

기본 권한을 변경해 준다.








반응형
반응형

1. 업데이트 수행 및 SVN 설치


#apt -get update

#apt -get install subversion


2. 저장소 폴더 및 저장소를 위한 폴더 생성


#mkdir -p /home/svn/repos/

#svnadmin create --fs-type fsfs /home/svn/repos/project


3. svnserve.conf & passwd & authz 파일 수정


#vi /home/svn/repos/project/conf/svnserve.conf

( '#'을 지워 주석을 해제하고 저장한다. )

anon-access = read

auth-access = write


password-db = passwd


authz-db = authz


#vi /home/svn/repos/project/conf/passwd

[users] 아래에 계정을 추가

ex) admin = 1234


#vi /home/svn/repos/project/conf/authz

passwd 파일에서 생성한 계정의 권한을 준다.

[/] 또는 [/경로]를 쓰고 아래에

ex) admin = rw



4. SVN 서버 실행 및 확인


#svnserve -d -r /home/svn/repos/


#ps  -ef|grep svnserve



위와 같이 나오면 서버 실행중


( 서버 중지 : killall svnserve  ) 


5. SVN 체크아웃

#svn co svn://localhost/project

계정 정보 입력후 체크 아웃 성공하면 완료

외부에서도 접속하는지 확인해볼것

반응형
반응형

리눅스 svn E:220001 에러


xcode에 svn을 연동하여 checkout을 정상적으로 실행한 후 

svn 을 읽지 못하는 에러 발생


해당 svn 경로에 있는 authz 파일을 수정


[/]
* = r


반응형
반응형
[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied

위의 소스로 확인 가능


iOS 기기의 위치 활성화를 확인하는 것이 아닌

해당 앱의 위치 활성화를 체크 


반응형
반응형

윈도우 apm 환경에서는 정상적으로 작동 하던게

aws에서 설치하니 아래와 같은 오류 발생


확인 결과 model 파일명을 소문자로 적어서 생긴문제

model파일명을 대문자로 변경 후 에러 사라짐



반응형

'AWS' 카테고리의 다른 글

aws instance 고정 ip 적용 (Elastic IP)  (0) 2017.01.23
aws 리눅스 vsftp 환경 설정  (0) 2016.07.29
aws 인스턴스 삭제  (0) 2016.07.20
-3- aws ssh & ftp 연결 ( putty & filezilla )  (0) 2016.03.15
-2- aws EC2 인스턴스 생성  (0) 2016.03.14
반응형

아래의 화면에서 Instance State - Terminate 클릭



반응형
반응형

구글 클라우드 메세징(GCM) 설정


https://developers.google.com/cloud-messaging/?hl=ko


위의 사이트에서 TRY IT ON ANDROID 를 클릭하면 안드로이드 GCM 설정에 대한 자세한 설며이 나와있다.

( https://developers.google.com/cloud-messaging/android/start?hl=ko )


우선 GCM을 적용할 안드로이드 프로젝트의 이름과 패키지명을 알고있어야 하며,

프로젝트가 없다면 만들고 나서 사이트로 접속을 한다.


아래와 같은 화면에서 GET A CONFIGURATION FILE 버튼을 클릭한다.


아래와 같은 화면이 나오면, 

어플리케이션 프로젝트 명을 적고 패키지명을 적는다.

그 후 Choose and configure services라는 버튼을 클릭하여 API Key를 생성한다.




그러면 아래와 같은 화면이 나오고, API Key가 나오게된다.

다음 화면에 다시 나오기 때문에 우선 API Key는 놔두고,

Generate configuration files를 클릭하여 안드로이드 프로젝트에 넣어야 하는 json 파일을 생성한다.



Download google-services.json 버튼을 클릭하여 

google-services.json 파일을 다운 받는다.


그리고 아래에 적혀있는 Server API Key를 적어 놓는다.

(푸시를 전송할때 사용되는 서버 API 키)




안드로이드 스튜디오로 돌아와서 프로젝트의 app 폴더 아래 경로에 google-services.json파일을 이동시켜준다.




그다음으로 AndroidManifest.xml 파일 app 아래의 build.gradle 파일과 프로젝트(자신의 프로젝트)아래의 build.gradle파일을 수정해야 한다. 

https://developers.google.com/cloud-messaging/android/client?hl=ko )

위의 사이트에 설명이 되어 있으며, 버전이나 변경 사항에대한 확인은 필요하다.


첫 번째로 프로젝트 아래의 build.gradle 파일에 dependencies에 아래의 값을 넣어준다.


classpath 'com.google.gms:google-services:2.0.0-alpha6'


두 번째로 app 아래의 build.gradle 파일의 상단에 아래의 값을 넣어주고,


apply plugin: 'com.google.gms.google-services'


depencies에 아래의 값을 넣어준다.


compile "com.google.android.gms:play-services-gcm:8.3.0"


세 번째로 AndroidManifest.xml 파일에 아래의 내용을 넣고,


<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>

<uses-permission android:name="android.permission.WAKE_LOCK" />

<permission android:name="com.na.hosung.myweather.permission.C2D_MESSAGE"    

android:protectionLevel="signature" />

<uses-permission android:name="com.na.hosung.myweather.permission.C2D_MESSAGE" />


<application></application> 사이에 아래의 내용을 넣는다.

<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.gcm" />
</intent-filter>
</receiver>
<service
android:name="com.na.hosung.myweather.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name="com.na.hosung.myweather.MyInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
android:name="com.na.hosung.myweather.RegistrationIntentService"
android:exported="false"></service>

입력을 하고난 AndroidManifest.xml 파일의 모습은 아래와 같을 것이다.


빌드를 다시 하면 에러가 사라질 것이며,

MyGcmListenerService , MyInstanceIDListenerService , RegistrationIntentService

에서 에러가 나는 것은 파일이 없기 때문이다.


에러가 나는 파일들은

https://github.com/googlesamples/google-services/tree/master/android/gcm

위의 github에서 받을 수 있으며, 아래의 파일들을 넣어주면 에러가 사라지는 것을 알 수 있다.


위의 클래스들은 GCM 클라이언트 instance id를 얻는 클래스이며, 

클래스 각가에 대한 설명은 생략한다.


위의 과정을 마치면, GCM을 전송 받기 위한 과정이 끝난다.


(GCM instance id를 알아내는 것과, 테스트해보는 방법은 다음에....)



반응형
반응형

1. AndroidManifest.xml에 아래 내용 추가

<!--splash-->
<activity android:name=".SplashActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar"/>
<!--splash-->

2. splash화면 splash.xml 파일 생성(splash 화면은 해당 이미지 사용)


3. SplashActivity.java 파일 생성

public class SplashActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);

Handler handler = new Handler();
handler.postDelayed(new Runnable() {

@Override
public void run() {
finish();
}
}, 3000);// 3 초
}
}

4.MainActivity에 아래 내용 추가

startActivity(new Intent(this, SplashActivity.class));

실행을 하면 첫 화면이 나오기전에 splash화면이 나오는 것을 볼 수 있다.

반응형

+ Recent posts