본문 바로가기
반응형

전체 글386

[레거시분석] 메모리 관점에서 참조형 객체 초기화 방법 (new, null) 회사 레거시 코드 분석중 어떤 코드는 참조형 객체를 null로 초기화했고어떤 코드는 참조형 객체를 new() 로 생성했다. 비슷한 로직인데 왜 이렇게 다르게 로직을 짰을까  예전에 고객이 프로젝트가 자꾸 죽는다고 컴플레인이 들어왔다.원인을 찾아보니 힙메모리를 3기가로 설정해서조금만 메모리를 사용해도 풀 gc 가 계속 돌아서 죽어버렸다. 아무튼 위의 얘기를 한 이유는new() 키워드로 객체 생성 : 안정성List columnList = new ArrayList(); 안정성: null 체크 없이 리스트의 메서드를 호출할 수 있으므로, NullPointerException 이 나지 않는다.그라고 변수를 선언할 때 바로 리스트를 생성하기 때문에 별도의 초기화 과정 없이 변수를 바로 사용할 수 있다.단점불필요한 .. 2024. 10. 22.
[리눅스] centos 7,8,9 mariadb 설치하기 | 연결테스트 설치할때마다 까먹어서 내가보려고 적음 아니 근데 centos8 나온지가 언젠데 벌써 지원 종료되면 어떡함centos 9로 다시 설치해야되잫아ㅠ  yum install mariadb 명령어로 설치하면mariadb server 가 없어서 start 오류가 남[root@proworks etc]# systemctl start mariadbFailed to start mariadb.service: Unit mariadb.service not found.이런 오류    그래서 밑의 명령어로 설치해야됨yum install mariadb-server mariady 눌러서 진행해준다.  설치 완료되면 start 해준다systemctl start mariadbps -ef | grep mariadb  잘 떠있으면 실행ㄱ  .. 2024. 10. 8.
[리눅스] mariaDB 설치 에러 : Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY 오류  centos 8 stream 버전 에서 마리아 디비 설치 시 발생(centos6 ~ 버전도 해당)     root 로그인 후 mariadb 설치 중  Curl error 가 발생wget https://downloads.mariadb.com/MariaDB/mariadb_repo_seup./mariadb_repo_setupdnf install MariaDB-server MariaDB-client MariaDB-common      그래서 systemctl restart mariadb  이런거 해도 인식안됨 설치가 안되었으니까…    /etc/pki/rpm-gpg -> 이 경로로 접근해서 MariaDB-Server-GPG-KEY 키가 있는지 확인했는데 없음👍🥹    해결  마리아디비 공식 사이트인데.. 2024. 6. 20.
[리눅스] 오류: repo를 위한 메타자료 내려받기에 실패하였습니다 'appstream ': Cannot prepare internal mirrorlist: No URLs in mirrorlist_Centos 8, stream 오류내용/오류원인 BaseOS, Extras 등등...또는 오류: repo를 위한 메타자료 내려받기에 실패하였습니다 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried이런 오류   centos 기반 linux 사용자에게 뜨는 에러메세지centos6~8 버전 지원 종료로 인한 미러사이트 접근 오류이다.  일단 나는 yum install jenkins 하다가 오류가 났다.java 랑 기타 tools 잘 설치했었는데 갑자기 jenkins 만...   오류해결  root 계정으로 로그인 후 cd /etc/yum.repos.dls -al자신의 centos 버전에 맞는 .repo 파일들이.. 2024. 6. 5.
[리눅스] 가상 OS-웹 개발💻5a-1 | VirtualBox 6 + CentOS 8 | linux _webtob 설치 후 서버 기동(1) 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454Java 프로젝트 개발에 맞는 CentOS 설정https://gallery-k.tistory.com/455linux _외부/내부망 네트워크 설정https://gallery-k.tistory.com/457jdk 설치, JAVA_HOME 환경변수 잡기https://gallery-k.tistory.com/458    webtob, jeus 다운/라이선스 받기 webtob, jeus, tibero는 티맥스 소프트의 소프트웨어이다.설치 전 티맥스소프트 회원가입을 해야 한다.회원가입 후에는 다음 화면에서 다운로드 받아야 한다.https://www.tmaxsoft.com/kr/dow.. 2024. 5. 30.
[리눅스] linux _jdk 설치, JAVA_HOME 환경변수 잡기 shell 에 접속해서 root 로 로그인해준다.jdk 도 사실 사용자별로 만들어주는게 좋지만 보통은 JAVA_HOME 은 고정이기 때문에 root 에 설정해준다.    jdk 버전 확인   설치할 jdk 버전을 확인한다.yum list java*jdk-devel 이때 devel 은 JDK 이다.자바 개발을 해야 한다면 devel 붙은거로 받아주고 그냥 코드실행만 한다면 devel 없는 버전을 다운받아준다. 참고로 devel 없는 버전들까지 검색하면 이렇게 나온다.   JDK 설치다음 명령어를 이용해 원하는 jdk 를 설치해준다.yum install -y java-1.8.0-openjdk-devel다라라락 설치되는 모습  설치완료 후 버전 확인을 해주고 설치 경로를 확인한다. 설치경로를 확인하는 이유는 .. 2024. 5. 29.
[리눅스] 가상 OS-웹 개발💻3 | VirtualBox 6 + CentOS 8 | linux _외부/내부망 네트워크 설정 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454Java 프로젝트 개발에 맞는 CentOS 설정https://gallery-k.tistory.com/455   네트워크 초기 설정  금융권 개발은 보안이 중요하기 때문에 (금융권이 아니더라도 보안이 중요한 회사라면은)외부망/내부망 네트워크가 나눠져있다.내부망에서 개발을 진행하고, 개발이 완료된다면 외부망의 깃이나 타 서버와 연동해서 프로젝트 배포하는 식이다.   그래서 개발용 리눅스 서버에 외부망 네트워크, 내부망 네트워크를 각각 세팅해줘야 한다.NAT호스트 전용 어댑터외부 인터넷 연결용SSH 접속용 어댑터(내부)   세팅할 OS 를 우측클릭 후 설정 클릭(OS 이름 바.. 2024. 5. 28.
[Java] JavaSE, JDK, JRE 의미, JDK 의 주요 디렉토리 및 exe 정리 요약JavaSE의 구현체는 자바개발키트(JDK: Java Development Kit), 자바실행환경(JRE: Java Runtime Environment) 두 버전이 있다.JDK는 자바 애플리케이션을 개발하는 데 필요한 도구와 라이브러리 포함JRE는 자바 애플리케이션을 실행하는 데 필요한 런타임 환경 제공bin자바 애플리케이션을 개발하고 실행하기 위한 폴더- javac(컴파일)/java(JVM구동)/javap(역어셈블)confJDK의 구성과 관련된 설정 파일 포함lib자바 애플리케이션을 실행할 때 필요한 핵심 라이브러리 포함         1. JavaSE 구현체 JavaSE의 구현체는자바개발키트(JDK: Java Development Kit), 자바실행환경(JRE: Java Runtime Enviro.. 2024. 5. 3.
[리눅스] 가상 OS-웹 개발💻2 | VirtualBox 6 + CentOS 8 | CentOS 설치 및 기본 세팅_ Java 프로젝트 개발 환경에 맞게 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454      본격적으로 os 설치를 한다.   1. CentOS 8 설치  1. 새로 만들기를 눌러준다.    2. 원하는 가상머신 이름을 입력한 후, 종류는 Linux, 버전은 RedHat(64-bit) 를 선택해준다.  3. 적당한 메모리 크기를 설정 후 다음 버튼을 클릭한다. 램 크기 정하는건데 굳이 무거운 프로그램을 돌리지 않을거면 많이 안해도된다.걍 로컬 db 용으로 쓸거여서 2기가로 했는데 4기가정도도 괜찮을 듯 하다.추후에 늘릴 수 있으니 대충하고 넘겨도된다.    4. 하드 디스크 선택 창에서 '지금 새 가상 하드 디스크 만들기'를 클릭한다.   4-1. 가.. 2024. 4. 30.
[리눅스] 가상 OS-웹 개발💻1 | VirtualBox 6 + CentOS 8 | CentOS Stream과 미러 사이트 의미 정리 | iso 파일 종류 0. 사담가상 os 에서 웹 개발을 하게되어서 글을 써본다... 사실 가상머신 + os 설치는 인터넷에 정보가 많기도하고 나보다 훨씬 잘 정리해놓은 곳이 많아서굳이 내 블로그에 적을 이유가 있을까 싶었지만흔적 남기기 기록용으로 적는다.   다음과 같이 환경세팅을 할 예정이며, 글 1에서는 가상머신, 리눅스 os 를 구축할 것이다.설치파일설치 가능 목록가상머신Oracle VM VirtualBox (6.1.x)리눅스 os CentOS (8.x) RockySSH Clientputty Xshell MobaXtermFTP ClientFileZilaDB 관리툴dbeaver     1. VirtualBox 6설치Oracle VM VirtualBox는 한 컴퓨터에서 여러 OS를 동시에 실행할 수 있는 가상화 소프트웨어.. 2024. 4. 26.
[리눅스] 외부 인터넷 접속_ping 실패 (100% packet loss) 시 해결방법 | 네트워크 어댑터 2개 | virtualBox6 | centos8 | [실행환경] virtualBox 6 centos 8 - putty (ssh) [조건] SSH Client 접속과 외부 인터넷 접속을 동시에 하기 위해 네트워크 어댑터 2개 사용중 [문제상황] SSH Client 접속은 성공했지만 외부 인터넷 접속 실패 * putty 접속성공 * vb # ping 8.8.8.8 응답없음 -> ctrl + c 로 나가면 100% packet loss 가 뜸 [문제 해결] 왜 되는지는 모르겠지만... 네트워크 어댑터 두개의 순서를 바꾸니 해결 바꾸기 전 네트워크 어댑터 설정 바꾼 후 네트워크 어댑터 설정(포트포워딩은 일단 건들지 않았슴😒) + 이름도 서로 변경해줌 기존 device 및 name enp0s3 - 호스트 - static 설정 enp0s8 - NET - dhcp 설.. 2024. 4. 15.
[정처기 필기/실기] 요구사항 분석_UML 구성요소(7) UML 개발 시 의사소통이 원할하게 이루어지도록 표준화 객체지향 모델링 언어 😊럼바우 객체지향 분석기법 😊객체다이어그램 😊행위다이어그램 기능적 모델은 사용자 측면에서 본 시스템 기능이며 UML에서는 UseCase Diagram을 사용 UML구성요소 사물 (Things) 관계 (Relationships) 다이어그램 (Diagram) 사물 (Things) - 다이어그램 안에서 관계가 형성될 수 있는 대상들 구조 사물 Structural Things 개념, 물리 행동 사물 Behavioral Things 시간, 공간 그룹 사물 Grouping Things 요소들을 그룹화 주해 사물 Annotation Things +a 설명들, 제약조건 관계 (Relationships) - 사물과 사물 사이의 연관성 표현 (시.. 2024. 3. 22.
[정처기 필기/실기] 요구사항 분석_자료흐름도DFD, 자료사전DD (6) 요구사항 분석 sw 개발의 첫 단계 요구사항을 이해하고 문서화 -> 유지보수에 유용 요구 타당성 조사, 비용과 일정에 대한 제약 설정 비용이 많이드는 단계가 아님 요구사항 분석을 위한 도구 UML, 자료흐름도(DFD), 자료사전(DD), 소단위 명세서, 개체 관계도(ERD) 자료흐름도(DFD) - 자료 흐름 그래프, 버블 차트 자료의 흐름, 변환 과정과 기능을 도형으로 기술 😊구조적 분석 기법에 이용 (자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법) 프로세스 😊process 자료를 변환시키는 시스템의 한 부분 자료 흐름 😊Data flow 자료의 이동, 연관관계 자료 저장소 😊Data store 파일, 데이터베이스 단말 😊Terminator 시스템과 교신 입력데이터가 만들어지고, 출력데이터 받음.. 2024. 3. 20.
[정처기 필기/실기] 요구사항 정의/개발 프로세스(5) 요구사항 SW의 문제를 해결하기 위해 제공되는 서버스에 대한 설명 SW가 정상적으로 운영되는데 필요한 제약조건 😊요구사항 유형 기능 요구사항 비기능 요구사항 사용자 요구사항 시스템 요구사항 필수조건 EX)금융 시스템은 조회, 인출, 입금, 송금 기능이 있어야 한다. 있으면 좋을듯? 성능, 보안, 품질, 안정 등에 대한 요구사항 EX)차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다. 😊요구사항 개발 프로세스 😊순서: 도출 -> 분석 -> 명세 -> 확인 도출 사용자 요구찾기, 어떻게 수집할것인지 😊 분석 사용자 요구 이해 요구추출: 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자 요구 찾기 도메인 분석 요구에 대한 정보를 수집하고 배경을 분석해서 모델링 수행 명세 분.. 2024. 3. 20.
[개발자일기] 돌고돌아 백앤드 - 비전공자 개발자의 성공적인 이직기 시작하기 전 내가 정말 좋은 프론트앤드 회사를 가지 못해서 이렇게 생각하는거라면 정말 다행인 일이다. 사실 내가 뭐 엄청 대단한 개발자도 아니고 연차가 많이 쌓이지도 않았는데… 근데 내 주변 개발자 친구들의 말을 들어봐도.. 프론트앤드 개발자는 정치싸움이나 책임전가 등으로 인해 여러 모로 힘든 직무라는 생각은 어쩔 수 없다. 프론트 화이팅이다 나의 블로그 글을 보면 눈치챌 수 있지만 기계공학 -> 웹개발 -> 프론트 -> 백앤드 로 직무전환이 매우 화려하다. (심지어 중간에 유튜브도 했는데 성장속도 감당이 안대서 여유로워지면 다시하는걸로 마무리했다.) 애초에 내가 프론트앤드 개발자가 되고 싶었던 원초적인 이유는 백앤드에 종속되지 않은 화면을 개발하고 싶어서였다. 그래서 작은 스타트업 프론트앤드 회사로 이.. 2024. 3. 16.
반응형