본문 바로가기
반응형

전체 글1072

단어가 영어인지 아닌지 확인법 파이선에서는 isalpha 이름의 메서드가 있다. word = "Hello" if word.isalpha(): print("It is an alphabet") word = "123" if word.isalpha(): print("It is an alphabet") else: print("It is not an alphabet") 위에인 경우엔 영어라서 if 의 경우가 참으로 나오고 아래의 경우는 영어가 아니라서 아래의 결과가 나온다. 숫자 뿐 아니라 한글이나 공백이나 특수 문자 역시 영어가 아닌거로 체크를 하니 주의하도록 하자. 그리고 또 한가지의 방법은 파이선 뿐 아니라 다른 프로그래밍언어에서도 사용할 수 있는 정규 표현식이다. import re word="hello" reg = re.compile(r.. 2022. 12. 29.
String 내에서 특정 단어 위치 모두 찾기 String 에서 키워드를 찾을땐 indexOf를 사용하면 되지만 제일 처음 나오는 위치 값을 반환한다. 이럴 경우에 모든 위치를 찾고 싶을땐 어떻게 해야할까? 반복문을 돌면서 위치를 업데이트 해주면 된다. 샘플 코드는 아래와 같다. String text = "test tt test tt tt"; String word = "test"; List indexList = new ArrayList (); int index = text.indexOf(word); while(index != -1) { indexList.add(index); index = text.indexOf(word, index+word.length()); 2022. 12. 28.
모듈 경로 알아내기 파이선을 사용하는것 뿐 아니라 어떤 프로그램을 사용하더라도 사용할때 모듈이나 라이브러리 의 경로를 알아야할 필요가 있다. 수동으로 집어 넣을 경우도 있고 직접적으로 readme 같은 파일을 보거나 특정 버전으로 압축하기 등에 대해서 사용이 되곤 한다. 파이선에서는 모듈의 위치를 알아내는 법은 간단하다. 그냥 print 문을 사용하면 된다. 자신에게 설치되어있는 모듈을 임포트 한 후에 해당 모듈을 print 하면 경로가 나온다. import numpy as np print(np) 하면 된다. 2022. 12. 27.
SyntaxError: Non-UTF-8 code starting with '\xea' in file <FilePath> but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 파이선에서 스트링을 읽어서 파싱하는 작업 도중 다음 에러가 발생하였다. syntaxError: Non-UTF-8 code starting with '\xea' in file but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 아마 encoding이 뭔가 잘못된 에러인것 같다. 해결법은 생각보다 간단했다. 파일 자체에서 인코딩을 인식하게 하기 위해 코드 제일 상단에 # -*- coding: utf-8 -*- 를 삽입하면 된다. 에러메세지에 있는 사이트를 들어가보면 더 자세히 확인이 가능하다. https://peps.python.org/pep-0263/ PEP 263 – Defining Python Source Code.. 2022. 12. 26.
java.sql.SQLException: ORA-01000: 최대 열기 커서 수를 초과했습니다 java 에서 oracle 로의 연결을 하면서 데이터를 뽑던 중 반복문이 멈추면서 다음 에러가 나왔다. java.sql.SQLException: ORA-01000: 최대 열기 커서 수를 초과했습니다 말 그대로 연결에 대한 최대 커서가 초과했기 때문이다. 데이터베이스 설정부분에서 변경할수도 있지만. 이 에러가 발생한 원인은 너무 많은 connection 을 날렸기때문이다. 그럼 방법은 제때 connection 과 pstmt 를 닫아주는것이다. pstmt.close(); conn.close(); 로 에러를 해결할 수 있다. 2022. 12. 25.
java jdbc oracle 사용법 자바에서 jdbc 를 사용하여 오라클에 접근하는 방법이다. 방법은 간단하다. 1. JDBC 드라이버를 로딩 Class.forName(“orale.jdbc.driver.OracleDriver”) 2. Connection 객체를 생성 conn = DriverManager.getConnection(url, id, pw) 3. PreparedStatement 객체 생성, 객체 생성시 SQL 저장 PreparedStaement - SQL문을 데이터베이스에 보내기위한 객체 pstmt = conn.preparedStatement(sql) 4. SQL 문장을 실행 후 결과를 리턴 SQL 문장 실행 후, 변경된 row 수를 int type 으로 리턴 pstmt.executeQuery() 5. close ResultSet.. 2022. 12. 24.
[Oracle] java.sql.SQLException: ORA-00911: 문자가 부적합합니다. 자바에서 oracle sql 을 날렸는데 [Oracle] java.sql.SQLException: ORA-00911: 문자가 부적합합니다. 이런 에러가 떴다. 물론 말 그대로 문자가 부적합 할수도 있지만 세미콜론을 붙이게 되면 다음 에러가 뜬다. 쿼리 내용을 넣는 xml문서에는 마지막에 세미콜론을 붙이지 않는다. 2022. 12. 23.
자바 레코드(Record) 레코드(record)란 "데이터 클래스"이며 순수하게 데이터를 보유하기 위한 특수한 종류의 클래스이다. 코틀린의 데이터 클래스와 비슷한 느낌이라고 보면 된다. record 클래스를 정의할때, 그 모양은 정말 데이터의 유형만 딱 나타내는 듯한 느낌이다. 훨씬더 간결하고 가볍기 때문에 Entity 혹은 DTO 클래스를 생성할때 사용되면 굉장히 좋을 듯 하다. 예제 코드는 다음과 같다. 두개의 샘플 코드는 같은 동작을 하는 클래스와 레코드이다. Class public class TestClass{ private final String id; private final String name; public TestClass(String id, String name){ this.id = id; this.name = .. 2022. 12. 22.
Handler 를 이용하여 계속해서 정보 업데이트 하기 실시간 시간을 받아와서 계속해서 화면에 보여주거나, 그 밖에 계속해서 동적인 화면을 노출해야한다면 Handler 함수를 사용하면 된다. 사용법은 다음과 같다. import android.os.Handler; main method 안.. final Handler handler =new Handler(){ @Override public void handleMessage(Message msg){ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd (E)", Locale.KOREAN); SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm"); date.setText(dateFormat.format(n.. 2022. 12. 21.
반응형