반응형

분류 전체보기 455

[SQL] SELECT 기본문법(1)

Query를 작성하면 기본 소양은 SELECT를 사용할 수 있느냐 입니다. 이는 잘만하면 여기 저기 흩어져 있는 의미없는 데이터를 정보로 만들 수 있는 가장 간단하면서도 가장 필요한 지식이라 할 수 있습니다. 구분은 일단 아래와 같습니다. SELECT [ALL|DISTINCT] 컬럼명 [, 컬럼명 ...] FROM 테이블명 [, 테이블명 ...] [WHERE 조건식] [GROUP BY 컬러명 [, 컬럼명 ...] [HAVING 조건식]] [ORDER BY 컬럼명 [, 컬럼명 ...] 여기서 []는 조건에 따라 생각이 가능함을 의미하고, 말줄임(...) 표시는, 1개 이상을 의미합니다. SELECT는 데이터 조작언어 (DML) 중 하나로, 2차원 배열(행과 열)의 결과를 갖습니다. 흔히 아래의 두 용어를 ..

[HTTP] 개발하다 보면 접하게되는 HTTP 응답코드

흔히들 가장 사이트를 개발하거나 이용하다 보면 404 에러라는 걸 많이 접하게 될 겁니다. 그리고 대부분의 사람들은 이제 404 에러가 무엇인지를 알 정도로 많이 익숙해있습니다. 그럼 403은?? 404는 페이지를 못 찾는다는 건데 403은 뭐지?? 이런 의문이 생기기도 할 겁니다. 그 외에도 많은 응답 코드들이 있고 이는 아래의 사이트에 영문으로 정의되어있습니다. 이 중에서 일부 자주 보게 되는 응답 코드 기준으로 정의해 볼까 합니다. https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1 HTTP/1.1: Status Code Definitions part of Hypertext Transfer Protocol -- HTTP/1.1 RFC..

개발 창고/Web 2020.08.21

[Javascript] Excel 다운로드 기능 구현하기

관리 화면들을 만들다 보면 제일 많이 요구되는 부분이 엑셀 다운입니다. 이는 아무래도 웹에 익숙하지 않은 이용자들의 경우 엑셀이 더욱 익숙한 경우도 있고, 화면에서 표현하지 못하는 많은 부분을 엑셀을 통해서 확인 가능하기도 하기 때문입니다. (웹 화면은 개발자가 요청을 수렴 또는 분석을 통해 필요 정보를 노출하게 되지만 실제로 이용자는 그 외적으로 데이터를 조작해서 보고 싶어 하는 경우가 더러 있습니다. 최근에는 빅데이터를 활용하기도 하지만, 학습이 필요한 부분이 있기 때문에 엑셀을 통한 데이터 전달하는 게 없어지는 건 아무래도 몇 년 이내에는 어려울 것으로 보입니다.) /** * 엑셀 다운로드 * @param fileName 엑셀파일명 (ex. excel.xls) * @param sheetName 시트..

개발 창고/Web 2020.08.21

[Spring] FCM Push서버 개발시 고려사항

FCM Push서버 시 만약 Maven을 적용하였다면 pom.xml에 아래와 같이 추가할 것입니다. com.google.firebase firebase-admin 6.7.0 하지만 해당 의존만 추가하면 아래와 같은 오류가 발생하기도 합니다. (제가 최근에 겪은 오류) Uncaught exception from servlet java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:284) at com.google.api.gax.grpc.InstantiatingChann..

개발 창고/Web 2020.08.20

[Android] WebView에 Header추가하기

안드로이드 웹뷰 프로그램을 개발하다 보면 Header에 정보를 담아 보내면 편리한 경우가 있습니다. 저 같은 경우엔, 디바이스의 정보(예, fcm token, uuid 등)을 담아 보내서 기기의 접근을 분석할 때 활용하기도 합니다. 해당 소스는 Android API level 8(Android 2.2.2x, FROYO)부터 활용가능합니다. 버전에 대한 정보는 하단의 페이지에서 확인 가능합니다. https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ko#ApiLevels | Android 개발자 | Android Developers Lets you express an application's compatibility with one..

[Spring] WEB-INF에 접근하기

보통 개발환경과 서버 환경을 동일하게 사용하기 위해서는 절대 주소보다는 상대 주소를 활용하는 경우가 많습니다. (때로는 config파일에서 세팅을 고정해서 활용하는 방법도 있지만 이건 추후에 작성하도록 하겠습니다.) 만약 WEB-INF 내 config폴더에서 file.xml이라는 파일을 읽어들일 경우 다음과 같이 호출하게 되면 내부의 파일을 호출 가능합니다. @Controller public class BaseController { @Inject private ServletContext context; ... public ModelAndView index(ModelMap model){ ... File file = new File(context.getRealPath("/WEB-INF/config/file...

개발 창고/Web 2020.08.20

[Android] 기기별 고유식별을 위한 UUID

과거에는 기기별 Mac Address를 활용했지만, 보안 문제 등으로 인해 사용이 어려 어려워졌습니다. 때문에 이를 대체해서 개인 식별번호를 위한 UUID를 활용가능합니다. String uuid = UUID.randomUUID().toString(); Log.d("TAG", "UUID >> " + uuid); 다음과 같이 키가 발급됩니다. 때문에 이 키를 저장해 두고 활용하면, 캐시 삭제/어플 삭제 이전에는 계속 동일한 식별번호로 활용 가능합니다. // UUID 초기화 private void initUuid(){ SharedPreferences mPref = getSharedPreferences("KEY_PREF", MODE_PRIVATE); String uuid = mPref.getString("KEY..

[Javascript] 운영체제에 대한 정보를 위한 navigator

스크립트문을 작성하다보면 브라우저의 특성 및 운영체제별로 기능을 분리해야하는 경우가 발생합니다. 이전글에서 모바일과 PC버전에 따른 기능분리에 대해서 이야기할때 잠깐 스쳐지나간 navigator에 대해 좀 더 자세히 이야기해볼까 합니다. 2020/08/13 - [개발 창고/웹 개발] - [Javascript] 모바일과 윈도우 구분짓기, User-Agent [Javascript] 모바일과 윈도우 구분짓기, User-Agent 얼마전 고객의 요청으로 모바일과 윈도우에 동일 기능에 대해 다르게 작동해야하도록 하는 소스를 구현해야 하는 일이 생겼습니다. 그래서 작업하는 김에 또 이렇게 창고에 작업을 남겨두기 위 royzero.tistory.com 일단 navigator에 대한 모든 프로퍼티는 아래의 명령으로 확..

개발 창고/Web 2020.08.14

[Javascript] 모바일과 윈도우 구분짓기, User-Agent

얼마전 고객의 요청으로 모바일과 윈도우에 동일 기능에 대해 다르게 작동해야하도록 하는 소스를 구현해야 하는 일이 생겼습니다. 그래서 작업하는 김에 또 이렇게 창고에 작업을 남겨두기 위해 글을 작성해 봅니다. 참고로 자체 제작 어플을 이용하는 경우엔 AndroidBridge를 활용하면 더 확실하지만, 안드로이드/애플의 브라우저 어플에서 실행할때는 이런 부분에 제약이 있습니다. 2020/08/04 - [개발 창고/안드로이드 개발] - [Android] 안드로이드 기능을 웹에서, AndroidBridge [Android] 안드로이드 기능을 웹에서, AndroidBridge Android 개발 시, 기존 모바일웹을 어플로 띄우고 싶을 때가 있을 겁니다. 그럴 때 사용하는 게 바로 WebView인데 가끔 Web에..

개발 창고/Web 2020.08.13

[Android] 화면 회전 리로딩 막기

WebView 개발을 하다보면, 가로/세로 화면모드로 전환시 WebView가 리로드되는 현상이 발생합니다. 이는 화면 전환에 따른 onCreate의 재호출 되기 때문입니다. 이런 경우 회전시 리로드를 막는 방법은 매우 간답하니다. AndroidManifast.xml ... 해당 파일에서 내에 android:configChanges="orientation|keyboardHidden|screenSize" 해당 라인을 추가하면 화면모드 전환시에도 웹뷰등이 리로드 되는것을 막을 수 있습니다.

반응형