Posty

Wyświetlanie postów z 2020

blog: IntelliJ: Dożo spacji przy porównywaniu wersji? Ignore whitespaces!

Obraz
Jedno spojrzenie i wszystko jasne :) koniecznie daj znać, czy to Ci się przydało :)

blog: Notepad++ tajny trick: podwójne kliknięcie po prawej stronie obok paska powoduje otwarcie nowego okna z plikiem

Dokładnie: podwójne kliknięcie po prawej stronie obok paska przewijania przy maksymalnym oknie powoduje otwarcie nowego okna z plikiem koniecznie daj znać, czy to Ci się przydało :)

Tomcat, Linux: ustawianie wersji Javy

Prosto i konkretnie wyjaśnił to jeden z użytkowników na Stacku : When you starting  tomcat  using  catalina.sh , it searching for file  setenv.sh  and  sourcing  it. It is searching in  CATALINA_HOME  or  CATALINA_BASE . So the better way to set  JAVA_HOME  for the  tomcat  is: Create a script named  setenv.sh  in the folder  CATALINA_BASE/bin , if it does not exist already. Add this line to  setenv.sh export JAVA_HOME = /opt/ java / jdk1 . 8.0 _05 Make it executable. Ja bym to przetłumaczył tak: Kiedy uruchamiasz Tomcata używając  catalina.sh , to Tomcat szuka pliku  setenv.sh  i pobiera go jako źródło. Tomcat szuka w  CATALINA_HOME  albo  CATALINA_BASE . Więc lepszym sposobem na ustawienie  JAVA_HOME  dla Tomcata jest: Stworzenie pliku setenv.sh w folderze Catalina... jeśli jeszcze nie istniej dodanie tej linijki do setenv.sh: export JAVA_HOME = /opt/ java / jdk1 . 8.0 _05        3.zrobienie tego możliwego do wykonania koniecznie daj znać, czy

Linux: tworzenie nazw plików

Jeśli chcemy stworzyć plik nazwa.sh to trzeba wpisać: touch nazwa.sh koniecznie daj znać, czy to Ci się przydało :)

IntelliJ: zmiana rozmiaru czcionki scrollem

Obraz
Na Staku znalazłem ciekawe wyjaśnienie tego, jak dla mnie wielokrotnego już pytania: It's as simple as  Ctrl  + mouse wheel . If this doesn't work for you, enable  File  →  Settings  →  Edito r  →  General  → (checked)  Change font size (Zoom) with Ctrl+Mouse Wheel . koniecznie daj znać, czy to Ci się przydało :)

Linux: rozpakowanie tar.gz

Wystarczy wpisać: tar -zxvf jdk-8u202-linux-i586.tar.gz koniecznie daj znać, czy to Ci się przydało :)

Tomcat: sprawdzanie danych o catalinie

Żeby sprawdzić informacje o Catalinie, trzeba wpisać to: /path/to/catalina.sh version Wtedy przykładowo pokaże tak: Using CATALINA_BASE: /usr/local/apache-tomcat-7.0. 29 Using CATALINA_HOME: /usr/local/apache-tomcat-7.0. 29 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0. 29/temp Using JRE_HOME: /System/Library/Frameworks/ JavaVM.framework/Versions/ CurrentJDK/Home Using CLASSPATH: /usr/local/apache-tomcat-7.0. 29/bin/bootstrap.jar:/usr/ local/apache-tomcat-7.0.29/ bin/tomcat-juli.jar Server version: Apache Tomcat/7.0.29 Server built: Jul 3 2012 11:31:52 Server number: 7.0.29.0 OS Name: Mac OS X OS Version: 10.7.4 Architecture: x86_64 JVM Version: 1.6.0_33-b03-424-11M3720 JVM Vendor: Apple Inc. koniecznie daj znać, czy to Ci się przydało :)

Linux: kopiowanie plików i folderów

Obraz
Już pisałem , o przenoszeniu plików i folderów w Linuxie, dzisiaj napiszę o kopiowaniu. fajnie jest to opisane tutaj : Kopiowanie pliku najpierw kopiowany plik, potem nazwę, pod jaką ma być skopiowany: Kopiowanie pliku do folderu: Kopiowanie katalogu: Jeśli chcemy być informowani o tym co komputer robi: koniecznie daj znać w komentarzu, czy to Ci się przydało :)

PgAdmin, SQL, UPDATE: błąd baza danych jest używana przez innych użytkowników

1. Zatrzymać apke 2. Zamknąć wszystkie swoje okna z zapytaniami 3. Wykonać zapytania:         REVOKE CONNECT ON DATABASE "TARGET_DB" FROM public;     SELECT pg_terminate_backend(pg_stat_ activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'TARGET_DB'; koniecznie daj znać, czy to Ci się przydało :)

PgAdmin: lista tabel

Obraz
Co za komfort! Ileż to razy się zastanawiałem jakie są tabele, żeby łatwo po zobaczyć jakie mają nazwy i ewentualnie skojarzyć do czego mogą być, albo znaleźć w nazwie frazę. I oto jest, od dzisiaj już można sobie wygenerować listę tabel w PgAdminie, o tak: i już :) koniecznie daj znać, czy to Ci się przydało :)

Linux, Java: lokalizacja Javy na linuxie

Żeby wiedzieć, gdzie jest Java na Linuxie, wystarczy wpisać coś takiego w terminalu: readlink -f $(which java) Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Tomcat: DSynchronize - compile w 7 sek ;)

Obraz
Extra program, do kompilacji. Najlepiej się sprawdza, jeśli już kod został raz zcompilowany, a my tylko dokonujemy dużo zmian drobnych. W takiej sytuacji to znacznie usprawnia compilacje. na prawdę tylko 7 sekund u mnie trwa. Jest jeden minus, bo nie działa wtedy, jeśli korzystamy zależnie z innego repo np maina, który współpracuje poprzez Jenkinsa. Wtedy DSynchronize nie wystarczy, ale poza tym, działa na prawdę skutecznie. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Rozszerzone dane logowania

Dzięki temu, będzie logowało, dużo i ładnie :) log4j.logger.httpclient.wire= DEBUG log4j.logger.org.apache. commons.httpclient=DEBUG Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

GIT: Jak wyrównać różnice commitów tylko w hashach

Zmargować branche, najpierw w jedną stronę, a potem w drugą. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

IntelliJ: błyskawiczny for po liście

Obraz
fajny hack, jak mamy listę i chcemy po nim przeiterować, to można napisać "nazwaListy.for" i wtedy Intellij rozpozna, żeby iterować po tym: a jak jeszcze dodamy do nazwy listy końcówkę "s", to wygeneruje automatycznie zmienną do iterowania bez "s": fajnie :) Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Java: enumy - taka picklista z dodatkowymi możliwościami

Obraz
Filmik, po którym już nie będzie pytań: Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

GIT IntelliJ: zmiana nazwy użytkownika comitującego

Żeby w IntelliJ pokazywało nas pod inną nazwą, to trzeba, żebyśmy wpisali tak: git config --global  user.name  "John Doe" Gdzie John Doe, to ofc nasze imię i nazwisko. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

PgAdmin: przy stawianiu bazy dodaje wiersze, nawet jeśli error

Jaką praktyczną informację to ze sobą niesie? A no taką, że po errorze, jeśli nie usuniemy bazy, a potem znowu przywrócimy, to nasze wiersze się zdublują i nawet rekordy, które nie mają prawa być zdublowane, mogą być zdublowane w związku z tym. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

PgAdmin i SQL Server Managment Studio: Kopiowanie bazy danych - instrukcja + rozwiązywanie błędów, jeśli stawia opór + usunięcie bazy danych

Żeby przekopiować bazę danych w PgAdminie należy kolejno: PPM na baze którą chcemy skopiować (np. prod) "Tworzenie kopii zapasowej" W nazwie pliku wpisać własną nazwę format "Tar" Nic więcej nie zmianiać i klik -> kopia zapasowa Jak się zrobi (ok 10 min) i chcemy zostawić kopie wcześniejszej, to klik prawym na starą (np. test) -> właściwości [jesli nie to pkt 8.] W nazwie coś zmienić, żeby już jej nie brało -> ok Jeśli wystąpi błąd to zrobić to co w poniższej sekcji "błąd baza danych jest używana przez innych użytkowników pgadmin III" PPM na bazy danych -> "Nowa baza danych" Wpisać jakąś nazwę i ważne, żeby właściciel był ten sam co w skopiowanej W nazwie pliku wskazać kopie bazy, nic nie zmieniać i klik "Przywróć" - zajmie to też z 10 min, ale po tym już powinno być gotowe. ---Usunięcie bazy w SQL Server Managment Studio: PPM na baze do usunięcia Na dole okna "close existing connections" J

Postgre SQL: dodawanie kolumny boolean

Wbrew pozorom, to nie jest takie oczywiste i nie jest tak jak wszędzie. Trochę się z tym męczyłem, żeby się tego dowiedzieć, więc przekazuję info dalej, może się komuś przyda. Żeby dodać kolumnę w istniejącej tabeli bazy postgresowej należy napisać coś takiego (cudzysłowia są ważne): ALTER TABLE tableName   ADD "columnName" BIT NOT NULL DEFAULT 'FALSE'; Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Postgres SQL: Problem z usunięciem świeżo dodanej kolumny

Jeśli jest problem z usunięciem kolumny, którą przed chwilą dodaliśmy, bo pokazuje, że jakiś objekt  DF__TableName__ColumnName__ 6BAEFA67  zależy od tej kolumny, to trzeba ten objekt wcześniej usunąć, coś w tym stylu: If your constraint is on a user type, then don't forget to see if there is a  Default Constraint , usually something like  DF__TableName__ ColumnName__6BAEFA67 , if so then you will need to drop the  Default Constraint , like this: ALTER TABLE TableName DROP CONSTRAINT [ DF__TableName__ColumnName__ 6BAEFA67 ] Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Java: Interface - wiem co to jest

W zasadzie, to wystarczy prześledzić to, co robi ten kod: import java.util.ArrayList ; import java.util.List ; public class Suma { private static List<X> tab = new ArrayList<>() ; public static void main (String[] args) { tab .add( new X1()) ; tab .add( new X2()) ; tab .add( new X3()) ; someMethod () ; } static void someMethod() { for (X x: tab ) { x.doSomething() ; x.yes() ; } } } public interface X { void doSomething () ; void yes () ; } public class X1 implements X { public void doSomething (){ System. out .println( "X1" ) ; } public void yes (){ System. out .println( "yes1" ) ; } public void no (){ System. out .println( "no1" ) ; } } public class X2 implements X { public void doSomething (){ System. out .println( "X2" ) ; } public void tak

SQL: zmiana tabeli na wartość Boolean to BIT

Miało być po polsku, ale angielski też przecież łatwo zrozumieć, prawda? In SQL SERVER it is  BIT , though it allows  NULL  to be stored ALTER TABLE person add adminApproved BIT default 'FALSE' ; Also there are other mistakes in your query When you alter a table to add column no need to mention  column  keyword in  alter  statement For adding default constraint no need to use  SET  keyword Default value for a  BIT  column can be  ('TRUE' or '1')  /  ('FALSE' or 0) .  TRUE  or  FALSE  needs to mentioned as  string  not as Identifier Może być też tak: ALTER TABLE person ADD AdminApproved BIT DEFAULT 0 NOT NULL ; Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Spring: wyciaganie danych JDBCTamplates - naprawa

Ciekawe, jak to jest, że wystarczą 3,5 miesiąca i już nie bardzo pamiętam o co w tym chodziło, ale jeszcze coś mi świta. A może jakiś szanowny czytelnik rozkoduje? https://stackoverflow.com/ questions/56999289/spring- jdbc-template-cant-infer-the- sql-type-to-use-for-an- instance I think You should make 2 things:  1. Give :param in SQL  2. Select proper object into queryForList Example:     protected static List<Map<String, Object>> getFolderListIds(Long documentId) {         String sql = "SELECT id FROM table WHERE id = :document_id"         MapSqlParameterSource parameters = new MapSqlParameterSource();         parameters.addValue("document_ id", documentId);         NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate( Something.getDataSource());         return namedParameterJdbcTemplate. queryForList(sql, parameters);     } More examples: [here][1]   [1]:  https://www.programcreek.com/ java-api-examples/?cla

SQL || łączy stringi w zapytaniu

Bardzo ciekawa rzecz dzisiaj: np: SELECT 'The city' || ' is ' || 'Paris' FROM dual; -- Result: The city is Paris albo update ds_user set externalname = 'login'||id; UPDATE ds_user SET externalname = 'login' || id ; -- Result: Mglow1 Abyk2 PGlaski3 ... To daje możliwość napisania query przeszukującego całą bazę danych w poszukiwaniu w której tabeli znajduje się określone wyrażenie... Może przysiądę do tego któregoś dnia, to może być ciekawe. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Spring: pobieranie wartości JDBC.queryForList

Obraz
String sql = "select ai.id from DS_AR_INVENTORY_ITEMS ai left join DS_AR_INVENTORY_ITEMS_MULTI aim on cast(aim.field_val as numeric)= ai.id where document_id = ? order by ai.manual_sort, ai.multi_lp, ai.folder_office_id, ai.folder_title asc" ; List<Map<String , Object>> list = JDBC.queryForList(sql , new Object[]{documentId} , new ColumnMapRowMapper()) ; Więcej o tym tutaj: Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

SQL: EQUI-JOIN to przypisanie wartości przez zwykły znak równości

+1 do bezwartościowej wiedzy teoretycznej. Jakby były jakieś wątpliwości jak to wymawiać, to będzie to coś w stylu: "ekłi", a posłuchać można tutaj . Od teraz już można się popisywać na rozmowach rekrutacyjnych (rekruterzy to lubią i nie wiem czy ktoś jeszcze) dodatkowym pojęciem. Dzięki temu, będziesz zyskiwał wrażenie fachowego programisty... Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

SQL: USING pomija ON jeśli kolumny są takie same

Czyli zamiast pisać: SELECT * FROM users JOIN orders ON orders.user_id = users.user_id WHERE users.user_id = 1; Można to samo osiągnąć poprzez: SELECT * FROM users JOIN orders USING user_id WHERE user_id = 1; Tylko warunek jest taki, że obydwie tabele muszą mieć tę samą nazwę. Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Hibernate: Sortowanie Criteria

A i dla mnie nadszedł czas, na ten oto dzień, że zacząłem wgłębiać tajniki Hibernate'a. Póki co tylko śladowe ilości, na chwilowy użytek, ale zawsze coś: public static List< ArchiveInventoryItemsDictionar y> findByIdWithItsOrder (List dictionaryIds) throws Exception { if (dictionaryIds != null && !dictionaryIds.isEmpty()) { Criteria criteria = DSApi. context ().session(). createCriteria( ArchiveInventoryItemsDictionar y. class ) ; criteria.add(Restrictions. in ( " id" , dictionaryIds)) ; criteria.addOrder(Order. asc ( " manualSort" )) ; return (List< ArchiveInventoryItemsDictionar y>) criteria.list() ; } return new ArrayList< ArchiveInventoryItemsDictionar y>() ; } A co to wszystko oznacza można dowiedzieć się z różnych stron, jest ich masa w necie. Powiem tylko główne rzeczy ocb: ArchiveInventoryItemsDictionary.class - to klasa która odpowiada tabeli. Po przejś

Java: zamiast sprawdzać czy Boolean nie jest null i czy jest true, mozna skożystać z BooleanUtils

Obraz
Wiem, że ten przykład mógłby być bardziej zoptymalizowany, ale bardziej mi w tym chodzi, żeby pokazać zasadę działania: Bardzo mnie interesuje co o tym sądzisz, dlatego byłoby mi miło, jeśli byś napisał w komentarzu coś o tym, może być cokolwiek :)

Testowanie kodu

Obraz
Już pisałem o testowaniu różnic między LinkedList, a ArrayList, dzisiaj napiszę o tym jak otrzymałem narzędzie do bardziej dogłębnego testowania różnic między różnymi rzeczami. Jeszcze tego dokładnie nie testowałem, ale wygląda dosyć ciekawie. Ten sposób jest z tej strony : Jak przyspieszyć nasz kod w Javie? Czyli kilka słów o JMH.   23 LISTOPADA 2017 Witam Cię bardzo serdecznie! Dziś zapraszam na tematy  typowo Javowy , wchodzący trochę głębiej z zagadnienia JVMa. Opiszę narzędzie, przy pomocy którego będziemy mogli zmierzyć szybkość wykonywania naszego kodu i dzięki wyciągniętym wnioskom  przyspieszyć nasze programy w Javie.  🙂 JMH Java Microbenchmark Harness , o tym będzie dziś mowa, jest narzędziem do tworzenia benchmarków w Javie, czyli do badania wydajności fragmentów naszej aplikacji. Tak na marginesie, „harness” to po angielsku uprząż. Innymi słowy, zakładamy uprząż na konia (w tym przypadku na Javę) i sprawdzamy  jak szybko możemy na nim pojechać.  🙂 JMH