개발자 4년차. 면접 담당자가 되어보니 드는 생각.
·
자기 계발
스스로도 이 마음 잊지 않게 남기는 글. 어느덧 개발자 4년차다. 처음 개발자로 취업하기 위해서 노력했던 순간들이 얼마전인 것 같은데.. 감사하게도 이제는 회사에서 인정을 받아 면접 담당자로도 참여하게 되었다. 항상 면접을 당하는(?) 입장이었다가, 면접 담당자로서 질문하고 답을 받는 자리에 서니 다른 시각이 생긴다. 항상 강조하는 부분. 어떤 문제를 해결했는가. 이게 정말 중요하다는 걸 느낀다. 내가 능동적으로 어떤 문제를 찾아 해결하는 경험은 내가 어떤 사람인지 설명하기에 정말 좋은 에피소드가 된다. 이걸 안한 사람은 면접와서 별 할 말이 없다. 이러이런 걸 했고 이런 걸 했습니다. 이런 식의 결과 나열은 면접 담당자의 기억에 남지도 않고 귀에 들어오지도 않는다. 이미 이력서에서 본 내용을 다시 듣..
Can't connect to MySQL server on '127.0.0.1' (10061)
·
Skills/Database
이런 오류가 뜬다면 MariaDB(MySQL)가 제대로 실행되고 있지 않다는 뜻이다.나는 HeidiSQL을 통해서 MariaDB를 사용중인데 이와 같은 오류가 떴다.   해결 방법은 제어판 > 시스템 및 보안 > Windows Tools > 서비스에 들어가서MariaDB(or MySQL) 항목을 찾는다.   여기서 마우스 오른쪽을 클릭해서 제일 상단에 '실행'을 눌러주면 된다.상태가 '실행'으로 표시된다면 제대로 작동중이다.
Windows Xdebug 설치(xampp, php)
·
Skills/PHP
1. Download Xdebug  ⬇️ php 버전 확인 명령어php -v 터미널에서 php 버전을 확인한다.  나는 php 8.2.12 버전이라 php 8.2 그리고ZTS(Thread Safe 버전)이라 PHP 8.2 TS VS16 (64 bit)을 다운로드 했다.NTS라면 PHP 8.2 VS16 (64 bit)을 다운로드하면 된다.  Xdebug: DownloadsDownloads Please refer to the installation instructions on how to install Xdebug. Source Xdebug is hosted in GIT. The source code can be browsed through github and can be checked out with: g..
챗지피티 vs 딥시크, 누가 더 낫냐?
·
IT NEWS
저번주 딥시크로 세계가 난리가 났다.딥시크를 개발한 개발자는 연봉 20억을 제안 받기도 했다는데..이런 저런 딥시크 관련 이야기가 쏟아져 나왔다. 긴 설 연휴 끝, 오랜만에 함께한 회사 사람들과의 점심 식사 자리에서딥시크 이야기가 나왔는데 빨리 딥시크를 써봐야겠다는 생각이 들었다.그래서 챗지피티랑 딥시크랑 비교해봤다.   나는 코드 짠 거를 뜯어보면서 리팩토링하며 많이 배우기도 하고 그 과정이 재밌기도 하다.그래서 두 아이에게 리팩토링을 시켜봤다. 처음. 같은 질문을 줬을 때딥시크가 내놓은 답변이 꽤나 마음에 들었다. 챗지피티는 가독성 없는 답변을 내놓았고딥시크는 아주 살짝만 바꿔 찰떡 같은 해결책을 제시해줬다. 오? 뭐야?하면서 몇 가지 질문을 더 해보는데딥시크가 대답을 안하거나 겁나 늦게한다.이야기를..
Wear OS 갤럭시 워치 앱 개발 - 실제 시계에서 앱 실행
·
Skills/Flutter, Dart
갤럭시 워치 앱을 개발에서 실제 워치로 테스트할 일이 있는데 여러 번 하던 것도 안하다하면 기억에 안 남아있다.사실은 내가 다시 또 보려고 남기는 글이다.  1. 워치 설정 제일 하단에 개발자 옵션 항목을 찾는다.*개발자 옵션 항목이 없다면 설정 > 소프트웨어 정보 > 소프트웨어 버전을 찾아서 7번 탭 하면 생성된다.  2. 개발자 옵션을 들어가서 ADB 디버깅 옵션을 사용 설정한다.  3. USB 데이터 연결로 할 수도 있지만 무선 디버깅으로 하겠다.*개발자 옵션에 들어가면 (1) 블루투스로 디버깅, (2) 무선 디버깅이 있다. (2) 무선 디버깅은 WIFI를 이용한다.  4. 무선 디버깅에 들어가서 하단에 새 기기 등록을 누른다. Wi-Fi 페어링 코드와 IP 주소 및 포트가 나온다.  5. 안드로이..
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0
·
Skills/Flutter, Dart
flutter apk 빌드할 때 발생한 오류다.이것 저것 찾아 해보았는데 해결 안되어 미치는 줄 알았다.사람들의 정신건강을 위해 해결 방법을 공유한다.  결론은 코틀린 버전 호환의 문제이고 코틀린 버전을 변경해주면 된다.  프로젝트 단에 있는 build.gradle에 들어가면 buildscript가 있다.없으면 위 부분 전체 추가하면 된다.  ext.kotlin_version을 주목해야 하는데이 부분에서 ext.kotlin_version을 각자 환경에 맞게 바꿔줘야한다.  나는 ext.kotlin_version = '1.7.10'로 설정해줘서 해결했다.추가로 버전 변경할 때마다 vscode를 다시 켜서 재실행 해줬다. 새로고침이 필요하단다.해결 과정을 첨부한다.  처음에는 ext.kotlin_versio..
Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead., "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
·
Skills/Flutter, Dart
나는 Flutter를 업그레이드하고 이 경고를 만났다.Flutter 3.22 이상에서 생길 수 있다고 한다. Warning을 잘 읽어보면 해결할 수 있다.   Flutter web app initializationCustomize how Flutter apps are initialized on the web.docs.flutter.dev 여기로 가면 해결 방법이 있다.  flutter_bootstrap.js에는 플러터 앱을 초기화하고 실행하는 데 필요한 JavaScript 코드가 들어 있는데async-script 태그를 배치하여 이 스크립트를 사용할 수 있다고 한다.결론적으로 플러터 실행에 flutter_bootstrap.js가 필요하다.  47줄 처럼 넣어준다.  1.Local variable for ..
InfluxDB CLI 명령어, 아주 간단한 것들
·
Skills/Database
생각보다 InfluxDB를 사용하려는 사람이 많은가보다InfluxDB 설치하는 방법 포스팅을 많이 찾는다  InfluxDB 설치 + Install the influx CLI (환경 변수 설정) - Windows[ 목표 ]윈도우에 시계열 데이터베이스 InfluxDB 설치를 해보려고 한다버전 InfluxDB v2를 설치해보려고 한다 추가로 PowerShell을 통해서 데이터를 다루기 위해서 influx CLI까지 설치해본다공식 문서에yungunaa.tistory.com 그래서 CLI 명령어들 남겨본다SQL 사용하듯 하면 되는데보통 GUI 데이터베이스 관리 도구를 많이 이용해서 익숙하지 않을 수 있다   1. 데이터베이스 목록 확인SHOW DATABASES  2. 데이터베이스 선택USE [데이터베이스 이름] ..
컴퓨터 공학 독학사 과정, 정보처리기사 자격증 있을 때
·
자기 계발
국가평생교육진흥원의 독학학위제에 대해서 포스팅해본다 독학사는 말그대로 독학해서 학사 학위를 딸 수 있는 제도이다대학에서 1학년, 2학년, 3학년, 4학년 있듯이 1단계 ~ 4단계 시험이 있다 1단계: 교양과정 인정시험2단계: 전공기초과정 인정시험3단계: 전공심화과정 인정시험4단계: 학위취득 종합시험 국가평생교육진흥원의 독학학위제는 전공분야 11개가 있는데이 포스팅은 컴퓨터공학 전공에 대해서 다룰 것이다 그중 정보처리기사 자격증이 있다는 가정하에 작성할 것이다참고로 나는 이미 4년제 대학을 졸업해서 다른 전공의 학사 학위가 있고개발자로 직무 전환을 하면서 컴퓨터 공학 학사 학위의 필요성을 느껴독학사에 대해 알아보게 되었다  학사 학위를 받으려면 위에서 말한 4단계 시험을 거쳐야 하는데정보처리기사 자격증이 ..
Flutter Web build, Flutter apk build
·
Skills/Flutter, Dart
아주 간단하지만 기억보단 기록을..   1. Flutter Web buildflutter build web 프로젝트 폴더의 build/web 폴더에 빌드 파일 전부 있음  2. Flutter apk buildflutter build apk --release --target-platform=android-arm64 프로젝트 폴더의 build/app/outputs/apk/release에 app-release.apk 파일 있음  --release는release 모드로 빌드하도록 --target-platform=android-arm64는빌드할 apk가 특정 플랫폼에서 실행되도록 지정하는 것임 (여기서는 ARM 64비트 아키텍처)ARM 64는 최신 Android 디바이스에서 사용되는 아키텍처  + 추가로--rel..
InfluxDB 설치 + Install the influx CLI (환경 변수 설정) - Windows
·
Skills/Database
[ 목표 ]윈도우에 시계열 데이터베이스 InfluxDB 설치를 해보려고 한다버전 InfluxDB v2를 설치해보려고 한다 추가로 PowerShell을 통해서 데이터를 다루기 위해서 influx CLI까지 설치해본다공식 문서에 따르면 influx CLI는 InfluxDB server (influxd)와 별도로 패키지되고 버전이 지정된다고 한다따라서 서버와 별도로 설치가 필요하다(파워셀을 선택 했을 뿐, 파워셀로 데이터 다루는 것 말고도 방법이 여러가지 있다)   [ 목차 ]- 시계열 데이터베이스란- InfluxDB 설치 (서버, influxd)- influx UI 실행해보기- influx CLI 설치- influx CLI 실행해보기   [ 시계열 데이터베이스란 ]시계열 데이터 베이스에 대해서 쉽게 설명이 ..
3D 프린터로 포차코 뽑기🖨️🐶
·
자기 계발
짜잔 귀여운 포차코 등장이요이 친구는 제일 처음 뽑은 아이 입니다서포트 없이 뽑았더니 귀쪽이 쭈그렁탱이가 됐어요 이 포차코는 무료 도안 사이트에서 찾았어요좋은 것은 공유합니다🧡 포차코 말고 다른 귀여운 도안들이 많이 있어요산리오 친구들이 꽤 있답니다     pochacco by fadellukpochacco 3d model for printingwww.thingiverse.com   포차코를 총 3번 뽑아봤어요제일 잘 나온 결과물까지 보여드릴게요 원래 도안은 꼬리가 바닥면으로 향하게 누워있어요저는 아무것도 모르는 3D 초보이지만뭔가 이렇게는 못 뽑을 듯 하여도안을 돌려서 앉힌 상태로 뽑았어요     요렇게!      밑바닥인데아래 부분이 살짝 띄워져 있는지쭈그렁탱..브림의 중요성     그래도 너무 귀..
정보처리기사 공부 후기 동회차 합격
·
자기 계발
정처기 발표날 들어나가보자라는 맘으로 봤더니합격!!!!!! 오예    2024년 1회 필기, 1회 실기 합격한 기념으로공부했던 방법 남겨보려고 한다.     일단 정처기 필기는 무조건 기출 문제 반복 풀어보기! 개념은 시나공 책으로 공부했는데시나공이 개념 하나, 문제 하나 마다 QR이 있어서바로바로 모르는 개념을 동영상 강의로 볼 수 있는 게 장점이다.      그리고 중요도가 표시되어 있어서어떤 개념이 중요한지 알 수 있다는 게 좋다. 나는 비전공자라 어디에 힘을 주어 공부해야할지 감이 없는데A, B, C, D로 중요도가 표시되어있어서아 이건 중요한 개념이구나....!! 알 수 있다. 필기는 정말 기출 문제만 많이 풀고가면 합격할 수 있다고 본다.너무 개념이 부족한 상태면개념 하나하나 마다 시나공 QR..
플러터 웹 개발 null 이 놈.. 그냥 하는 이야기..
·
자기 계발
요즘 플러터로 웹 개발 중이다플러터 이 놈 첨엔 이상한 놈이다 싶었는데하다 보니 재밌다편한 것들이 많아서다음에 다른 언어 사용하려면 힘들지도 모르겠다 그리고 플러터로 웹 개발한 사례가 많이 없어서걱정했는데 생각보다 괜찮다챗 지피티가 답을 아주 잘해주기 때문에선배님으로 모시면서 폭풍 질문하며개발 중이다못 믿을 말을 많이 뱉긴 하지만충분한 힌트가 된다챗 지피티 선배님 없었으면 어쩔뻔 아무튼 하고 싶은 말은null 값이라는 거 아주 마음에 안든다..첨에는 null 값으로 고통받는 개발자들의 마음을 이해 못했는데서버와 데이터 주고받는 작업을 하면서null 값 처리하는 중요성을 아주 톡톡히 배우고 있다이유 모를 오류가 나는데찾다보니 null 값이 들어가있을 땐 아주 미쳐버린다그렇게 성장하는 거겠지?결론은 진행 중..
app bar color style (amber, cyan)
·
Skills/Flutter, Dart
[Flutter] Provider 사용하기
·
Skills/Flutter, Dart
Provider 설치flutter pub add provider provider | Flutter packageA wrapper around InheritedWidget to make them easier to use and more reusable.pub.dev   Store 만들기 (state 보관함)class Store1 extends ChangeNotifier { var name = 'yunjeong'; // 보관할 내용}   Store1 사용할 위젯에 등록하기보통 모든 곳에서 사용할 듯Store1에 저장한 state 쓰고 싶은 위젯들은 전부 ChangeNotifierProvider()로 감싸야함=> 즉, ChangeNotifierProvider()로 MaterialApp을 감싸면 된다.vo..
MySQL
·
Skills/Database
MySQL 관계형 데이터 베이스 오라클은 굉장히 비쌈 웹이 성장하면서 다양한 데이터 베이스들이 생겨남 MySQL은 오픈소스, 무료 MySQL -> 썬 -> Oracle에 먹힘 다시 데이터 베이스를 만들어냄 -> MariaDB MySQL MariaDB 호환성이 좋음
[C#] 계산기 만들기 2탄 (소수점)
·
Skills/C#
1탄에 이어서 오늘은 계산기의 소수점 계산을 만들어 보려고 한다. using System; using System.Windows.Forms; namespace Calculator { public partial class Form1 : Form { enum Operators { None, Add, Subtract, Multiply, Divide, Result, } // 초기값 설정 Operators currentOperator = Operators.None; Boolean operatorChangeFlag = false; double firstOperand = 0; double secondOperand = 0; public Form1() { InitializeComponent(); } private voi..
[C#] 계산기 만들기 1탄 (리팩토링)
·
Skills/C#
드디어 C# 공부를 시작했다. 강의를 보며 계산기를 만들어봤다. using System; using System.Windows.Forms; namespace Calculator { public partial class Form1 : Form { enum Operators { None, Add, Subtract, Multiply, Divide, Result } // 초기값 설정 Operators currentOperator = Operators.None; Boolean operatorChangeFlag = false; int firstOperand = 0; int secondOperand = 0; public Form1() { InitializeComponent(); } private void Button..
C# 시작하기
·
Skills/C#
C# 마이크로소프트에서 개발한 닷넷(.NET) 프레임워크 기반 범용 목적의 다중 패러다임 프로그래밍 언어 닷넷 프레임워크(.NET Framework) 웹(Web) 앱, 모바일 앱, 데스크톱 프로그램, 게임 프로그램, 사물 인터넷(IoT) 프로그램 등을 만들기 위한 오픈소스, 크로스 플랫폼 개발 환경 닷넷 프레임워크(.NET Framework) vs 닷넷 코어(.NET Core) 공통: 컴파일러, 언어, 런타임 컴포넌트 닷넷 프레임워크: Window 환경을 개발할 때 사용 닷넷 코어: Window, 리눅스, Mac 환경을 개발할 때 사용 범용 프로그래밍 언어(General-purpose programming language) 다양한 도메인의 소프트웨어를 개발하기 위해 설계된 프로그래밍 언어 다중 패러다임 ..
[Dart] 3.0 업데이트 문법
·
Skills/Flutter, Dart
Dart 3.0 업데이트 문법 중 몇 가지만 정리해보았다. 1. Record List를 좀 더 규격화해서 표현 할 수 있는 기능이다. 타입스크립트나 파이썬의 튜플과 같다고 보면 된다. 일반 괄호()를 이용해서 사용할 수 있다. 타입과 타입의 순서를 보장한다. name을 줄 수도 있다. void main() { final result = nameAndAge({ 'name': '민지', 'age': 20, }); print(result); print(result.$1); print(result.$2); final result3 = getNewJeansWithType(); for(final item in result3) { print(item.$1); print(item.$2); } final result4 ..
[Flutter] const 생략에 대하여
·
Skills/Flutter, Dart
한빛미디어의 플러터 인 액션을 읽다가 아래와 같은 글을 봤다. 1. 변경할 수 없는 위젯 인스턴스는 성능이 좋으므로 가능하면 const를 사용하는 것이 좋다. (이 문장이 const를 생략하라는 건지 마라는 건지 애매하게 하는데, 결론은 생략하라는 것이다.) 플러터는 new, const 키워드를 둘 다 사용하지 않으면 프레임워크가 가능한 const로 위젯을 추론하므로 크게 신경 쓰지 않아도 된다. 따라서 어떤 위젯이 상수고 어떤 위젯이 아닌지 지정할 필요가 없다. 플러터가 알아서 처리하기 때문이다. 다트 2.3부터 이 기능은 모든 다트 환경에서도 지원한다. 2. 위젯은 대부분 const 생성자를 갖는다. 3. 플러터에서 위젯을 만들 때 new와 const 키워드는 생략하는 것이 좋다. 인터넷 강의를 들으..
C# 코딩규칙 (C# Coding Standards and Best Practices)
·
Skills/C#
https://www.dofactory.com/csharp-coding-standards Helping .NET developers grow and make more money Ready to land your dream job? Dofactory is the place for Microsoft Technology jobs, like C#, .NET, Azure, SQL, Data, Copilot, ML, AI and others www.dofactory.com ⬆️ 좋은 글이 있어 공유합니다. 어떤 식으로 코드를 작성하면 좋은 지 쉽게 알려주고 있어서 추천합니다.
[Flutter] Plugin [id: 'com.android.application'] was not found in any of the following sources:
·
Skills/Flutter, Dart
vscode에서 flutter create app으로 플러터 프로젝트를 만들고 실행하던 중 다음과 같은 exception이 발생했다. 여러 해결방법을 찾아보고 실행해봐도 해결이 안됐는데 다른 프로젝트와 비교하다가 아래와 같은 방법으로 해결했다. android > build.gradle 위치에서 dependencies에 classpath 'com.android.tools.build:gradle:7.3.0' 를 추가해준다. 나는 위와 같이 넣어줬는데 각자에게 맞는 버전을 설정할 필요가 있을 것 같다.
성장하는 개발자가 되려면
·
자기 계발
1. community 활동 (stack overflow, github, 세미나 참여, ...) 2. project (나의 고민과 아이디어가 들어간 프로젝트) 3. algorithm
SQL port 변경
·
Skills/Database
프로젝트 시 사용한 도커 명령어들
·
Skills/그 외
컨테이너 리스트 확인 docker ps 컨테이너 접속 docker exec -it [컨테이너 ID] /bin/bash ⬇︎ 오라클 접속 docker exec -it oraclexe sqlplus 파일 복사해 넣기 docker cp [host 파일경로] [container name]:[container 내부 경로] ⬇︎ 복사한 .sql 파일 SQL에서 실행 시 @ /opt/bshj.sql;
개발자 타자연습 추천, TypingClub 👩🏻‍💻
·
자기 계발
드디어 마지막 685번 Final Lesson을 끝냈다!! 일주일 정도 한 것 같은데 아주 열심히 연습했다. 당분간 꾸준히 연습해보려고 한다. TypingClub에서는 여러가지 코스를 선택할 수 있는데, 나는 Typing Jungle로 시작했다. 내가 타자연습을 하게 된 건 코드를 작성하면서 답답함을 느껴서였다. 영타를 못치는 건 아니지만 오타가 자주 났었고 특히 특수문자를 많이 쓸 때마다 타자 속도가 엄청나게 느려졌다. 코드를 치다보면 숫자, 연산, 괄호 등 여러 기호를 사용하게 된다. 수업 중 따라 타이핑을 할 때마다 빠릿빠릿하게 따라가지 못하는 게 싫었다. 그리고 내가 타이핑 속도가 빠른 것과 제대로 된 손가락 위치로 타이핑을 하고 있는지도 구분해야 할 것 같다. 빠르게 치치만 오타를 많이 내진 않..
맥 파일 인코딩 EUC-KR → UTF-8 변환
·
Skills/그 외
iso-8859-1로 인코딩된 .sql 파일을 사용해야했다. 이 파일에는 한글이 잔뜩있었고 맥에서는 한글이 전부 깨져서 나왔다. 나는 VS CODE로 대부분의 코드를 열어보는데, VS CODE에서 Reopen with Encoding에서 Korean(EUC-KR)으로 설정해주니 한글이 보였다. 이렇게 파일을 보는데는 문제가 없었지만 SQL 터미널에서 @로 파일 실행을 할 때는 인코딩이 iso-8859-1이니, 한글이 깨지는 건 변함이 없었다. 파일 인코딩을 바꾸려고 방법을 찾아보니 터미널에서 iconv .. 로 설정 할 수 있는 코드를 알게되었다. 근데 자꾸만 에러가 난다...... 그래서 혼자 이리저리 해보다가 너무 쉽게 해결했다. 나와 같은 상황의 사람이 있다면 도움이 되었으면 좋겠다. 결론은 VS ..
[프로그래머스] 150365번: 미로 탈출 명령어 (JAVA)
·
Skills/Algorithm
import java.util.*; // 출발점 -> 도착점 class Solution { public String solution(int n, int m, int x, int y, int r, int c, int k) { // Stack -> DFS (or 재귀함수로 풀 수도 있다.) // 시작점(x, y) -> k번 이동 -> 도착점(r, c) // 이동 4가지 -> l, r, u, d // 탐색 후에 4개의 이동을 넣어서 새로운 점을 stack으로 탐색 Stack stack = new Stack(); // DFS 탐색을 위한 스택 stack.push(new Coordinate(x, y, "")); // 시작점을 stack에 push // List list = new ArrayList(); // St..