Troubleshooting Team City NuGet Installer

So you are troubleshooting your NuGet packages retrievement or installing in TeamCity? It is very hard to do because DLLs are cached and NuGet engine does not try to retrieve packages, which are already installed. This leads to the situation where you change some settings to see what happens but nothing really happens. I had this same situation while setting NuGet Installation build step. I was changing the set of NuGet sources, but nothing changed. Then I just removed all NuGet sources, but builds were still successful. I had almost gone crazy, but then I recalled – this kind of problems are usually related to some kind of cache. First I checked if there are any global settings of NuGet in TeamCity, did not find any. And after a while I have learned – in order to be sure that your packages installation runs completely, you have to:

  1. Delete  “packages” folder in your solution. This is to ensure that NuGet actually downloads something and puts it in right place;
  2. Delete all files in C:\Windows\SysWOW64\config\systemprofile\AppData\Local\NuGet\Cache folder (this is for 64-bit architecture, for 32-bit machine everything is in System32 folder). When Team City sees package ID in packages.config file it first looks in this folder for cached packages;
  3. Also, check what is in C:\Users\alexa\AppData\Roaming\NuGet\NuGet.Config if you have Visual Studio installed. Visual Studio uses this file to store NuGet configurations, because they are not saved anywhere in project or solution files.
Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

Як я підтримую свою продуктивність

pomodoro time mac iconУ нашому сьогоденні, коли життя вирує навколо нас, багатьом дуже важко зосередитися на тому, щоб виконувати свою роботу. А особливо тоді, коли робота не сама цікава (будь яка робота такою стає з часом, приїдається).

Навколо нас постійно люди, що потребують нашої уваги. Електронна пошта, яку завжди кортить перевірити. Facebook, на який хочеться зайти і перевірити, чи хтось лайкнув нашу останню фотку котика. YouTube відео останнього приколу у виконанні наших туповатих політиків. Новинні сайти, які постійно публікують інформацію де і що відбувається.. Кава. Чай. Курілка… Погані новини – якщо ми самі не подбаємо про свою власну продуктивність, про неї не подбає ніхто.

У цьому дописі, хочу поділитися враженнями про техніку, яку я відкрив для себе кілька місяців тому і дотепер її використовую. Надзвичайно проста, цікава і не без прикола. Називається техніка помідора. Суть її полягає у тому, щоб виконувати помідори. Помідор – це 25 хвилин зосередження виключно на одному завданні під рукою. Нічого з того, ще перелічено вище, під час помідора робити не можна. Не можна навіть природні потреби справляти, бо вони також відволікають. Після кожного помідора – перерва 3-5 хв. Після кожного четвертого помідора – перерва 15 хвилин. От і все :-).

Цілком припускаю, що не кожному така техніка підійде. Хтось і без неї достатньо дисциплінований/мотивований і гарує по 10 годин на добу, а комусь усі ці практики продуктивності здаються дитячою забавою. Але якщо мені техніка помідора допомогла підвищити власну продуктивність (абсолютно суб’єктивно, я не проводив ніяких вимірювань), то, напевно, може допомогти й іншим. Варто спробувати. Поділюся своїми враженнями, може когось замотивує.

  • Якщо розбити робочий час, 8 годин, на помідори, то вийде близько 15 помідорів на день. Але зробити 15 помідорів щодня протягом тижня (75 помідорів) і зберегти психічне здоров’я дуже важко. Відверто кажучи, за 4 місяці використання цієї практики я не спромігся видати бодай один тиждень з 55 помідорами. Коли мені вдається день з 12 помідорами – я почуваюся вкрай виснаженим;
  • В офісі з помідорами важкувато, але тим не менше, якщо колегам пояснити цю систему, цілком можна видавати по 10 помідорів на день. У мене виходило. Але майже ніколи не виходило 50 помідорів на тиждень. Завжди трапляються дні, коли забагато часу витрачаєш на наради. Зараз я працюю з дому і 50 помідорів на тиждень – запросто. Тож якщо міряти цією метрикою, то можна стверджувати, що програміст ефективніший в ізоляції ніж в офісі (згоден, не таке велике відкриття :-));
  • П’ятихвилинна перерва може дратувати, якщо саме заглибився у процес кодування. Я в таких випадках її майже пропускаю. Але скоріш за все пропускати більше ніж дві перерви не вийде, концентрації не вистачить. Зате які переваги дають ці перервочки! Я, наприклад, завжди їх використовую для виконання вправ, у тому числі й для очей. Виявляється за 5 хвилин можна їх чимало зробити. Можна просто підвестися і подивитися на дальню точку – уже розвантаження для очного м’язу. Спостерігав також цікавий ефект. Часом зациклюєшся на завданні, б’єшся над ним, але намарно. І тут спрацьовує таймер. Встаєш, розминаєшся, дивишся на ліс вдалечині, і раптом… клік, і приходить в голову ідея як розв’язати проблему. Тобто техніка помідора дозволяє не зациклюватися, а відступити трохи назад і подивитися на проблему під іншим кутом;
  • Спостерігав я і цікавий психологічний ефект. Трапляються дні, коли перекидаєшся постійно з одного завдання на інше, а ввечері відчуваєш втому і незадоволеність днем. Поставлені завдання ніби з місця не зрушали. Починаєш нервувати й думати, що треба перепрацювати кілька годин. Такі відчуття ніколи не з’являються коли виконано 10-12 помідорів. Навпаки, після 10-12 помідорів є відчуття завершеності, відчуття досягнення, приємної виснаженості. І, так би мовити, із почуттям виконаного обов’язку можна йти відпочивати та розважатися.

Кілька слів про інструменти. Техніка помідора так називається тому, що її автор використовував кухонний годинник у вигляді помідора для відстежування 25-хвилинних проміжків часу. Тобто звичайного таймера цілком достатньо. Я все ж пішов далі й використовував ось цей таймер помідорів. Але зрештою зупинився на kanbanflow, де я записую свої завдання і приєдную виконані помідори до певних завдань. Тож за бажання техніку помідора можна також використовувати як техніку відстежування часу та оцінювання трудомісткості завдань.

 

 

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail