четвер, 30 грудня 2010 р.

scrollRect, mask <=> size etc

переважно, коли йдеться про маски і скролректи народ жаліється або на те, що після їх застосування на об'єкт, неможливо взяти оригінальний розмір об'єкта, або на те, що неможливо взяти актуальний видимий розмір об'єкта і всіх контейнерів, які його містять.

про маски: якщо потрібно знати, який видимий розмір об'єкта, і взагалі якщо маска квадратна - використовуйте скролрект. об'єкт, на який наклали маску, буде завжди повертати свій оригінальний а не видимий розмір. та щей маска виїдає більше ресурсів компа, ніж скролрект.
обговорення цього питання на ruFlash google group, ще одне корисне обговорення масок
як на мене, маску краще додавати в парент маскованого об'єкта, ато потім можна заплутатись з координатами.

scrollRect. вродь як класна, зручна і корисна фіча - працює шустріше, не потрібно мувати контент, після її накладення об'єкт повертає свій видимий розмір (а повний його розмір можна брати, загорнувши його в контейнер і скролрект напускати на контейнер, але є народ, який видумує і інші рішення), тільки є одна підй... адобівська бага під 10м плеєром - в перші 1-30 мілісекунд (в залежності від потужності машини, на якій флешка крутитьсся) після зміни scrollRect об'єкта, його розміри залишаються попередніми. так що, поки-що любе звернення до розмірів замаскованого scrollRect-ом об'єкта робимо по таймеру, і всі дружно йдем і голосуєм за фікс цього бага (ато там всього 11 голосів).

понеділок, 27 грудня 2010 р.

а тепер по ділу

головний клас проекту:

public class Main extends Sprite {


 public function Main(): void {
  if(stage) {
   init();
  } else {
   addEventListener(Event.ADDED_TO_STAGE, init);
  }
 }


 private function init(event: Event = null): void {
  removeEventListener(Event.ADDED_TO_STAGE, init);
  
  var test: TestChild = new TestChild();
 }
}





клас TestChild


public class TestChild extends TestParent {


 public function TestChild() {
  data = [1, 2, 3, 4];
  arr = [11, 22, 33, 44];
  obj = {name: "Test", value: "ttt"};
  intNum = 24;
  floatNum = Math.PI;
  point = new Point(7, 13);
  str = "Svitovyda";


  super();


  trace(this, data);
  trace(this, arr);
  trace(this, obj);
  trace(this, intNum);
  trace(this, floatNum);
  trace(this, point);
  trace(this, str);
 }
}





клас TestParent


public class TestParent {
 protected var data: * ;
 protected var arr: Array;
 protected var obj: Object;
 protected var intNum: int;
 protected var floatNum: Number;
 protected var point: Point;
 protected var str: String;


 public function TestParent() {
  trace(data);
  trace(arr);
  trace(obj);
  trace(intNum);
  trace(floatNum);
  trace(point);
  trace(str);
 }
}





результат запуску в трейсі:



undefined
11,22,33,44
null
24
NaN
(x=7, y=13)
Svitovyda
[object TestChild] undefined
[object TestChild] 11,22,33,44
[object TestChild] null
[object TestChild] 24
[object TestChild] NaN
[object TestChild] (x=7, y=13)
[object TestChild] Svitovyda



якби мені хтось пояснив це, була б дуже вдячна. а так: Flash - #@%$%@^%$.


а ще скажу банальність: 9scaleGrid - #@%$%@^%$.
і лінії - теж.


гррррр!

не екшинскриптове

а хардварне

як ви думаєте, якщо така рижа блондинка, як я, візьметься розбирати непрацюючу колонку (друга працює, на поломаній - всі регулятори, входи для штекера і вихід на другу - і все це працює, а сама колонка мовчить. генєратор работаєт но нє гєнєріруєт, да) і спробує там знайти щось, від чого ця колонка не працює - з цього хоч щось получиться? ну, крім ще одного смішного поста сюди, я маю на увазі...

пробувала підключити до свого робочого ноута дома клавіатуру. PS/2 (ну так вже сталося. і не питайте мене де я дістала перехідник з usb на ps/2 за 15 грн і як перевіряла його дієздатність, підключивши через нього і мій старий перехідник з ps/2 на usb флешку - працює). а вінда - сьома (погугліть windows 7 + PS/2, ага). клавіатура щей старезна і майже безімянна - мітсумі. короч я згадала казку про кощеєву смерть, коли гуглила за драйвером під він7 для неї: смерть в голці, голка в яйці, яйце в качці качка ще там в комусь... сторінки і форумні пости датою до 2008, туманне посилання на щось, де ще туманніше посилання на мітсумівський ftp-шник (толку з мітсумівського офсайту - самі розумієте, а ні - зайдіть і зрозумієте), доступ до якого, мабуть, закритий ще з 2008 в кращому випадку. знайшла якусь ходилку по закритих фтп-шніках, добралась до папки з дровами - а там купа екзешників з кучерявими іменами. і доступ на скачування все-таки закритий. до кінчика голки я таки недобралась ))))
прогуглила на тему він7+пс2, проінсталювала купу всякого різного - толку нуль.

можна, звичайно, купити нормальну клаву. але, по-перше, мені і так вже потрібен монік (згорів ще у львові до переїзду, системник я вже перевезла), колонки (як видно з першої частини цього поста), wi-fi роутер (я ще і досі дома не підключилась до нету), і по ходу свій власний ноут. і взагалі в мене навіть холодильника робочого дома зараз нема ))). а ще і якось не спортивно виходить - стільки часу потратити на рішення проблеми і забити )))))

четвер, 9 грудня 2010 р.

Всяке різне

Пишуть мені в LinkedIn пропозицію віддаленої одноразової роботи, 40-50 годин. Мене не цікавить віддалена робота (я загружена на повну на поточному місці роботи, яким взагалі дуже задоволена), але от часом дивуюсь: дописувачка, скажемо так, кириличномовна, компанія "наша". Лист прийшов англійською. З коротким описом фіч до чогось.
Я все розумію - тз мабуть англомовне, та і взагалі рівень інгліша має бути завжди - ну але ж це робота на тиждень! Чому не можна бути попрощє? Не присилати опис абстрактних фіч, а попросити технаря сформулювати нормальний простий неконкретний опис того, що потрібно зробити? І писати не формальною мовою інглішем, а нормально, від себе: "нам потрібно зробити таку-то роботу з такою-то специфікою, віддалено, приблизний термін - ..."?

Взагалі, при повній заповненості мого лінкедіна, дуже дивують різні питання ейчарів, доходило до маразмів - коли мене, на приклад, рекрутили з фірми, на якій я пропрацювала більше 3 років (найшла мене HR через лінкедін, в якому її фірма з терміном, скільки я там пропрацювала, була вказана). Ще дивує повна відсутність внутрішнього обміну інформації про працівника на фірмах (абсолютно всіх!): завести просту базу на всіх абсолютно працівників - потенційних, теперішніх, минулих, з простими зв'язками багато-до-багатьох (з ким коли контактував з простим коментарем: працював в одному тімі, був піемом, дав контакт, був підлеглим, вчились разом, працювали разом, етц, етц, етц) - ну точно не складно для ІТ кантори, тим більше що готові рішення, мабуть вже давно є. Бояться, що таку базу легко буде злити? А що казати про повну передачу всієї інформації, отриманої при комунікаціях - першій, попередній, всіх інтерв'ю - всім решта інтерв'юючим - її нема ніколи, на абсолютно всіх моїх співбесідах.

Ще одна тема, яка вже давно, мабуть, є холіваром - це те, що роботодавці самі накручують зарплати ІТ-шникам, шукаючи спеціалістів тільки сеніор рівня, на проект, який от щойно прийшов і вже і тут починається. Деякі умудряються потім копнути цих спеціалістів, якщо проект закінчився, і потім знову панічно шукають нового... А потім жаліються, які програмісти офігівші: рівня нема, спеціалістів мало, грошей хочуть багато, та ще й тікають, сволочі, коли їм пропонують в півтора рази більшу зарплату - ну а як може бути інакше, скажіть мені, з таким підходом? І не потрібно розказувати про те, як тяжко і затратно вести бізнес в Україні. В цій країні люди умудряються виробництво запускати, і мати з нього якийсь прибуток - ось що дійсно тяжко! А набирати толкових джуніорів і вирощувати їх до мідлів - не дорого і не важко, навіть для маленьких ІТ фірм! Да, пробувати запускати свої дрібні проекти для людей, поки-що не задіяних в комерційних проектах, щоб підвищувати кваліфікацію працівників і напрацьовувати зіграну команду (яку потім тутже кинути на замовника) - це складно, тут потрібно відсіяти якісь технології і підсилювати кілька своїх, закладати немалий баланс. Але всерівно незрівнянно легше, ніж запустити своє виробництво одягу, чи, не приведи б-же, харчів.
Наша країна не дає розростись ІТ до рівня 500-1000 працівників (в одному офісі) - це вже інше питання, і то, все-таки, це частково питання вміння делегувати свої управлінські обов'язки. Але до рівня 100-300 - спокійно (тобто ніхто не заважає, що ще не означає, що це зробити легко). Так що нема чого жалітись, часто ще й маючи за плечима важкі іноземні інвестиції, працюючи з зарубіжними замовниками (які не кидають на половину суми і не просять безплатно переробити все заново), не маючи безпосередньої роботи з клієнтами, товарами, продукцією (що накладає на бізнес мінімальний прохід контролюючих органів), маючи мінімальний ризик бути вибитим з виробництва (мінімальні бекапи всіх основних серверів, швидко знайти на короткий час приміщення з електрикою і нетом - і за 2-3 дні робота повністю відновиться).
А то зараз тільки і чути ниття і одних і других, як все погано, і холівари на тему, загинається чи ні аутсорс. Його спершу організувати правильно треба пробувати, пробувати пробивати нормального рівня освіти і взагалі відстоювати свої і інших права - за свої ж податки, блін, вчитись вести великий бізнес а не тільки вимагати підвищення кваліфікації своїх працівників, організовувати процес розробки - а не просто кидати найдених програмістів на замовника, і т.д. і т.п.

Багато кантор запускають свої тренінг-центри, деякі, при тому, щей умудрились зробити з цього бізнес - значить це можливо, це окупляється.
Проводьте якісь прості конференції зі серйозними доповідачами на актуальні теми по технологіях, на які вам треба постійно закривати вакансії - і якісний приток кандидатів високого рівня вам гарантований! І це реально просто і відносно дешево - не треба виписувати зі Sun-а чи Adobe-а крутих євангелістів, чи шукати Scrum сертифікованих гуру за шалені гонорари. В Україні вже достатньо багато професійних ІТ ком'юніті - людей, які на голому ентузіазмі збирають навколо себе професіоналів їх галузі і обмінюються досвідом. Найдіть час і кошти для своїх досвідчених працівників, щоб вони виступали з доповідями, спонсоруйте зустрічі - і все, це не тренінг-центр організувати.
Зараз дуже бракує тусовок тім-лідів і технічних менеджерів - різні тренінги по організації процесу розропки, архітектурі, плануванні дуже дорогі. А потрібно ж небагато - не крутих дорогих доповідачів зі степенями і сертифікатами, а просто тусовку, в якій ліди і піеми могли б збиратись і обмінюватись власним досвідом.

А ганятись за працівниками, які знають якусь дуже конкретну технологію, щей зі строгим набором конкретних фреймворків, часто при тому щей не перевіряючи яким спеціалістом він взагалі є, який його справжній рівень інших (заявлених ним) технологій, як взагалі працюють його мозги, чи здатен він взагалі написати складний алгоритм, і, саме головне - на скільки він комунікабельний і відкитий до нової інформації, як реагує на постійно змінювані обставини - так це ж взагалі самогубство, народ! Найдіть одного-два гуру потрібного фреймворку, а решту просто толкових спеціалістів потрібної технології - вони підтягнуться за пару тижнів-місяців. І думайте весь час про можливість перекинути працівника на іншу технологію/проект, якщо йому це цікаво і якщо це бідьш-менш адекватно по затратах.

Отака в мене вийшла розкидана простиня про роботодавців, HR і навіть політику, звиняйте )))
Наступний пост, сподіваюсь скоро, напишу про київський FlashGamm 2010.