flutter 2.8에 맞춘 dart 2.15 팔로우업
but
so
example
isolate.exit()
을 호출하여 결과를 인수로 전달할 수 있다.compute()
가 업데이트 되었다. isolate.exit()을 사용하기 위해서finally
study
class Greeter {
final String name;
Greeter(this.name);
void greet(String who) {
print('$name says: Hello $who!');
}
}
void main() {
final m = Greeter('Michael');
final g = m.greet; // g holds a function pointer to m.greet.
g('Leaf'); // Invokes and prints "Michael says: Hello Leaf!"
}
final m = Greeter('Michael');
['Lasse', 'Bob', 'Erik'].forEach(m.greet);
// Prints "Michael says: Hello Lasse!", "Michael says: Hello Bob!",
// "Michael says: Hello Erik!"
플러터에서 이렇게 활용될수 있고
class FruitWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Column(
children: ['Apple', 'Orange'].map(Text.new).toList());
}
}
아마 기존 소스라면
class FruitWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Column(
children: ['Apple', 'Orange'].map((fruit) => Text(fruit)).toList());
}
}
이렇게 짜야 했겠지?
제네릭 메서드를 구체화하여서 제네릭 메서드가 아닌 메서드를 만들수 있다
T id<T>(T value) => value;
var intId = id<int>; // New in 2.15.
int Function(int) intId = id; // Pre-2.15 workaround.
소스보니까 기존에도 되던건데 코드가 간단해졌네요
const fo = id; // Tear off `id`, creating a function object.
const c1 = fo<int>; // New in 2.15; error before.
제너릭함수를 int를 반환하는 함수로 캐스팅하는 간단한 예제인듯
var y = List; // Already supported.
var z = List<int>; // New in 2.15.
var z = typeOf<List<int>>(); // Pre-2.15 workaround.
리스트 선언하기 편해지겠네요
와 이거 너무 반갑네요
enum MyEnum {
one, two, three
}
void main() {
print(MyEnum.one.name); // Prints "one".
}
원래 enum 출력찍으면 객체값이였나 이런게 날라왔었는데 이제는 고차함수로 name을찍으면 값을 받아올 수 있네요.
print(MyEnum.values.byName('two') == MyEnum.two); // Prints "true".
name을 활용해서 enum을 찾을수도 있네요
final map = MyEnum.values.asNameMap();
print(map['three'] == MyEnum.three); // Prints "true".
enum을 Map으로 캐스팅 할수있네요 이제
아마 맵은 이런 형태가 되겠네요
myEnum {
one : MyEnum.one,
two : MyEnum.two,
three : MyEnum.three,
}
32비트도 잘 지원한다는 내용인듯(데탑이랑 연관성이 있는듯)
그렇군요
Publishing my_package 1.0.0 to https://pub.dartlang.org:
Package validation found the following errors:
* line 1, column 1 of lib/key.pem: Potential leak of Private Key detected.
╷
1 │ ┌ - - -BEGIN PRIVATE KEY - - -
2 │ │ H0M6xpM2q+53wmsN/eYLdgtjgBd3DBmHtPilCkiFICXyaA8z9LkJ
3 │ └ - - -END PRIVATE KEY - - -
╵
* line 2, column 23 of lib/my_package.dart: Potential leak of Google OAuth Refresh Token detected.
╷
2 │ final refreshToken = "1//042ys8uoFwZrkCgYIARAAGAQSNwF-L9IrXmFYE-sfKefSpoCnyqEcsHX97Y90KY-p8TPYPPnY2IPgRXdy0QeVw7URuF5u9oUeIF0";
$ dart pub get
Resolving dependencies…
mypkg 0.0.181-buggy (retracted, 0.0.182-fixed available)
Got dependencies!
유니코드로 공격이 들어올수있는데 그걸 필터링해주는게 추가된듯
자격증명 취약점 개선된듯
연휴를 즐겨라
enum 반갑고,
isolate는 제대로 써본적이 없어서,,,
제너릭 캐스팅하는것도 편해질듯
그리고
연휴를 즐기자