dart (flutter) 문법 - 연산자.

* 주의 설명과 연산자의 구분자는 '=>' 입니다. 단항 접미사 => expr++    expr--    ()    []    ?[]    .    ?.    ! 단항 접두사 => -expr    !expr    ~expr    ++expr    --expr      await expr    곱셈 나눗셈 => *    /    %  ~/ 더하기 빼기 => +    - 비트 쉬프트 => <<    >>    >>> 비트연산자 AND => & 비트연산자 XOR => ^ 비트연산자 OR => | 값비교 및 형식비교 =>  >=    >    <=    <    as    is    is! 같은지, 다른지 => ==    !=    논리 AND => && 논리 OR => || null 인지 => ?? 삼항 연산자 => expr1 ? expr2 : expr3 캐스케이드(동일한 인스턴스 멤버 호출) => ..    ?.. 할당연산자 => =    *=    /=   +=   -=   &=   ^=   etc. 참고. https://dart.dev/guides/language/language-tour#operators - 단항 접미사, 단항 접두사, 곱셈 나눗셈, 더하기 빼기, 할당연산자 int i = 1; i++; // i == 2 i = 1; int y = i + i; // i == 2 i = 1; int y = i * i; // i == 1 i = 1; i += 2; // i == 3 - 비트 쉬프트, 비트연산자  int i = 1; // 예를  들어 1의 비트가 0001 이라면 i << 1; // 연산으로 0010가 되고 int값으로 2가 됨. 1 | 2; // 0001 | 0010 = 0011 이 되고 int값으로 3이 됨. - 값비교, 논리 (3 == 3);

dart (flutter) 문법 - 주석.

void main() {      // 주석1      /*     * 주석2 - 여러줄.    */   /// 주석으로 문서를 직접 만들수 있다.    /// 마크다운도 지원   /// 문서화에 대한 자세한 사용법은 아래 링크 참조.   /// https://dart.dev/guides/language/effective-dart/documentation }

dart (flutter) 문법 - final, const 차이.

final, const  공통점 - 초기값을 할당한 이후 값 변경할 수 없다. 차이 - const는 컴파일 타임에 상수화 된다. 초보는 이해하기 어려울 수 있다. const는 초기화시에 항상 값을 대입해야 한다는 것만 알면 된다. 예) const int i2 = 123; void main () { final int i = 123 ; //i = 456; // Error const int i2 = 123 ; //i2 = 456; // Error final int i3 = getInt() ; /* * const 는 컴파일 시점에 상수화되어 * 런타임에 초기값을 넣을수 없다 . */ const int i4 = getInt() ; // Error } int getInt () { return 5 ; }

dart (flutter) 문법 - 데이터 타입.

데이터 타입. int, double, num, String, bool, Lists, Set, Map, ,Runes void main () { int i = 123 ; // 정수형 . double d = 1.23 ; // 실수형 . num n1 = 123 ; // num 은 정수 , 실수 모두 가능 . num n2 = 1.23 ; String s1 = 'abc' ; // 문자열 . String s2 = 'abc $n2 ' ; // 문자열에 변수 입력 가능 . print(s2) ; print(s2. runes ) ; // 문자열을 UTF-16 인코딩 bool b = true; // 참과 거짓 . b = false; List l = [ 1 , 2 , 3 ] ; // 배열 , 중복가능 . print(l[ 0 ]) ; // 중복불가 . 이외에도 여러가지 구문으로 초기화 가능 . Set<String> se = { 'a' , 'b' , 'c' } ; // ( 키 , 값 ) 으로 조합 , 키는 중복 불가 . 초기화 구문 다양함 . Map<int , String> m = { 1 : '11' , 2 : '22' , 3 : '33' } ; print(n2) ; }

dart (flutter) 문법 - dynamic, var 차이.

dynamic - 항상 다른 타입을 허용한다. var - 처음 추론된 타입만 허용된다. // dynamic 예제 . void main () { int a = 123 ; String b = 'abc' ; dynamic test = a ; test = b ; // 다른 타입도 허용된다 . print(test) ; } // var 예제 . void main() { int a = 123 ; String b = 'abc' ; var test = a ; test = b ; // Error 다른 타입이 허용되지 않는다 . print(test) ; }

가벼운 git 클라이언트 SourceGit

이미지
https://github.com/sourcegit-scm/sourcegit 1메가보다 작은 실행파일 하나인 GIT클라이언트. git명령어를 래핑한 가벼운 프로그램이다. 소스가 깔끔하고 구조가 쉽게 잘되어 있으니 필요한 기능이 있다면 추가하기 쉽다. 따로 설치할 필요없고 실행파일 하나만 복사해서 사용하면 된다. 사전에 git, .net6.0 이 설치되어 있어야 한다. - git https://git-scm.com/   - .net6.0 https://dotnet.microsoft.com/en-us/download/dotnet/6.0 윈도우나 visual studio에 사전 설치되어 있을 수 있으니  실행해 보고 안되면 그때 설치하면 된다.

dev.azure.com에서 초대 오류 해결 error 401

- 문제. dev.azure.com 에서 조직을 만들고 프로젝트를 설정한 뒤  동료와 공동작업을 위해 조직에 초대를 했는데  자꾸 401 오류가 났습니다. - 시도. 유저 삭제 후 다시 초대  웹검색으로 브라우저 시크릿 모드, 쿠키 모두 날리기, 새로운 브라우저 설치 후 시도  등 여러 방법을 했지만 오류가 났습니다. - 해결. 요약 - MS계정에 github 연결을 풀고 다시 초대해서 해결 했습니다. MS계정에 github가 연결되어 있어 연결을 풀었습니다. https://account.microsoft.com/security 에 접속해 "고급 보안 옵션" 을 누르고 github 연결을 해제하면 됩니다. 이후 dev.azure.com -> 조직 옵션 -> 유저 에서 해당 유저를 삭제후 다시 초대하면 됩니다. - 참고. https://developercommunity.visualstudio.com/t/unable-to-accept-invite-from-devazurecom-error-401/1684419