반응형

언어 17

python) filter, map함수

1. 파이썬 `filter()` 함수란?`filter()` 함수는 특정 조건에 맞는 요소만 선택해서 걸러주는 역할을 합니다. 예를 들어, 리스트에서 짝수만 골라내고 싶다면 `filter()`를 사용할 수 있다.filter(조건 함수, 데이터)- `조건 함수`: 각 요소가 조건을 충족하는지 검사하는 함수입니다. 반환값은 `True` 또는 `False`여야 합니다.- `데이터`: 필터링할 대상 데이터입니다. 보통 리스트, 튜플, 세트 등이 여기에 들어갑니다.#### 예제: 짝수만 필터링하기아래는 `filter()`를 사용해 리스트에서 짝수만 골라내는 예제입니다.# 데이터 리스트numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 짝수 조건 함수def is_even(n): retu..

언어/python 2024.10.30

동시성 이슈에 따른 해결 방법(네임드락, 낙관적락, 비관적락)

이번에 팀 사수가 나에게 본인의 전 직장 얘기를 하면서 나왔던 용어가 있었다. "예전에 데드락이 걸렸는데~ ~를했는데 네임드락이 ~~ 낙관적락을 블라블라~". 잉?? 네임드락은 뭐고 낙관적락은 또 뭔데??? 사수가 나에게 아직도 네임드락이 뭔지도 모르냐고 채찍질 2만대를 때려서.. 마음의 짐을 가진 채 찾아보기 시작했다. 그랬더니 해당 개념은 보통 동시성 이슈에서 자주 언급되는 용어들이였다. 그럼 아래에서부터 동시성 이슈 및 락 종류들에 대해 알아보도록 하겠다. 먼저, 동시성 이슈가 무엇인대??? 사실, 나도 직장에 다니면서 사내 전사 시스템을 다루는 팀에 소속되어 있었기 때문에 동시성 이슈에 대해 생각을 해본적이 전혀 없었다. 그러나 서비스 플랫폼 팀에서는 동시성 이슈가 발생하는 경우들이 종종 있었다...

언어/java 2024.01.03

[dart] 다트의 기본문법-1

이번에 사이드 프로젝트를 하는데, 기존의 웹 방식이 아닌 앱 배포를 목표로 사이드 프로젝트를 진행하게 되었다. 나는 node.js 백엔드 개발자기 때문에 사실 react native가 자바스크립트 기반이기 때문에 RN을 채택할까 했지만 이번 기회에 flutter를 사용해보고 싶어서 dart를 공부하게 되었다. 앞으로는 dart를 공부하면서 배우는 기본적인 문법에 대해 작성하려 한다. 기본적으로 내가 살짝 공부한 dart는 파이썬, 자바스크립트, 자바를 합쳐놓은 듯했다. 그래서 그런지 dart라는 언어가 낯설지 않고 되게 쉽게쉽게 이해하며 공부했다. 먼저 이번에는 기초적인 것부터 적으려 한다. 먼저 dart는 main이라는 함수 내에서만 작동하므로 main 함수를 선언 후 그 안에서 코드를 작성하도록 하겠..

언어 2023.10.24

지정자(public, static, void 등)

이번에 자바를 공부하면서 처음에 헷갈렸던 부분이 바로 클래스나 메서드, 변수 할당 등을 할 때 선언하는 지정자였다. 인텔리제이나 이클립스 등에서 그냥 psvm 만 치면 public static void 가 자동으로 떠서 그냥저냥 썼지만, 도저히 왜? 언제? public을 사용하고 언제는 private를 쓰는지 헷갈려서 아래에 정리를 해두는 바이다. 1. 접근 제한자(public, private, protected) 1. public 'public' 은 접근 제한자 중 하나로서, 클래스, 메서드, 변수에 대한 접근 수준을 지정할 수 있다. 접근 제한자는 public, private, protected 로 총 3가지 인데, 그 중 public 은 어느 패키지든지 접근 가능한 접근 제한자를 나타낸다. 예를들어..

언어/java 2023.10.04

HashSet & HashMap

package chap_09; import java.util.HashSet; import java.util.LinkedHashSet; public class _06_HashSet { public static void main(String[] args) { // 1. 세트는 중복을 허용하지 않는다. // 2. 순서가 보장되지 않는다. HashSet set = new HashSet(); set.add("삼겹살"); set.add("소고기"); set.add("쌈장"); set.add("김치"); set.add("소고기"); set.add("쌈장"); set.add("깻잎"); // 갯수 조회 System.out.println("총 구매 상품 수: "+ set.size()); // 순회 for(String s..

언어/java 2023.09.08

ArrayList & LinkedList

package chap_09; import java.util.ArrayList; import java.util.Collections; public class _04_ArrayList { public static void main(String[] args) { // 컬렉션 프레임워크 // 배열의 단점을 보완하기 위해 나온 클래스들 // 기존에는 요렇게 배열을 사용했었음 int[] arr = new int[10]; arr[0] = 1; arr[1] = 2; // 컬렉션 프레임워크는 원하는만큼 넣을 수 있음. // 1. ArrayList ArrayList list = new ArrayList(); // 1-1 추가 list.add("이관영"); list.add("이관홍"); list.add("이창구"); li..

언어/java 2023.09.05

인터페이스(Interface)

1. detecter package package chap_08.detecter; public interface Detectable { void detect(); // 감지를 진행하는 메서드 } /////////////////////////////////////////////////////////////// package chap_08.detecter; public class AdvancedFireDetector implements Detectable{ @Override public void detect() { System.out.println("향상된 성능으로 화재를 감지합니다."); } } //////////////////////////////////////////////////////////////..

언어/java 2023.08.28

언어특징 및 개발환경

1. 자바의 특징 - 자바는 객체 지향 언어이다. - 자바 언어는 느리지만 ,버전업이 되면서 다른 언어들의 장점들을 흡수하고 있다. 1) 람다 : 함수형 프로그래밍 2) Stream API : 람다 표현식과 메서드 참조 등의 기능과 결합해서 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하여 처리할 수 있다. 3) 병렬 프로그래밍 : 여러개의 CPU 코어에서 작업을 배분해서 동시에 작업을 수행한다. 2. 자바 프로그램 작성과 실행 JDK 라는 프로그램을 다운로드한 후 설치해야함. 여러종류의 JDK가 존재한다.(openjdk, Oracle JDK, Azul Julu JDK, Amazon Corretto OpenJDK, Adoptium Temurin....) 예전에는 Oracle JD..

언어/java 2023.08.11

[typeorm] ILIKE & Raw

- findAndCount 에서 where 조건에 Like 를 쓸 수 있는데 Like 는 대소문자를 구분하므로 ILike 를 사용하면 대소문자 구분없이 검색 가능하다. const [restaurants, totalResults] = await this.restaurants.findAndCount({ where: { name: ILike(`%${query}%`), // ILike 는 대소문자 구분하지 않고 찾아준다. }, skip: (page - 1) * 25, take: 25, }); - Raw() 는 sql로 직접 DB접속하여 작성가능하게 해준다. const [restaurants, totalResults] = await this.restaurants.findAndCount({ where: { // n..

언어/typescript 2023.05.14

[JAVA] 은닉화 및 접근제어자, 생성자

1. 은닉화 및 접근제어자 자바에서는 public 과 private 라는 접근제어자가 존재한다. public 은 모든 클래스에서 해당 맴버변수를 호출할 수 있으며, private 는 해당 클래스 내에서만 호출이 가능하다. 그러나, 만약 private의 맴버변수를 다른 클래스에서도 호출하고 싶다면, getter 와 setter 를 이용하면 된다. getter 는 private의 맴버변수를 다른 클래스에서 해당 값을 가져오며, setter는 private 의 맴버변수에 값을 넣을 때 사용 된다. getter 와 setter 를 쉽게 정의하는 방법은 인텔리제이에서 command + N 을 누르면 쉽게 정의 가능하다. package kr.co.infopub.chapt018; public class Geo { /..

언어/java 2023.04.16
반응형