If you’re any kind of developer it’s big chance you’re using linux as application server. Sooner or later will need the command that find the files and remove them (or another do something else with them).
There is an rm command but it doesn’t support search criteria.
However ther is find command. With find you can search for files in directory and remove them on the fly.
To do this you need to combine both commands together.
Syntax of find command is quite easy:
$ find ROOT_FOLDER CRITERIA
as ROOT_FOLDER can be /, . as current directory ot any other path. ROOT_FOLDER is the starting point for search.
CRITERIA can be many kinds, for example:
-type f serach for files onlby (d – directories)
-name "PATTERN" serach for files with name in pattern,
-iname "PATTERN" the same as above but case insensitive,
-depth 2 search only in descendants deeper up to 2 steps from root_folder
-empty find empty files/directories
-size 123k find files with it’s size 123kilobytes.
-mtime -4h30m search for files that was modificated in last 4 hours and 30 minutes,
there is a lot of another criteria, for more use man pages.
There is another option for find: -exec. with this we can run command with found files.
$ find . -type f -iname "*.jpg" -exec rm -f {} \;
{} near the end means that command should be executed with evry found file, \; ends the command
In command above we search for all files with jpg exension from current directory and down, and remove them.
If we want to confirm every file’s remove, we should use:
find . -type f -name "*.bak" -exec rm -i {} \;
Good luck :)
There is a handy list of Hibernate Dialogs.
| DB Engine | Dialect |
|---|---|
| DB2 | org.hibernate.dialect.DB2Dialect |
| DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
| DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
| PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
| MySQL | org.hibernate.dialect.MySQLDialect |
| MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
| MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
| Oracle (any version) | org.hibernate.dialect.OracleDialect |
| Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
| Sybase | org.hibernate.dialect.SybaseDialect |
| Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
| Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
| SAP DB | org.hibernate.dialect.SAPDBDialect |
| Informix | org.hibernate.dialect.InformixDialect |
| HypersonicSQL | org.hibernate.dialect.HSQLDialect |
| Ingres | org.hibernate.dialect.IngresDialect |
| Progress | org.hibernate.dialect.ProgressDialect |
| Mckoi SQL | org.hibernate.dialect.MckoiDialect |
| Interbase | org.hibernate.dialect.InterbaseDialect |
| Pointbase | org.hibernate.dialect.PointbaseDialect |
| FrontBase | org.hibernate.dialect.FrontbaseDialect |
| Firebird | org.hibernate.dialect.FirebirdDialect |
That’s just for memory.
I just started next mobile project. Application is targeted on both main mobile platforms: IOS and android. I know Objective-C and IOS Development methodology. Additionaly I spend over 10 last years on java development and android platform is known to me too. But I don’t want to programming one applications two times. :) Czytaj dalej…
Ostatnio Orange (czy tam dawna TP) podłączyła mi stałe łącze DSL. Monter przyniósł mi do domu modem CellPipe 7130. Problem w tym, że na modemie jest dostępne domyślnie tylko konto użytkownika, które nie ma możliwości pełnej konfiguracji urządzenia.
Spędziłem trochę czasu szukając po internecie jak odblokować konto administratora, ale jednymi rzeczami które znalazłem były linki do ukrytych opcji. Zawsze coś, jednak wolę mieć wszystko czarne na białym. Posiedziałem chwilkę z urządzeniem i mogę się z wami podzielić doświadczeniem, jak odzyskać hasło administratora z urządzenia. Czytaj dalej…
Od wczesnej wersji alfa obserwuję rozwój nowego projektu firmy Jetbrains – języka opartego o wirtualną maszynę Java: Kotlin.
Przez kilkanaście lat programowania poznałem już kilka języków, ale w każdym z nich brakowało mi czegoś z innych. Java najbardziej przypadła mi do gustu za jej wieloplatformowość – więc na tym języku oparłem swoją pracę zawodową.
Kilkanaście miesięcy temu skierowałem oczy ku Scala – poczytałem, trochę poprogramowałem – i nic… jakoś nie pasuje. Jeden z głównych feature języka Scala wogóle do mnie nie przemawia (możliwość kompilacji kodu pod JVM albo .NET). Skoro mogę kompilować pod JVM w Windows to na co mi .NET? Może ktoś zna jakieś zastosowanie tego pomysłu, ja nie. Ale nie to jest głównym problemem – Scala jest językiem dość trudnym, w wielu miejscach niekonsekwentnym i czas kompilacji jest dość wydłużony do kodu w java.
Kotlin Jest językiem z założenia czytelniejszym niż Scala, ma też cechy, które jak najbardziej mi pasują:
- Kompilacja do kodu jvm lub do javascript – widzę tu lepsze zastosowanie nić Scala – zwłaszcza przy aplikacjach webowych – „one language to rule them all!” :)
- Null Safety – w Kotlin nie ma NullPointerException ponieważ składnia języka nie pozwala na niespodziewane pojawienie się null. Null jest tylko tam gdzie na to pozwolimy a kompilator nam to wszystko podpowie.
- Bez typów prostych – wszystko jest obiektem – strasznie lubię to w ruby.
- podobnie jak Dopełnienia,
- Properties – no more getters and setters if no needed
- Typy generyczne – potężna broń w językach typowanych statycznie, (Wspomniałem, że Kotlin jest typowany statycznie?)
- Funkcje wewnętrzne – czyli metody wewnątrz metod – o wiele czytelniejesze niż klasy wewnętrzne,
- Funkcje rozszerzające – można dopisać metody do klasy Integer albo String
- metody bez nawiasów – wywoływanie metod nie musi być zakończone nawiasami. To i poprzednie daje duże możliwości przy budowaniu DSL
Szybka kompilacja
oraz
Wsparcie Jetbrains – potężna korporacja, która skutecznie realizuje wszystkie swoje pomysły.
Kilka dni temu została opublikowana werjsa Milestone 3 i niedługo będziemy świadkami pierwszej wersji w pełni stabilnej, więc już teraz polecam przejrzeniu się temu językowi.
Kilka linków do głębszej analizy:
SQLite jest opensource’ową, relacyjną bazą danych, która nie potrzebuje serwera zewnętrznego do działania. Wszystkie dane są przechowywane lokalnie a biblioteka obsługująca bazę to niewielki pojedyńczy plik. Aby zacząć z tej bazy korzystać wystarczy skorzystać z tego pojedyńczego pliku.
SQLite nie jest nowym projektem, jednak wraz ze wzrostem popularności aplikacji mobilnych zainteresowanie tą bazą także rośnie. Dzieje się tak dlatego, że najbardziej popularne platformy mobilne (Android i IOS) natywnie wspierają ten slinik.
SQLite nie bezpodstawnie ma opinię bardzo łatwej w użytkowaniu, wydajnej bazie danych.
Jeżeli potrzebujecie także do swojego projektu małej wbudowanej bazy danych to SQLite jest godny sprawdzenia. Czytaj dalej…
Długo nic nie pisałem, zwłaszcza o vimie – czas się poprawić i zacząć coś regularnie skrobać.
O tym, że Vim jest moim ulubieńcem, wie chyba każdy kto tu zagląda. Mam dzisiaj nowy tips na temat jego działania. Edytor ten doskonale układa wcięcia w plikach. Jednak gdy pracujemy trochę dłużej na jednym pliku (np. html) to porządek we wcieciach może zostać nieco zachwiany.
Aby poprawić wcięcia w całym pliku musimy wykonać pewną sekwencję komend – nie ma jednej uniwersalnej komendy. Wpierw musimy przesunąć kursor do pierwszej linii, potem przeformatować tekst aż do ostatniej linijki, na koniec najlepiej by było aby kursor wrócił na ostatnią pozycję edytowania. Powyższa sekwencja wygląda tak: gg=Gg``
Jeżeli często korzystamy z tego to możemy ustawić jako macro i np. wpisać w .vimrc
map – Poprawiam plik po wciśnięciu Ctrl-G
Praca z Git jest bardzo wygodnia – o czym wspominałem niejednokrotnie. Całe repozytorium mamy na lokalnym komputerze więc możemy bez dostępu do sieci tworzyć własne branche i na nich pracować. Model pracy grupowej jednak poleca używanie jednego centralnego repozytorium, które jest miejscem zbiorczym na wspólny kod wszystkich programistów.
W mojej obecnej pracy używam dwóch komputerów. Jednego w domu i drugiego w pracy. Z tego też powodu chciałbym mieć możliwość aby mój prywatny branch był w centralnym repozytorium jednak aby nie bałaganił kodu głównego. Za pomocą Git jest to możliwe i łatwe do wykonania.
Czytaj dalej…Większość aplikacji czy też systemów zarządzania treścią posiada dymanicznie tworzoną treść. Jednak niekiedy część tej treści jest mniej dynamiczna. Zmienia się rzadko lub też wogóle. Przykładem mogą być takie strony jak „Regulamin” czy też „Polityka Prywatności”.
Gdy do tworzenia aplikacji używamy dowolnego frameworka zgodnego z wzorcem MVC, treść takich stron powinna być przechowywana w bazie a pobierana przez kontroler.
Innym rozwiązaniem jest napisanie oddzielnej metody dla każdej strony i treść umieszczać w odpowiednim widoku. Pracując z Play Framework można to zrobić o wiele prościej.
Czytaj dalej…Wraz z pojawieniem się Rails 3 – ActiveRecord dość mocno się zmieniło. Zniknęło kilkanaście metod, któr dość często były wykorzystywane w ich miejsce pojawiły się inne:
where (:conditions)
having (:conditions)
select
group
order
limit
offset
joins
includes (:include)
lock
readonly
from
Natomiast zniknęły takie metody jak :
find(:all, :limit => 1)
find(:all)
find(:first)
first(:conditions => {:name => "Jaś"})
all(:joins => :products)
Czytaj dalej…