분류 전체보기(33)
-
[웨비나 후기] 다크웹 기업 보안 위협 대응과 엔드포인트 보안 통합 관리 방안
https://talkit.tv/main/webinars/3394 B2B IT 테크 전문채널토크아이티는 산업사회 IT(Information Technology)를 넘어서 21세기 지식사회에 맞는 IT를 지향하며, 기술과 함께 기술을 사용하는 인간의 가치가 제대로 인정받는 사회를 만드는데 도움이 되고자 합니talkit.tv이번 웨비나는 다크웹에서 발생하는 기업 보안 위협과 이에 대한 대응 방안을 다루었습니다. 서현민 이사는 다크웹 동향과 정보 탈취형 악성코드인 스틸러 악성코드의 위협을 설명하며, 기업의 보안 전략을 제시했습니다. 김도현 이사는 통합 엔드포인트 관리(XEM) 사례를 통해 보안과 IT 운영의 중요성을 강조했습니다. 특히, 엔드포인트 보안 통합 관리의 필요성과 성공적인 사례를 소개하며, 기업 보..
2024.06.03 -
[전시 관람] AI EXPO KOREA 2024 국제인공지능대전 관람 후기
2024년 5월 1일부터 3일까지 코엑스에서 AI EXPO KOREA 라는 인공지능 엑스포가 열렸다. 학교에서 사전등록을 통해 표도 무료로 얻게 되어 친구들과 함께 구경갔다. 입구에서부터 최신 인공지능 기술을 소개하는 다양한 부스들이 눈에 띄었다. 각 부스마다 흥미로운 주제들이 많아서 어디서부터 둘러봐야 할지 고민될 정도였다. 가장 먼저 눈에 들어온 것은 자율주행차 시뮬레이터였다. 몇몇 회사들이 자신들의 자율주행 기술을 시연하고 있었는데, 실제 도로 상황을 그대로 재현한 시뮬레이션을 체험할 수 있었다. 시뮬레이터에 앉아보니 마치 실제로 도로를 주행하는 듯한 기분이 들었다. AI가 어떻게 실시간으로 도로 상황을 분석하고 판단하는지 직접 체험해보니 정말 놀라웠다. 다음으로 방문한 곳은 의료 AI 기술을 소개..
2024.06.03 -
[강연] 한국 IT 산업과 직장 이야기
교내 산업체 특강 수업에 한빛앤의 김수보님께서 오셔서 강연을 진행하셨다. 국내 약 2500만명의 직업 종사자 중 약 35만명, 대략 1%에 해당하는 사람들이 IT 산업에 종사하고 있다. 그 중 50-60%가 개발자로 종사한다. 다양한 SW 산업의 종류는 크게 패키지SW, IT서비스, 게임SW, 인터넷SW로 나눌 수 있다. 그 중 패키지 SW와 IT 서비스 계열의 종사자수가 가장 많다. 보통 이 회사들은 B2B 회사들이다.B2B는 안정적이다. 하지만 개발을 잘한다고 돈을 더 잘 벌지는 않는다. 반면, B2C는 반대라고 할 수 있다. 잘하면 많이 벌지만, 잘 되지 않을 가능성도 있다. 강연자님께서는 자기 경험 상 어디 한 곳으로 가라고 하시지는 않으시고 둘다 괜찮다고 하신다. 롯데 정보 통신은 개발은 안 하..
2024.05.23 -
[JPA] JPA에서 update 하기
1. Update 쿼리를 이용한 엔티티 수정업데이트 쿼리를 이용해서 엔티티를 수정하는 방법은 간단해보입니다. 우선 Member 엔티티와 JPA 레포지토리를 생성합니다.@Entity@Getter@Setterpublic class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "MEMBER_ID") private Long id; private String username; private String nickname; ... }public interface MemberRepository extends JpaRepository { @Modifying @Q..
2024.05.03 -
[JDK 뜯어보기] Collection interface
본 글은 JDK 17을 기준으로 작성하였습니다.java.util.CollectionCollection은 그 안에 있는 요소들을 나타낸다. 인터페이스이기 때문에 JDK는 직접적인 구현체를 제공하지는 않지만, Set, List 와 같은 더 구체적인 하위 인터페이스의 구현체들로 구현체를 제공한다. Unmodifiable CollectionUnmodifiable Collection 이라고 해서 반드시 불변인 것은 아니다. 포함되어 있는 요소가 가변적이라면 컬렉션이 가변적일 수 있다. 하지만 모든 요소가 불변이라면 불변 Collection이라고 생각할 수 있다.Collections.unmodifiableList() 우테코 프리코스를 경험하며 위의 메소드를 이용하여 불변 Collection으로 만드려는 것을 많이 ..
2024.04.29 -
가비아 도메인 구매 및 AWS Route 53 설정
1. 개요 Portainer CI/CD 구축 전 도메인 연결을 먼저하기 위해 가비아에서 도메인을 구매하고 AWS 에 설정하는 방법을 기록한다. 2. 가비아 도메인 구매 https://www.gabia.com/ 웹을 넘어 클라우드로. 가비아 그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브 www.gabia.com 우선 내가 만드는 서비스의 도메인 구매를 먼저하려고 한다. 나중에 ssl 인증을 통해 https 보안 연결 작업을 할 때 필요하기 때문에 미리 설정을 해두기로 했다. 메인 화면에 가서 원하는 도메인을 적어 어떤 도메인이 구매 가능한지 확인한다. 나는 wequiz 라는 이름으로 도메인 검색을 했다. 다양한 도메인이 나오는데 맘에 드는 도메인을 구매한다. 3. AWS Route 53 설정 AWS R..
2024.04.22 -
Git action과 docker hub을 이용한 Continuous Integration
1. 개요 전체적인 CI/CD 작업과정을 설명하고 이 포스트에서는 CI 작업을 진행하고자 한다. 이 글은 스프링 백엔드 서버를 기준을 설명한다. 2. 설계한 CI/CD 과정 유저가 브랜치에 변경사항을 push함에 따라 git action이 실행된다. git action이 CI 과정을 진행한다. Docker image 빌드 Docker hub에 빌드한 image push CI action이 종료됨에 따라 자동으로 git action이 CD 과정을 호출하여 진행한다. Portainer에서 컨테이너 별로 제공하는 webhook을 post 메소드로 호출한다. Portainer는 docker hub에서 새로운 이미지를 요청하여 ec2에 이미지를 빌드할 수 있게 해준다. 3. Dockerfile Spring 이 빌..
2024.04.11 -
Portainer를 이용한 간편한 CI/CD
1. 개요 캡스톤디자인을 하며 프로젝트 개발 중 어려움이 생겨 멘토링을 진행하게 되었다. 멘토링 중 멘토님께서 Portainer를 이용하여 CI/CD를 구축하는 것을 추천해주셨다. 2. Portainer 란? https://www.portainer.io/ Kubernetes and Docker Container Management Software Portainer is your container management software to deploy, troubleshoot, and secure applications across cloud, datacenter, and Industrial IoT use cases. www.portainer.io Portainer란 도커를 관리하는 오픈 소스 컨테이너 관리..
2024.04.10 -
[JPA] 연관관계 매핑
N:1 관계 가장 많이 사용하는 연관관계이다. N:1 자체로도 많이 사용하지만, M:N 관계를 매핑할 때 사용하기도 한다. public class Member { @Id @GeneratedValue private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; } @ManyToOne: 말 그대로 N:1을 나타내는 어노테이션이다. @JoinColumn: Team을 참조할 Foreign Key의 이름을 정해준다. FetchType.LAZY: DB에서 데이터를 조회할 때 Team 객체까지 한번에 가져올지, 빈 Proxy만 가져왔다가 필요할 때 조회할지 선택..
2024.04.05 -
[JPA] 엔티티 매핑
이번 포스팅에서는 JPA가 엔티티 객체와 테이블을 어떻게 매핑하는지 알아보겠습니다. 객체와 테이블 매핑 (@Entity, @Table) @Entity @Entity 라는 애노테이션이 붙은 클래스는 JPA가 관리하는 엔티티를 뜻합니다. JPA를 사용해서 테이블과 매핑할 클래스는 필수로 붙여줘야 합니다. 엔티티를 선언할 때는 몇 가지 주의사항이 있는데요. 기본 생성자가 필수입니다. (기본 생성자란, 파라미터가 없는 public 또는 protected 생성자를 뜻합니다.) final 클래스, enum, interface, inner 클래스는 사용이 불가합니다. DB에 저장할 필드에 final 키워드를 사용할 수 없습니다. @Table 엔티티와 매핑할 테이블을 지정한다는 애노테이션이며, name 이라는 속성을 ..
2024.03.29 -
[JPA] 영속성 컨텍스트
영속성 컨텍스트란? ORM은 객체와 데이터베이스 테이블의 매핑을 통해 엔티티 클래스 객체 안에 포함된 정보를 테이블에 저장하는 기술이다. JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트를 통해 애플리케이션 내에서 오래 지속되도록 보관한다. 영속성 컨텍스트는 JPA를 이해하는데 가장 중요한 용어이다. 영속성 컨텍스트는 논리적인 개념 눈에 보이지 않음 엔티티 매니저를 통해 영속성 컨텍스트에 접근 엔티티의 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속(managed) : 영속성 컨텍스트에 관리되는 상태 준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(remove) : 삭제된 상태 비영속 객체를 생성한 상태 Me..
2024.03.22 -
[JPA] ORM과 JPA 이해하기
1. 서론 Spring Framework의 많은 프로젝트를 보면 많은 사람들이 JPA라는 기술을 사용한다. 오늘은 이 JPA라는 기술에 대해 설명해보고자 한다. 2. ORM JPA를 알기 위해서 우선 ORM 이라는 것에 대해 알아보자. ORM 이란 Object-Relational Mapping의 약자이다. ORM은 SQL을 사용하지 않고 데이터베이스를 관리할 수 있는 도구이다. 데이터베이스에 테이블을 만들고 CRUD 기능을 사용하기 위해서는 SQL 쿼리를 데이터베이스 서버에 전달해야 한다. 하지만 코드만으로 이런 SQL 쿼리를 대신할 수 있도록 도와주는 것이 ORM이다. 예를 들어보면 User라는 테이블에 id, name, age라는 열이 있다고 가정하자. id name age 1 금장 26 2 준범 2..
2024.03.15