Новые книги

65 % мирового ВВП сосредоточено всего в 600 городах. Филип Котлер, один из лучших экспертов по маркетингу в мире, и его брат Милтон, международный маркетинговый стратег, предлагают план действий, как лучше выбрать город для дальнейшего расширения бизнеса, подсказывают, на что стоит обратить внимание при открытии филиала, и рассказывают, почему выстраивание долгосрочных отношений с городскими властями принесет вам в будущем значительные преимущества.

Эту книгу должен прочесть каждый руководитель, который хочет обеспечить рост и расширение своего предприятия. Братья Котлер справедливо указывают на все более активную урбанизацию мировой экономики и на быстрый рост городов развивающихся стран как на две ключевые тенденции, которые президенты компаний должны учитывать, чтобы оставаться лидерами и процветать в новом веке.
Задачи рефакторинга тесно связанны с задачами написания понятного, удобного кода. Соответственно, если я пишу как следует писать или чего лучше избегать — это к рефакторингу не относится. С одной стороны. Но ведь следуя этим рекомендациям, вы можете пересмотреть свой код и исправить потенциальные ошибки. А вот это уже чистой воды рефакторинг. Поэтому я не буду особенно зацикливаться именно на рефакторинге, а буду рассказывать о хорошем, понятном коде.

Разумеется, моё представление о хорошем коде может коренным образом отличаться от вашего и тут я не претендую на статус непогрешимого. Хочу только заметить, что всё, что изложено в этой книге основано на многолетних наблюдениях и в целом, так или иначе, согласуется с общепризнанными подходами к программированию.

Примеры я буду приводить на языке Object Pascal. В основном я работаю на нём, пишу на Delphi. Предвидя нападки со стороны поклонников C-подобных языков, скажу два тезиса:

Приложение D: Gamma correction. Спецификация CSS1

 Приложение D: Gamma correction. Спецификация CSS1

(Это приложение является информативным, а не формальным)

See the Gamma Tutorial in the PNG specification [12] if you aren't already familiar with gamma issues.

In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore any effects on apparent gamma caused by dithering. That means the minimal handling they need to do on current platforms is:

PC using MS-Windows
none
Unix using X11
none
Mac using QuickDraw
apply gamma 1.39 [13] (ColorSync-savvy applications may simply pass the sRGB ICC profile [14] to ColorSync to perform correct color correction)
SGI using X
apply the gamma value from /etc/config/system.glGammaVal (the default value being 1.70; applications running on Irix 6.2 or above may simply pass the sRGB ICC profile to the color management system)
NeXT using NeXTStep
apply gamma 2.22

"Applying gamma" means that each of the three R, G and B must be converted to R'=Rgamma, G'=Ggamma, G'=Bgamma, before handing to the OS.

This may rapidly be done by building a 256-element lookup table once per browser invocation thus:

  for i := 0 to 255 do
    raw := i / 255;
    corr := pow (raw, gamma);
    table[i] := trunc (0.5 + corr * 255.0)
  end

which then avoids any need to do transcendental math per color attribute, far less per pixel.

назад | начало | вперед