On our way there, we′ll walk along the Cross Compilers Street, sit in the Build System Square, and have a drink at the Dependency Management
seen from Spain

seen from United States

seen from United States
seen from Germany

seen from Germany
seen from Malaysia

seen from Malaysia

seen from Germany

seen from Germany
seen from China

seen from United States
seen from China

seen from Croatia
seen from China

seen from Spain
seen from Spain

seen from Canada

seen from United Kingdom
seen from Türkiye
seen from South Korea
On our way there, we′ll walk along the Cross Compilers Street, sit in the Build System Square, and have a drink at the Dependency Management
[Rails]Capybara-webkit をUbuntu 10.04で使う
2014年12月現在、Capybara-webkit 1.3.1は、qmake 4.8.6以降が動作環境となっており、 Ubuntu 10.04とか12.04でapt-get install qmake4-devel でインストールされるバージョンだと古くて動かない。
なので、ソースからqmake4をインストールしなければならない。 ちなみに最新のCapybara-webkitはqpmake5が必要っぽいが、これはそもそも古いディストリビューションに対応できないので注意が必要。
1.ソースファイル入手 以下のURLからソースファイルを入手する。 http://download.qt.io/official_releases/qt/4.8/4.8.6/
2.必要な依存ライブラリをインストールする。 以下のURLに記載がある。 http://qt-project.org/doc/qt-4.8/requirements-x11.html
libfontconfig1-dev
libfreetype6-dev
libx11-dev
libxcursor-dev
libxext-dev
libxfixes-dev
libxft-dev
libxi-dev
libxrandr-dev
libxrender-dev
3.がんばる あとは以下URLで手順通り実行していく http://qt-project.org/doc/qt-4.8/install-x11.html
API KEY w projektach z publicznym kodem
Chyba już minęły czasy kiedy to nauka nowego języka zaczynała się od słów "Hallo World !!!" - co było dość oklepane i nudne w końcu w każdym nowo poznanym języku słowa te brzmiały tak samo:
Hallo World !!!
Dziś w erze Web2.0+ na dzień dobry wypada napisać kolejnego klienta do Twittera. Co ambitniejsi nie skończą na RSS. Właśnie nimi się zajmiemy, a w szczególności tymi bardziej wygodnymi.
Generalizując każdy szanujący się serwis udostępniający jakieś publiczne Web API (intrygujące że w Polsce jest ich tak nie wiele) wymaga rejestracji od osoby chcącej z niego skorzystać w zamian dając mu klucz do swego serca pragmatycznie zwany API_KEY. Zastrzega jednocześnie iż jego sekretów nie wolno nikomu zdradzić, bo przygoda się skończy. Pomijając powody dla których wszyscy mają API_KEY, poza dostępem do danych serwisu jako budowniczy swego résumé w serwisach składowania kodu chcesz udostępnić wyniki swojej pracy dla przekonania innych co do sowich zdolności. Tu pojawia się mały problem, najczęściej twój program nie będzie działać bez API_KEY więc przed każdym wysłaniem go na GITHUB musisz usunąć swój klucz i zastąpić go instrukcją jak przywrócić ten kawałek kodu do życia. Trochę to męczące, co?
Oto droga jaką ja wybrałem. Wymyśliłem sobie że:
klucz musi być w programie
wysłanie kodu na zdalny serwer musi odbywać się z poziomy IDE, z którego aktualnie korzystam
działać z C++
Powodować że mój API_KEY nie trafi do żadnego repozytorium
Okazało się że można coś takiego osiągnąć. Przez umieszczenie klucza w zmiennej środowiskowej systemu i skorzystanie z niej w trakcie kompilacji. Najprostsza wersja:
w ~/.profile
export TWITTERKEY="32698769823h9h8726j847344n6923847jd92387fjh2376"
w pliku .pro projektu, dla korzystających z QtCreatora/qmake
DEFINES=TWITKEY=$$(TWITTERKEY)
A teraz wracamy do kodu, w dowolnym pliku, choćby main.cpp definujemy macro preprocesora:
#define DO_QUOTE(X) #X
#define QUOTE(X) DO_QUOTE(X)
i już możemy korzystać z API_KEY o tak:
twitter.setApiKey(QUOTE(TWITKEY));
Cel osiągnięty, od tej pory źródła mogą pozostać zawsze takie same, bez problemów można comitować gdzie się chce, nikt nie zobaczy (w źródłach) API_KEY. A skompilowany kod już nie będzie wymagał getenv czy innego kombinowania. Jednak nadal wypada napisać jak to działa i co powinna zrobić osoba chcąca ściągnąć z netu tego najlepszego TwitDeck killera i go uruchomić bez hardkodowania API_KEY.
Qt on Windows: Console app with qmake and nmake
It's not the most complicated thing to figure out, but it can get you running in circles for a bit if you're new to qmake.
I like having a console window to debug with, which qmake doesn't enable by default. The documentation isn't great on explaining it, so here's what to do:
Generate a project file with:
> qmake -project
Then open up the generated .pro file with a text editor. It'll be partly filled in by qmake already. Here's the lines you need, some of which may already be in the file:
TEMPLATE = app CONFIG += console DEFINES += WIN32 _CONSOLE
That's it! Running qmake and then nmake now will link the right stuff to display a console next your Qt application.