niedziela, 26 lipca 2015

Jednolinijkowiec do czyszczenia projektu

Bierzesz Clean w VS i nie działa?
Nie wszystko usuwasz z binów.
Przyczyn może być wiele,
np. interakcja z inną aplikacją lub jak nasza aplikacja tworzy dodatkowe pliki w folderze bin.
Wtedy musisz usunąć wszystkie pliki w tym folderze.

Tutaj sprawdza się nasz jednolinijkowiec:
$path = "path_to_project"

gci -path $path -Recurse  
 | ? {$_.FullName.Contains("\bin\Debug\") 
   -or $_.FullName.Contains("\bin\Release\") } 
 | Remove-Item​

środa, 22 lipca 2015

Zmapowane dyski sieciowe

Na komputerach zdalnych mam zmapowane dyski sieciowy i czasami muszę przesłać ścieżkę.
Poniższa funkcja w PS zwróci Ci wszystkie zmapowane dyski:

function Get-NetworkDrive([string]$ln = "Z", [switch]$all, [string[]]$computername='.') {
if($all) {
    gwmi  -Class Win32_NetworkConnection  -computername  $computername 
    }
else {
    gwmi  -Class Win32_NetworkConnection  -Filter "LocalName like `'$ln%`'"  -computername $computername 
    }
}

Przykład działania funkcji na komputerze lokalnym wygląda tak:
Get-NetworkDrive P

środa, 15 lipca 2015

ApressOpen

Wydawnictwo Apress udostępniło książki do pobrania w wersji elektronicznej (format PDF, ePub oraz MOBI) za darmo.
Książki można kupić przez ten link:
http://www.apress.com/apressopen
Teraz to trzeba będzie się brać za czytanie :)

wtorek, 14 lipca 2015

Zabijanie zawieszonego serwisu

Zawieszony serwis to zły serwis. Nie można go stopować ani zrestartować.
Jedyne co nam pozostało to ubicie serwisu.

To rozwiązanie znalazłem z tej strony
Właśnie takiego prostego rozwiązania szukałem.

Najpierw wyświetlasz informację o serwisie, który zawiesił się:
sc queryex $service_name$
Zapisujesz identyfikator procesu (PID)

A później wywołujesz komendę do ubijania procesu:
taskkill /f /pid $pid$

niedziela, 12 lipca 2015

Zapytanie w jednej linijce w PS

Mam dla Ciebie szybki trick z PS.
Czasami muszę wysłać zapytanie w SQL w jednej linijce, ale w edytorze mam w wielu linijkach ( dla przejrzystości).
Poniżej jest template jak łatwo można napisać konwerter tekstu wielolinijkowego na tekst jednolinijkowy.

@"
     ...       
                
"@  -replace "`n|`r|\s+", " " | clip 
​

Przykład z SQLem wygląda tak:
@"
   SELECT 
       col1,
       col2,
       col3,
   FROM myTable
   Where 1=1
   Order by col1
                    
                
"@  -replace "`n|`r|\s+", " " | clip 
​

W tajemnicy powiem Ci, że możesz zastosować ten template nie tylko do SQL, ale również do innych języków np. do PowerShella :)

czwartek, 2 lipca 2015

Jestem zachwycony Rką

Zacząłem się uczyć Rkę i jestem zachwycony tym językiem (platformą).
Naprawdę fajne rzeczy można zrobić. Np. do symulowania procesu Wienera

D2_Wiener <- function() {
     dev.new(width = 10, height = 4)
     par(mfrow = c(1, 3), oma = c(0, 0, 2, 0))
     for(i in 1:3) {
         W1 <- cumsum(rnorm(100000))
         W2 <- cumsum(rnorm(100000))
         plot(W1,W2, type= "l", ylab = "", xlab = "")
     }
     mtext("2-dimensional Wiener-processes with no correlation",
     outer = TRUE, cex = 1.5, line = -1)
}​


Kiedy będziemy chcieli dodać skorelowane zmienne to wynik symulacji jest poniżej:
Correlated_Wiener <- function(cor) {
     dev.new(width = 10, height = 4)
     par(mfrow = c(1, 3), oma = c(0, 0, 2, 0))
     for(i in 1:3) {
         W1 <- cumsum(rnorm(100000))
         W2 <- cumsum(rnorm(100000))
         W3 <- cor * W1 + sqrt(1 - cor^2) * W2
         plot(W1, W3, type= "l", ylab = "", xlab = "")
     }
     mtext(paste("2-dimensional Wiener-processes (",cor," correlation)",
     sep = ""), outer = TRUE, cex = 1.5, line = -1)
}




Poniżej zamieszkam ściągi do Rki:

środa, 24 czerwca 2015

8 filmików o high frequency trading

Jestem po lekturach o HFT i jestem zdania, że bardzo trudno jest rozpocząć swoją przygodę z budowaniem infrastruktury do 'walki' na giełdzie. Co jednak nie zmienia mojego głodu na poszerzenie tej wiedzy i zdobycia doświadczenia w tym zakresie :)

Poniżej przedstawiam Ci najciekawsze filmiki o HFT.
























I filmik, który mówi o HFT od strony kuchni: