VSCode 내 터미널에서 현재 설치되어있는 vue 버전을 확인해보려는데 아래와 같이 에러가 남.
검색해보니 윈도우즈 운영체제의 실행규칙 때문이다. Windows PowerShell을 열어서 아래와 같이 해결했다.
VSCode 내 터미널에서 현재 설치되어있는 vue 버전을 확인해보려는데 아래와 같이 에러가 남.
검색해보니 윈도우즈 운영체제의 실행규칙 때문이다. Windows PowerShell을 열어서 아래와 같이 해결했다.
최근 넘겨받게 된 프로젝트에서 jar 파일 하나로 macOS와 Windows 환경에 설치 패키지를 만들어야하는 상황이다. Windows는 늘상 해오던 환경이라 아무 문제 없이 설치 패키지를 만들었다. 하지만 macOS 환경에서 소스와 함께 넘겨받은 PackageManager가 32bit app이어서 패키징툴 설치 자체가 불가능한 상황 ㅠㅜ
homebrew나 jpackage, pkgbuild 등의 툴과 며칠을 씨름하다가 GUI 기반의 간편한 툴로 설치 패키지 패키징 완료.
.app으로 끝나는 앱을 생성한 후 패키징을 하는 것이 아니라 Raw Package 즉, 말 그대로 "A Raw Package project lets you install files at specific locations."인 패키징이 필요했던 것. 아래 링크에서 Packages.dmg를 다운로드하여 설치 후 패키징하면 끝.
macOS Ventura 13.4.1에서 정상적으로 작업 완료.
http://s.sudre.free.fr/Software/Packages/about.html
WhiteBox - Packages
What is Packages? You are a software developer who just completed a project and it's time to work on shipping it. Or you are an administrator and you need to deploy a plugin on the Mac computers of your network. Whenever you need to create an installation
s.sudre.free.fr
1. async 키워드로 수식된 메서드는 비동기 메서드가 된다.
2. 비동기 메서드 내에서는 적어도 하나의 await 키워드가 있어야한다.
3. async 키워드로 수식된 비동기 메서드가 아니라면 await 키워드를 사용할 수 없다.
4. 이벤드 핸들러가 아닌 비동기 메서드를 만들려면 async 키워드를 지정하고 리턴형을 Task나 Task<TResult>로 지정한다.
private long DoSomething() { var sw = Stopwatch.StartNew(); Thread.Sleep(8000); sw.Stop(); return sw.ElapsedMilliseconds; } private async void btnExecute1_Click(object sender, EventArgs e) { toolStripStatusLabel1.Text = ""; var elapsed = await Task.Run(() => DoSomething()); toolStripStatusLabel1.Text = "완료 : " + elapsed.ToString(); } private async Task<long> DoSomethingAsync() { var sw = Stopwatch.StartNew(); await Task.Delay(1000); sw.Stop(); return sw.ElapsedMilliseconds; } private async void btnExecute2_Click(object sender, EventArgs e) { toolStripStatusLabel2.Text = ""; var elapsed = await DoSomethingAsync(); toolStripStatusLabel2.Text = "완료 : " + elapsed.ToString(); }
var eggsTask = FryEggsAsync(20); var baconTask = FryBaconAsync(3); var toastTask = MakeToastWithButterAndJamAsync(2); var breakfastTasks = new List<Task> { eggsTask, baconTask, toastTask }; while (breakfastTasks.Count > 0) { Task finishedTask = await Task.WhenAny(breakfastTasks); if (finishedTask == eggsTask) { Console.WriteLine("eggs are ready"); } else if (finishedTask == baconTask) { Console.WriteLine("bacon is ready"); } else if (finishedTask == toastTask) { Console.WriteLine("toast is ready"); } breakfastTasks.Remove(finishedTask); }