기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

전체 글 366

안드로이드 스튜디오 : 시간 카운터하기 / CountDownTimer /카운트 다운

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_using); duration 내가 지정한 시간이다. durtaion 뒤에 파라미터는 몇초마다 갱신할 것인지 뜻한다. 1000 -> 1 초 millisUntilFinished -> 초단위로 나온다. duration = 10000; CountDownTimer countDownTimer = new CountDownTimer(duration, 1000) { @Override public void onTick(long millisUntilFinished) { // duration..

안드로이드 스튜디오 : 핸들러와 스레드 이용해서 현재시간 갱신하기

안드로이드 스튜디오 자바를 이용하여 핸들러와 스레드를 사용하여 현재시간을 갱신하는 코드이다. 아래의 코드를 복사 붙여넣기 하고 변수값을 바꿔주면 된다. dTime 현재는 HH:mm 으로 시간 분만 가져온 코드이다 만약 년월일을 가져오는 경에는 dTime 부분을 바꿔주면 된다. final Handler handler = new Handler(){ @Override public void handleMessage(@NonNull Message msg) { String dTime = "HH:mm"; long now = System.currentTimeMillis(); Date date = new Date(now); SimpleDateFormat dateFormat2 = new SimpleDateFormat(dT..

서버 : sls deploy 실행 시 안드로이드 스튜디오 토큰 오류

sls deploy 를 하고나서 retrofit 을 통해 값을 주고 받을 때 값이 안오고 오류가 생겼다. sls deploy를 하고 안드로이드 스튜디오를 실행시켰는데 문제없이 실행되었지만 작동이 되지않았다. 코드는 문제가 없는데 이게 무슨일 일까 하면서 하루동안 찾아보았다. 정답은 아주 간단한 곳에 있었다.!!! 내가 저장소로 저장해 둔 변수에 있는 토큰에는 sls deploy를 하고 나면 사용할 수 없는 토큰으로 된다. 그말은 쓸모 없는 토큰이 된다는 것이다. 내가 만든 앱은 로그인 상태가 유지되어 있기 때문에 사용할 수 없는 토큰이 계속 돌아가고 있었던 것이 었다. 그래서 저장소 값을 임의로 값을 바꿔주고 돌려준 뒤 아이디로 로그인 하고 데이터를 보내보니 문제없이 잘 이용하게 되었다!!

카테고리 없음 2022.03.21

서버 : DB에 연결하기 fetchone()/fetchmany(size)/fetchall()

query = '''select name from lables;''' # 7. 커넥션으로부터 커서를 가져온다. cursor = connection.cursor() # 8. 쿼리문을 커서에 넣어서 실행한다. cursor.execute(query) # select 문은 아래 내용이 필요하다. record_list = cursor.fetchall() print(record_list) fetchone(), fetchmany(), fetchall()이라는 친구들로 원하는 만큼만 꺼내올 수 있다. 쉽게 말해서, sql문장의 리턴값은 cursor 객체에 들어있고, 그 cursor객체에서 데이터를 가져오고 싶으면 fetch 메소드를 사용해서 가져와야 한다. 일단 fetchone() fetchmany(size) fetc..

카테고리 없음 2022.03.21

Sever : 하드코딩의 문제점 해결방법 : DB에 연결

글쓴이인 나는 비교하기위해서 비교 할 리스트 값을 서버쪽에 저장하게 되었다. 이런 경우에는 리스트 값을 추가/삭제/수정하는 경우에는 서버를 다시 deploy이 해야 되기 때문에 배포하는 경우 매번 업데이트를 해야된다. 이렇게 되면 이용자들은 매번 불편하게 업데이트를 해야된다. 이런 문제를 줄이고자 변동성이 큰 코드들을 DB에 저장해주면 된다. 나는 MySQL을 사용하기 있으니 MySQL에 새로운 DB를 만들어보자 나는 lables 라는 테이블에 문제가 있는 사물 이름만 넣어놓았다. 새로운 값을 넣어준다. # 6번부터는 새로운 DB와 연결하는 것이다 내가 만든 리스트를 가져오는 코드이다. try : # 1. DB 에 연결 connection = get_connection() # 2. 쿼리문 만들고 quer..

카테고리 없음 2022.03.21

AWS : 한국 리전으로 설정하기 / 한국 버전으로 설정하기

현재 AWS 이용을 버지니아 북부 리전으로 사용하고 있다. 조금 더 속도를 높이고 싶은경우 서울리전으로 바꿔서 사용하면 된다. 서울리전으로 사용하는 법을 알아보자. 서버리스로 연결되어 있는 비주얼 스튜디오에서 serverless.yml 에 console : true region : ap-northeast-2로 바꿔 준다. 리전이 무엇일까? AWS 에서 지역마다 정해진 코드라고 생각하면 된다. 서울의 경우 ap-northeast-2 이기 때문에 리전에 ap-northeast-2 라고 적는다. 터미널에 sls deploy를 하게 되면 새로운 사이트 주소와 AWS에서 확인해보면 서울 쪽에도 새로운 리전이 생기게 될 것이다. 그럼 람다는 잘 이동하게 된 것 이다. --------------------------..

카테고리 없음 2022.03.18

서버리스 : verify that the package.json has a valid "main" entry

이 방법을 했을 경우 문제 없이 잘 되었다. 서버리스 deploy 하는 경우 생기는 오류이다. 아래 나와있는것들을 삭제해보자 1. node_modules 및 package-lock.json 삭제 2. 명령줄에 NPM I을 입력하면 패키지가 다시 다운로드됩니다. 3. 다시 확인하고 오류가 보고되지 않음 https://stackoverflow.com/questions/64755386/npm-error-verify-that-the-package-json-has-a-valid-main-entry npm error - verify that the package.json has a valid "main" entry Im playing around with a simple trading bot using binanc..

카테고리 없음 2022.03.17

안드로이드 스튜디오 : 사진 찍으면 S3에 저장하기 / 갤러리에 사진을 S3에 저장하기

아래의 코드는 사진을 S3에 저장하는 코드 이다 . 아래에 내가 해둔 Provider 로 바꿔 주면 된다. 해줘야 하는게 좀 많으니 잘 보고 설정해 줍시다. 하면 잘 돌아갑니당 -------Manifest------------- android:networkSecurityConfig 을 해줘야 한다. 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(ResultActivity.this, "권한 허가 되었음", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ResultActivity.this, "아직 승인하지 않았음", Toast.LENGTH_SHORT).show(); } br..

안드로이드 스튜디오 : Multipart 이미지 전송하기 / 여러 데이터 전송하기 /@Part MultipartBody.Part

아래의 블로그에서 빌려 왔다. 문제 있을 시 삭제하겠습니다. 아래의 블로그에 정리를 깔끔하게 잘되어있습니다. 아래 블로그를 확인해 보세요 https://velog.io/@dev_thk28/Android-Retrofit2-Multipart%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Java [Android] Retrofit2 Multipart사용하기 (Java) Multipart 사용하기 velog.io 단일의 file 한개만 보내면 되는 경우, RequestBody를 사용하면 된다. @Multipart @POST("api주소") Call request(@Part("key") RequestBody param); RequestBody는 다음과 같이 만들 수 있다. String text ..