Calculation of QCD jet cross sections at next-to-leading order