이번 변경으로 홈 화면에 추가
로 해커즈펍을 설치하면 android, iOS 양쪽 모두, 단독 앱인 것 같은 느낌으로 쓸 수 있게됩니다. 다만, 이메일의 로그인 링크가 설치 된 쪽으로는 안열리는 문제가 있으니 미리 로그인 된 상태에서 설치를 하셔야 곤란하지 않습니다.
Perlmint
@perlmint@hackers.pub · 36 following · 27 followers
크로스 플랫폼 빌드 고치는 노동자
Github
- @perlmint
Bluesky
- bsky.perlmint.dev
이제 좌우 스크롤바가 거의 안생기고 상단의 필요없는 헤더가 없이 쓸 수 있다!
저도 비슷한 생각인데, Haskell이나 Rust는 코너 케이스를 다루지 않고는 컴파일도 못 하게 금지하는 경우들이 꽤 많고 (그래서 좋은 언어지요), 빠르게 해피 패스만을 검증하고 싶을 때는 Python 같은 널널한 언어(복잡하고 규모가 큰 소프트웨어를 만들 때는 나쁜 언어가 되지요)가 쉽게 느껴질 수 있다고 생각합니다. 즉, Haskell이나 Rust가 어렵다고 말할 때의 어려움은 개념적 이해의 난도라기 보다는 시행착오의 커브의 경사를 얘기하는 것 같아요.
비슷한 측면에서 저는 Python의 들여쓰기를 강제하는 문법이 프로그래밍 초심자에게 좋은 습관을 처음부터 정착시키는 데에는 일조할 수 있겠지만, 결코 쉽지는 않다고 생각합니다.
RE: https://hackers.pub/@bgl/01967f97-67ab-7a98-a6e5-16cb3ef31856
fresh에서 아직 플러그인이 정적파일을 추가를 못한다고 확인을 했고, 이것에 대한 PR이 올라와 있으니, 머지되고 퍼블리시 되고나면 직접 컴파일러를 실행해서라도 Service worker, PWA 플러그인을 만들 수 있을 것 같다.
아...? 회사일이랑 전혀 다른 쪽이라 오히려 css에 쉽게 손이 가는건가...?
Huge respect 🫡
@perlmint 무슨 기여든 모두 감사합니다…!!
@hongminhee洪 民憙 (Hong Minhee) 다 제가 보기 편하려고 고치는걸요 ㅎ...
분명 나는 다른걸 기여하고 싶었던 것 같은데 왜 css고치고 있지...?
좁은 화면폭에서 레이아웃 깨지는 케이스 2개 더 확인. 월요일이니 일단 이슈에 올려두어야지...
역시 UI는 너무 어려워... 겨우 뒤에 가려진 요소가 스크롤 안되게 만들기가 이렇게 어렵다니... html에 overflow: hidden
을 먹이라는데, MacOS 사파리는 잘 동작하는데, 최소한 iOS사파리에서는 viewport가 정의되어있으면 동작 안한다고...
- 다이빙 연습
- 결혼식 참석
- 메타몽 라프라스 보러가기
- 집안 정리
4번 빼고 다 끝났는데 하기 싫다...
으앗... 너무 보기 불편한 것 중심으로 보고 고치다보니 일반적인 케이스에서 안예뻐졌다...
버그 하나만 고치고 외출 준비해야지 했다가 2번째 버그 잡다가 급하게 씻고 나왔다...
- 다이빙 연습
- 결혼식 참석
- 메타몽 라프라스 보러가기
- 집안 정리
으악 llvm으로 모자라서 gcc도 빌드한다
자고 일어나서 생각해보니 컨텍스트가 짧아서 유사 아무말을 하는게 아닌가 싶기도 하다. 따로 지정을 안했으니 뭔가 기본값을 쓰거나, 내가 직접 지정을 안해도 되는 것이거나 싶다. 후자면 원래 그런 모델이라는 말이고... 전자면 기본값이 너무 짧은게 아닐까 싶기도 하고...
비전 모델도 변환해보고 싶었지만, 변환기에서 지원 안하는 모델이라서 포기.
어제 하이퍼클로바X 변환이 첫 모델 변환이었는데, modelfile의 템플릿을 잘못 작성하면 응답이 안끝나는 결과물도 나온다. open-webui 통해서 그런 모델을 쓰면 취소도 제대로 안되어서 시스템 리부팅을 두번이나 해야했다.
자고 일어나서 생각해보니 컨텍스트가 짧아서 유사 아무말을 하는게 아닌가 싶기도 하다. 따로 지정을 안했으니 뭔가 기본값을 쓰거나, 내가 직접 지정을 안해도 되는 것이거나 싶다. 후자면 원래 그런 모델이라는 말이고... 전자면 기본값이 너무 짧은게 아닐까 싶기도 하고...
어제 하이퍼클로바X 변환이 첫 모델 변환이었는데, modelfile의 템플릿을 잘못 작성하면 응답이 안끝나는 결과물도 나온다. open-webui 통해서 그런 모델을 쓰면 취소도 제대로 안되어서 시스템 리부팅을 두번이나 해야했다.
Deno-lsp동작하게 하겠다고 삽질하던 중에 ts-ls가 원치않게 동작한적이 있는데, 이걸 고치고나니 node쪽 코드에서 ts-ls가 안켜진다.
전반적으로 말길을 잘 못 알아 듣네요. 전에 다른 모델에 영수증 OCR한 텍스트로 더치페이 계산 해달라고 했던 것을 똑같이 시켜보니까, 상품명에 “3개” 가 들어간 상품의 가격을 지 맘대로 3배한 가격으로 만들고, 더하기는 틀리지 않게 해놓고는, 사람수만큼 안나눠주고 어째서인지 상품별로 다시 가격 안내를 하고는 알아서 나눠 내라합니다.
https://llm.perlmint.app/s/50fd2903-57f1-4c22-b2cb-7ddc85fbc1f5 id/password: public@example.com / public
Show GN: 나만의 연합우주(fediverse) 마이크로블로그 만들기
------------------------------
이 튜토리얼은 [Fedify] 라이브러리를 사용하여 [ActivityPub] 프로토콜 기반의 마이크로블로그 서비스를 구현하는 방법을 설명합니다. ActivityPub은 다양한 소셜 네트워크 서비스들이 서로 연동될 수 있게 해주는 분산형 소셜 네트워킹 프로토콜로, 이를 통해 [Mastodon], [Misskey] 같은 서비스와 상호작용할 수 있는 독…
------------------------------
https://news.hada.io/topic?id=20508&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
네이버에서 모델 공개했다고 해서 ollama로 변환해서 돌려봤는데...
전반적으로 말길을 잘 못 알아 듣네요. 전에 다른 모델에 영수증 OCR한 텍스트로 더치페이 계산 해달라고 했던 것을 똑같이 시켜보니까, 상품명에 “3개” 가 들어간 상품의 가격을 지 맘대로 3배한 가격으로 만들고, 더하기는 틀리지 않게 해놓고는, 사람수만큼 안나눠주고 어째서인지 상품별로 다시 가격 안내를 하고는 알아서 나눠 내라합니다.
@perillamint
서버메이드 깐프 음식에 충격 받아서 그만... 요약 한번 시켜보고 알려드리죠
@perillamint
서버메이드 깐프 요약 해달라니까 관련된 내용으로 창조를 하는데요...?
아니 이것들은 글을 요약해달라고 했지 평가해달라고 했나...;
@perlmint 요약 잘 말아주나요?
@perillamint
서버메이드 깐프 음식에 충격 받아서 그만... 요약 한번 시켜보고 알려드리죠
오... open-webui 에서 모델 여러개 선택하면 이렇게 나오는구나
네이버에서 모델 공개했다고 해서 ollama로 변환해서 돌려봤는데...
아무도 읽을 필요가 없길 바라는 글을 작성했다.
간단한 rpmbuild의 사용과 private rpm package 배포
Perlmint @perlmint@hackers.pub
마지못해 패키지를 만들어야 할 것 같은 사람을 위한 설명입니다. 제대로된 패키지를 만들고 싶은 경우에는 부족한 점이 많습니다.
대부분의 경우에는 프로그램을 직접 소스에서 빌드하는 일도 적고, 그걸 시스템 전역에 설치하는 일도 흔치는 않을 것입니다. 좋은 패키지매니저와 관리가 잘되는 패키지 저장소들을 두고 아주 가끔은 직접 빌드를 할 일이 생기고, 흔치 않게 시스템 전역에 설치할 일이 생길 수 있습니다. 어지간한 프로그램들은 요즈음의 장비에서는 별 불만 없이 빌드 할 만한 시간이 소요되나, 컴파일러처럼 한번 빌드했으면 다시는 하고 싶지 않은 프로그램을 다시 설치해야하는 경우도 있을 수 있습니다. 하필 이런 프로그램들은 결과물도 덩치가 매우 큽니다. 이럴 때는 최대한 간단하고 필요한 항목만 패키지에 넣어서 만들어두고 다시 활용하면 좋을 것이기에 이런 경우를 위한 rpmbuild에 대한 나름 최소한의 사용 방법을 정리해봅니다.
rpmbuild
rpmbuild는 rpm-build
패키지로 설치가 가능하며, 나름 단순하게 rpm으로 패키징을 할 수 있는 유틸리티입니다. spec파일에 패키지 정보, 빌드 명령, 설치 명령, 패키지가 포함해야 할 파일 목록을 작성해서 rpmbuild에 입력으로 넣어주면 빌드부터 시작해서 rpm패키지를 만들어줍니다. native 프로그램의 경우 디버그 심볼을 알아서 분리해서 별도의 패키지로 만들어주고, 필요한 의존성도 추정해서 명시해줍니다. 또한, 필요한 경우 하나의 spec 명세로 연관된 서브 패키지도(ex. 실행파일 패키지인 curl과 라이브러리 패키지 libcurl, 라이브러리를 사용하기 위한 개발 패키지 libcurl-devel) 같이 만들 수 있습니다.
작업 환경
rpmbuild는 기본으로 ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}
의 경로에서 동작하며 각 경로의 용도는 다음과 같습니다.
SOURCES
에는 압축된 소스코드가 위치합니다.SPECS
에는 패키지 정의인 spec파일을 둡니다.BUILD
밑에서 빌드 작업이 진행됩니다.RPMS
에 바이너리 rpm결과물이 생성됩니다.SRPMS
에는 소스 rpm결과물이 생성됩니다.BUILDROOT
는 패키징 하기 위해 빌드 결과물을 모으는 경로입니다.
spec파일
spec파일은 패키지를 어떻게 빌드하고 어떤 항목들이 패키지에 포함될지, 패키지의 이름, 설명 및 의존성 등의 메타데이터, 패키지 설치, 삭제시의 스크립트를 정의할 수 있습니다. 보통 시작 부분에는 메타데이터 정의로 시작하며, 다음과 같은 기본적인 형태를 취합니다. 나름 단순하게 만든 python을 위한 spec을 예시로 들어보겠습니다.
Summary: Python %{version}
Name: python-alternative
Version: %{version}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.python.org
Requires: libffi openssl
AutoReq: no
License: PSFL
Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tgz
BuildRequires: libffi-devel openssl-devel
BuiltRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%define major_version %(echo "%{version}" | sed -E 's/^([0-9]+)\\..+/\1/' | tr -d)
%define minor_version %(echo "%{version}" | sed -E 's/^[0-9]+\\.([0-9]+)\\..+/\1/' | tr -d)
%description
Python
%package devel
Summary: python development files
Requires: %{name} = %{version}-%{release}
%description devel
Python development package
%prep
%setup -q -n Python-%{version}
%build
./configure --prefix=%{_prefix}
%install
%{__make} altinstall DESTDIR=%{buildroot}
%{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}
%clean
%{__rm} -rf %{buildroot}
%files
%{_bindir}/python*
%exclude %{_bindir}/idle*
%{_bindir}/pip*
%{_bindir}/pydoc*
%exclude %{_bindir}/2to3*
%{_libdir}/libpython*
%{_prefix}/lib/libpython*
%{_prefix}/lib/python*
%{_mandir}/man1/python*
%files devel
%{_includedir}/python*
%{_prefix}/lib/pkgconfig/python*
%
로 매크로를 사용할 수 있으며, %package
, %description
, %files
같은 매크로는 인자를 주어서 서브 패키지를 정의하는데도 쓸 수 있습니다.
앞선 예제처럼 devel
이라고작성하면 메인 패키지이름 뒤에 붙여서 python-alternative-devel
가 되며, curl
- libcurl
과 같은 경우에는 메인의 이름은 curl
이고, 딸린 패키지를 정의할 때는 %package -n libcurl
과 같이 -n
옵션을 추가해서 지정할 수 있습니다. 몇몇 매크로는 단계를 정의하는 것과 같은 동작을 하며 다음과 같습니다.
%package
유사성을 보면 spec파일의 맨 첫부분은 메인 패키지의 %package
에 해당하는 것이 아닌가 싶습니다. <Key>: <Value>
의 형태로 메타정보를 작성합니다. 대부분은 Key를 보면 무슨 값인지 추측 할 만합니다.
나중에 설명할 %files
에서 나열한 파일을 rpmbuild가 분석하여 자동으로 패키지가 필요로 하는 의존성을 추정해서 추가 해 줍니다. python 스크립트, perl 스크립트, native 실행파일 등을 분석해서 알아서 추가해주는 것 같은데, 경우에 따라서는 틀린 의존성을 추가해주기도 합니다. 이 때는 AutoReq: no
를 설정하여 자동 의존성 추가를 막을 수 있습니다. 이 python-alternative 패키지는 /usr/local/bin/python%{version}
을 설치하는데 아마도 같이 포함되는 python 스크립트에 의해서 /bin/python
을 의존성으로 추정하여 요구합니다. 패키지 스스로가 제공하는 의존성은 미리 설치 되어있기를 요구하지 않게 동작하는 것 같으니 보통은 문제가 없습니다만, 이 경우에는 스스로 제공을 하지 않기 때문에 python을 설치하기 위해서 python이 필요한 경우가 발생하므로 AutoReq
를 껐습니다.
%prep
준비단계로 소스코드의 압축을 해제하고 필요한경우 패치를 적용합니다.
%setup
매크로를 이 안에서 보통 사용하며, %setup
은 Source
에 명시된 파일명의 압축 파일을 SOURCES
밑에서 찾아서 압축을 풉니다. 그리고 동일한 이름의 디렉토리로 이동을 합니다. 앞선 예제에서는 SOURCES/Python-%{version}.tgz
의 압축을 풀고 Python-%{version}
으로 이동을 합니다.
패치가 필요한 경우 보통 이 뒤에 패치를 적용하는 명령들을 추가 합니다.
%build
설정, 컴파일 등을 수행하는 단계입니다. 이곳에서 자주 하는 매크로로 %configure
, %make_build
등이 있습니다. %configure
는 configure를 prefix 및 기타 몇가지 일반적으로 쓰이는 옵션을 추가하여 실행해주며, %make_build
는 make
와 비슷하게 모든 타겟을 빌드 합니다. 예제에서는 둘다 안쓰고 있고, 심지어 실제 빌드는 안하는데 어쨌든 이후의 %install
까지 지나고나서 빌드 결과물만 맞는 위치에 만들어지면 대충 패키지를 만드는데는 별 문제는 없는 것 같습니다.
%install
여기서 빌드 결과물을 설치하는 명령을 작성합니다. 일반적으로 %make_install
을 사용하여 make install DESTDIR=%{buildroot}
와 비슷한 명령을 수행하여 %{buildroot}
밑에 빌드 결과물이 prefix를 유지하여 설치되게 합니다. 예제의
%{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}
을 보면 추정 할 수 있듯이, 패키지에 포함시킬 파일들을 %{buildroot}밑에 생성을 하면 되며, 추가적인 심볼릭 링크는 패키지를 빌드하는 시점에는 존재하지 않지만, 패키지를 설치하게되면 존재하게 될 %{_bindir}/python%{major_version}.%{minor_version}
를 향하는 것을 %{buildroot}
밑인 %{buildroot}/%{_bindir}/python%{major_version}
에 만듭니다.
%files
패키지에 포함될 파일 목록을 작성합니다. glob 양식으로 파일 목록을 작성할 수 있습니다. %{buildroot}
밑에 생성 되었지만 어느 %files
에도 포함되지 않은 파일이 있는 경우에는 빌드를 실패합니다. 그러므로 %exclude
를 사용해서 명시적으로 제외해줘야 합니다.
기타 매크로
rpmbuild에서는 기본으로 다양한 매크로를 제공하고 있습니다. --define "_libdir %{_prefix}/lib64"
와 같은 옵션을 실행시에 주어서 실행시점에 매크로를 덮어 쓸 수도 있고, 앞선 spec파일 내의 %define major_version
와 같이 다른 매크로와 셸 명령을 활용하여 매크로를 정의 할 수도 있습니다.
원하는 동작을 안하는 것 같은 경우에는 --show-rc
옵션을 사용하여 매크로가 어떻게 정의되어있는지 확인해 볼 수 있습니다.
빌드
rpmbuild의 매뉴얼을 보면 자세하게 나와있지만 가장 단순하게는
rpmbuild -bb <specfile>
로 바이너리 패키지를 빌드할 수 있습다. 이 때, 압축된 소스코드는 미리 SOURCES밑에 두어야 합니다.
private rpm package 배포
직접 비공개 패키지 저장소 프로그램을 실행하여 제공하는 방법도 있겠지만, 최대한 간단하게 할 수 있는 방법으로, rpm관련 패키지 설치 명령이 입력으로 http등의 URL도 받는 것을 활용하여 적당한 장비에서 http로 서빙을 해주면 됩니다.
힘들게 작성했던 스크립트가 사라졌나 했는데 아직 머지가 안되어서 안보이는 것이었다. 진짜 놀랬네...
vcpkg에서 혹시 모르니까 컴파일러 해시를 비교해서 패키지를 다시 빌드하게 한다는데, MSVC만 유독 다른 머신에 같은 버전으로 죄다 설치해도 해시가 다르게 나와버려서 사실상 공유를 못하는 문제가 있나보다. 이것 때문에 쓸데없는 리빌드로 20분정도씩 매번 낭비하는 것 같은데...
CI에서만 인자 파싱이 아무래도 이상하길래 pwsh를 7.2.2에서 7.5.0으로 업데이트 하니까 해결 되었다.
AI 생태계에 씨앗을 뿌리다: 상업용 오픈소스 AI, HyperCLOVA X SEED | CLOVA
https://bit.ly/4cOkG8e
- 네이버는 상업용 오픈소스 AI 모델 HyperCLOVA X SEED를 공개
- 3B(이미지 이해), 1.5B(텍스트 처리), 0.5B(경량 대화) 세 가지 크기로 출시
- 모두 한국어에 특화되어 동급 모델보다 우수한 성능을 보임
- 2024년 4월 24일부터 Hugging Face에서 다운로드 가능
Gemma 3 와 비교하는군요
오는 8월 9일 Microsoft Korea에서 열리는 #우분투 #사용자 와 #기여자 가 모이는 국내 최대 행사, #UbuCon Korea 2025의 #연사 를 찾습니다! 🎤
올해는 특별히 커뮤니티 #20주년 을 맞아, #초보자 부터 #전문가 까지 모두를 위한 우분투 #활용법 과 경험, 흥미로운 #사례 를 공유해주실 분들을 기다립니다. 여러분의 우분투, #리눅스 그리고 #오픈소스 이야기를 들려주세요! ✨
🗓️ #CFP 마감: 2025년 5월 16일
🔗 자세히 보기 및 #제안서 제출: https://2025.ubuntu-kr.org/cfp
#UbuConKorea #UbuConKorea2025 #Ubuntu #컨퍼런스 @ubuntuCanonical Ubuntu
친구가 외국 반도체회사에 다니는데 이름만 들으면 다 아는 세계에서 손꼽히는 회사다. 1년 전쯤에, 친구가 자기 팀에서 예전부터 쓰고있는 시뮬레이션 코드가 너무 복잡해서 리팩토링 하고 싶다고 나를 찾아왔다. 한 2, 3000줄 되는 Numpy 코드였다.
나는 시뮬레이션의 의미 자체는 전혀 이해를 못하니(이래서 보안문제도 익스큐즈 할수 있었을 것이다), 그냥 코드의 모양만 보고 이상한 부분을 조금씩 고쳐나갔다. 그... 전형적인 물리학자들의 실험실 코드였다(코드를 못짜는건 이해를 하는데, 거기에 대해 한치의 부끄러움도 느끼지 않는다는 점이 뒷목을 잡게 만든다). Numpy 함수도 제대로 활용을 못해놨길래, 나도 Numpy 잘 못쓰지만 대충 이런 함수가 아마 있겠지... 하고 검색해서 찾아내서 교체하고 이런걸 반복했다.
이것저것 고친 다음에 잘돌아가나 한번 실행을 해봤는데, 이럴수가. 시뮬레이션이 1000배 빨라졌다. 아니 뭐, 한 2배 3배 빨라졌으면 내 솜씨라고 자부할텐데, 1000배 빨라진거는 그냥 원래 코드가 똥통이었다고 해석할수 밖에 없다. 구라안치고 정말 1000배다. 1000배의 성능향상의 보답으로 나는 교촌치킨웨지콤보세트를 현장에서 받아먹었다.
그 이후에 어떤 일이 있었냐. 기존 시뮬레이션 코드로는 하루에 시뮬레이션을 2, 3번정도밖에 돌리지 못했는데, 1000배 빨라지고 나니까 결과가 수십초만에 나오니 하루에 수백번 돌릴수 있게 된것이다(내가 고친 코드가 전부는 아니어서 1000배 향상은 아닌데, 가장 큰 병목이긴 해서 결국 100배 이상이라는 듯). 그때부터 100배 많아진 데이터를 처리하기 위한 인프라가 필요해졌다. 그래서 거기 개발팀이 데이터베이스와 데이터 파이프라인 구축을 시작하게 되었다고 한다. 그 팀에서는 일종의 특이점이 시작된것이다;;
결론: 교촌치킨웨지콤보 세트는 개맛있었다.
deno-lsp가 lsp-mode에서 자동완성이 왜 안되는지 모르겠어서 그냥 순수수제코딩 시도하는데 잘 모륵는 것에 대해서는 역시 할만한 일이 아니다
이게 다 모바일 브라우저의 IME가 이상해서 code-server가 쓸만하지 못해서 그렇다... 구글마저도 뭔가 이상한 동작을 당하니 IME가 문제일 듯
deno-lsp가 lsp-mode에서 자동완성이 왜 안되는지 모르겠어서 그냥 순수수제코딩 시도하는데 잘 모륵는 것에 대해서는 역시 할만한 일이 아니다
Gemini 2.5 pro 품질 꽤 괜찮다고 이것도 되나? 하면서 이상한 것 시키면서 낭비했다
확실히 문서에 잘 정리해놓으니까 AI랑 협업하기가 수월한 것 같음. 개인 프로젝트에도 잘 해놓으면 아주 좋겠구먼
@joonnotnotJoon CONTRIBUTING.md 파일 하나 잘 작성해 두면 사람이랑 협업할 때 뿐만 아니라 LLM이랑 협업할 때도 도움이 많이 되더라고요. Hackers' Pub도 하나 마련해 뒀어요.
코파일럿에게 주석 고쳐달라고 했더니 저 혼자서 고치고는, "누락된 것이 있네요. 고치겠습니다"를 두번째 반복해서 한번의 요청에 혼자서 같은 파일을 세번 고쳤다.
소프트웨어 엔지니어를 위한 연합우주 서비스 Hackers' Pub을 알고 계신가요? 저희가 특별히 중요시하는 것은 다른 플랫폼과는 조금 다른 행동 강령입니다.
저희는 현실 세계의 불평등이 온라인 공간에도 그대로 반영된다는 사실을 인식하고 있습니다. 그래서 “모든 사람을 동등하게 대우”한다는 표면적인 중립성이 아닌, 구조적 불평등에 적극적으로 대응하는 자세를 분명히 하고 있습니다. 이러한 접근의 일환으로, 차별적 발언과 차별에 대항하는 발언을 구분합니다. 이를 통해 “차별은 안 된다”는 명목 하에 차별 비판까지 동일시하는 “양비론”의 함정을 피할 수 있다고 생각합니다.
기술 커뮤니티에서 자주 볼 수 있는 문제로는 특정 기술 선택에 대한 비판이나 기술 수준에 따른 계층화가 있습니다. “이것도 모르냐?”는 태도는 학습을 방해할 뿐입니다. 저희는 초보자와 경험자 모두 동등하게 존중받는 환경 조성을 중요시합니다.
또한, 연합우주의 핵심 가치로 프라이버시가 있지만, Hackers' Pub에서는 특히 익명성의 권리를 강조합니다. 타인의 신원을 특정하려는 행위나 익명이라는 이유로 차별하는 것을 금지함으로써, 안심하고 참여할 수 있는 공간을 지향합니다.
이러한 행동 강령 자체도 완벽하지 않으며, 커뮤니티와 함께 발전해 나가는 것이라고 생각합니다. 모든 구성원이 개선안을 제안할 수 있는 체계를 마련함으로써, 더 나은 환경을 함께 만들어 나가고자 합니다.
자세한 내용은 Hackers' Pub 행동 강령을 참조해 주세요. 연합우주에서 더 건강한 기술 커뮤니티를 함께 키워나가지 않으실래요?
코파일럿이 태업한다. 코드 안고치고 넘어가네
해커뉴스에서 Fabrice Bellard의 QuickJS가 한 파일에 5만줄 집어 넣고 한 함수가 몇백 몇천줄 되는 걸 보고서 파일 및 함수 길이를 강력하게 제한하는 도그마가 항상 옳은 것은 아니다, 라는 코멘트를 보았는데 이는 반만 맞는 말이다. 나도 대부분의 개발자보다 파일이나 함수 길이에 훨씬 관대한 (그리고 이 사실을 한참 뒤에야 깨달은) 사람이라 아는 건데, 그냥 Bellard가 5만줄 전체의 맥락을 전부 기억하고 있고 해당 코드를 거의 Bellard만 건들고 있기 때문에 추가적으로 모듈화할 필요가 없는 거고, 대부분은 그 정도의 기억이 불가능하기 때문에 여럿이 같이 짜는 코드라면 최저치에 맞춰서 파일이나 함수 길이를 줄일 필요가 있다고 하는 것이다. 지나친 도그마를 부정하는 것도 중요하지만 도그마가 생긴 진짜 이유를 파악해서 취사 선택하는 것이 더 중요한 이유.
@ailrunAilrun (UTC-5/-4)
@kodingwarriorJaeyeol Lee
@lionhairdino 아아 어떤 느낌인지 상상이 갑니다. 저는@parksb
님이 하신것처럼 맥주가 차있으면 좋겠다싶어 H 중간 막대를 위로 올렸습니다.
H가 컵이고, P가 손잡이어야 하는데, H가 컵 모양이 잘 안나와서, 포기하고 그냥 맥주에 담가 버렸습니다. (근데 호스트분 아주 근거리에 디자이너분 계신 거 아닌가 모르겠습니다.) @ailrunAilrun (UTC-5/-4)
코파일럿 + 클로드 에이전트로 쓰니 확실히 쓸만하다
무한재귀하는 코드 작성해주는 것에 당하기는 했지만
코파일럿 + 클로드 에이전트로 쓰니 확실히 쓸만하다