들어가며
자주 활용하는 도구를 내가 까먹는다.
Git
ignore
2.34 | 기본 Merge 전략: recursive => ort |
2.33 | ort Merge 전략 추가 |
2.25 | sparse checkout |
2.24 | partial clone |
git sinppet
git log --pretty=fuller
git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'
git log --author="이름" --name-only --pretty=format: | grep "\.cs$" | sort | uniq > author.txt
sparse-checkout
-
Git 2.25 - https://git-scm.com/docs/git-sparse-checkout
-
Git 2.24 - https://git-scm.com/docs/partial-clone
-
ref
- https://github.blog/2020-01-13-highlights-from-git-2-25/
- https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/
- https://github.blog/jp/2021-01-13-get-up-to-speed-with-partial-clone-and-shallow-clone/
- https://tech.asoview.co.jp/entry/2023/03/14/095235
- https://zenn.dev/mizchi/articles/gha-run-test-only-changed
- https://tech.guitarrapc.com/entry/2023/06/15/000000
orphan
git checkout --orphan helloworld
git rm -rf .
git commit --allow-empty -m "helloworld"
git push origin helloworld
interpret-trailers
merge 전략
- ort(Ostensously Recursive's Twin)
- https://git-scm.com/docs/merge-strategies
- Git의 새로운 기본 Merge 전략 ort
fast forward
- base와 다른 브랜치가 참조하는 커밋들이 동일 선상에 위치하고 있다.
- 이 때 두 브랜치는 Fast-foward 상태에 있다고 한다.
--ff fast-forward 관계에 있는 경우 새로운 commit을 생성하지 않고 브랜치의 참조 값만 변경되도록 --no-ff non fast forward merge 대상과 fast-forward 관계여도 강제로 merge commit을 생성하고 병합한다
squash
짓누르다
--squash feature 커밋들을 하나로 모아서 base에 합침
rebase
base 재설정 - 커밋을 복사 붙여넣어가기 (커밋 id가 달라짐)
Ref
Flow
- https://qiita.com/ogomr/items/36350d515434d6674caa
---
title: Example Git diagram
config:
theme: base
gitGraph:
mainBranchOrder: 1
mainBranchName: dev
showCommitLabel: true
themeVariables:
git0: "#00A0F0"
git1: "#F0A000"
git2: "#F0F000"
git3: "#FF0000"
---
%% ref: https://mermaid.js.org/syntax/gitgraph.html
gitGraph TB:
commit
%% =========================== Feature
branch feature/1-hello order: 0
checkout feature/1-hello
commit
checkout dev
merge feature/1-hello
commit
%% =========================== Release
branch release order: 2
checkout release
commit tag:"0.0.1"
checkout dev
merge release
checkout release
%% =========================== HotFix
branch hotfix/2-fix order: 3
checkout hotfix/2-fix
commit
checkout release
merge hotfix/2-fix
commit tag:"0.0.2"
checkout dev
merge release
skinparam shadowing false
skinparam ArrowColor #dimgray
skinparam EntityBorderColor #gray
skinparam SequenceLifeLineBorderColor #gray
skinparam NoteBorderColor #grey
skinparam roundcorner 15
skinparam maxmessagesize 60
entity "feature/1-hello" as branch_fix #00A0F0
entity "dev" as branch_dev #F0A000
entity "release" as branch_release #F0F000
entity "hotfix/2-fix" as branch_hotfix #FF0000
== dev client/server ==
branch_dev -> branch_fix : branch
branch_fix -> branch_fix : commit
branch_fix ->o branch_dev : Pull Request
== dist client ==
branch_dev -> branch_release : for release
branch_release -> branch_release : tag
note right
0.0.1
endnote
branch_dev o<- branch_release : merge
== hotfix client ==
branch_release -> branch_hotfix : branch
branch_hotfix -> branch_hotfix : commit
branch_release o<- branch_hotfix
branch_release -> branch_release : tag
note right
0.0.2
endnote
branch_dev o<- branch_release : merge
Git Commit Message
- ref: chagelog
Message
emoji | ||
---|---|---|
Fix | 버그를 고친 경우 | 🐞 |
Test | 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X) | 🧪 |
Doc | 문서를 수정한 경우 | 📔, 📜 |
Chore | 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X) | |
🙈 깃 이그로어 | ||
Feat | 새로운 기능을 추가할 경우 | |
!BREAKING CHANGE | 커다란 API 변경의 경우 | |
!HOTFIX | 급하게 치명적인 버그를 고쳐야하는 경우 | ☢️ |
Style | 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 | |
Refactor | 프로덕션 코드 리팩토링 | |
Comment | 필요한 주석 추가 및 변경 | |
Rename | 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우 | |
Remove | 파일을 삭제하는 작업만 수행한 경우 | |
Design | CSS 등 사용자 UI 디자인 변경 | |
Tag | 🏷️ | |
log | 🔊, 🔇 | |
기타1 | 🟥 🟧 🟨 🟩 🟦 🟪 🟫 ⬛ ⬜ | |
기타2 | 🔴 🟠 🟡 🟢 🔵 🟣 🟤 ⚫ ⚪ |
- First line is important to tracking.
{tag}: {what i did} // {issue}
Update TryParse code gen to use CodeWriter. (#46928)
* Update TryParse code gen to use CodeWriter.
Lint
Ref
- https://www.conventionalcommits.org/en/v1.0.0/
- https://blog.sourcerer.io/using-commit-message-standardization-to-enhance-your-release-and-feature-management-6778c4b9cd8e
- https://github.com/dotnet/aspnetcore/commits/main
- https://blog.ssanj.net/posts/2015-10-22-git-commit-message-format.html
git hook
${REPOSITORY_ROOT}/.git/hooks $GIT_DIR/hooks
git config core.hooksPath ./git-hooks
pre-commit
- https://pre-commit.com/
- https://github.com/dotnet/format/blob/main/docs/integrations.md#pre-commitcom-hook-to-reformat
husky
etc
Ref
Github
Settings > Branches > Branch Protection Rule > Require status checks to pass before merging
Github Action
- https://docs.github.com/ko/billing/managing-billing-for-github-actions/about-billing-for-github-actions
- https://docs.github.com/en/actions/using-workflows/about-workflows
요금 | 분(월) | 스토리지 |
---|---|---|
Gtihub Free | 2,000 | 500 MB |
조직용 GitHub Free | 2,000 | 500 MB |
-
ref
-
checkout
-
cache
-
artifact
-
release page
-
gh page
-
changelog
-
language
- ruby // ruby/setup-ruby
- dotnet // actions/setup-dotnet
-
quality
- codeql
- https://codeql.github.com/
- https://github.com/github/codeql-action
- github/codeql-action/init
- github/codeql-action/autobuild
- github/codeql-action/analyze
- codeql
-
dev env
- NDK // nttld/setup-ndk
- XCode // maxim-lobanov/setup-xcode
- MSys2 msys2/setup-msys2
- MSBuild // microsoft/setup-msbuild
- MSVC // ilammy/msvc-dev-cmd
- etc tools // taiki-e/install-action
-
issue
- labeling // actions/labeler
-
project
-
notify
- 여러개가 있는데 서비스에 맞게 찾아보자
etc
schedule:
cron: "0 0 */1 * *"
permissions:
contents: write
이슈 라벨링
- ref
action:on hold | Hold it. Wait for the restart. |
area:docs | Documentations |
area:i18n | Localization |
area:infrastructure | Infrastructure-related issues |
area:security | Security issue. |
area:upstream | Issues with root cause from upstream 3rd parties |
area:ux | UI / UX issue. |
comp:agent | Related to Agent component |
comp:appproxy | Related to App Proxy component |
comp:cli | Related to CLI component |
comp:client | Related to Client component |
comp:common | Related to Common component |
comp:installer | Related to Installer |
comp:manager | Related to Manager component |
comp:storage-proxy | Related to Storage proxy component |
comp:webserver | Related to Web Server component |
comp:webui | Related to WebUI component |
dependencies | Pull requests that update a dependency file |
effort:easy | Need to understand only a specific region of codes (good first issue, easy). |
effort:epic | Need to split into multiple sub-issues (epic). |
effort:hard | Need to understand many components / a large extent of contextual or historical information. |
effort:normal | Need to understand a few modules / some extent of contextual or historical information. |
github_actions | Pull requests that update GitHub Actions code |
hacktoberfest-accepted | |
impact:breaking | Breaking or highlighted changes. |
impact:invisible | This change is invisible to users (internal changes). |
impact:visible | This change is visible to users. |
ossca-23 | OSS Contribution Academy mentee's contributions. |
pending:backport | Waiting for backports |
platform:enterprise | Backend.AI Enterprise support. |
platform:general | General platform issues. Most issues are general. |
require:config-update | Local config update required. Consult the PR description or updated documentation. |
require:db-migration | Automatically set when alembic migrations are added or updated |
require:pants-export | Dependencies updated. You need to run pants export --resolve=python-default to make it working. |
size:L | 100~500 LoC |
size:M | 30~100 LoC |
size:S | 10~30 LoC |
size:XL | 500~ LoC |
size:XS | ~10 LoC |
skip:changelog | Make the action workflow to skip towncrier check |
skip:ci | Make the action workflow to skip running lint, check, and test (use with caution!) |
status:duplicate | This issue is duplicated. |
status:help wanted | Extra attention is needed. |
status:invalid | This issue is invalid. |
status:open | Waiting for volunteer / assignnee. |
status:rejected | There is no plan to fix this issue. |
type:bug | Reports about that are not working |
type:enhance | Enhance component, behavior, internals without user-facing features |
type:feature | Add new features |
type:feedback | A suggestion about feature. |
type:maintenance | Maintenance issue. |
type:question | A question about feature. |
type:refactor | Refactoring current implementation. |
urgency:blocker | IT SHOULD BE RESOLVED BEFORE NEXT RELEASE! |
urgency:1 | If no other duties are available, volunteer to help. |
urgency:2 | With time limit, it should be finished within it; otherwise, resolve it when no other chores. |
urgency:3 | Must be finished within a certain time frame. |
urgency:4 | As soon as feasible, implementation is essential. |
urgency:5 | It is imperative that action be taken right away. |
.github/
.github/
workflows/
ISSUE_TEMPLATE/
bug_report.md
pull_request_template.md
codeql
- https://docs.github.com/en/code-security/codeql-cli
- https://learn.microsoft.com/en-us/dotnet/devops/dotnet-secure-github-action
Docker
# 컨테이너 확인(실행중)
docker ps
# 컨테이너 확인(실행중 + 중지)
docker ps -a
# 컨테이너 중지
docker stop
# 컨테이너 삭제
docker rm
# 컨테이너 로그
docker logs
# 이미지 목록(다운로드된)
docker images
# 이미지 다운로드
docker pull
# 이미지 삭제
docker rim
cmd
## open port
docker@default:~$ echo 'export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):8000' >> ~/.bash_profile
## install image
docker@default:~$ docker search ubuntu
docker@default:~$ docker pull ubuntu:latest
## run image
docker@default:~$ docker run -it --name jekyll ubuntu
docker@default:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33b5f808449d ubuntu "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8000->8000/tcp jekyll
## backup image
docker@default:~$ docker commit 33b5f808449d github-pages
docker@default:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
github-pages latest 3ccaea30ec80 About an hour ago 641.5 MB
ubuntu latest cdd474520b8c 45 hours ago 188 MB
## set volum from VirtualBox
docker@default:~$ docker run -it --name jekyll -p 8000:8000 -v /c/Users/pyoung/hello/netpyoung.github.io/:/site github-pages
docker@default:~$ docker start jekyll
docker@default:~$ docker attach jekyll
With Jenkins
# pull
git clone ...
# unit-test
docker run --rm \
-v /var/jenkins_home/workspace/${JOB_NAME}:/app \
-w /app \
ruby:2.3 sh -c "bundle install && bundle exec ruby app_test.rb"
# build
docker build --force-rm=true -t ${DOCKER_USER_ID}/ruby-app:latest .
# tag
docker tag ${DOCKER_USER_ID}/ruby-app ${DOCKER_USER_ID}/ruby-app:${BUILD_NUMBER}
# push
docker login -u ${DOCKER_USER_ID} -p {DOCKER_USER_PASSWOD}
docker push ${DOCKER_USER_ID}/ruby-app:${BUILD_NUMBER}
docker push ${DOCKER_USER_ID}/ruby-app:latest
# deploy
docker stop ruby-app
docker rm ruby-app
docker run -d -p 10000:4567 --name=ruby-app ${DOCKER_USER_ID}/ruby-app:${BUILD_NUMBER}
docker compose
version: '2'
services:
app:
build: .
image: ${DOCKER_USER_ID}/ruby-app
unit:
image: ruby:2.3
volumes:
- ${WORKSPACE_PATH}/${JOB_NAME}:/app
working_dir: /app
command: bash -c "bundle install && bundle exec ruby app_test.rb"
production:
image: ${DOCKER_USER_ID}/ruby-app:${BUILD_NUMBER}
ports:
- 10001:4567
# pull
git clone ...
# unit-test
docker-compose run --rm unit
# build
docker-compose build app
# tag
# push
# deploy
docker-compose up -d production
swarm
DockerSwarm
docker service update
--image localhost:5000/ruby-app:${BUILD_NUMBER}
ruby-app
Kubernetes
kubectl set image
-f deploy/ruby-app.yml
app=localhost:5000/ruby-app:${BUILD_NUMBER}
Ref
https://github.com/skanehira/denops-docker.vim https://github.com/Silex/docker.el
Tacademy: 컨테이너 기반 가상화 플랫폼 ‘도커(Doker)’의 이해
https://www.44bits.io/ko/post/easy-deploy-with-docker
Jenkins
-
어차피 jenkins 설정도 복잡하지 않고, 한번설치하고 계속 쓰는경우가 많으니 war로 실행하는게 간편
using war
-
https://www.jenkins.io/download/ 에서 war파일을 다운받아서 실행
-
실행:
java -jar jenkins.war --httpPort=9090
-
초기패스워드:
C:\Users\netpyoung\.jenkins\secrets\initialAdminPassword
using docker-compose
- 하지만, 여러프로젝트에서 동시다발적으로 셋팅해야할 경우 이게 도움될듯
- https://github.com/jenkinsci/docker
ports:
- "50000:50000"
- "8080:8080"
volumes:
- "/c/Users/netpyoung/@DEVOPS/jenkins_home:/var/jenkins_home"
- 실행단계
docker-compose.yml
볼륨 확인하고Dockerfile
plugins.txt확인docker-compose up
으로 기동
- 초기패스워드:
/var/jenkins_home/secrets/initialAdminPassword
agent 설정
Restrict where this project can be run
- 신규 agent : http://localhost:8080/computer/new
- agent설정: http://localhost:8080/computer/{agent-name}/
- agent.jar : http://localhost:8080/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://localhost:8080/computer/agent-blue/jenkins-agent.jnlp -secret 0fa596c72ab35d2bf966ddd0908e3b7be055c80785af51694fafed5e69ce2ca4 -workDir "C:\Users\netpyoung\@DEVOPS\slave2"
- Run from agent command line, with the secret stored in a file:
echo 0fa596c72ab35d2bf966ddd0908e3b7be055c80785af51694fafed5e69ce2ca4 > secret-file
java -jar agent.jar -jnlpUrl http://localhost:8080/computer/agent-blue/jenkins-agent.jnlp -secret @secret-file -workDir "C:\Users\netpyoung\@DEVOPS\slave2"\
이미지 다운로드.
http://ftp.daum.net/ubuntu-releases/precise/ubuntu-12.04.4-server-amd64.iso
네트워크 설정.
-
192.168.0.101을 먹고자 한다.
sudo vi /etc/network/interface
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp # The primary network interface auto eth1 iface eth1 inet static address 192.168.0.101 netmask 255.255.255.0 network 192.168.0.0 gateway 192.168.0.1 broadcast 192.168.0.255 dns-nameservers 168.126.63.1 168.126.63.2 8.8.8.8 mtu 9000
sudo /etc/init.d/networking restart
-
ip addr
에서 나온 ip와 mac주소를 iptime에 추가시켜주자. -
http://repogen.simplylinux.ch/ 에서 저장소를 업데이트 시켜주자.
버츄얼박스 백그라운드.
$ VboxManage startvm {VM-Name} --type headless
JAVA
sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer sudo apt-get install oracle-java7-set-default
Nginx 설치.
sudo apt-get install nginx
sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
sudo vi /etc/nginx/sites-available/jenkins
upstream app_server {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name ci.yourcompany.com;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server;
break;
}
}
}
sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo service nginx restart
jenkins 설치.
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
https://www.docker.com/products/docker-toolbox
http://stackoverflow.com/questions/7709993/how-can-i-update-jenkins-plugins-from-the-terminal
cd $JENKINS_HOME/plugins curl -O http://updates.jenkins-ci.org/download/plugins/cobertura.hpi curl http://yourservername:8080/reload
http://www.hugeinc.com/ideas/perspective/list-of-useful-jenkins-plugins
https://github.com/maxfields2000/dockerjenkins_tutorial
redmine
- https://github.com/sameersbn/docker-redmine
- https://github.com/mrliptontea/PurpleMine2
sudo docker-compose run --rm redmine app:backup:create
1517889369_redmine_backup.tar
sudo mkdir -p /srv/docker/redmine/redmine/backups
sudo docker-compose run --rm redmine app:backup:restore BACKUP=1517889369_redmine_backup.tar
OS Windows
- 유틸
- HashMyFiles.exe
- MobaXterm
- NeatDownloadManager
- MuMu Player
- NetEase에서 만든 에뮬
//192.168.1.100/Share/My project
이런식으로 네트워크 주소가 들어갔는데 접속 못하면 크래쉬가 난다. 그럴때- C:\Program Files\MuMu9\emulator\nemu9\EmulatorShell\last_open_dir.ini
[General] last_apk_open_dir=C:/temp/My project
- C:\Program Files\MuMu9\emulator\nemu9\EmulatorShell\last_open_dir.ini
- Parsec
- Snipaste
- CoreDirector
- yEd Graph Editor
- 반디캠
- RenderMonkey
- UltraVNC Viewer
- bruno
- alternative Postman
- https://github.com/usebruno/bruno/discussions/269
- postman
- wireshark
Essential Program
- TortoiseGit
- Adobe Reader
- FileZilla
- 7zip
- everything
- ConEmu
- AstroGrep
- 혹은 dnGrep
- RapidEE
- Visual Studio
- english, python, desktop
- Notepad++
- https://github.com/bruderstein/nppPluginManager/releases
- Symlinker
- https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/
- PuTTY
- puttygen
- pagent
- ccleanr
- gow
- dotpeek
- md5checker
- clover3
- p4merge
- http://hotkoehls.com/2015/04/use-perforce-p4merge-with-tortoisegit/
TortoiseGit > Settings > DiffViewer > C:\Program Files\Perforce\p4merge.exe %base %mine
TortoiseGit > Settings > DiffViewer > MergeTool > C:\Program Files\Perforce\p4merge.exe %base %theirs %mine %merged
- OSB
- https://www.snipaste.com/
- https://www.grc.com/dns/benchmark.htm
language
xx
- 코어격리
- 컴퓨터 프로세스를 운영 체제 및 장치에서 분리하여 맬웨어 및 기타 공격으로부터 보호
- VBS Visualization-Based Security
- Hypervisor-Protected Code Integrity (HVCI)
Windows 11
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
taskkill /f /im explorer.exe
explorer.exe
- 윈도우11 작업표시줄 그룹해제 및 위치, 오류 설정방법,Explorer Patcher 필요없음
- 설정 > 개인설정 > 작업표시줄 > 작업 표시줄 동작 > 작업 표시줄 단추 합치기 및 레이블 숨기기 > 안함
Ref
OS macOs
mermaid
https://github.com/mermaid-js/mermaid-cli
xattr
macOS extended attributes
ex
tended attr
ibutes
xattr -d com.apple.quarantine {해당파일이름}
-p Print the value associated with the given attribute.
-l By default, the first two command forms either display just the attribute names or values, respectively. The -l option causes both the attribute names and corresponding values to be displayed. For hex display of values, the output is preceeded with the hex offset values and followed by ASCII display, enclosed by '|'.
-d Delete the given attribute.
-c CLear all Atrributes. -r If a file argument is a directory, act as if the entire contents of the directory recursively were also specified (so that every file in the directory tree is acted upon).
lipo
lipo -info lipo -create
XCFramework
otool
otool -L
install_name_tool
install_name_tool -id install_name_tool -change
disable Input Source Indicating Bubble
- https://apple.stackexchange.com/questions/464783/what-s-that-coloured-icon-with-an-a-inside-it-in-text/465466#465466
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
Os Linux
명령어 현대화
- cd
- grep
- find
- fd
- ls
- cat
- du
- df
- tree
ngrok비슷하게 로컬 터널 무료 : https://localtunnel.github.io/www/
RGBA채널 보는거 지원 가벼운 이미지뷰어: https://github.com/woelper/oculante
Ref
- https://github.com/johnalanwoods/maintained-modern-unix
- https://ikrima.dev/dev-notes/linux/linux-modern-tools/
archlinux
-
usb부팅 가능케하는 프로그램
-
yaourt
# file: /etc/pacman.conf
#[archlinuxfr]
#Server = http://repo.archlinux.fr/i686
#Server = http://repo.archlinux.fr/x86_64
$ sudo pacman -Sy yaourt
- 한글설정
- 참고 : http://fehead.tistory.com/159
`` txt` $ vi ~/.xinitrc export LANG=ko_KR.UTF-8 export XIM="nabi" export XIM_PROGRAM="/usr/bin/nabi" export XIM_ARGS= export GTK_IM_MODULE="xim" export XMODIFIERS="@im=nabi"
$ vi /etc/locale.gen ko_KR_.UTF-8 UTF-8 주석해재 $ locale-gen
- capslock을 ctrl로
- xev 명령어를 이용 키코드를 확인하자.
- http://efod.se/writings/linuxbook/html/caps-lock-to-ctrl.html
``` txt
keycode 66 = Control_L
clear Lock
add Control = Control_L
keycode 117 = Caps_Lock
add Lock = Caps_Lock
- 로긴화면변경
- archbang 로긴 매니져는 Slim : https://wiki.archlinux.org/index.php/SLiM
pacman -S slim-themes archlinux-themes-slim
- 기타 패키지
- 터미널 : terminator, tilda
- 팁
- http://www.linuxandlife.com/2011/11/tips-to-use-archbang.html
- archwiki:Arch_Linux
- wiki:아치_리눅스
News
Rss
사이트
pope-tv
- https://www.youtube.com/@포프티비
자꾸 봤던걸 또 보게 된다. 그냥 정리해놔서 봤던걸 또 보는 일이 없게 하자.
- [코딩표준] 반올림도 마음대로 못한다고? Round() 함수 사용 금지 이유! 시청
- .NET의 Math.Round 메서드는 기본적으로 "Banker's Rounding" 방식을 사용. 가장 가까운 짝수로 반올림.
- double result = Math.Round(2.5); // 결과: 2
- double result = Math.Round(2.5, MidpointRounding.AwayFromZero); // 결과: 3
- 햇갈리니 별도의 함수를 만듬. MathUtil.Round_Normal / MathUtil.Round_Banker
- [코딩표준] TODO 주석도 룰이 있다고? 이게 진짜 중요합니다! 시청
- 문자열 검색. 모아서 통계, 그래프, 쉽게 찾기
- ex)
TODO(pyoung): blabla
- 버그를 몇개 고칠게있다. TODO를 몇개 고칠게 있다. 템플릿이 있는게 무조건 좋음. 통계를 뽑고 추세를 확인 => 뭘 해야할지 알 수 있음.
- [코딩표준] 왜 스트링 함수를 그대로 쓰면 안 되나? 시청
- string compare시 모드가 많음.
- 별도의 함수를 만들어서 햇갈리지 않게.
- [코딩표준] 왜 C#의 새 문법을 금지했을까? 물음표 연산자 금지 이유 공개
- 삼항연산자는 씀
- 다른 언어에 흔하지 않은 널 관련 (??/?.)는 안씀.
- [코딩표준] DateTime.Now를 절대 쓰지 않는 이유 시청
- DateTime.Now를 금지하고, 대신 DateTime.UtcNow를 사용
- 하나의 타임존으로 관리. 보여줄때만 변환
- 전 이제 DB 스크립트 버전 관리 안 하려고요 시청
- ORM(Object Relational Mapping)
- 장점 많다.
- 단점
- 성능 저하 문제를 일으킬 수 있고
- DB 테이블과의 매핑이 정확하지 않을 때도 있다.
- DB access레이어를 코드로 관리하고 거기서 DB스키마를 뽑아내는게 좋다.
- DB는 언제나 변한다
- DB 스크립트 버전 관리를 하면 파일이 쌓이게 되는데 깨진것을 찾이 어렵다. 수정시 전체 다 정검하면서 고치지 않기 때문에.
- 웹툴로 바꾸자.
- 테이블을 고치면 ORM코드도 변경해야된다.
- 데이터가 변경시 스냅샷을 찍어 저장 - 히스토리.
- ORM(Object Relational Mapping)
- 방어적 프로그래머, 이렇게 폭망하다 시청
#skip
- 두 권의 책으로 알아보는 효과적인 습관 형성 & 삶의 원칙! 시청
- 책
- 아주 작은 습관의 힘 Atomic Habits 제임스 클리어
- 원칙 PRINCIPLES 레이 달리오
- 즐기는 일을 해라
- 책
- 개발자가 전문가가 되는 방법! 필수 조건 3가지! 시청
- 3가지
- 빠른 작업 처리
- 빨리 버그 수정
- 장기적인 문제 해결 능력
- 1번, 2번은
- 공부 제대로, 머리가 좋아서, 지름길을 선택해서
- 3번은
- 제대로 원인 파악 및 해결
- 과거에 대충 짜놓은 것들이 내 발목을 잡는다는 걸 알고 그거를 크게 뒤집어 고치는 거
- 3가지
- 버그를 유발하는 enum의 괴상한 기본 동작
- AI 도구 사용, 개발자에게 독인가 약인가?
- 탑 개발자의 생산성을 100배 올리는 가성비 최고 AI 도구 시청
- 자기가 뭘 원하는지 아는 사람에게는 코파일럿이 좋음.
- 코파일럿 장점
- 함수작성 의도 이해 자동완성.
- 함수 시그네쳐, 주석, 예제
- 함수작성 의도 이해 자동완성.
- ChatGPT를 찬양하면 생기는 일 시청
- 검증하는 작업이 피곤하다.
- 영어에는 강하다. 변수/함수명짓기.
- AI가 바꿀 미래: 당신의 직업은 안전합니까? 시청
- 스킵
- 이메일 관리는 하나로 충분합니다 시청
- 여러개의 이메일을 관리하기 힘들다.
- 과거 스팸 메일로 이메일을 여러개 쓰는 사람들이 있었다.
- 1개의 이메일 주소로 여러개 만드는 법이 있음 + 필터
- 여러개의 이메일을 관리하기 힘들다.
- 왜 배열은 0부터 시작할까? 프로그래밍의 비밀 시청
- 메모리 오프셋 개념
- 진정한 1인분의 의미: 협업과 책임의 중요성 시청
- 1.2인분을 하고 있어야만 1인분. (0.2는 남을 도와 줄 수 있는 여유)
- 회사의 피드백: 주니어에서 벗어나기 위한 조언 시청
- 스스로 답할 줄 알아야 / 다시 질문 해 주세요 => 이 정도는 아셔야 되요.
- 회의 효율 극대화: 컴퓨터 대신 이걸 가져가야 하는 이유 시청
- 공책. 요약하는 능력. 회의끝나고 그날 복기.
- Git Sparse Checkout과 LFS: 모노리포 관리의 최적 솔루션
#git
- 효율적인 Git 리포 관리: 서브모듈 대신 이것을 사용하면...?
#git
- 한 방에 개발 환경 설정하기: Junction
#git
- 멀티스레딩 마스터하기: 10년의 여정 시청
#멀티스레딩
- 10년 정도면 단순하게 작성하는데 물이오르게됨.
- 개선안 제시 못하면 주니어 시청
#주니어
- 개선안을 제시를 못하거나 안해, 했는데 자꾸 아니래 => 주니어
- 내가 무언가를 책임지는 부분이 있냐, 누군가의 지시없이 할 수 있는것이 충분히 많아졌냐.
- 이런 테크 회사는 빤스런 시청
#빤스런
- 컴파일러 경고를 건들지 않고 있다.
- 디버그 빌드가 엄청 느리다. => 디버깅 하는 사람이 없다.
- 기존 코드를 바꾸는 것을 엄청 무서워함.
- 버그 대쉬보드의 버그 숫자가 줄지 않고 계속 오름.
- TODO 커맨트를 박지 않는다.
- TODO를 박을때 정해진 포맷이 없다.
- 변화하는 코딩표준! Async 접미사! 시청
C#
- MS와 다르게 사용하는 포프 C#코딩 스텐다드는 Async 접미사를 쓰지 않음.
- Async를 뒤에 붙이면
- 장점: 함수 이름보고 이 함수가 Async함수인지 알 수 있음.
- 단점: 함수 이름이 길어짐. async/non async함수 전환시 함수이름 리펙토링 비용이 있음.
- 디버그는 허용. 단, 릴리즈 빌드시 모든 경고는 에러이기에 Async 접미사를 안쓰는걸로 가자.
- CS4014로 추정
- Async를 뒤에 붙이면
- 더 많은 정보가 필요하면 넌 주니어 시청
#주니어
- 주니어 때는 사수의 부정적인 피드백을 굉장히 고마워 해야함
- 버그에 대한 대응이 어떻게 되는지 꼼꼼히 보는 리드 혹은 프로젝트 매니저가 반드시 있어야 한다.
- 이미 재현가능한(repro case) 버그가 있는데, 고칠 생각을 안하면 주니어
- need more info 는 재현 불가능시 요청하는 것인데, 고칠 생각을 안하고 이용하는 사람들이 있다.
- 함수, 이렇게 만들면 넌 주니어 시청
#주니어
#네이밍
- 코드 연산을 그대로 함수명은 주니어
- 유저 어카운트가 생성된지 7일 미만 참, 이상 거짓
- IsUserCreatedWithin7days
- 왜 생겨났는가? 특정한 날짜 구매페이지
- 이 유저가 새로운 유저인가 (도메인: 새로운 유저)
- IsNewUser
- 이 유저가 새로운 유저인가 (도메인: 새로운 유저)
- 왜 생겨났는가? 특정한 날짜 구매페이지
- IsUserCreatedWithin7days
- 유저 어카운트가 생성된지 7일 미만 참, 이상 거짓
- 함수 이름에 And/Or 가 들어가면 나쁜 함수 이름일 가능성이 높음.
- 함수 외부에서 호출할때 그 사람한테 어떤 의미가 있는지를 알려주는 함수명.
- 잊혀져 가는 중요한 프로그래밍 개념: 감시값 (sentinel value) 시청
- 이 코드 못 짜면 넌 주니어 시청
#주니어
- 사실 뭔가를 공부하고 면접을 봐야 한다, 이미 시니어는 아닌 경우가 많다.
- 시니어 면접을 갔는데, 코딩 면접은 안보고 이야기만 한다
- 그런 주니어들만 모인 회사다.
- 자기는 시니어라고 믿고 있는 주니어들이 들어와 있다.
- 5분 준다
- 버블쇼트 O(n*n)
- for (int i = 0; i < arr.Length - 1; ++i)
- for (int j = 0; j < arr.Length - 1 - i; ++j)
- if (arr[j] > arr[j + 1])
- swap
- if (arr[j] > arr[j + 1])
- for (int j = 0; j < arr.Length - 1 - i; ++j)
- for (int i = 0; i < arr.Length - 1; ++i)
- 문자열 뒤집기
- 버블쇼트 O(n*n)
- Assert 어디에 넣을지 모르면 넌 주니어 시청
#주니어
- 스마트폰 알림 끄고 상사에게 칭찬 받는 법 시청
- E0572. 마크다운의 잘못된 스펙. 이렇게 고쳐볼까? [자막] [시청]
- E0571. 문서는 웬만하면 마크다운(markdown)으로 씁시다 [자막] [시청]
- E0570. 문서를 못쓰면 넌 주니어 #주니어 [자막] [시청]
#주니어
- E0569. 도메인 지식만 많으면 넌 주니어 #도메인 #주니어 [자막] [시청]
#주니어
- E0568. 클린코드 때문에 취업 실패한 썰 [자막] [시청]
- E0567. 예민하다 못해 까탈스런 동료를 두면 좋은 점 [자막] [시청]
- E0566. 취업 전에 반드시 알아야 하는 자료구조들 [자막] [시청]
- 트리, 해시맵 만들 수 있어야함
- E0565. AI 기반 천사모드 검색엔진: 너무 한쪽에 치우치지 않은채 좋은 정보들을 얻을 수는 없을까? [자막] [시청]
- E0564. 싱글톤 패턴은 안티 패턴인가? [자막] [시청]
- E0563. 곧바로 취업되는 프로그래밍 언어, 가장 빨리 취업되는 공부법 [자막] [시청]
- E0562. if/else 로직 제대로 못짜면 주니어 [자막] [시청]
#주니어
- E0561. 테스트 코드 잘 짜는 프로그래머는 이걸 잘합니다 [자막] [시청]
- E0560. 새새끼 프로그래머 [자막] [시청]
- E0559. 자기 방어적 프로그래밍 [자막] [시청]
- E0558. json 떡칠 좀 그만! [자막] [시청]
- E0557. 섣부른 최적화를 할 능력은 되고? [자막] [시청]
- E0556. 프로그래밍 Best Practice 책 추천 목록! [자막] [시청]
- E0555. 고수 개발자들이 오픈소스 공헌 안 하는 이유 [자막] [시청]
- E0554. 미리 reserve 안하는 넌 주니어 [자막] [시청]
#주니어
- E0553. 테슬라 로봇을 돈 값 못하게 사용하는 법 [자막] [시청]
- E0552. 내가 재활용하지 않는 사회 [자막] [시청]
- E0551. 프로젝트 세팅 못하는 넌 주니어 [자막] [시청]
#주니어
- E0550. 효율적인 테스트 코드 작성법 [자막] [시청]
- 데이터 위주의 함수는 구현 후에 곧바로 테스트 코드 작성해도 됨.
- 그 외의 경우는 버그가 나오면 테스트 코드를 작성해서 재발을 막을 것.
- 데이터 위주의 함수는 구현 후에 곧바로 테스트 코드 작성해도 됨.
- E0549. 버그 하나라도 못 고치면 넌 주니어 [자막] [시청]
#주니어
- E0548. 문서 파일에서도 보이는 개발자 자질 [자막] [시청]
- E0547. 남이 날 주니어 프로그래머로 보는 이유 [자막] [시청]
#주니어
- E0546. 도움 자료의 혜택을 받는 사람은 정해져 있다? [자막] [시청]
- E0545. 좋은 선생 vs 나쁜 선생 [자막] [시청]
- E0544. 기발한 이름을 지으면 일어나는 일 (부제: 트라이의 어원) [자막] [시청]
- E0543. 포프TV와 POCU 아카데미 [자막] [시청]
- E0542. string 매개변수 버그로 배우는 올바른 코딩 습관 [자막] [시청]
- E0541. 고객상담원에게 고맙다하지 말자 [자막] [시청]
- E0540. 짤린 프로그래머 더 빡치게 하는 법 [자막] [시청]
- E0539. memcpy 최적화 1, 2, 3 [자막] [시청]
- E0538. 유튜브 광고 수익 높이는 법과 SEO [자막] [시청]
- E0537. 버그를 줄이는 무식하고 간단한 습관 [자막] [시청]
- E0536. 프로그래머라면 검증한다 [자막] [시청]
- E0535. CPU에 최악인 조건문 최적화 [자막] [시청]
- E0534. 이게 내 인생게임이 된 이유는? [자막] [시청]
- E0533. UX에 아무 쓸모가 없는 URL? [자막] [시청]
- E0532. 전기 면도기와 정수기의 UX [자막] [시청]
- E0531. OOP는 허접한 개발자 때문에 발전했다? [자막] [시청]
- E0530. 막코딩의 편안함 [자막] [시청]
- E0529. 스마트폰으로 긴급대응 시스템 구축하기 (무려 공짜) [자막] [시청]
- E0528. 버전 vs 데이터 마이그레이션 [자막] [시청]
- E0527. 이거 안 하면 로그 남겨봐야 아무 소용 없음 [자막] [시청]
- E0526. 외부 라이브러리와 버그 [자막] [시청]
- E0525. 버그가 생기는 이유와 기초 예방법 [자막] [시청]
- E0524. 대충주의로 직장생활이 가능한 기간은? [자막] [시청]
- E0523. 즐기는 사람을 위해 안 가르치는 과목 [자막] [시청]
- E0522. 프로그래밍 공부 순서, 프로그래머 테크트리 [자막] [시청]
- E0521. 푸시 알림과 생산성 저하 [자막] [시청]
- E0520. push 기반 인생 자동화 (로또 편) [자막] [시청]
- E0519. 지문인식: 2만 원에 PC 보안 향상 [자막] [시청]
- E0518. 단순 반복 업무 싫어하세요? 그럼 어떡하시려구요? [자막] [시청]
- E0517. 탑 프로그래머의 데스크 셋업 [자막] [시청]
- 데스크: 전동 높이조절 데스크
-
- Desk: UpLift 900 Sit-Stand Ergonomic Desk Base + Ikea 상판
-
- 바닥: 고무판(서서 일할때)
- 의자: Herman-Miller Aeron - 머리있는거
- 모니터: 델 U시리즈
- 컴퓨터 캐이스: https://www.fractal-design.com/products/cases/define/define-r5/black/
- Mouse: RollerMouse Red
- Keyboard: Realforce 조용한 버전
- Speakers: Rokit 5
- Headset: Sennheiser PC 320 Game
- Audio Interface: PreSonus AudioBox USB 2x2
- 방송
- WebCam: Logitech BRIO
- Mic: Yeti Blue USB
- 창정렬: Gridmove
- 데스크: 전동 높이조절 데스크
- E0516. 포프TV 꾸준 인기영상 TOP5 (2019년) [자막] [시청]
- E0515. 2019년 포프TV 신작 베스트 5편 [자막] [시청]
- E0514. 워라하(워크/라이프 하모니)를 위한 포프TV (인사 없음) [자막] [시청]
- E0513. 못 이루는 신년계획이 더 좋을지도? [자막] [시청]
- E0512. 주인의식을 가져라 [자막] [시청]
- E0511. 유연근무제 조심하세요 [자막] [시청]
- E0510. 명상하면 소원이 이뤄진다 [자막] [시청]
- E0509. 워터폴의 귀환 [자막] [시청]
- E0508. 오픈소스 라이선스 정리 [자막] [시청]
- E0507. 튜닝의 끝은 순정. 개발 용 익스텐션 [자막] [시청]
- E0506. 세 가지 종류의 문서화 이렇게 하세요! [자막] [시청]
- E0505. 기억에 남는 POCU 아카데미 학생 [자막] [시청]
- E0504. 과연 코칭이 가능한가? [자막] [시청]
- E0503. 외주자는 회사정치에 신경 안 씁니다 [자막] [시청]
- E0502. 아마존은 연봉 적게 주는 나쁜 회사? [자막] [시청]
- E0501. 정말 기이한 직장동료 [자막] [시청]
- E0500. 그래픽 프로그래머의 모니터 색감을 어떻게 설정하는가? [자막] [시청]
- E0499. 올바른 변수 이름 짓는 법 [자막] [시청]
- E0498. 반드시 알아야 할 비지니스 영어 축약어 [자막] [시청]
- E0497. 전 실리콘밸리 기술이사가 말하는 회사 지분 vs 봉급 [자막] [시청]
- E0496. 북미개발자의 개발용 노트북 추천 [자막] [시청]
- E0495. 면접 가다가 똥 맞다 [자막] [시청]
- E0494. 마인크래프트 개발자가 말하는 구글 스타디아 (3/3) [자막] [시청]
- E0493. 헤일로 개발자가 말하는 구글 스타디아 (2/3) [자막] [시청]
- E0492. 피파 개발자가 말하는 구글 스타디아 (1/3) [자막] [시청]
- E0491. 아니, 너만 틀리다니까? [자막] [시청]
- E0490. 업무대화 중 소설 안 쓰는 방법 [자막] [시청]
- E0489. 까 먹는 프로그래밍 언어? [자막] [시청]
- E0488. 팀 패스워드 관리 이렇게 하면 될까? [자막] [시청]
- E0487. 패스워드 관리 프로그램 비교 [자막] [시청]
#프로그램
- E0486. 스팸 메시지와 에티켓 [자막] [시청]
- E0485. 면접 중 장점/단점 질문은 어떻게 답변해야 하지? [자막] [시청]
- E0484. 면접관이 기술면접에서 보는 것 [자막] [시청]
- E0483. 면접관에게 자기소개서란 [자막] [시청]
- E0482. 커뮤니케이션 문제: 자기만의 용어를 고집하는 사람 [자막] [시청]
- E0481. 꿈과 야망을 강요하는 사회 [자막] [시청]
- E0480. 코딩은 자연계 대학 필수과목이어도 된다 [자막] [시청]
- E0479. 나쁜 습관 고치기 [자막] [시청]
- E0478. 무료 암호화폐 결제 API [자막] [시청]
- E0477. 글로벌 서비스는 PayPal 결제로 [자막] [시청]
- E0476. 익명성의 순기능, 솔직한 피드백 등 [자막] [시청]
- E0475. 리드는 소신이 있어야 [자막] [시청]
- E0474. 프로그래머의 수치: 복구 불가능한 버그 [자막] [시청]
- E0473. 포큐 마감임박! 또 4개월을 기다릴텐가? [자막] [시청]
- E0472. 내가 쓰는 C++1x: constexpr [자막] [시청]
#C++
- E0471. 포큐 5월 학기 프로그래밍 입문 강좌 [자막] [시청]
- E0470. 휴대기기의 발전과 게으르단 핑계 [자막] [시청]
- E0469. 슬랙의 remind 기능 [자막] [시청]
- E0468. 크롬캐스트와 아마존 파이어 TV [자막] [시청]
- E0467. 내가 쓰는 C++1x: Conditional Variable [자막] [시청]
#C++
- E0466. 기술면접 후 복습하시나요? [자막] [시청]
- E0465. 공짜 고객상담 솔루션 [자막] [시청]
- E0464. 법의 무늬와 목적 [자막] [시청]
- E0463. 내가 쓰는 C++1x: 가변인자 템플릿(variadic template) [자막] [시청]
#C++
- E0462. QR 코드의 컴백 [자막] [시청]
- E0461. POCU 아카데미 오픈 [자막] [시청]
- E0460. 포프의 경력/학력 정리 (2018년판) [자막] [시청]
- E0459. 방어적 프로그래밍 [자막] [시청]
- E0458. 헬로코딩: 프로그래밍 심화문제 풀이 강의 [자막] [시청]
- E0457. 포프티비 전자책 증정 이벤트 [자막] [시청]
- E0456. 클라우드 플레어로 웹서비스 향상하기 [자막] [시청]
- E0455. 헬로코딩 2018 마지막 재탕 강연 [자막] [시청]
- E0454. 2018년 가을 한국강연 일정 [자막] [시청]
- E0453. 연령대별 해야할 일 [자막] [시청]
- E0452. 내가 스마트폰을 쓰는 이유 [자막] [시청]
- E0451. 열린 회사 (open company) [자막] [시청]
- E0450. 모바일 페이의 승자? [자막] [시청]
- E0449. 믿음과 학습속도 [자막] [시청]
- E0448. 구글 갓과 프로그래밍 [자막] [시청]
- E0447. Hash Table은 프로그래머의 기본기 [자막] [시청]
- 해시태이블 만들 수 있는가
- E0446. Visual C++의 유니티 빌드 기능 [자막] [시청]
#C++
- E0445. 니 기억은 언제나 틀리다 [자막] [시청]
- E0444. 레드오션? 블루오션? [자막] [시청]
- E0443. C#의 정말 편한 Extension 메서드 [자막] [시청]
- E0442. C# 밸리데이션 애트리뷰트와 값 타입 변수 [자막] [시청]
- E0441. 퀄리티 안나오는 사람들의 특징 [자막] [시청]
- E0440. 프로그래머가 국어를 못하면 [자막] [시청]
- E0439. 일잘하는 사람과 시뮬레이션 능력 [자막] [시청]
- E0438. Reverse OOP 패턴 [자막] [시청]
- E0437. GitHub 인수와 GitLab 으로의 이주 [자막] [시청]
- E0436. 미안해, 고마워 [자막] [시청]
- E0435. 코딩스탠다드: 람다 [자막] [시청]
#코딩스탠다드
- E0434. 만원의 가치 [자막] [시청]
- 시간을 산다
- 포프티비 책의 할인을 요구받았지만 거절 > 효율성을 사는데에 이 정도 가격은 낭비가 아니다.
- E0433. 치과 [자막] [시청]
- E0432. 포트폴리오의 가치 및 의미 [자막] [시청]
- E0431. 새 프로그래밍 교육기관을 준비 중입니다 [자막] [시청]
- E0430. 완벽한 건 없다 [자막] [시청]
- E0429. 게임직군 :게임플레이 프로그래머 [자막] [시청]
- E0428. 이력서 쓰는 법 [자막] [시청]
- E0427. 컴퓨터는 추상적으로 돌지 않는다 [자막] [시청]
- E0426. 그거 돈은 되니? [자막] [시청]
- E0425. 게임직군: 모델러 (캐릭터, 환경) [자막] [시청]
- E0424. 마인크래프트 개발했습니다 [자막] [시청]
- E0423. 웹 서버 세팅 관리 [자막] [시청]
- E0422. 싸게 회사 홈페이지 만들기 [자막] [시청]
- E0421. 도서: 포프TV 1권 출간 [자막] [시청]
- E0420. 2018년 4월 강연 일정 [자막] [시청]
- E0419. Static HTML API 문서 만들기 [자막] [시청]
- E0418. 전문용어 및 축약어 남발 [자막] [시청]
- E0417. 아이폰용 수도쿠 게임 [자막] [시청]
- E0416. 프로파일 기반 최적화 [자막] [시청]
- E0415. 포프티비 검색엔진 (기술편) [자막] [시청]
- E0414. 포프티비 검색엔진 소개 [자막] [시청]
- E0413. 같은 시간대의 장단점 [자막] [시청]
- E0412. [게임직군] FX 아티스트 [자막] [시청]
- E0411. 로깅 파일 처리 및 재난 상황 탐지 [자막] [시청]
- E0410. 언어별 부모 생성자 호출 방법 [자막] [시청]
- E0409. 버그이야기: 스페이스 마린 편 [자막] [시청]
- E0408. 프로그래머가 영어를 못하면 [자막] [시청]
- E0407. 내부 vs 외주 팀 [자막] [시청]
- E0406. 버그이야기: 콘솔 제조사의 삽질 [자막] [시청]
- E0405. 코딩스탠다드: 생성자, setter, getter [자막] [시청]
#코딩스탠다드
- E0404. 안에서만 새는 바가지? [자막] [시청]
- E0403. 버그이야기 - 개발자의 거짓말 [자막] [시청]
- E0402. 연봉협상 [자막] [시청]
- E0401. 장기 기억력과 실력 [자막] [시청]
- E0400. 엔지니어와 UX [자막] [시청]
- E0399. 버그 이야기 - 야구게임 편 [자막] [시청]
- E0398. 거짓말쟁이의 패턴 [자막] [시청]
- E0397. 프로그래밍 첫 입문 전자책 [자막] [시청]
- E0396. 비트코인과 세금 [자막] [시청]
- E0395. [게임직군] UI 아티스트 [자막] [시청]
- E0394. 비트코인 투자? [자막] [시청]
- E0393. 코드몽키의 미래 [자막] [시청]
- E0392. 개발용 맥 빌려 쓰기 [자막] [시청]
- E0391. 노는 안드로이드폰으로 비트코인 채굴하기 [자막] [시청]
- E0390. 소프트웨어 아키텍트의 코딩 [자막] [시청]
- E0389. 프로그래머로 살아남기 위해 필요한 언어 둘 [자막] [시청]
- E0388. 영미법 vs 대륙법 [자막] [시청]
- E0387. 프로그래밍 입문 [자막] [시청]
- E0386. 게임직군: 오디오 프로그래머 [자막] [시청]
- E0385. 교수노조 파업을 보며 느낀 점 [자막] [시청]
- E0384. 포토샵, 2도 출판, 프로그래밍 [자막] [시청]
- E0383. 난 스타트업을 어떻게 준비해 왔나 [자막] [시청]
- E0382. REST와 404 [자막] [시청]
- E0381. stable sort 및 필수 스킬 [자막] [시청]
- E0380. 진정한 리더 2 [자막] [시청]
- E0379. 스키닝이란 무엇인가? [자막] [시청]
- E0378. 울 아파트 전기차 충전 허가 상황을 보면 느낀점 [자막] [시청]
- E0377. 와이파이 사이렌으로 긴급대응 [자막] [시청]
#알람
D-Link DCH‑S220
- 와이파이 사이렌
- 911 정말 심각한 문제
- 912 문제는 문제인데 8시간 있다 고쳐도 상관 없는
- E0376. 댓글 관리자 및 도덕심의 단계 [자막] [시청]
- E0375. TypeMock으로 유닛테스트를 간편히? [자막] [시청]
- E0374. 새 전자화폐: 포프코인 [자막] [시청]
- E0373. 비밀번호 규칙 창시자의 사과 [자막] [시청]
- E0372. 꼰대 꼰대질 [자막] [시청]
- E0371. 다수처럼 보이는 소수 [자막] [시청]
- E0370. 멘토 [자막] [시청]
- E0369. 나는 모른다는 거짓말 [자막] [시청]
- E0368. 게임기획 나올동안 프로그래머는 뭐하나 [자막] [시청]
- E0367. 야근과 자기발전 2 [자막] [시청]
- E0366. 코딩스탠다드: struct vs class [자막] [시청]
#코딩스탠다드
- E0365. 주입식 교육의 장점 [자막] [시청]
- E0364. 초중고등학교에서 배울 수 있는 것 [자막] [시청]
- E0363. 좋은 키보드? [자막] [시청]
- E0362. 넌 어차피 까인다 [자막] [시청]
- E0361. BCIT 수석한 법 [자막] [시청]
- E0360. 코딩스탠다드: 함수 작성 [자막] [시청]
#코딩스탠다드
- E0359. 재택근무 직원용 시간관리 프로그램 [자막] [시청]
#프로그램
- E0358. 게임직군: 네트워크 프로그래머 [자막] [시청]
- E0357. 코딩스탠다드: 참조/포인터 매개변수 [자막] [시청]
#코딩스탠다드
- E0356. 장기이익에 투자하라 [자막] [시청]
- E0355. 생활습관을 고쳐야 좋은 엔지니어(프로그래머)가 된다 [자막] [시청]
- E0354. 테슬라, 전기차, 자동주행차 [자막] [시청]
- E0353. 시그래프 발표계기 [자막] [시청]
- E0352. 대학을 통한 북미취업 [자막] [시청]
- E0351. 선의의 거짓말은 없다 [자막] [시청]
- E0350. 약 파는 개발자 [자막] [시청]
- E0349. 담배와 개발자 [자막] [시청]
- E0348. 왜이리 자격증에 목을 매는가 [자막] [시청]
- E0347. A급 B급 인재 [자막] [시청]
- A급인재 손을 안대도 일이 돌아가고 정말 중요한 이야기만 하고 넘어갈 수 있다.
- 어떤일을 볼때 가능성도 보고 실재 어떤 영향을 끼칠 지도 본다.
- B급인재 중요한 이야기 가기전에 중요하기 전혀 중요하지 않은 이야기를 해야함.
- 강박적 집착증 스티브 잡스 "바보들의 팽창을 막아라"
- 픽사대학교는 1주일에 4시간 이상 110개 강좌를 들을 수 있도록 프로그램이 짜여 있다. 전통적인 대기업의 사내 MBA과정과 달리 마술, 접시돌리기, 데생, 연극, 판토마임 등으로 커리큘럼이 구성돼 있다. 행정직, 기술직, 경영진은 물론 건물관리인이나 경비직원까지 누구나 수업을 들을 수 있다.
- GN⁺: 스티브 잡스, 최고의 직원들은 프로세스가 아닌 콘텐츠에 집중한다고 말함 (inc.com)
- A급인재 손을 안대도 일이 돌아가고 정말 중요한 이야기만 하고 넘어갈 수 있다.
- E0346. 드디어 보이는 Git의 미래 [자막] [시청]
- E0345. 공포가 사람을 움직인다 [자막] [시청]
- E0344. [게임직군] 원화가 [자막] [시청]
- E0343. 불쌍한 UX 디자이너 [자막] [시청]
- E0342. 예 / 아니오 [자막] [시청]
- E0341. 내가 존경하는 테크 회사 [자막] [시청]
- E0340. 나는 내성적이다 [자막] [시청]
- E0339. 회사운영 자동화 [자막] [시청]
- E0338. 게임직군: 테크 아티스트 [자막] [시청]
#TA
- 테크아티스트
- 프로그래머 출신 테크아티스트, 아티스트 출신 테크아티스트. 성향이 갈리나 둘 다 유용
- 있으면, 아티스트랑 프로그래머간 싸우는 경우가 적어짐
- E0337. SQL vs NoSQL [자막] [시청]
- E0336. Enum을 쓰자 [자막] [시청]
- E0335. 윈10 나이트 라이트 모드와 EyeLeo [자막] [시청]
- E0334. ASP.NET Core를 쓰자 [자막] [시청]
- E0333. 빌드 시스템과 버전 [자막] [시청]
- E0332. 남의 판단을 믿는 사회 [자막] [시청]
- E0331. 함수형 프로그래밍 [자막] [시청]
- E0330. 돈은 어떻게 벌 건가? [자막] [시청]
- E0329. 컴퓨터 관리능력도 개발자의 자질 [자막] [시청]
- E0328. 대학까지 나왔는데 [자막] [시청]
- E0327. 마법없는 코딩, STL, 언리얼 엔진 등 [자막] [시청]
- E0326. 디버깅과 코드학습 [자막] [시청]
- E0325. 거지의 경제학 [자막] [시청]
- E0324. C++ 17의 Attribute로 실수를 막자 [자막] [시청]
#C++
- E0323. 슬랙은 자마린을 안 썼다 [자막] [시청]
- E0322. 클라우드 개발환경 [자막] [시청]
- E0321. 불편한 진실 [자막] [시청]
- E0320. JWT 토큰 [자막] [시청]
- E0319. 한국 게임컨퍼런스 발표를 하게 된 계기 [자막] [시청]
- E0318. 벤처 투자자가 원하는 것 [자막] [시청]
- E0317. UTC 시간을 쓰자 [자막] [시청]
- E0316. 재밌는 직업병 이야기 [자막] [시청]
- E0315. [보안] 자동 DB 암호화 기술 [자막] [시청]
- E0314. 닌텐도 스위치 만세 [자막] [시청]
- E0313. 게임개발 지망생 진로상담 [자막] [시청]
- E0312. [보안] HTTPS를 싸게 [자막] [시청]
- E0311. 이직결정표 만들기 [자막] [시청]
- E0310. 최악의 직원 [자막] [시청]
- E0309. 수도쿠 게임 [자막] [시청]
- E0308. ORM: DB에 오브젝트를 쓰자 [자막] [시청]
- E0307. PSO 최적화 (DX12) [자막] [시청]
- E0306. [보안] 안전한 패스워드 [자막] [시청]
- E0305. 이런 질문 좀 하지마요 [자막] [시청]
- E0304. [보안] 범죄예방의 기초 [자막] [시청]
- E0303. 언리얼4 개발팁 7선 [자막] [시청]
- E0302. null이란 무엇인가? [자막] [시청]
- E0301. 나는 금수저? 흙수저? [자막] [시청]
- E0300. 독커, Azure, AWS [자막] [시청]
- E0299. 버그 만드는 걸 두려워하지 마라 [자막] [시청]
- E0298. 팬레터, 나의 로망, 프로그래밍 언어 제작 [자막] [시청]
- E0297. 공동창업자를 고를 때 [자막] [시청]
- E0296. 캐나다 컴공학과 교수가 되다 [자막] [시청]
- E0295. 가상현실 컨텐츠에서 주의할 점 [자막] [시청]
- E0294. 좀비 사태에 대한 대비 [자막] [시청]
- E0293. 숫자놀이 회사정치 [자막] [시청]
- E0292. 실수 고치기 [자막] [시청]
- E0291. 노말맵은 왜 파란가? [자막] [시청]
- E0290. 도메인 드리븐 디자인 [자막] [시청]
- E0289. 저수준의 중요성 [자막] [시청]
- E0288. OOP는 중요하다. 하지만... [자막] [시청]
- E0287. 조건문과 반복문이면 된다 [자막] [시청]
- E0286. 남의 결정을 대신 내리지 말자 [자막] [시청]
- E0285. 면접 중 회사 엿보기 [자막] [시청]
- E0284. 영어가 한국어보다 좋은 언어다 [자막] [시청]
- E0283. 버텍스 압축 [자막] [시청]
- E0282. 북미취업가이드북 2판 출시 [자막] [시청]
- 1판은 북미취업 이렇게 해야한다. 실패를 해도 잃을게 없는
- 2판 비자문제(매년 바뀌지), 미국쪽이 어려운 이유, 캐나다 찍고 가는거에 대한 이점.
- E0281. 구글 미워요 자바 싫어요 마소 짱짱 [자막] [시청]
- E0280. 인터넷과 지식인 [자막] [시청]
- E0279. 일상 훔쳐보기와 시간 때우기 [자막] [시청]
- E0278. 싱글턴은 하나라니까? [자막] [시청]
- E0277. 실리콘밸리 행, 포프TV 일정 변경 [자막] [시청]
- E0276. 게임직군: 그래픽 프로그래머 [자막] [시청]
- E0275. 한국인이 모르는 영어: no? [자막] [시청]
- E0274. DB 관리자의 미래 [자막] [시청]
- E0273. 클라우드 컴퓨팅, SLA, 릴리즈 스페셜리스트 [자막] [시청]
- E0272. 신곡: 바람 부는 날 [자막] [시청]
- E0271. 병가는 연차가 아니다 [자막] [시청]
- E0270. DX12 개발자 페북모임 [자막] [시청]
- E0269. 장애 이용하기 [자막] [시청]
- E0268. 정적분석 vs 유닛테스트 [자막] [시청]
- E0267. UTF8로 쳐바르자 [자막] [시청]
- E0266. 보안전문가 [자막] [시청]
- E0265. 헤일로 개발했습니다 [자막] [시청]
- E0264. 랩노트 원노트 [자막] [시청]
- E0263. 플로우는 하나만 [자막] [시청]
- E0262. 뭐? 폴리글랏 프로그래밍? [자막] [시청]
- E0261. 쥬니어니까 괜찮아 [자막] [시청]
- E0260. 웹툰 까메오 출현 [자막] [시청]
- E0259. 애져로 개발환경 관리하기 [자막] [시청]
- E0258. 나는 엔지니어다 [자막] [시청]
- E0257. 정규식은 이제 그만 [자막] [시청]
- E0256. 주석과 가독성 [자막] [시청]
- E0255. [보안] 해쉬와 암호화 [자막] [시청]
- E0254. 공짜 과외선생을 한 이유 [자막] [시청]
- E0253. 기회는 왔을때 잡는다 [자막] [시청]
- E0252. 게임직군: UI와 툴스 프로그래머 [자막] [시청]
- E0251. 주인님 자격증이 나오다 [자막] [시청]
- E0250. 브렉싯과 소수삥뜯기 [자막] [시청]
- E0249. 틀렸을 때의 즐거움 [자막] [시청]
- E0248. 해적질 [자막] [시청]
- E0247. 커피, 마약, 처방전 [자막] [시청]
- E0246. 행/열기준 행렬 및 OpenGL 성능 [자막] [시청]
- E0245. async void가 안좋은 이유 [자막] [시청]
- E0244. Typeless 언어 [자막] [시청]
- E0243. 원칙(소신)있는 코딩 [자막] [시청]
- E0242. 이창호도 천재가 아니었다 [자막] [시청]
- E0241. 커피와 프로그래밍 [자막] [시청]
- E0240. C++ 네임스페이스 헛소리 [자막] [시청]
#C++
- E0239. Async 쓸까말까 및 주의할 점 [자막] [시청]
- E0238. 바이너리 잘 지원하는 무료 Git 서비스 [자막] [시청]
- E0237. C++ 빌드속도 흑마법 [자막] [시청]
#C++
- E0236. 한국인이 잘못쓰는 영어: Do You Mind? [자막] [시청]
- E0235. 프리젠테이션 기법 - 잘난척을 해라 [자막] [시청]
- E0234. C++17 모듈시스템! [자막] [시청]
#C++
- E0233. 일 확실히 끝내기 [자막] [시청]
- E0232. C# Shared 프로젝트 [자막] [시청]
- E0231. 새로운 포프TV 컨텐츠 [자막] [시청]
- E0230. 전기차는 환경보호? [자막] [시청]
- E0229. 3D 프린팅 사기꾼 [자막] [시청]
- E0228. LeftPad 대첩과 패키지관리 [자막] [시청]
- E0227. 선입견을 가져라 [자막] [시청]
- E0226. 프로그래밍의 반은 디버깅 [자막] [시청]
- E0225. 가벼운 스타트업 [자막] [시청]
#책
린 스타트업 - 에릭 리에스
- The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses - Eric Ries
- E0224. 포프TV 라이브 계획 [자막] [시청]
- E0223. 포프티비 게스트가 적은 이유 [자막] [시청]
- E0222. VISC = 자동 멀티스레딩? [자막] [시청]
- E0221. 가치없는 토론 [자막] [시청]
- E0220. 가상/증강 현실의 미래 [자막] [시청]
- E0219. 게임개발자 다이어리 팟캐스트 [자막] [시청]
- E0218. REST API와 버전 [자막] [시청]
- E0217. 메타프로그래밍은 나쁘다 [자막] [시청]
- E0216. 소프트웨어 vs 건축 설계사 [자막] [시청]
- E0215. GOTO는 악마다? [자막] [시청]
- E0214. [게임개발자분류] 애니메이터 / 리거 [자막] [시청]
- E0213. 북미취업 2016 [자막] [시청]
- E0212. 다시 게임프로그래머 [자막] [시청]
- E0211. 모바일 개발은 자마린 [자막] [시청]
- E0210. 성적이 나쁘긴 어렵다 [자막] [시청]
- E0209. 유니티 게임오브젝트 [자막] [시청]
#유니티
- 컴포넌트기반
- 이벤트 브로드케스팅은 느리다
- E0208. 정리해고 [자막] [시청]
- E0207. scope 지정 코딩스타일 [자막] [시청]
#코딩스탠다드
- E0206. 불쌍한 프론트엔드 개발자 [자막] [시청]
- E0205. SQL에서 성능저하 없이 GUID쓰기 [자막] [시청]
- E0204. Good Bye 캡콤 밴쿠버 [자막] [시청]
- E0203. 역시 미래는 모바일 No 머신러닝 Yes [자막] [시청]
- E0202. 새로운 기계의 영혼 [자막] [시청]
- E0201. 포프TV Top 5, 그리고 뒷이야기 (2015) [자막] [시청]
- E0200. 생긴대로 사는법 [자막] [시청]
- E0199. Code Contracts [자막] [시청]
- E0198. 코드몽키를 위한 코딩 스탠다드 [자막] [시청]
- E0197. 난 언제나 바쁘다 [자막] [시청]
- E0196. 습관들이기 [자막] [시청]
- E0195. 받은만큼 못베풀면 이기적 [자막] [시청]
- E0194. 감마 보정 [자막] [시청]
- E0193. 민폐주는 시니어 [자막] [시청]
- E0192. GitSwarm과 Git 개선 아이디어 [자막] [시청]
#프로그램
#git
- E0191. 하고 싶은거 하면서 인정받기 [자막] [시청]
- E0190. 잘자야 성공한다 [자막] [시청]
- E0189. 컴퓨터는 어떻게 문자를 보여주나 [자막] [시청]
- E0188. 팀챗, 힙챗, 슬랙 [자막] [시청]
- E0187. 3D 프린팅의 현상태 [자막] [시청]
- E0186. 뭐? 3D 프린팅 자격증? [자막] [시청]
- E0185. 빨강은 255 0 0? [자막] [시청]
- E0184. 투덜이 스머프 직장인 [자막] [시청]
- E0183. 게임캐릭터와 월드 [자막] [시청]
- E0182. 한국인 영어발음의 문제 [자막] [시청]
- E0181. 주 8시간 근무 [자막] [시청]
- E0180. 부정적인 자세와 성공 [자막] [시청]
- E0179. Git/HG와 큰 파일 [자막] [시청]
- E0178. 커뮤니케이션 문제 찾기 [자막] [시청]
- E0177. 스페셜 리스트가 맞다 [자막] [시청]
- E0176. 장애인 도시문화 [자막] [시청]
- E0175. 질문하는 법 [자막] [시청]
- E0174. 콘솔게임의 미래 [자막] [시청]
- E0173. [게임소개] Brain It On [자막] [시청]
- E0172. 수많은 전문가 [자막] [시청]
- E0171. 개발 프로세스 헛소리좀 그만 [자막] [시청]
- E0170. exception 버리기 [자막] [시청]
- E0169. C# 2015 새로운 기능 [자막] [시청]
- E0168. 수재는 천재를 이길수 있다 [자막] [시청]
- E0167. Half-Res 파티클 [자막] [시청]
- E0166. 평생 기술자 하세요 [자막] [시청]
- E0165. 유튜브 비디오 썸네일에 타이틀 넣기 [자막] [시청]
- E0164. 퍼포스 헬릭스 클라우드 사용기 1 [자막] [시청]
- E0163. [또 헛소리] 좌측, 우측통행? [자막] [시청]
- E0162. exception safe 프로그래밍 [자막] [시청]
- E0161. Helix 버전 컨트롤 시스템 [자막] [시청]
- E0160. 인생에 도움되는 수학 [자막] [시청]
- E0159. 수포자를 위한 게임수학 [자막] [시청]
- E0158. 내가 꿈꾸던 회사 [자막] [시청]
- E0157. 그녀를 떠나렴 [자막] [시청]
- E0156. 조지아테크 머신러닝, 근황, 헛소리 [자막] [시청]
- E0155. 열정이 올 때 [자막] [시청]
- E0154. 주객전도 아키텍처 / 프로그래밍 [자막] [시청]
- E0153. 주4시간 근무 [자막] [시청]
- E0152. 재택근무가 하고파요 [자막] [시청]
- E0151. 나는 머신이다 [자막] [시청]
- E0150. 게임해킹, 게임물리 [자막] [시청]
- E0149. 애니 [자막] [시청]
- E0148. 왼손/오른손 좌표계 [자막] [시청]
- E0147. C++ 표준에 대한 불만 [자막] [시청]
#C++
- E0146. 전선뽑아 전기절약? [자막] [시청]
- E0145. 머신러닝 [자막] [시청]
- E0144. 과연 모바일이 미래인가? [자막] [시청]
- E0143. 개발경력 3년이면 [자막] [시청]
- E0142. 불쌍한 게임기획자 [자막] [시청]
- E0141. 쓸데없는 인터페이스 [자막] [시청]
- 인터페이스:클래스 - 1:1 로 되어있는데 불편하다 (디버깅) 오버엔지니어링 하지말자
- E0140. 마이크로소프트의 미래 [자막] [시청]
- E0139. 디버깅은 해봤니? [자막] [시청]
- E0138. 쉬프트키 대신 더블 탭을 [자막] [시청]
- E0137. C++ 유닛 테스트 [자막] [시청]
#C++
- E0136. 범위기반 가비지 컬렉터 [자막] [시청]
- E0135. C# XML Serializer 메모리 누수 [자막] [시청]
- E0134. 가족(축)같은 회사? [자막] [시청]
- E0133. 최고의 머지 프로그램 Araxis Merge Pro [자막] [시청]
#프로그램
- E0132. [게임소개] Project D Online [자막] [시청]
- E0131. [근황/잡담] 회사정치, 조지아테크 중간고사 [자막] [시청]
- E0130. 개밥 먹는 프로그래머 [자막] [시청]
- E0129. 관찰력 [자막] [시청]
- E0128. 프로그래머로 살아남는 법 [자막] [시청]
- E0127. 라이프스타일과 야근 [자막] [시청]
- E0126. 조지아테크 업데이트 1 [자막] [시청]
- E0125. 센티미터를 쓰자 [자막] [시청]
- E0124. 알파채널 [자막] [시청]
- E0123. 내가 원하는 염색약 [자막] [시청]
- E0122. 텍스처 압축 [자막] [시청]
- E0121. Put Ur Bags Down [자막] [시청]
- E0120. 가르치면서 배운다 [자막] [시청]
- E0119. 진정한 리더 [자막] [시청]
- E0118. 미터를 쓰자 [자막] [시청]
- E0117. 이상한 북미게임회사? [자막] [시청]
- E0116. 소스컨트롤 시스템 2 [자막] [시청]
- E0115. 올바른 코드리뷰 프로세스 [자막] [시청]
- E0114. 왜 아직도 float인가? [자막] [시청]
- E0113. 캐나다 게임산업 통계 [자막] [시청]
- E0112. 게임 판매량 [자막] [시청]
- E0111. 좋은 프로그래밍 언어와 기본동작 [자막] [시청]
- E0110. 게임데이터 저장 및 로딩 [자막] [시청]
- E0109. 난 직설적인 회사가 좋다 [자막] [시청]
- E0108. 야근과 자기발전 [자막] [시청]
- E0107. 근황, 잡담, 조지아테크 MOOC [자막] [시청]
- E0106. 올바른 API 설계 [자막] [시청]
- E0105. 혼자 생각하기 [자막] [시청]
- E0104. 로봇의 습격 [자막] [시청]
- E0103. 리얼타임? [자막] [시청]
- E0102. 게임 프로그래머를 관두는 이유 [자막] [시청]
- E0101. 공부잘하는 친구를 사랑하라 [자막] [시청]
- E0100. 100회 기념, 대마법사, 오해를 풀자 [자막] [시청]
- E0099. 텍스처 품질향상 꼼수 [자막] [시청]
- E0098. Hi-Z 최적화 아이디어 [자막] [시청]
- E0097. 게임이 접히는 이유 [자막] [시청]
- E0096. 넥슨과 섬노예 [자막] [시청]
- E0095. X같은 프로페셔널리즘 [자막] [시청]
- E0094. 북미취업 가이드 그 후 [자막] [시청]
- E0093. 유토피아 [자막] [시청]
- E0092. 프라우드넷을 인수하라 [자막] [시청]
- E0091. 싱글스레드 게임루프 [자막] [시청]
- E0090. Lockless 참조카운터? [자막] [시청]
- E0089. 불로초를 찾다 [자막] [시청]
- E0088. UI는 아트여야만 한다? [자막] [시청]
- E0087. 변호사보다 잘 버는 프로그래머 [자막] [시청]
- E0086. 올바른 보너스 체계 [자막] [시청]
- E0085. HeartBleed와 오픈소스 프로그래머 [자막] [시청]
- E0084. 영어발음 Z [자막] [시청]
- E0083. API 문서화 [자막] [시청]
- E0082. 감기 예방법 [자막] [시청]
- E0081. 함수 안 static 개체 [자막] [시청]
- E0080. WPF는 힘들다? [자막] [시청]
- E0079. 전자책 편집법 [자막] [시청]
- E0078. 프로그래머 강연은 제발... [자막] [시청]
- E0077. 유니티5 vs 언리얼4 [자막] [시청]
#유니티
- 언리얼 소스 코드가 모두 공개가 돼 있다는 것 자체가 어떤 의미에서 보면은 배우는 사람들한 테 정말 좋지 않나
- E0076. 리더와 시니어 [자막] [시청]
- E0075. 책욕심 [자막] [시청]
- E0074. Power 낮잠 [자막] [시청]
- E0073. 논리력은 어떻게 판단하나? [자막] [시청]
- 필연적 인과관계. A가 있어났으면 B는 반드시 일어나야 되는 상황.
- 전제와 결론이 필연적 인과관계인지, 전제가 사실인지
- 결론이 맞다, 아니다 라는 걸 판단 할 수 있는 사람
- E0072. Debug 빌드를 유지하자 [자막] [시청]
- E0071. 겸손한 개발자 [자막] [시청]
- E0070. 내가 쓰는 C++11: Scoped Lock [자막] [시청]
#C++
- E0069. C++에서 유니코드란 참 [자막] [시청]
#C++
- E0068. 법감정: 상속세 폐지 [자막] [시청]
- E0067. 쓸데없는 매일 아침회의 [자막] [시청]
- E0066. 효율적인 프로그래머 [자막] [시청]
- E0065. 유니티 무료버전에 필요한 기능 [자막] [시청]
#유니티
- Asset Serialization 모드 중 텍스트(Force Text) 모드가 무료 버전에서 사용 가능해진 최초 버전은 Unity 4.2입니다
- Unity 4.2 버전은 2013년 7월 22일에 출시되었습니다
- E0064. 일사천리 일처리 [자막] [시청]
- E0063. NuGet으로 라이브러리 관리를 간편히 [자막] [시청]
- E0062. 커뮤니케이션 블랙홀 [자막] [시청]
- E0061. 최적화 툴: Speed Cop [자막] [시청]
- E0060. 한분야의 마스터가 되려면 [자막] [시청]
- E0059. 포인터의 필요성 [자막] [시청]
- E0058. 부모님께 효도하는 법 [자막] [시청]
- E0057. 내가 쓰는 C++11: Range-Based For [자막] [시청]
#C++
- E0056. 규칙을 지키는 놈만 손해다? [자막] [시청]
- E0055. 신년계획 따윈 세워서 뭐하나? [자막] [시청]
- E0054. 버전컨트롤 시스템 쓰세요 [자막] [시청]
- E0053. 새로운 메모리 디버깅 기능? [자막] [시청]
- E0052. 게임프로그래머가 되는 이유 [자막] [시청]
- E0051. C#이 C++보다 빨라진다? [자막] [시청]
#C++
- E0050. 슈팅게임 알고리듬 [자막] [시청]
- E0049. 스페셜리스트 vs 제너럴리스트 [자막] [시청]
- E0048. 언리얼 엔진에서 지원하는 머테리얼 레이어 [자막] [시청]
- E0047. KGC 후기를 가장한 뇌물광고.. (응?) [자막] [시청]
- E0046. Pair Programming 보다 나은 법 [자막] [시청]
- E0045. 번역자 되는법 [자막] [시청]
- E0044. C# 하악하악~ [자막] [시청]
- E0043. 데이터 중심 디자인 [자막] [시청]
- E0042. 회사에서 원하는 프로그래머 [자막] [시청]
- E0041. 추천 유틸리티 [자막] [시청]
- E0040. 물리기반 렌더링 [자막] [시청]
- E0039. 책자랑: HLSL 개발 조리법 [자막] [시청]
- E0038. 야근에 대해 말해보자 [자막] [시청]
- E0037. 포프의 시간관리법 [자막] [시청]
- E0036. 한국인이 잘못쓰는 영어: Main Idea First [자막] [시청]
- E0035. 페이스북을 버린 이유 [자막] [시청]
- E0034. 효과적인 온라인 대화 스타일 [자막] [시청]
- E0033. 한국인이 잘못쓰는 영어: Okay [자막] [시청]
- E0032. 거만한 개발자 [자막] [시청]
- E0031. 지하철이 시민성을 바꾼다 [자막] [시청]
- E0030. 한국인이 잘못쓰는 영어: 올바른 영문법? [자막] [시청]
- E0029. KGC 2013에서 뵙겠습니다 [자막] [시청]
- E0028. 개발자 오래 해먹으려면... [자막] [시청]
- E0027. 한국인이 잘못쓰는 영어: No [자막] [시청]
- E0026. 한국인이 잘못쓰는 영어: Sure [자막] [시청]
- E0025. 게임프로그래머 테크트리 [자막] [시청]
- E0024. 검색엔진의 미래 [자막] [시청]
- E0023. 한국인이 잘못쓰는 영어: 사전찾기 [자막] [시청]
- E0022. 삼색 코드리뷰 [자막] [시청]
- E0021. 셰이더란 무엇인가? [자막] [시청]
- E0020. 내가쓰는 C++11: static_assert [자막] [시청]
#C++
- E0019. 자동주차위치 기억시스템 [자막] [시청]
- E0018. 내가 쓰는 C++11: unique_ptr [자막] [시청]
#C++
- E0017. 영어를 알면 포인터가 보인다 [자막] [시청]
- E0016. 내가 쓰는 C++11: final과 override [자막] [시청]
#C++
- E0015. 스터디 절대로 하지마라 [자막] [시청]
- E0014. 꽃미남 서강대 교수님 [자막] [시청]
- E0013. 노동법위반 게임회사 [자막] [시청]
- E0012. 내가 쓰는 C++11: nullptr [자막] [시청]
#C++
- E0011. 원화가 북미취업 케이스 [자막] [시청]
- E0010. 녹내장, 오디오북, 불법복제 그리고 전자책 [자막] [시청]
#skip
- 컴퓨터를 한곳에 고정시키고 계속 바라보면 주변근육으로 인해 녹내장이 발병할 수 도 있다.
- 녹내장은 무엇인가요?
- 말기에 가서 중심 시력만 남게 된 경우에야 시력장애가 있음을 알게 되는 무서운 병입니다.
- 정기적인 안압검사와 시야검사 및 시신경유두검사를 받아보는 것이 바람직합니다.
- 또한 심신의 과로를 피하고 어두운 곳에서 일하거나 책을 보지 않도록 하고, 한꺼번에 많은 양의 물이나 커피 등을 마시지 않도록 주의하셔야해요.
- 눈을 쉴 수 있는 방법 오디오 북.
- 한국이 책값이 정말 싸다.
- E0009. 탑프로그래머라면 하드웨어 쯤은... [자막] [시청]
#하드웨어
- 하드웨어 & 어셈블리를 이해하고, 하드웨어를 교체/추가하지 않고도 최적화할 방법을 할고 있다면 개발 비용을 엄청 절약할 수 있다.
- 하드웨어 이해도가 있다면, 거기에 맞춰서 처음부터 코드나 알고리즘을 효율적으로 설계할 수 있고 나중에 최적화 할 일도 많이 줄어들 수 있다.
- 탑클래스가 되기 위해서는 하드웨어 이해 또한 필수이다.
- E0008. 내가 못쓰는 C++11: constexpr [자막] [시청]
#C++
- 쓰고 싶은데 아직은 못쓴다. 당시(2013. 7. 4.)
- 코딩스텐다드
- 단순 상수 변수에는 const 대신 constexpr 을 사용한다.
- E0007. 마이크로소프트 MVP [자막] [시청]
#skip
- ms mvp 뽑아줬다
- E0006. 영어회화 공부법 [자막] [시청]
#영어
- 화상채팅으로 대화하는 습관
- E0005. 내가 쓰는 C++11: auto [자막] [시청]
#C++
- 코딩스텐다드
- 반복자나 new 키워드가 같은 줄에 있어서, 어떤 개체가 만들어지는 지 명확하게 드러나는 경우가 아니라면 auto 키워드를 사용하지 않는다.
- E0004. KGC 2013 발표신청 완료! 근데 공짜 티셔츠좀 T_T [자막] [시청]
#Shader
- 아티스트에게 사랑받는 3DS Max 우버쉐이더
- Shader 조작 UI
- E0003. 모바일게임이 천하를 평정할까? [자막] [시청]
#skip
- 뉴스 내용을 그대로 받아들이기보다 말을 누가했는지, 의도가 무엇인지 한번 판단
- E0002. 텍스트 보단 비디오 (개국인사?) [자막] [시청]
#skip
- 사람들이 부담감없이 정보를 접하기에는 듣는거나 보는게 낫다.
- E0001. 프로그래머가 수학을 못하면 [자막] [시청]
#수학
- 수학과 프로그래밍은 논리력과 밀접한 관련이 있습니다. 수학이 약하다면, 논리력 또한 약할 확률이 높습니다. 이런 경우, 훌륭한 프로그래머가 되기는 어려울 것입니다.
-
- 수학을 못하면 프로그래밍 못한다.
-
- 수학을 못한다고 주장할때 암기력이 모자란지, 논리력이 모자란지 확실하게.
- 논리력이 모자라면 프로그래밍을 포기하시는게...
-
Ref
- https://github.com/popekim/popetv-transcript
- https://codebeautify.org/sort-text-lines
- 무료 자동자막 프로그램으로 99% 정확도로 자막생성이 된다!? | VREW x Whisper
- VREW + 음성분석엔진 Whisper
Markdown
AsciiDoc
antora
Plantuml
for macos
brew install graphviz brew install plantuml
vscode > Settings > Extensions > Markdown Preview Enhanced > Markdown-preview-enhanced: Plantuml Jar Path /opt/homebrew/Cellar/plantuml/1.2024.4/libexec/plantuml.jar
fd plantuml.jar /opt/homebrew/Cellar/plantuml/
Mermaid
- https://mermaid.js.org/
- JavaScript based diagramming and charting tool
- https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/
- Mermaid는 Javascript를 이용 브라우저에서 실행되며 SVG를 이용 렌더링
- Plantuml에는 Java와 GraphViz가 필요합니다.
확장자 | .mermaid , .mmd |
MIME type | text/vnd.mermaid |
TEST
ETC
---
title: Node with text
---
%% this is comment
flowchart LR
id1[This is the text in the box]
A -- text --> B -- text2 --> C
style id1 fill:#f9f,stroke:#333,stroke-width:4px
TB | 위에서 아레 | Top to bottom |
TD | 위에서 아레 | Top-down/ same as top to bottom |
BT | 아레서 위 | Bottom to top |
RL | 오른쪽에서 왼쪽 | Right to left |
LR | 왼쪽에서 오른쪽 | Left to right |
sequenceDiagram | |
gitGraph | |
flowchart | |
classDiagram | |
stateDiagram-v2 | |
C4Context | 미묘... |
subgraph title
graph definition
end
%%
는 주석
graph TD;
A-->B;
A-->C{b};
B-->D[Sqaure];
C-->D;
GameSir G8 Galileo
VSCode Extension
commit type |
---|
NORMAL |
REVERSE |
HIGHLIGHT |
---
title: Git branch - Client
---
%%{init: {
'logLevel': 'debug',
'theme': 'default',
'themeVariables': {
'git0': '#000000',
'git1': '#00ff00',
'git2': '#f000ff',
'git3': '#ff0000'
},
'gitGraph': { 'rotateCommitLabel': false }
}}%%
%% gitGraph TB:
gitGraph LR:
commit
branch task/issue-id
checkout task/issue-id
commit
checkout main
merge task/issue-id
commit
branch release
checkout release
commit type:HIGHLIGHT id: "merge with main" tag:"0.0.0"
branch hotfix/issue-id
checkout hotfix/issue-id
commit
checkout release
merge hotfix/issue-id tag: "0.0.1"
---
title: Git branch - Server
---
%%{init: {
'logLevel': 'debug',
'theme': 'default',
'themeVariables': {
'git0': '#000000',
'git1': '#00ff00',
'git2': '#f000ff',
'git3': '#f000ff',
'git4': '#ff0000'
},
'gitGraph': { 'rotateCommitLabel': false }
}}%%
%% gitGraph TB:
gitGraph LR:
commit
branch task/issue-id
checkout task/issue-id
commit
checkout main
merge task/issue-id
commit
branch server/dev
checkout server/dev
commit type:HIGHLIGHT id: "merge with main"
branch server/live
checkout server/live
commit type:HIGHLIGHT id: "merge with server/dev" tag:"0.0.0"
branch hotfix/issue-id
checkout hotfix/issue-id
commit
checkout server/live
merge hotfix/issue-id tag: "0.0.1"
---
title: Git branch - Localize
---
%%{init: {
'logLevel': 'debug',
'theme': 'default',
'themeVariables': {
'git0': '#000000',
'git1': '#00ff00',
'git2': '#f000ff',
'git3': '#ff0000'
},
'gitGraph': { 'rotateCommitLabel': false }
}}%%
%% gitGraph TB:
gitGraph LR:
commit
commit
branch distribute/dev
checkout distribute/dev
commit type:HIGHLIGHT id: "merge with main"
branch distribute/live
checkout distribute/live
commit type:HIGHLIGHT id: "merge with distribute/dev"
Ref
- https://www.dandoescode.com/blog/plantuml-vs-mermaid
Change Log
- 종류
- 커밋 기반
- 이슈트래커 기반
- 파일 기반
커밋 기반
- git-cliff
- https://www.conventionalcommits.org/en/v1.0.0/
- go-changelog
- service
- antsibull-changelog
- release-please
파일 기반
- towncrier
- python based
- https://towncrier.readthedocs.io/
- changelogger
Architecture Decision Records
- https://github.com/npryce/adr-tools
- https://pypi.org/project/adr-tools-python/
- https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
Vscode
Extension
- Theme
- Material Icon Theme
- Dev
- ShaderLabFormatter
- Shader languages support for VS Code
- EditorConfig for VS Code
- UML
- PlantUML
- Markdown
- Markdown All in One
- Markdown Color Plus
- Markdown Preview Enhanced
- markdownlint
- vscode-pdf
- EditorConfig for VS Code
language
- clojure
- Calva: Clojure & ClojureScript Interactive Programming
- Calva Spritz
- A workaround for Calva + LiveShare
Etc
- AsciiDoc
- GitLens
- Todo Tree
- Project Manager
- Error Lens
- Code Spell Checker
- vscode-hanspell
OmegaT
-
컴퓨터 보조 번역 - CAT(
C
omputer-A
ssistedT
ranslation) -
.tmx (
T
ranslationM
emoryE
xchange) -
deepl
- https://www.deepl.com/ko/app/
- 무료버전이라도 데스크탑 어플리케이션 버전으로 설치후 단축키
Ctrl + C + C
로 텍스트 번역후,번역문 삽입
버튼을 눌러 빠르게 입력가능 - https://blog.naver.com/british2/223205919525
- 웹사이트 무료한도
omegat.tmx | 여기에는 다른 OmegaT 프로젝트에서 재사용하기 위해 OmegaT가 내부적으로 사용하는 태그가 뒤따르는 번역이 포함됩니다. |
level1.tmx | TMX 1.4b 레벨 1 데이터, 즉 태그 없이 번역의 텍스트 내용만 포함합니다. |
level2.tmx | TMX 1.4b level1 2 데이터, 즉 번역의 텍스트 내용을 포함하며 TMX 표준에 의해 정의된 구문의 태그가 포함됩니다. |
git
-
git
-
OmegaT로 번역 중에는 정기적으로 자동으로 커밋과 푸시가 이루어진다.
-
또, 번역문 생성 전과 프로젝트를 닫는 타이밍에서도 행해진다.
-
Project > New
- Repository Mapping... > Remote repositories > Add
-
java -jar OmegaT.jar team init [lang1] [lang2]
OmegaT는 두 개의 파일만 수정합니다.
- omegat/project_save.tmx
- glossary/glossary.txt
glossary/
-
간단히 말해서 용어집.
-
'UTF-8'로 인코딩된 'CSV'(콤마로 구분된), 'TSV' 형식(탭으로 구분된 값)의 간단한 텍스트 파일
-
생성
- Ctrl + Shift + g
- Edit > Create Glossary Entry
# Glossary in tab-separated format -*- coding: utf-8 -*-
hello 안녕 코맨트
-
antconc
- https://www.laurenceanthony.net/software/antconc/
- A freeware corpus analysis toolkit for concordancing and text analysis.
다음 세그먼트 | Ctrl + N |
이전 세그먼트 | Ctrl + P |
번역파일 생성(target/) | Ctrl+D |
glossary 추가 | Ctrl + Shift + g |
사전
프로젝트 구조
ProjectRoot
├── dictionary/ :
├── glossary/ : 용어집
├── source/ : 번역할 파일을 넣는 위치.
├── target/ : 번역될 파일이 생성되는 위치.
├── omegat/ :
│ ├── ignored_words.txt :
│ ├── learned_words.txt :
│ ├── project_save.tmx : OmegaT 는 번역 작업의 모든 내용을 번역 메모리( omegat폴더 project_save.tmx파일)에 저장합니다
│ └── project_stats.txt :
├── tm/ : 번역 메모리 (`T`ranslation `M`emory) - 파일에 기록된 번역된 분절 정보는 현재 원문 분절과 정확히 일치하면 참조 번역 창에 표시됩니다.
│ ├── auto/ : 자동(번역이 무조껀 맞다고 생각되면 넣을것)
│ ├── enforce/ : project_save.tmx보다 우선 순위가 높은 것
│ ├── mt/ :
│ ├── penalty-xxx/ : "xxx"는 0 에서 100 까지의 수치 - ex) Penalty-30, 100% 일치하는 분절이 발견되면 일치율은 70%로 낮아져 표시
│ └── tmx2source/ : 다른 대상 언어로 번역된 문서에서 비롯된 메모리가 포함. 번역할 세그먼트 아래에 직접 표시된 다른 대상 언어로 번역된 내용을 볼 수 있음.
└── omegat.project : xml. 프로젝트 설정 파일
sample
- source: en-US
- translated: ko
tbx(term based exchange) utx(universal terminology exchange) sdltm(sdl translation memory) passolo glossary
번역 메모리 매니저(TMM)
Ref
- https://european-masters-translation-blog.ec.europa.eu/articles-emt-blog/multi-user-translation-and-open-source-cat-software-omegat-action-2022-05-10_en
- https://qiita.com/ktgw0316/items/b58579570a044f8d68cc
- 일본인이 Bartosz Milewski의 "Category Theory for Programmers"를 번역하면서 남긴 작업환경
- https://tolgee.io/pricing/self-hosted#pricing-toggle - 셀프호스팅 무료
- https://github.com/ever-co/ever-traduora
- youtube: OmegaT의 기본 사용법에 대해 알아보겠습니다.
- https://github.com/nacyot/omegat-emacs.sexy
- https://cestlaz.github.io/stories/emacs/
- 3 OmegaT: 전문가를 위한 번역 도구
- https://802.11ac.net/2021/02/05/dont-return-minus-1/#fn:1
- https://codeberg.org/miurahr/omegat-flat-theme
- https://sourceforge.net/projects/omegat-gt-without-api-key/
- https://www.linkedin.com/pulse/unleashing-power-omegat-60-mastering-your-translation-v%C3%ADctor-parra/
- https://omegat.sourceforge.io/manual-standard/en/chapter.how.to.html#how.to.use.team.project
Company Amazon
S3
Amazon S3(Amazon
S
imple S
torage S
ervice)
S3 ninja
- https://s3ninja.net/
- 리전설정
MinIO
Min IO (Minimal Object Storage)
-
https://github.com/minio/minio/blob/master/docs/config/README.md
-
https://min.io/docs/minio/windows/index.html
- https://min.io/download?license=enterprise&platform=windows
- https://dl.min.io/server/minio/release/windows-amd64/minio.exe
aria2c --max-connection-per-server=16 --split=16 --min-split-size=1M https://dl.min.io/server/minio/release/windows-amd64/minio.exe
-
http://127.0.0.1:9001/access-keys > Create Access Key
MINIO_ROOT_USER
MINIO_ROOT_PASSWORD
MINIO_SITE_NAME (string) name for the site e.g. "cal-rack0"
MINIO_SITE_REGION (string) name of the location of the server e.g. "us-west-1"
MINIO_SITE_COMMENT (sentence) optionally add a comment to this setting
Environment.SetEnvironmentVariable("MINIO_ROOT_USER", "minioadmin"); // default: minioadmin | at least 3
Environment.SetEnvironmentVariable("MINIO_ROOT_PASSWORD", "minioadmin"); // default: minioadmin | at least 8
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "minio",
Arguments = $"server {storageDir} --address :9000 --console-address :9001",
UseShellExecute = false,
};
bucket 설정
- http://127.0.0.1:9001/buckets > Create Bucket > bucket-a
- bucket-a > Anonymous > Add Access Rule > Prefix: * / Access: readonly
기타
- azurite
- https://github.com/azure/azurite
- https://learn.microsoft.com/ko-kr/azure/storage/common/storage-use-emulator
- Azure 클라우드에 업/다운로드 5TB 초과시 CDN고려. 10TB부터 요금차이가 꽤 발생하기 시작함.
- https://github.com/localstack/localstack
- 💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline
- https://github.com/projectdiscovery/simplehttpserver
- Go alternative of python SimpleHTTPServer
Company Google
- Google Search Console
- Google Analytics