본문 바로가기

IT

(13)
Cannot find module '<경로> - 빌드 에러 node 를 사용하다보면 종종 잘 되다가 해당 에러를 만날 때가 있다. 만약 새로 모듈을 추가했고 그 모듈을 사용하기 위해서라던지.. npm install 을 빠트렸다던지 해서 놓쳤다던가 하는 이유가 아닌 특별한 소스수정없이 빌드만 새로 했을 뿐인데 해당 에러가 발생하는 경우가 있다. 전혀 상관 없던 부분이었으나.. 혹시 내가 놓쳤던 부분이 있지 않을까 괜히 소스 수정해보고 여러가지 시도를 해봤으나.. 결론은 " 단순한 버그 " 였다 해결 방법 : EC2에 직접 접속하여 sudo nodemodule/문제가 되는 모듈 삭제 그리고 다시 npm install 또는 pipeline을 통해 재 빌드하게되면 다시 정상적으로 돌아가게된다. 시행착오 1. 버전문제일까봐 최신버전으로 받아봄. 2. 버전문제일까봐 아래버..
Error writing file '/rdsdbdata/tmp/' (Errcode: 28 - No space left on device) 를 만났다. - AWS RDS aurora 회사내에서 서비스를 운영하다가 해당 에러를 맞닥트렸다. Error writing file '/rdsdbdata/tmp/xXx' (Errcode: 28 - No space left on device) DB 스키마를 볼 일이 있어서 조회하는데 워크벤치에서 unable to load schema 라는 간단한 메시지와 함께 해당 에러를 맞닥트렸다. 내용은 정말 간단하게 "임시폴더가 가득 찼다" 의 내용이다. 에러는 간단했지만 파급은 굉장했다. 간단한 select 외에 db스키마 조회, 인덱스 생성, 그룹바이를 통한 select 등이 전부 동작이 되지 않았다. 보통 우리가 쿼리를 작성할 때, group by 등을 사용하는데 grouping이나 sorting등을 할 때 우리는 로컬에 임시테이블을 만들어서 적재를 한..
Covering Index 란..(Clustered/NonClustered Key) Covering Index(이하 커버링) 란.. 쿼리의 모든 항목이 인덱스 컬럼으로 이루어진 상태를 이야기한다. 해당 내용을 알기 위해선 클러스터/논클러스터 키에 대해서도 알아야 한다. Clustered key nonClustered key - ( 테이블당 한개만 존재) - PK - PK가 없을땐 유니크키가 클러스터키가 된다. - 둘다없으면 히든키(rowId)를 생성한다.(6byte) non clustered key - 일반적인 index select name from Users where age = 1; 우리에게 Users 테이블이 있고 해당 테이블에 정보는 아래와 같다고 한다. 컬럼 : id / name / age PK: id index : age 위 쿼리를 살펴봤을때 , 우리는 위에 name컬럼을 ..
Jest로 테스트하자 Jest는 페이스북에서 만들어진 테스팅 라이브러리. - Jest 라이브러리 설치 및 스크립트 등록 npm i -D jest * package.json "scripts" : { "test":"jest" }, npm을 통해 jest를 설치하고 package.json 스크립트에 npm test 명령어 사용시에 jest 커맨드를 실행할 수 있게 설정. 이후 test.js라는 파일을 만들고 npm test를 실행해보자. test("1 is 1", () => { expect(1).toBe(1); }); 이렇게 첫 테스트가 이루어진다.
Enum 클래스 Java 1.5 버전 이상부터 사용이 가능. 열거체 (enumeration type) 상수 정의시 사용. 상수값의 타입 안전성을 보장. 정의한 타입 이외에 타입값을 가진 데이터가 들어올 시 체크함. // 기존 상수 선언시 public static final String mario = "mario"; public static final String lol = "lol"; // enum을 이용한 상수 선언 enum game { mario, lol } // 기존 상수 사용 String game1 = mario; game1 = lol; // 정의한 상수값이 할당 되선 안되지만 // 기본 java에서는 String에 String을 넣는다고 판단하여 에러가 나지 않음. game1 = "battle"; // enum..
안드로이드 인터페이스 -1 (이해 안됨 주의) 앱으로 돈벌자 - 1 인터페이스 수십가지의 기능들을 코드로 구현하면 클래스와 함수가 많아진다.클릭이벤트가 발생해야 뷰의 클릭이벤트로 인지하는 이벤트 핸들러가 구현되어있는데 이 수많은 작업들을 모든 클래스마다 구현하기는 매우 비효율적 그래서 기본라이브러리(view.class)에 탑재해서 이 라이브러리가 인터페이스 함수를 호출하게 만들어서 클릭이벤트하고싶을때 인터페이스 함수만 구현하면 됨 public interface OnClickListener { void onClick(View view)} 온클릭리스너가 인터페이스 그 안에 onclick은 온클릭리스너의 인터페이스 함수 인터페이스 함수는 필요로하는곳마다 입맛대로 구현해야하니 함수의 내용이 없음 그래서 사용할 클래스에서 반드시 구현해줘야함 view : 인터..
모바일 일곱번째 발자국(RealtiveLayout / style) 오늘도 간단하게 끄적이러 왔다. 목요일날 진행했던 LinearLayout에 이어 RelativeLayout에 대해 간단하게 작성해보았다. 해당 레이아웃은 상대위치를 설정한다고 보면되는데 기준점이 되는 뷰에 아이디를 설정해놓고 layout_설정 으로 위치시켜줄수 있다. 해당 내용을 진행하면서 어차피 같은 텍스트에 같은 크기를 만들기 귀찮아서 알아보니 style이라는 좋은게 있더라 res아래에 values 라는 폴더안에 style.xml에 등록을 해놓으면 언제어디서든 쓸수있다. 해당 화면에 style= @style/texttest1 로 style에 만들어놓고 을 이용해서 등록해놨던 부분들을 쓱 불러와서 사용해주었다.
모바일 다섯걸음 저번 시간까지 간단하게 안드로이드 스튜디오 구조에 대하여 작성하였고 이제 실제로 앱을 만드는 걸 가져보려한다. 나도 배워가는 입장이라 알려준다라기 보다는 내가 참조하고있는 블로그 ( 쉽게배우는 안드로이드 - 순수하지않은개발자 님) 를 참조하면서 그냥 이번에 새로 알게된 내용을 적는 정도로 하려한다. 레이아웃 구조 파악 View - 안드로이드 화면을 구성하는 기본단위. 하나의 영역마다 view라고 함 000Layout - 부모뷰. 흔히 사용하는 뷰는 LinearLayout, RelativeLayout, FrameLayout 정도가 있다. TextView, EditText, ImageView - 자식 뷰로 부모뷰 안에 들어갈 수 있는 뷰들이다. ScrollView - 스크롤뷰. 뷰가 화면보다 클때 사용해야 ..