Month: March 2014

Git commit jako ktoś inny

Posted on Updated on

W Git można dodać autora commitu jakiego się chcę. Domyślnie jest to brane z pliku konfiguracyjnego i będzie to nasza kombinacja username/email. Można to jednak prosto nadpisać.


git commit --author="Konrad Dzwinel <kdzwinel@gmail.com>" -m "Commited as the Konrad for fun."

Na GitHubie w naszym commit pojawi się nawet odpowiednia twarz osoby, którą sobie losowo wzięliśmy z GitHuba.

Git, Commited as somebody else
Po prostu się pod kogoś podszyłem

W git osoba która wykonała push do repozytorium, a osoba która jest jako author commita to moga być różne osoby i warto o tym pamiętać. Nie jest to jakieś złe (takie commity nie pojawia się u Konrada w “latest commits”), w ten sposób możemy zaznaczyć że ten dobra robotę wykonał ktoś inny i dla niego zarezerwowane sa credits.

Advertisements

Power Shell Execution Policies in C#

Posted on Updated on

Mam aplikację która uruchamia skrypty PowerShell (*.ps1). W aktualnych windowsach są różnie polityki (wyjątkowo na stronie Microsoftu było do wystarczająco wytłumaczone about_Execution_Policies) odnośnie uruchamiania skryptów. Zdarzyło się, że pierwsza osoba, u której testowałem miała ustawienia Restricted i nie można było uruchomić plików ze skryptem.

Radą na to jest tymczasowe (w ramach danego procesu) zezewolenie na takowe skryptów uruchamianie:

private void TemporaryAllowRunningPowerShellScripts()
{
    var powerShell = PowerShell.Create();

    powerShell.AddScript("Set-ExecutionPolicy Bypass -Scope Process");

    powerShell.Invoke();
}

Podczas developowania uruchamiam wiele skryptów różnych i chciałbym znieść restrictions:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -scope CurrentUser

Poziomy logowania

Posted on Updated on

Przyklejone z wiki o log4j:

Level Description
OFF The highest possible rank and is intended to turn off logging.
FATAL Severe errors that cause premature termination. Expect these to be immediately visible on a status console.
ERROR Other runtime errors or unexpected conditions. Expect these to be immediately visible on a status console.
WARN Use of deprecated APIs, poor use of API, ‘almost’ errors, other runtime situations that are undesirable or unexpected, but not necessarily “wrong”. Expect these to be immediately visible on a status console.
INFO Interesting runtime events (startup/shutdown). Expect these to be immediately visible on a console, so be conservative and keep to a minimum.
DEBUG Detailed information on the flow through the system. Expect these to be written to logs only.
TRACE Most detailed information. Expect these to be written to logs only. Since version 1.2.12.

Http Status code 403 a dodatkowy tekst

Posted on

Mam serwis który z powodów braku dostępu danego resource dla danego użytkownika zwraca 403 (Forbidden). Standardowy przypadek dla 403. Zastanawiałem się czy nie powinienem zawrzeć dodatkowej informacji w tak zwracanym Response.
Klient “Romek” requestuje o różne pola – “Name”, “Surname”, “BirthDate”, “Salary”, itp. Romek może nie mieć dostępu do pola Salary, a mieć do pozostałych. Chodziło mi po głowie żeby dołożyć informację o tym, że tylko pole “Salary” nie może być odczytane.
Jednak nie tędy droga. Request jest pod jakiś konkretny resource. Można mieć do niego dostęp albo nie. Jeśli dwa JSON’y które sa przesyłane z requestem POST są różne (np różnią się tym “Salary”) to są to request o inny resource i raz będzie 403 a raz 200. Nie trzeba klientowi (developerowi) bardziej pomagać.

WebClient cachuje wyniki?

Posted on Updated on

Wydawało mi się to trochę niemożliwe. Jak? Gdzie? Kto określa jakieś granice ilościowe tych cachowanych materiałów?

Przeglarka jest sobie takim osobnym programem, który rzeczywiście robi cache. Patrzy na nagłówki, ocenia co gdzie jak i kiedy. Ma miejsce w pamięci gdzie to sobie przechowuje.

Ale zwykła prosta klasa w .NET która jest odpowiedzialna tylko za ściagnięcie stronki, obrazka lub tym podobnych z internetu? Zdziwiłem się.

Na SO ktoś ma nawet problem, że WebClient cache’uje choć nie tego nie chce: http://stackoverflow.com/questions/2425219/is-there-any-way-to-force-webclient-not-return-cached-data
http://stackoverflow.com/questions/3812089/c-sharp-webclient-disable-cache

Może kiedyś zglębie temat bo na szybko nie udało mi się zaobserwować cachowania.

Prezroczysta favicon

Posted on

Favicon to taka ikonka która pojawia się na zakładce (w przegldarce). Taka mała, żeby można było pokojarzyć co to za strona ale jednocześnie nie zajęła dużo miejsca.

Kroki:

  1. Szukam w google obrazka (na zakładce Grafika), ten obrazke musi być baaardzo prosty, czeka go duże zmniejszenie
  2. zapisuję obrazek
  3. convertuję do png jeśli trzeba
  4. zmniejszam rozmiar do 32×32 (ale zauważyłem że 64×64 też działa), zwykły paint sobie z tym radzi
  5. za pomoca aplikacji online dodaje transparency, np http://www.online-image-editor.com/
  6. wrzucam do głownego katalogu aplikacji webowej (ustawione Copy To Output gdy jest to Visual Studio)

(Prznajmniej w NancyFX coś takiego zadziała.)

Run as administrator (ustawić na pliku)

Posted on

Jeśli jesteśmy znudzeni klikać na każdym razem PPM i “Run As Administrator” może wymusić aby dany program zawsze się tak uruchamiał. Aktualnie mam potrzebę aby Visual Studio jak i Total Commander na jednej z wirtualek były zawsze uruchamaine z uprawnieniami administrator.
Wybieramy właściwości pliku a nastepnie zakładkę Compatibility. Na dole jest opcja Run this program as an administrator:

Run as administrator

Od teraz na pliku pojawi się charakterystyczna “tarcza”:

Run program as administrator, shield