요즘와서 드는 생각인데.. C 를 위시한 legacy 개발환경이 은근 외면받고 있는듯한 느낌이다(아니 현실이 이미 그렇지만)
내가 소속된 개발팀은 그럼에도 불구하고 꽤나 고전적인 방법들을 선호하는(이라고 쓰고 강요당하는) 편인데, 사실 이건 기본 또는 기초에 대한 문제기도 하다.
1. 대다수의 php 를 필두로한 스크립트 개발자들은 socket 프로그래밍에 대해 이해하지 못한다. 때문에 조금만 고민해도 훨씬 효율적인 시스템을 구성할 수 있음에도 불구하고 그걸 자기가 알고있는 일반적인 지식에서만 구현하려하는 습성을 가져가기 때문에 결과적으로는... 직관적이지 못한 시스템으로 갈 가능성이 많은편이다
2. 아는가? 우리들이 쓰는 그 스크립트 언어들의 인터프리터등은 지금도 C 또는 C++ 등으로 개발되고 있다는걸? 아 물론 자바스크립트로 웹브라우저에서 동작하는 에뮬레이터를 만드시는 분들도 있다는것 인정. 하지만 그분들은 이미 legacy development 를 꿰고 있는 사람들이라는것도 염두에 두어야 하지 않을까?
3. 요 근래 mysql 에 대해서 외부 및 내부에서 미묘한 사례가 나왔다. database 및 구조와 효율에 대해서 전~혀 고민하지 않고 기준없이 설계하는 경우. 물론 요즘와서야 DB 를 oracle 등으로 접하기 "시작한" 사례가 그리 많지 않으리라는 현실은 이해가 간다만... 적어도 개발자라면 그런 사례를 일일히 설명해 주기 전에 고민에 대한 컨셉으로 나머지를 예상해 낼 수 있어야 한다. 개인적으로는 이게 legacy development 가 주는 이점이라고 생각.
4. 물론 web 서비스 외에 뭐가 더 필요하냐고 할 수 있다. 그리고 대부분의 경우는 그게 맞을 수도 있다. 물론 facebook 도 php 를 쓰고, 나 역시 web project 의 경우는 php 를 최우선 순위로 삼는 편이다. 하지만 그 facebook 조차도 php "만으로" 모든 시스템이 이루어져 있지는 않다. 하다못해 IDC 며 서버 하드웨어를 설계하는 기술이 php 만으로 다 된다고 착각하는 사람은 없곘지. 물론 이건 C 언어를 안다는 수준을 한참전에 벗어난 경우겠지만, 적어도 우리가 사용하는 OS 의 근간은 컴파일러 언어라는 사실은 잊지 말아야 겠다.
5. 이런저런 잡설을 집어 치우고라도 간단한 예를 들어보자. 적어도 C 또는 컴파일러 언어에서 thread 프로그래밍을 "직접" 해본 사람은 효율에 대한 이해의 레벨이 다르다. 또한 C 에서 포인터를 직접 짜본 사람 역시 메모리 소모에 대한 고민의 정도가 다르다. 절대적 이라는건 아니지만 상당히 높은 확률로.
6. 사실 개인적으로는 개발자들이 이러한 old legacy development 에 관심을 가지지 않는게 이익이다. 왜냐하면 그럼으로서 나, 또는 내가 속한 개발팀의 가치는 올라갈 테니까. 그럼에도 불구하고 발끝을 아직 담그고 있는 사람으로서는 안타깝기도 하다.
7. 이 내용은 지극히 어그로로 발전할 수 있는 가능성을 지니고 있다. 하지만 오해는 하지 많아주셨으면! 지금의 기술이 나쁘거나 저렴하다는 의미가 아니다. 속칭 "원천기술" 을 가지고 지금의 것을 구현하는 것과, 신기술을 follow 하기에 바쁜건 분명 틀리다. 그 점은 엔지니어고 불리고 싶다면 한번정도는 고민해 봐야할 부분이 아닐까 싶다. - 라는 그냥 개인적인 생각
gnome 에서 KDE 로의 이주를 완료.
ubuntu, wayland, imput module, nvidia, telegram ... 다 죽어버려!!!
#붕붕투 새버전이 나왔다(17.10). 우왕굳. 사실 이번버전부터 unity 를 버리고 gnome 3 을 기본으로 채택. 또한 wayland 를 기본으로 쓴다는 것 때문에 이미 노트북에서 beta 버전을 테스트. 나름 달라진 성능을 보고 만족해서 시도를 했는데..........
1. 데탑의 17.04 를 dist-update 했더니 wayland 가 안됨... 응?
2. 인터넷을 뒤지기 시작. 1년전의 얘기지만 nvidia 에서 잘 안된다는 얘기가 좀 있음. 왜냐하면 wayland 를 쓰려면 egl 을 지원해야 하는데 관련된 문제인듯
3. 삽을 푸다가 PC 를 밀어버림. wayland 가 안됨
4. 이쯤에서 nvidia driver 버전을 올리면 되는듯? 한 케이스 등장. nvidia driver 를 올리니깐 wayland 동작. ........... 아마 내 PC 도 안밀었어도 될텐데.... 여튼 붕붕투 기본 제공 독점 드라이버는 nvidia wayland 가 안된다. 고로 적어도 387 이상의 nvidia 드라이버를 사용하면 wayland 는 동작. 이쯤되니 굳이 PC 를 밀어버릴 필요는 없었지 않을까....라는 생각이....
5. 여기서 눈치를 챘어야 했는데...... 과거에 무려 차영호 (Youngho Cha) 님이 telegram 에서 한글 안돼요? fcitx 만 되는거 아닐텐데..... 라는 뉘앙스로 발언했던게 기억났음.
6. 기본적으로 telegram 은 QT5 를 별도 patch 해서 static link 해서 사용하고 있음. 그리고 QT5 는 XIM 을 지원하지 않는다. QT5 immodule 을 별도로 지원. 그때문에 개발자가 telegram 용 qt5 에 별도로 fcitx 를 넣어줘서 linux 상에서 한글 입력이 가능했던것
7. fcitx 는 아직 wayland 를 지원하지 않는다. Wayland 는 현재 #ibus 와 #nimf 가 지원중. ibus 는 어차피 좋아하지 않으니 조금의 삽이 되더라도 nimf 를 사용해보기로 결심
8. 다행히 nimf 의 동작은 nabi 를 설정하는것 만큼 간편했다. 하지만 함정카드가 있었으니... nimf 는 xprofile 에 내용을 넣기를 권장하는데 wayland 는 xorg 가 아니기 때문에 #xwayland 가 동작하는 경우 해당 session 에서만 xprofile 을 사용. 결과적으로 xprofile 보다는 #gnome-session 쪽을 사용해서 nimf 를 동작
9. wow! 한글 입력도 nimf 를 통해서 깔끔하게 된다. 그런데.... telegram 이 한글 입력이 되지 않는다....... 이건 좀 곤란한데... 나는 web 버전의 telegram 을 선호하지 않는다. web browser 의 단축키등을 사용하기 때문에 내가 원하지 않는 오동작이 생긴다.
10. 그래서 QT5 앱만 #fcitx 를 사용하는 방법을 동원하기로 결정. 예전에 ibus / #nabi 에서 시도해본 일이라서 잘 될거라 생각
11. 안됨. 그리고 갑자기 짜증이 확 돋아서 아침에 집으로 복귀후 10시간 수면.....
......................자자.. 일단 가능한 문제라면......
1. QT5 는 기본적으로 wayland 를 지원할 수 있다. 따라서 이 app 이 wayland 로 작동된다면 fcitx 는 wayland 를 지원하지 않기때문에 동작 안할 가능성이 있음
2. fcitx 의 구동에서 이미 실행된 XIM 이 있다는 얘기가 나온다. 또한 fcitx 는 xim module 을 uninstall 하면 정상동작하지 않는다. 이런 경우라면 nimf 에서 xim 부분을 빼고 qt5 랑 xim 을 fcitx 에 할당한뒤 nimf 는 gtk2/3 에서만 사용하게 하는것도 방법일지도 모르는데... 어차피 qt5 어플이 wayland 에서 작동하는거라면... wayland 상에서 telegram 의 한글입력은 불가능할지도 모른다
3. nimf 에서는 telegram 을 위한 qt5 입력 patch 를 제공하고 있다. 다 좋은데... 이렇게 되면 telegram 을 위한 qt5 부터 컴파일을 해야한다. 참고로 나는 예전에 한번 실패한 경험이 있다. 게다가 이꼴이라면 새 버전이 나올때마다 컴파일 환경을 유지하며 컴파일을 매번 해서 써야한다는 결론.
게다가 생각보다 wayland 를 통한 성능향상이 오래된 내 PC 에서는 크게 체감되지는 않는다. 빠르기는 한데 혁신적은 아니랄까? 차라리 속도라면 이번에 update 되고있는 firefox 에서 더 크게 느껴지는편.
..........그나저나 데탑을 엎은데다 이런 입력문제가 걸리다보니 그냥 다 때려치고 싶다. xorg 를 다시 사용할거라면 재설치를 하는건 아니었다고!!!! unity 를 하드에서 없앤거 말고는 의미가 없단말이야!!!!
그냥 다 때려치고 윈도나 쓸까....라는 생각이 진심 들고 있다. windows 10 은 ram 96G 를 제대로 지원해 주려나..... 하지만 nautilus 는 편하단 말이야....... 터미널도 그렇고... 쩝