전체 글
-
[App Store] Flutter(iOS) 앱 업데이트를 위한 버전 변경 방법플랫폼/Flutter 2023. 10. 21. 23:36
버전 1.0.0의 앱을 업데이트 하기위해서 버전을 1.0.1로 변경하려고 한다.(참고로 앱은 Flutter를 사용하여 개발하였다.) 그래서 pubspec.yaml 파일의 version을 1.0.1+2로 수정했다. 그런데 Xcode에서 archive를 생성했을때 여전히 1.0.0으로 보이는 문제가 발생했다. 그래서 다음과 같은 과정을 진행했다. 1. pubspec.yaml 파일의 version을 수정한다. 1.0.0 -> 1.0.1 로 버전업을 하였고 뒤에 있는 +2는 버전 코드이다. 버전을 업데이트할때마다 1씩 올려주어야 한다. 2. TARGETS - Build Settings - User-Defined 의 FLUTTER_BUILD_NUMBER, FLUTTER_BUILD_NAME 을 버전에 맞게 수정한다..
-
Java - 클래스와 인터페이스의 상속언어/Java 2023. 7. 27. 13:18
클래스는 인터페이스를 상속 받을때 해당 인터페이스에 정의된 모든 메서드를 반드시 구현해야 한다. 인터페이스는 메서드의 시그니처만을 정의하고, 실제 동작은 구현 클래스에서 해야하기 때문에, 구현 클래스에서는 인터페이스의 메서드를 구현해야 한다. public interface MyInterface { void myMethod(); } public class MyClass implements MyInterface { @Override public void myMethod() { // 구현 내용 작성 } } 이 코드와 같이 구현 클래스가 인터페이스에 존재하는 메서드를 오버라이딩 해주었다. 그럼 인터페이스가 인터페이스를 상속받는 경우는 어떨까? public interface MyInterface { void my..
-
SSR(Server-Side Rendering) CSR(Client-side Rendering)의 이해서버 & 프레임워크/Server 2023. 7. 7. 22:49
백엔드 개발을 진행하며 SSR은 서버에서 동적으로 html을 생성하여 response해주고 클라이언트 페이지에 렌더링 하는 방식이고, CSR은 초기에 서버로부터 정적인파일 (HTML, CSS, JavaScript) 등을 받고 필요한 부분을 받아와 업데이트 시켜주는 방식으로 이해하고 있었는데 실무에 적용해서 개발을 진행하다 보니 헷갈려서 이곳에 정리해보려고 한다. 먼저, SSR(Server-Side Rendering)은 서버에서 전체 HTML을 생성하여 클라이언트에게 전달하고, 클라이언트는 해당 HTML을 화면에 렌더링하는 방식이다. 나는 여기서 '전체'라는 단어에 초점을 맞춰서 이해했다. 완성된 전체의 웹페이지를 서버에서 받아온다는 점에서 검색엔진 최적화(SEO)에 유리하고, 빠른 페이지 렌더링, OG(..
-
Bootstrap Modal의 backdrop 속성을 이용하여 모달 창을 유지하는 방법카테고리 없음 2023. 5. 12. 19:00
Bootstrap Modal 을 사용중인데 Modal 바깥영역을 클릭했을시 창이 꺼지지 않게 해달라는 고객의 요청이 있었다. 이 문제를 해결하기 위해서는 Modal 창의 html에 data-backdrop 속성에 static 값을 추가하면 된다. Launch demo modal Modal title × Modal body text goes here. Close Save changes id="exampleModal"인 태그에 data-backdrop="static"을 추가했더니 해결되었다.
-
VI 에디터에서 za키와 zr키를 사용하여 손쉽게 코드를 접거나 펼쳐보자서버 & 프레임워크/Server 2023. 4. 10. 13:13
vi ~/.vimrc 를 눌러서 vimrc를 확인해 보면 이런식으로 세팅이 되어있다. 여기서 set foldmethod=indent로 세팅을 해주면 세팅이 완료된다. 위 코드를 예시로 두번째 라인에서 za를 눌러주면 이처럼 들여쓰기를 기준으로 한번에 코드가 접히는 걸 확인할 수 있다. 세번째 라인에서 za를 눌러주면 위처럼 들여쓰기가 된 부분을 기준으로 새롭게 코드가 접히는 걸 확인할 수 있다. 이처럼 들여쓰기를 기준으로 za를 누르면 코드를 접을 수 있다. z + (shift) + r 을 눌러주면 접혔던 코드가 전부 펴진다. 지금까지 vi 에디터에서 za zr을 이용하여 손 쉽게 코드를 접었다 펼치는 기능에 대해서 작성해 보았다. 이 기능은 vi에디터로 작업을 할때 아주 많이 사용하기도 하고, 애용하는..
-
nodejs express 에서 multipart 데이터를 받아서 처리하기서버 & 프레임워크/Server 2023. 4. 10. 12:44
input tag에서 이미지 파일을 받아서 웹서버로 넘겨주는 기능을 필요로 할 때, nodejs의 multer 를 이용해서 가져올 수 있다. 위 html 코드를 예시로 작성해 보았을 때, $(function(){ $("#submit_btn").on("click", function(){ let formData = new FormData(); formData.append('img', $("#multipart_file").prop('files')[0]); }); }); 위 코드에서 formData객체를 새로 생성 후, formData객체에 데이터를 추가하는 이벤트 리스너를 등록한 후에 $.ajax({ url: 서버URL, type: "POST", data: Formdata, contentType: false,..
-
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator 셀레니움 에러언어/Python 2023. 1. 30. 14:32
셀레니움에서 tagname 으로 크롤링 해오는 도중 계속해서 오류가 발생했다. driver.find_element('xpath','//*[@id="powerQualityDataTable"]/tbody').find_elements('tagname', 'tr') 위 코드에서 오류가 발생했는데 정말 간단하게 해결되었다. driver.find_element('xpath','//*[@id="powerQualityDataTable"]/tbody').find_elements('tag name', 'tr') tagname 을 tag name 으로 하니 해결되었다.