728x90
반응형

Jetbrains의 Goland IDE 설치와 사용

 

www.jetbrains.com/go/

 

GoLand: A Clever IDE to Go by JetBrains

GoLand is an IDE by JetBrains aimed at providing an ergonomic environment for Go development.

www.jetbrains.com

1. 먼저 위 사이트로 이동해 고랜드를 다운받는다.

2. 다운받은 고랜드를 실행하면 계정 인증(activate)을 하라는데 나는 회사계정으로 로그인했더니 아래와 같이 나왔다.

 

3. 'New Project' 누르고 프로젝트 이름 설정

4. new -> Go file -> main.go 생성

case sensitive 하니 소문자로 해야한다.

  이 때 환경에 golang이 설치되어 있지 않으면 'GOROOT is not defined' 라는 워닝이 나타난다. 

  homebrew로 golang을 설치해야한다.

5. 'main.go'에 예제 코드 작성


 

이러고 실행이 계속 안돼서 찾아보다가 main package 를 만들어야 한다는 에러를 보고 configuration 수정하여 프로젝트를 main 이라는 package 이름으로 refactor 해 주었고 그러고 나니 "Hello World!" 가 나왔다...!!

 

6. go_test(다른 테스트 하다가 test 로 새로 만든 환경임)를 refactor 통해 main package로 바꿔줌

  또는 아래와 같이 depth 추가하여 package 생성

 

주의: 프로젝트 생성 시에 GOROOT 설정

728x90
반응형
728x90
반응형

심심하니까 푸는 프로그래머스 코테 문제

 

이번에 푼 문제는 '완주하지 못한 선수'

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

문제 캡쳐본

예전에 한 번 C++로 풀어봤다. 이런저런 방법으로 풀다가 결국 해설을 봤던 것 같다.

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    sort(participant.begin(), participant.end());
    sort(completion.begin(), completion.end());
    
    for(int i = 0; i < participant.size(); i++){
        if(participant[i] != completion[i])
            return participant[i];
    }

    return participant[participant.size()];
}

 


 

이번에 고랭으로 풀어보려고 했는데 C++로 어떻게 풀었는지 이미 봐버려서 그대로 풀어버렸습니다 ㅠㅠ  근데 이 문제는 고랭은 지원하지 않아서 그냥 맞겠지 하고 풀었어요 ㅎㅎ

package main

import (
	"fmt"
	"sort"
)

func solution(participant []string, completion []string) string {
	sort.Strings(participant)
	sort.Strings(completion)
	
	for i:=0; i < len(completion); i++{
		if(participant[i] != completion[i]){
			return participant[i]
		}
	}
	return participant[len(participant)-1]
}

func main() {
	participant := []string{"leo", "kiki", "eden"}
	completion := []string{"eden", "kiki"}
	ret := solution(participant, completion)
	fmt.Println(ret)
}

sort 내장 모듈을 지원해주니 이 모듈을 사용했고 정확히 C++로 푼 방법과 똑같이 풀어버렸습니다 ㅋㅋㅋ 그래도 고랭 익숙해지는 거라고 생각하면 여전히 문제 풀어보는 건 좋지요!

728x90
반응형
728x90
반응형

4월 1주 차 한줄평; 아무리 맛있어도 배 아프면 먹지 말자

 

또 토마로 시작한 한 주

월요일 퇴근 후 모처럼 약속 없는 날이었는데 기어코 일을 하나 만들었다. 바로바로 시그니처 토마 방문! 

시그니처 토마는 2019년 대학생이던 시절 토마 홍보 & 영어 교육 목적으로 시작한 '요즘영어' 컨텐츠를 위해 방문했던 클럽 중 하나이다. 그때의 분위기가 아직도 기억나는데, 일단 에너지 넘치는 두 오피서 언니들이 분위기를 띄워주었고 회사로 치자면 부장님쓰 차장님쓰들이 계셨던 그런 분위기였다.

토마라는 공간이 수평적이고 따뜻한 그런 분위기라곤 하지만 어떻게 보면 정말 다른 두 집단이 모여 토마 모임을 아주 조화롭게 하고 있다는 것이 신기했다. (또 그때는 몰랐다. 회사 다니면서 토마 한다는 것이 얼마나 힘든 일인지 ㅠㅠㅠ 모두 존경쓰...)

지난 주말, 좋아하는 토마 사람들을 만나 밥을 먹고(또 인도커리 먹음ㅋㅋㅋㅋㅋ) 토마 이야기를 하다가 요즘영어가 생각났고 요즘영어에서 내가 좋아하는, 진짜 멋있고 그런, 어떤 느낌이냐면 '아니 이쁘고 일 욕심 많고 예의도 바르고 이쁨도 많이 받는 그런 사람이 있다!?' 이런 느낌인 언니다,, 암턴 요 언니가 생각이 나 연락하게 되었고 시그니처 토마에 게스트로 + 방문한 김에 컨퍼런스 홍보도 할 겸 참가하게 되었다! 

초상권 보호를 위해 블러처리 ㅠㅠ 모든 분들이 한 분 한 분 너무나 따듯하시고 열정적이시다.

몇 분 아는 얼굴들이 있어서 반갑게 맞아주시고 취업했다는 소식을 전하니 너무 많은 축하를 해주셔서 지치긴 했지만 재밌었다!


배탈

월요일 토마를 하면서 닭강정을 시켜 먹었다. (한 3주 전 교대 토마 여행 이야기 공유(?) 이야기 시간을 가졌는데 그때 '저주의 남미'라는 주제로 이야기를 하고 1등을 해서 받은 배민 쿠폰으로 시켜먹었다 ㅋㅋㅋ)

쫀득쫀득하고 매콤 달콤한 느낌의 닭강정이 먹고 싶었고 마침 온라인이니 하나씩 주워 먹으려 주문해서 먹었다. 

남은 닭강정을 냉장고에 넣어두고 화요일 출근을 했고 퇴근해서 닭강정 먹을 생각을 하고 있었다. 근데 화요일 회사에서부터 배가 조금씩 아팠고 화장실도 엄청 자주 가게 되었다 ㅠㅠ 이거 닭강정 때문인 건가? 하는 생각이 들었지만 닭강정 너무 맛있잖아!! 그래서 배가 아픈 느낌이 있었지만 화요일 약속도 취소되어 집에서 데워서 또 먹었다.

그리고 그날 밤, 배가 엄청~~~ 아팠다. 아 이거 진짜 닭강정인가...? 라는 생각을 하며 수요일 출근을 했고, 회사에서 또 화장실을 엄청 자주 가게 되었다. 그리고 엄청 배고픈 상태로 퇴근했다.

또 토마 모임이 있어서 모임 들어가기 전 밥을 먹어야 했는데 반 정도 남은 닭강정이 눈에 보였다. 캔연어 전을 해 먹으려고 했는데(망했지만), 닭강정을 어쩌지 하다가 맛있는 건 맛있으니까 ㅠㅠ 두 개 먹었다 ㅋㅋㅋㅋ 그리고 버렸다. 버려야 하는 걸 아는데 그 와중에 또 그걸 주워 먹는 내가 신기했다. 그리고 요리하면서 또 배 아프고 ㅋㅋㅋㅋ ㅠㅠㅠㅠㅠ 

그리고 오늘(토요일)까지 배가 아프다 ㅋㅋㅋㅋ 뭐만 먹으면 속이 불편하고 계속 설사하고ㅠㅠㅠㅠ 

맛있는 건 알겠는데 배 아프면 먹지 말아야겠다는 교훈을 얻었다...


가민 10km 코치

10키로 54분대를 깨보고자 가민에서 제공하는 코치 기능(?)을 사용해 보고 있다. 

내 트레이너는 젶 선생.. 아직 초반 2회까지는 그렇게 엄청 힘든 정도는 아니다. 내 컨디션이 안 좋아 힘들게 느껴진 적은 있으나 그렇게 힘든 정도는 아니고 오히려 전체 페이스는 평소 내가 뛰던 페이스보다 느리다. 중간중간 회복 러닝(걷기)을 하기 때문인 것 같다.

첫번째 사진은 젶 선생님,, 가운데와 오른쪽은 코칭 첫번째 러닝, 두번째 러닝

두 번째 러닝을 수요일 내 모든 일정이 끝난 10시쯤 뛰었는데 힘들기는 했다. 퇴근 후 10시까지 꽉 찬 일정이라 부담스러웠는데도 왠지 이렇게 코치가 있으니 안 뛰면 혼날 것 같아서(?) ㅋㅋㅋ 그래서 나가서 뛰었다.

(결국 다음날 근육통과 졸림, 피로로 하루를 거의 망쳤지만 ㅠㅠ) 

 


꽃놀이

회사 근처 양재천에 꽃이 너~~무 이쁘게 폈고 주말에 비가 오니 떨어지기 전에 보고 오자는 회사 선배의 아주 현명한 선택으로 꽃을 보러 갔다왔다. 오랜만에 나가서 + 꽃이 이뻐서 신난 나머지 흥을 주체하지 못하고 엄청 뛰어다니다가 넘어질 뻔도 했다.

그래도 꽃은 너무 이뻤고 이렇게 이쁜 순간들을 함께 하고 싶은 사람들 생각이 많이 났다.

우연히 찍힌 내 사진 마음에 들고 완전 만개하여 퐁실퐁실한 느낌!

 

728x90
반응형
728x90
반응형

3월 4주 차를 건너뛰다니! ㅠㅠ

 

처음으로 건너 뛴 주간 회고

아마도 조금 게을렀나 보다. 그런데 게을렀다고 하기에는 운동도 했고, 블로그 글도 2개 썼으며 남친님도 만나고(왕복 6시간) 스피치도 있었고 약속도 있었다. 그냥 바쁘고 지쳤다고 해두자! 

토마가 어떻게 흘러가는지

지난주에는 GGLTM에서 오랜만에 스피치를 했다. 마침 3월이 리뉴얼 기간이며 나의 역할은 Vice President of Membership, 그리고 내 프로젝트가 Persuasive Speaking 이어서 리뉴얼해야 하는 이유에 대해 'I hate it but I beat it'이라는 제목으로 연설을 했다. 오랜만에 하는 연설이라 떨리기도 했지만 주제와 시기가 딱 맞아떨어져 재미있게 준비했고 연설도 재미있었다.

이런 코멘트들도 받았다!

 

1월부터 4월에 있을 컨퍼런스를 위해 컨퍼런스 웹사이트를 리뉴얼하는 일을 맡아 리뉴얼을 진행했다. 뭘 많이 해야 했던 것은 아닌데, 홈페이지 디자인을 신경 쓰고 작년의 정보들을 모두 새 정보들로 갈아엎고 (이 과정에서 시간이 많이 들었다 ㅠㅠ 여러 엮인 사람들로부터 정보들을 받아야 하는데 제시간에 주시는 분은 많지 않고...) 최종 오픈을 위한 회의에 회의를 거쳐 3월 23일 드디어 오픈됐다!

거의 3달을 조금씩 손보고 3월 한달 동안은 퇴근하고 매일 2~3시간씩은 시간을 쏟으며 준비했다. 오늘(3월 28일)까지 24명이 등록했으니 앞으로 홍보를 열심히 해야겠다.

컨퍼런스 소개와 등록 링크

 

District 93 Conference

District 93 Conference|Toastmasters Korea

d93conference.org

 

드디어 나도 스마트워치!!

나에게 스마트워치가 생겼다 ㅠㅠㅠ 리뷰 글을 이미 작성하긴 했는데 아직도 너무 좋다. 한 일주일 정도 착용하고 있는데 가벼워서 차고 있는지도 모르겠고 운동도 더 열심히 하게 된다. 물론 한번 정도밖에 안 했지만 내일 할 거니까!! 

이걸 차고 달리니까 페이스가 더 빨라졌다. 역시 운동은 장비빨인 것인가!? 시작하고 멈추는 게 편리해서 참 좋다. 조금 더 착용하다가 더 열심히 달리기 시작하면 좋은 모델로 갈아타고 싶다.

 

이번 주

이번 주는 벌써 4월이다. 학생일 때는 4월에 있는 중간고사 때문에 4월이 오는 게 참 싫었다. 4학년 때부터는 조금 여유로워지더니 시험공부도 잘 안 하고 벚꽃 보러 다니고 여유롭고 행복했다. 지금도 중간고사 보는 것보다 회사 다니는 게 더 좋다고 생각한다. 날씨 따듯해지고 꽃도 피고 참 좋은 날들일 텐데 그래서 그런가 더 하루하루가 아쉽다. 

꽉꽉 채워하고 싶은 것들을 모두 할 수 있는 체력이 있었으면 좋겠다.

4월도 바쁘겠지만 일도 열심히, 공부도, 토마도, 운동도 다 열심히 하고 싶다. 너무 부담 가지지 말고 열심히.

728x90
반응형
728x90
반응형

돈을 번지 얼마 되지 않았다. 예전에는 10만원 20만원 갖다가 한달도 잘 살았는데 이제는 큰 돈으로 느껴지지 않을 정도로 돈을 벌고 있다.(많이 번다는 게 아니라 이제는 그 정도도 부족하다는 것...)

돈을 벌기 시작해서인지, 요즘 모두가 주식을 하며 재태크를 공부해서 그런건지 재태크에 관심이 많아졌다. 

아직은 아무것도 모르니 경제 관련 공부부터 시작해보면 좋을 것 같다고 생각했다. 그래서 듣고(?) 구독(?) 중인 것이 Uppity이다. (사실 오늘  구독 시작했다 ㅋㅋㅋㅋ)

그래서 아직 한 번의 레터도 받아보지 못했지만 금.알.못(금융을 알지 못함) 인 나에게 아주 큰 도움이 될 것 같다.

홈페이지도 엄청 깔끔하고 배울 내용들도 참 많을 것 같은데 이게 공짜라니!! 잘 활용해봐야겠다!

uppity.co.kr

 

UPPITY

더 많은 사람들이 돈에 대해 알게 하는 것, 돈 앞에서 더 똑똑하고, 더 여유롭고, 더 자유로워지는 것 어피티의 비전입니다 ‘엄청난 수익’, ‘확실한 보장’과 같은 허황된 돈 이야기가 아닌

uppity.co.kr

 

 

728x90
반응형
728x90
반응형

프로그래머스 level1 문자열 다루기 기본 golang 풀이

 

요즘에는 golang을 공부하고 있다. 간단하게 프로그래머스 쉬운 문제들을 풀어보고 있는데 syntax에 익숙하지 않으니 좀 어렵기도 하다.

 

제일 쉬워보이는 문제 풀면서 문자열 좀 익숙해 지려고 해봤다. 아래는 문제 캡쳐이고,

 

아래는 내가 아스키 코드 사용하여 풀이한 코드이다. 아스키 코드 모를 때는 직접 찍어보면 된다. 다른 모듈 Import한 것 없이 길이 확인하고 숫자만 있는지 확인하고 return해준다.

func solution(s string) bool {
    if len(s) == 4 || len(s) == 6{
        for i := 0; i < len(s); i++ {
            if 48 <= s[i] && s[i] <= 57 {
                continue
            } else{
                return false
            }
        }
    }else{
        return false
    }
    return true
}

 

아래는 다른 사람의 풀이인데 strconv라는 모듈을 Import 하여 풀었다. C언어에서도 많이 봤듯이 atoi 사용하여 string to int 해주었다. 그리고 err 변수 사용하여 에러 있는지도 받아주어 에러 메시지가 들어오면 return false해주고 아니라면 true 하여 간단하게 구현했다.

import "strconv"

func solution(s string) bool {
    _, err := strconv.Atoi(s)
    if err != nil || len(s) != 4 && len(s) != 6 {return false}
    return true
}

 

고랭은 어려워~.~

728x90
반응형

+ Recent posts