'개발' 카테고리의 글 목록 :: zeroOne
728x90

 

 

코딩셰프강의를 보시다 보면 Scaffold.of(context).showSnackBar가 나오는데

플러터 업데이트 되면서 

아래와같이 ScaffoldMessenger 로 사용해주셔야 됩니다!

ScaffoldMessenger.of(context).showSnackBar(
            const SnackBar(
              content: Text(
                'Hello',
                textAlign: TextAlign.center,
                style: TextStyle(color: Colors.white),
              ),
              backgroundColor: Colors.teal,
              duration: Duration(milliseconds: 1000),
            ),
          );

 

728x90
728x90

화면에 위젯이 오버플로우 될경우에

화면에 스크롤을 넣는 기능

 

 

이런식으로 원하는 위치에 wrap with widget을한후에 바꿔주면 된다.

 

참고 : 코딩셰프 - 플러터 조금매웃만 강좌 3

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter] SnackBar  (0) 2025.02.05
[flutter 강의찾기] ListView, ListView.Builder 차이  (0) 2025.01.16
[flutter] const  (0) 2025.01.12
[flutter] inspector 키는법  (0) 2025.01.06
[flutter] 컬럼과 로우  (0) 2025.01.05
728x90

공통점 : 스크롤이 가능한 배열형 위젯

 

차이점 : 

ListView : 리스트뷰안에 모든 차일드를 생성해서 보여줌 -> 데이터 많아질시 앱이 터질 수 있음

ListView.Builder : 그떄그때 필요한 만큼만 데이터를 저장소나 서버에서 불러옴

 

 

예제 및 유튜브 강의 - 코딩셰프 순한맛 시즌 2-2

 

https://youtu.be/l_WKSKv_Z08?si=TiSd3Ngx034iQb8E

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter] SnackBar  (0) 2025.02.05
[flutter] SingleChildScrollView (화면 오버플로우 오류)  (0) 2025.02.04
[flutter] const  (0) 2025.01.12
[flutter] inspector 키는법  (0) 2025.01.06
[flutter] 컬럼과 로우  (0) 2025.01.05
728x90

플러터 개발을 하다보면

에러가 나서 실행이 안되는 경우중 전구를 눌러보면 const 관련된 것들이 있습니다.

 

그렇다면 const는 어떤것인가.

플러터에서는 어떤 위젯이 변하지 않을때 앞에 const를 붙히도록 하고 있습니다.

쉽게 말하자면 바뀌지 않는 부분이니 앱을 리빌드 할때 재사용 하겠다는 의미입니다.

예를들어 Text('스태틱 위젯') 같이 변하지 않는 위젯 앞에 const를 붙혀줘서 성능,효율성, 안정성을 향상시킨다고 합니다.

728x90
728x90

1. ctrl + shift + p 를 누른다.

2. open devtools를 검색한다.

3. open widget inspector page를 클릭한다.

 

끝.

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter 강의찾기] ListView, ListView.Builder 차이  (0) 2025.01.16
[flutter] const  (0) 2025.01.12
[flutter] 컬럼과 로우  (0) 2025.01.05
[flutter] @override  (0) 2024.12.25
[flutter] 안드로이드 에뮬레이터 실행안될때  (0) 2024.12.16
728x90

코딩셰프 - 순한맛 강좌 21 참고

 

내용 : column, row  정렬 등 

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter] const  (0) 2025.01.12
[flutter] inspector 키는법  (0) 2025.01.06
[flutter] @override  (0) 2024.12.25
[flutter] 안드로이드 에뮬레이터 실행안될때  (0) 2024.12.16
StatelessWidget  (0) 2024.12.16
728x90

extends 해서 다른 클레스의 메서드를 가져다 쓸때 '재정의' 해서 사용하겠다는 의미

728x90
728x90

 

 

안드로이드 에뮬레이터가 실행을 하려는데 정말 다양한 시도를 해봤지만 계속 오류가 나더라고요.

그래서 구글링을 하던중 가상화를 켜야한다는 글을 읽었습니다. 

바이오스에서 가상화 키고 다시 시작하니 정말 오류가 해결됐네요.

가상화는 cpu성능을 활성화하는 거라고 하더라고요.

추측이지만 이걸 켜야 에뮬레이터랑 pc랑 둘이같이 돌리는게 되는거 아닌가 싶네요!(아니라면 댓글로 알려주시면 감사하겠습니다.) 

 

어쨋든 이렇게 어렵게 한발 더 나가네요.

 

 

참고 포스팅

 

Android Emulator for AMD Processors failed 해결하기

Android Emulator Hypervisor Driver for AMD Processors installation failed. To install Android Emulator Hypervisor Driver for AMD Processors 라고 뜨면서 암드용 애뮬레이터 설치가 안되길래 작업관리자에서 가상화를 확인해보니

jeunna.tistory.com

https://jeunna.tistory.com/139

 

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter] 컬럼과 로우  (0) 2025.01.05
[flutter] @override  (0) 2024.12.25
StatelessWidget  (0) 2024.12.16
[flutter 기초] 인스턴스 클래스 객체 생성자  (0) 2024.11.28
[futter 배경지식] 위젯  (1) 2024.11.24
728x90

StatelessWidget은 데이터들을 받아오지 않을때 extends 한다

StatefulWidget은 데이터들을 받아올때 사용 

728x90
728x90

플러터 순한맛 강좌 13 내용이 너무 좋아 정리

 

class: 객체에대한 속성과 기능이 정의되있다.(스마트폰 설계도)

인스턴스 : class를 기반으로 만들어지며, class의 기능과 속성을 가지고있는 대상(설계도에 의해 만들어진 각 스마트폰)

객체 : 메모리에 할당된 class를 객체라고 부른다. 

 

728x90

'개발 > flutter' 카테고리의 다른 글

[flutter] 안드로이드 에뮬레이터 실행안될때  (0) 2024.12.16
StatelessWidget  (0) 2024.12.16
[futter 배경지식] 위젯  (1) 2024.11.24
[flutter 배경지식] 커널  (0) 2024.11.24
[flutter 기초] 변수만들기 var, stless  (0) 2024.11.23
728x90

flutter 에서는 모든 구성요소를 위젯이라한다.

 

위젯의 종류

1. Stateless Widget (정적인 위젯) - 화면구현(데이터 저장 x, 변화 x)

2. Stateful Widget (계속움직이는 변화하는 동적인 위젯) - 사용자의 interaction에따라 모양이 변화, 데이터 저장

3. Inherited Widget

 

 

* 출처 코딩셰프 순한맛 강좌 5강 

https://www.youtube.com/watch?v=jI4kqLdqXic&list=PLQt_pzi-LLfpcRFhWMywTePfZ2aPapvyl&index=6

728x90
728x90

커널이란 : 하드웨어와 소프트웨어를 연결시켜주는 역활

 

커널의종류 

 - Micro Kernel : 구글에서 개발한 fusia os 커널 

    -> 커널에 최소한의 필수기능만 넣고 그외 기능은 모듈화 시켜서 조립식으로 사용하는 커널

 - Monolithic Kernel : 안드로이드에서 사용되는 리눅스 커널

     -> 모든 기능을 커널에 모아놓음 => 업데이트에 시간과 효율에 비용과 시간이 든다.

 

 

Fusia Os 의 특징

1. 모든기기에서 구동되는 Os를 목표

2. 음성명령에 중점 - 안드로이드의 경우 화면 터치에 최적화 되어있는 특징이있다.

3. 인터페이스나 사용자 경험을 하나로 통일(안드 및 아이폰)

 

 

 

728x90
728x90

flutter에서 변수만드는 두가지 방법

*override는 StatelessWidget 에서 가저온 변수들하고 build 변수가 겹칠때 override써있는 위젯을 먼저 사용하라는 뜻이라고 한다. 

* 두가지 방법의 차이

  - var 변수선언하는 방식은 변화가 필요한 부분에 사용하면 성능이슈가 발생한다.

  - 그외에 대부분의 경우 아래의 커스덤 위젯 방식으로 하면된다.

 

*출처 : 코딩애플 - 유튜브 쉬운플러터 6강

728x90

'개발 > flutter' 카테고리의 다른 글

[futter 배경지식] 위젯  (1) 2024.11.24
[flutter 배경지식] 커널  (0) 2024.11.24
[flutter 기초] AppBar(title, leading, action)  (0) 2024.11.23
자동완성 ctrl + space  (0) 2024.11.21
flutter  (0) 2024.11.21
728x90

         

코딩애플 수업정리

*출처 : 코딩애플 유튜브

728x90

'개발 > flutter' 카테고리의 다른 글

[futter 배경지식] 위젯  (1) 2024.11.24
[flutter 배경지식] 커널  (0) 2024.11.24
[flutter 기초] 변수만들기 var, stless  (0) 2024.11.23
자동완성 ctrl + space  (0) 2024.11.21
flutter  (0) 2024.11.21
728x90

flutter

 

 자동완성기능  단축키 : ctrl + space

728x90

'개발 > flutter' 카테고리의 다른 글

[futter 배경지식] 위젯  (1) 2024.11.24
[flutter 배경지식] 커널  (0) 2024.11.24
[flutter 기초] 변수만들기 var, stless  (0) 2024.11.23
[flutter 기초] AppBar(title, leading, action)  (0) 2024.11.23
flutter  (0) 2024.11.21
728x90

요즘 취업 관련해서 여러가지 고민있습니다.

jpa로 개발을 하다가(얼마안하긴 했지만) 이길이 아닌거같아서 방황을 좀 하다가 

우연히 접한 기회로 기획업무가 재미있다고 느껴져서 공부해보고 다시 취업을 해보려고 하는데

쉽지는않네요 

그와중에 개인시간에 플러터로 앱만들기 취미를 만드렁 볼까해서 가볍게 공부를 시작하고자 해요!!!!!..

 

그래서 앞으로 공부한내용중에 나중에 찾아볼만한 내용들 정리하고자 합니다.

 

지금 코딩애플님 강의보면서 처음부터해보는데 그래도 프론트엔드쪽 웹개발했던게 도움이 되긴하네요.

화이팅입니다!

728x90

'개발 > flutter' 카테고리의 다른 글

[futter 배경지식] 위젯  (1) 2024.11.24
[flutter 배경지식] 커널  (0) 2024.11.24
[flutter 기초] 변수만들기 var, stless  (0) 2024.11.23
[flutter 기초] AppBar(title, leading, action)  (0) 2024.11.23
자동완성 ctrl + space  (0) 2024.11.21
728x90

javascript String 객체의 length 프로퍼티는 문자열의 길이를 의미한다. 일반적으로 '안녕하세요', 'hi'와 같이 한글이나 영어 문자열의 length 값은 눈에 보이는 글자 수 그대로 각각 5와 2가 될 것이라고 생각할 수 있다.
그러나 이모지 🥰와 태국어 ค์는 어떨까?
특이하게도 글자 수는 1개이지만 length 값은 2를 반환한다.
javascript에서 문자열을 어떻게 처리하길래 글자에 따라 다른 length 값을 갖는지 간단히 정리해 보려고 한다.

 

문자 인코딩

컴퓨터는 오직 0과 1만 인식한다. 사람이 사용하는 언어나 문자를 이해할 수 없으므로 컴퓨터에 문자를 표현하기 위해선 문자를 0과 1로 변환하는 과정이 필요하다. 각 글자마다 숫자를 대응하고 이를 컴퓨터가 이해하는 0과 1의 이진법으로 변환하는 위 작업을 인코딩(Encoding)이라고 한다.

문자열 세트(Character Set)

인코딩은 약속에 의해 이뤄진다. 예를 들어 ‘A는 65, B는 66, C는 67에 대응되도록 한다.’ 와 같이 글자 별로 대응할 숫자를 정한 뒤 컴퓨터는 이 규칙을 따라 문자를 화면에 처리한다. 이처럼 컴퓨터에서 처리할 글자들을 정하고 각 글자마다 대응하는 숫자를 지정해 체계화 시킨 방식을 문자열 세트(Character Set)라고 한다. 어떠한 문자열 세트를 사용하냐에 따라 컴퓨터가 처리할 수 있는 문자가 달라지고 해당 문자가 대응되는 숫자도 달라진다.

HTML의 <head> 태그를 보면 아래와 같이 meta 태그의 charset=”UTF-8” 속성을 볼 수 있는데, 해당 HTML을 인코딩할 때 사용할 문자열 세트를 지정하는 부분이다.

<html>
  <head>
      <meta charaset="UTF-8">
      <title></title>
  </head>
</html>

유니코드(Unicode)

초창기 컴퓨터는 알파벳, 숫자 그리고 몇 개의 특수문자만 숫자로 매칭하는 아스키 코드(ASCII) 문자열 세트를 적용하였다. 그러나 컴퓨터를 사용하는 국가가 점점 늘어나고, 아스키 코드로는 영어 이외의 다른 문자를 컴퓨터에 표현할 수 없자 언어 별 다양한 문자열 세트가 등장하였다.(한글 또한 예전에는 주로 EUC-KR 방식을 사용해 인코딩을 했다.)
문자마다 각기 다른 문자열 세트를 사용하다보니 서로 다른 언어 간 글자가 화면에서 깨져보이는 일이 발생했고, 이를 통합하고자 전 세계 언어를 대응할 수 있는 문자열 세트를 만들었는데 이것이 바로 유니코드(Unicode)다.

유니코드는 다양한 인코딩 방식을 가지고 있다. 즉 문자를 이진수로 저장할 때 몇 개의 자리수를 사용하느냐에 따라 UTF-8, UTF-16, UTF-32 등의 방식으로 구분된다. UTF-8 인코딩 방식을 가장 흔하게 사용하며 javascript는 UTF-16 방식을 사용한다.

javascript에서 문자열 길이

MDN에서는 String.length 를 아래와 같이 설명한다.

length 속성은 UTF-16 코드 유닛을 기준으로 문자열의 길이를 나타냅니다.

코드 유닛(Code Unit)이란 문자열 인코딩 방식에서 하나의 문자를 구성하는 가장 최소 비트 단위를 의미한다. UTF-16 인코딩 방식은 하나의 문자에 16비트의 이진수를 최소 단위로 사용하여 표현한다. 즉 String.length값이 1인 인 문자는 UTF-16 인코딩 방식으로 16비트의 길이를, String.length값이 2인 문자는 32비트의 길이를 가지고 있다는 의미이다.

Surrogate Pair

UTF-16 인코딩 방식은 기본적으로 16비트 내에서 문자를 표현하지만, 전 세계의 모든 문자를 16비트만으로 표현하기엔 역부족이었다. 따라서 기본 코드유닛인 16비트에 16비트 한 단위를 추가하여 32비트로 문자를 표현하는 방식이 사용되었는데, 2개의 코드 유닛을 사용하여 문자를 표현하는 방식을 Surrogate Pair (써로게이트 페어)라고 한다. 위에서 살펴본 🥰와 같은 emoji는 써로게이트 페어 방식으로 인코딩되는 가장 대표적인 문자이다.

Surrogate Pair 방식 외에 특정 조합형 문자들 또한 2개 이상의 코드 유닛으로 표현되기도 한다. 위에서 살펴본 태국어 ค์가 그 예이다.

Grapheme

그럼 코드 유닛 단위가 아닌 사람이 인지하는 문자 그대로의 길이는 어떻게 알 수 있을까?
사람이 인지하는 문자 단위를 Grapheme(문자소)라고 한다. javascript의 Intl.Segmenter 생성자를 이용하면 지정한 locale에 맞춰 grapheme 단위로 문자를 추출해 길이를 얻을 수 있다.

const text = '🏳️‍⚧️🏳️‍🌈👩🏾‍❤️‍👨🏻';
console.log(text.length); // 24

const segmentLength = Array.from(new Intl.Segmenter().segment(text)).length;
console.log(segmentLength); // 3

locale을 태국어로 하는 경우

const text = 'ค์';
const segmenterTh = new Intl.Segmenter('th', { granularity: 'grapheme' });

const segmentLength = Array.from(segmenterTh.segment(text)).length;
console.log(segmentLength); // 1

Int.Segmenter에 대한 자세한 설명은 MDN에서 확인할 수 있다.

 

 

 

출처 

https://jjnooys.medium.com/javascript-%EA%B8%80%EC%9E%90-%EC%88%98-00edc022efbe

728x90
728x90
UPDATE menu set parent_id = (select * from (select id from menu a where code='STATISTICS' and role = 'ADMIN') as a) where (code = 'STATISTICS_SETTING' and role = 'ADMIN');

이런식으로 감싸줘야 update문에서 사용할수 있다.
이유는 잘 모르겠네요..
아시는분은 댓글달아주세요~

728x90
728x90

데이터 테이블 컬럼을 2줄로 고정되게 바꾸고 싶었는데
정말 많이 찾아봤지만 css 수정하는 방식밖에 없었다.

그런데 정말 황당하게도 너무 쉬운방법이 있었다...

 

 


그냥 culumnsDefine에

{
  targets: 2,
  className: 'aa',
  width: 200,
  responsivePriority: 1,
  render : function (data, type, full, meta) {
    return full['aa'] + ' ' + full['bb'] + '<br/>' + full['cc'] + ' ' + full['dd'];
  }
},

br 태그 넣어주면 됐다...

내시간

728x90
728x90

datatable 몇일째 수정중인데...

이게 찾아도 자료가 잘 안나온다...

몇일동안 구글링해본결과 

 

https://datatables.net/extensions/buttons/examples

여기 공식도큐먼트인듯한데 여기서 

example 찾아서 해야 할듯 하다.

그런데 코드가 하다말아놔가지고 찾기가 증말 힘들다..

 

 


간단하게 

원하는 컬럼만 export하는부분은

 

{
  extend: 'excel',
  text: feather.icons['file'].toSvg({class: 'font-small-4 mr-50'}) + 'Excel',
  className: 'dropdown-item',
  exportOptions: {
    columns: ':not(.actions, .control, .homeData, .awayData)',
  }
},

이렇게 exportOptions에 not 을 넣어주면 된다 .

not안에는 

 

{
  targets: 2,
  className: 'homeData',
  render : function (data, type, full, meta) {
    return full['homeAlleyName'] + ' / ' + full['homelaneCount'];
  }
},

컬럼에 지정해준 className 을 넣어주면 된다.

 

728x90
728x90

기획이 나오기전 화면 작업을 하는데 ajax 통신을 이용하기 때문에

db없이 화면 을 구성하려면 임시 테이블이 필요했다.

 

우여곡절 끝에 찾은 방법이다.

생각보다 간단!

if (dataTable.length) {
  var dt_basic = dataTable.DataTable({
    "searching": false,
    ajax: './static/app-assets/data/pingong_test_data.json',
    columns: [
      {data: 'responsive_id'},
      {data: 'id'},
      {data: 'nickName'},
      {data: 'number'},
      {data: 'period'},
      {data: 'status'},
      {data: ''}
    ],

 

{
  "data": [
    {
      "responsive_id": "",
      "id": 1,
      "nickName": "제로원",
      "number": "1차",
      "period": "2022.04.01 ~ 2022.05.01",
      "status": 1
    },
    {
      "responsive_id": "",
      "id": 2,
      "nickName": "제로투",
      "number": "1차",
      "period": "2022.04.01 ~ 2022.05.01",
      "status": 1
    }
  ]
}

ajax 경로에 json 파일 이렇게 만들어 주면 된다.

728x90
728x90

동기 - 다른 스레드에서 작업하도록 시킨후, 끝나길 기다렸다가 다음 작업을 하는것

비동기 - 다른 스레드에서 작업하도록 시킨후, 끝나길 안기다리고 다음작업 하는것

 

직렬 - 다른 스레드 하나에서 처리하는것

동시처리 - 다른 스레드 여러개로 분산하는것 

 

왜 직렬처리가 필요할까 ? -> 순서대로 해야되는 일도 있음

 

ajax (Asynchrous javascript and xml)

http 는 화면의 일부만 바꿀수 없다. (화면전체가 껌뻑이며 바뀐다.)

=> 일부만 바꾸고싶을때(데이터) ajax 사용

 

-xmlhttprequest() 함수 쓰기떄문에 xml

비동기이기때문에 요청하면 응답이 바로옴 (빈값) 나중에 콜백 함수로 값 던져준다.

 

참고영상  

https://www.youtube.com/watch?v=zRJOte7TaPw

728x90

'개발 > cs' 카테고리의 다른 글

[cs] 스레드,코어  (0) 2022.04.04
[java]객체 클래스 인스턴스 메서드  (0) 2022.03.14
728x90

코어는 일하는 녀석이 몇명인가 하는건데

싱글코어/하이퍼스레딩 테크놀로지/듀얼코어/쿼드코어/옥타코어

 식으로 발전을해왔다.

하이퍼스레딩 테크놀리지가 인텔에서 싱글코어를 스레드 2개로 나눠서 코어가 두개인척한것.

 

즉 4코어 8스레드는

8명이 일하는 것과 같다.

 

그래서 프로그램이 멀티코어 최적화 코딩이 되었는가를 알아야한다고함.

 

 

 

참고영상

https://www.youtube.com/watch?v=_dhLLWJNhwY

728x90

'개발 > cs' 카테고리의 다른 글

[cs] 동기 비동기 통신 ajax  (0) 2022.04.04
[java]객체 클래스 인스턴스 메서드  (0) 2022.03.14
728x90

js사용중 의문점이 생겼다.

return 문을 사용하면 어느 범위까지 탈출을 하는것일까

 

참고한 자료에따르면

1. break

 -switch문 / 반복문에서 중괄호를 빠져나오게 함.

 

2. return

 -함수에서 빠져나오게 함.

 -그 아래 코드는 실행하지 않음.

 

3.exit

 -main함수가 아닌 곳에서도 프로그램을 종료시킴 

 -main함수에서 return 0한 것과 동일

 -exit(0) 정상적인 종료

  exit(1) 비정상적인 종료 (에러가 발생함을 보여줌)

 

이렇게 된다면 return; 만 했을때는 메서드 하나에서만 나가야 되는데 예제를 보면

위 코드를 실행했을때 '함수안' 만 실행되고 if문밖의 모든 함수가 실행되지 않는다.

이 문제는 더 알아봐야할듯 하다...

728x90
728x90

스트림에서

entryset - 해당맵의 key, value 를 모두가져오는것

keySet - 해당맵의 key 만 가져오는것

728x90
728x90

접근제어자를 사용하는 이유!

- 객체가 가진 고유의 멤버 변수값들이 외부에서 잘못 변경되는 것을 막기 위해서. 즉 실수를 줄이기위한 의도.

 

public > protected > default > private

 

l  public : 접근을 제한이 없음

l  protected : 동일한 패키지 내에 존재하거나, 파생클래스에서만 접근 가능(상속)

l  default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능

l  private : 자기 자신의 클래스 내에서만 접근이 가능

 

자세한 예시는 아래링크 참조

 

https://mainia.tistory.com/5574

728x90

'개발 > JAVA' 카테고리의 다른 글

[JAVA] stream entrySet, keySet  (0) 2022.03.25
[JAVA] :: 더블콜론  (0) 2022.02.24
[JAVA] 날짜,시간 비교- Date, LocalDateTime 차이  (0) 2022.02.10
728x90

먼저 객체란 메서드의 집합이다. 

그리고 객체와 객체(변수, 메서드)를 어떻게 모임으로 grouping 해서 프로그래밍할것인가를 고민하는것이 객체지향형 프로그래밍이다.  (반대로는 절차지향 1.2.3 순으로 )

 

클레스와 인스턴스를 통해 객체를 만들수 있다.

이 클래스와 인스턴스를 사용함에 있어 중복되는 코드를 제거하기위해 메서드를 사용한다. 

 


인스턴스(instance)는 클래스를 new 명령문으로 메모리에 생성한 객체이다. 설계도를 통해 독립적인 객체를 만든 것이다(실체화).

 

즉, 우리가 프로그래밍으로 표현하려는 실체는 객체이고, 이러한 실체를 추상화한 설계도는 클래스이며, 클래스를 인스턴스화하여 객체가 생성되는 것이다.

 

 

이제 코드로 클래스와 인스턴스를 알아보자

class User { // User -> 클래스
	private id;
    private name;
    
    User(int id, String name){
    	this.id = id;
        this.name = name;
    }
    
    public void SayHello() {
    	System.out.println("hello");
    }
}

public class cal() {
	public static void main(String[] args) {
    	User user1 = new User(1,"김공일"); // user1 -> 인스턴스
    }
}

user가 클래스고 user를 실체화한 user1 이 인스턴스다

728x90

'개발 > cs' 카테고리의 다른 글

[cs] 동기 비동기 통신 ajax  (0) 2022.04.04
[cs] 스레드,코어  (0) 2022.04.04
728x90

git-flow 브랜치 전략을 사용하고있기 때문에 develop에 작업하지않고 feature 브랜치에 작업하는데 맨날 까먹고

develop브랜치에 작업을해서 지웠다가 다시 브랜치 따서 옮기고 있었다...

오늘은 작업량이 좀 많기도하고

이 지긋지긋한 노가다에서 벗어나고자 구글링을 하니까 역시나 방법이 있었다..(그리고 생각보다 간단)

 

git stash push
git checkout -b 브랜치
git stash pop

 

이렇게만 해주면 된다는 사실 ...  

 

 

 

728x90
728x90

 

  • 더블콜론이란
    정식명칭은 메소드  참조 표현식(method reference expression) 으로 자바 8 이상부터 사용가능한 람다식이다.
  •  
  • 사용방법 : [인스턴스] :: [메소드] (스태틱 메소드인 경우 인스턴스 대신 클래스 이름으로 사용가능)
  •  
  •  
public class DoubleColon {
        public String addNim(String x) {
            return x + "고객님";
        }
    
        public void main(String[] args) {
            List<String> names = Arrays.asList("김공일","제로원");
            
            DoubleColon dc = new DoubleColon();
            
            names.stream().map(x -> dc.addNim(x)).forEach(System.out::println);
            names.stream().map(dc::addNim).forEach(System.out::println);
            
        }
    }

 

결과 :

김공일 

제로원

728x90
728x90

view 에서 컬럼을 조인하기가 어려워서 

querydsl에서  문자열을 합치려고 해서 알아봤다.

 

.optionalAnd(fetchRequest.getGameMember(), () -> VIEW.homeTeamCount.concat("vs").concat(VIEW.awayTeamCount).eq(fetchRequest.getGameMember()))

이런식으로 concat 을 사용해서 문자열병합이 가능하다.

728x90

+ Recent posts