Posty

Wyświetlanie postów z listopad, 2019

SQL: Castowanie

Toż to szok! Ja rozumiem, że castowanie jest zwyczajne w Javie, bo to polimorfizm i wgl, ale w SQL? A jednak. Dzisiaj się dowiedziałem, że można tak: SELECT * FROM documents WHERE id   IN ( SELECT cast(field_val as integer) FROM documents_ordinary WHERE document_id=291014   AND date='29-11-2019' )

Windows 10: Consola zatrzymała się, co robić?

Jeśli w consoli w Windowsie 10 coś się powinno robić, ale sie nie robi, jakby stanęło, to trzeba kliknąć enter, żeby to ruszyło dalej. To jest tak zwany tryb edycji consoli.

Tomcat: War - co to jest?

Ogólnie rzecz biorąc to war to taki zip, tylko Tomcatowy. Są w nim spakowane - najczęściej skompilowane - pliki Tomcata takie jak .java, .xml, .jar, servlety itp. To się rozpakowuje podczas startowania Tomcata i dzięki temu Tomcat tworzy sobie folder, na którym pracuje.     Pełny opis jest na wikipedii : In  software engineering , a  WAR  file ( W eb  A pplication  R esource [1]  or  W eb application  AR chive [2] ) is a file used to distribute a collection of  JAR -files,  JavaServer Pages ,  Java Servlets ,  Java   classes ,  XML  files, tag libraries, static web pages ( HTML  and related files) and other resources that together constitute a  web application . Web ARchive Filename extension .war Magic number PK\x03\x04  (standard ZIP file) Developed by Sun Microsystems Container for JSP ,  Java Servlet Extended from JAR Contents Content and structure Edit A WAR file may be  digitally signed  in the same way as a  JAR  file in order to allow others to d

Java: Jak działa compare?

ostatnio natrafiłem na implementacje Compare Stringów. Fajnie zobaczyć jak działa. W skrócie: Porównuje konkretne znaki Stringa i zwraca różnice w tablicy ascii, czyli int. Jeżeli zwracany int = 0, to znaczy, że są równe. Dla każdego innego nie są równe. Oto implementacja: public int compareTo (String anotherString) { int len1 = value . length ; int len2 = anotherString. value . length ; int lim = Math. min (len1 , len2) ; char v1[] = value ; char v2[] = anotherString. value ; int k = 0 ; while (k < lim) { char c1 = v1[k] ; char c2 = v2[k] ; if (c1 != c2) { return c1 - c2 ; } k++ ; } return len1 - len2 ; } Fajne, nie prawdasz? Jedyne co nie było dla mnie zrozumiałem, to skąd się bierze value? A no stąd, że compare jest wywoływane na czymś, i to jest wartość tego czegoś. A, ze nie zgłasza błędu, to znaczy, że pewnie jakiś rodzic ma to zadeklarowane - pewnie jakaś klasa abstrakcyjna,

IntelliJ: obsługa Gita

Obraz
Żeby GIT działał w IntelliJ to trzeba go tam umieścić. Oto konfiguracja ( ze strony producenta ): To be able to use Git for version control, make sure that the  Git Integration  plugin is enabled  in the  Settings/Preferences  dialog ( Ctrl+Alt+S ) under  Plugins . Before you can  enable Git version control for an existing local project , or  clone a Git project from a remote repository , do the following: Download  and install Git. The minimal supported version is 2.4 for Windows and 1.8.0.0 for Linux and MacOS. In the  Settings/Preferences  dialog ( Ctrl+Alt+S ), select  Version Control | Git  in the left pane and specify the path to the Git executable. Set passwords for remote Git repositories Set passwords for Git remotes Every time you interact with a remote Git repository (for example, during a  pull ,  update , or  push  operation), it requires authorization. You can  configure IntelliJ IDEA to remember your passwords , so that you do not have to specif

Git: Kurs Gita od BitBucketa

Ostatnio słyszałem, że kurs GITa Aniserowicza kosztuje z 500 zł. Jak czytałem jednego z blogów, to rok temu kosztował 100 zł. Spora podwyżka, tym bardziej, że dzisiaj wrzucam linka do kursu za darmo i to od BitBucketa - autorytet jak dla mnie.     A znajomy mi mówił, że chyba na Udemy są fajne kursy i w niskiej cenie - z 30 zł, za to bardzo profesjonalni ludzie go tworzą. Bo być wysokiej klasy specjalistą to jedno, a umieć jeszcze przy tym przekazywać wiedzę to co innego. Ja wiem, że w kursach nawet za 17 tyś. to nie jest powszechne połączenie, więc zdecydowanie nie opłacają się te drogi kursy. A tutaj są fajne kursy od BitBucketa: Podstawowy Zaawansowany

Git Stash - schowek na tymczasowe zmiany w gicie bez konieczności commitowania na nowym branchu

Bardzo ciekawa sprawa. Pełny opis jest na  tej stronie : Schowek Często, gdy pracujesz nad jakąś częścią swojego projektu i są w nim wprowadzone zmiany, chciałbyś przełączyć się na inną gałąź, aby popracować nad inną funkcjonalnością. Problem w tym, że nie chcesz commitować zmian które są tylko częściowo wprowadzone, tylko po to abyś mógł do nich wrócić później. Rozwiązaniem tego problemu jest komenda  git stash . Podczas dodawania do schowka, pobrane zostaną zmiany które są w obecnym katalogu - czyli pliki które są śledzone i zostały zmodyfikowane oraz dodane do przechowalni - i zapisane zostaną w nim, tak aby mogły być ponownie użyte w dowolnym momencie. Zapisywanie Twojej pracy w schowku W celu zaprezentowania jak to działa, w projekcie nad którym obecnie pracujesz, wprowadzisz zmiany w kilku plikach i dodasz jeden z nich do przechowalni. Jeżeli uruchomisz komendę  git status , zobaczysz następujący wynik: $ git status # On branch master # Changes to be committed: # (

SQL server express: są limity na obsługę danych

Jak dowiadujemy się ze  strony producenta : ... Microsoft SQL Server Express ... databases have strict size limits, which may inhibit the amount of data that a GFI application can store in them. These limits are as follows:   Microsoft SQL Server 2005 Express edition has a database size limit to 4GB Microsoft SQL Server 2008 Express edition has a database size limit to 4GB Microsoft SQL Server 2008 R2 Express edition has a database size limit to 10GB Microsoft SQL Server 2012 Express edition has a database size limit to 10GB Microsoft SQL Server 2014 Express edition has a database size limit to 10GB Microsoft SQL Server 2016 Express edition has a database size limit to 10GB Wcześniej o tym nie wiem, teraz już wiem.

IntelliJ: Gdy Scrollem zaznaczymy pionowe wiersze i zaczniemy coś pisać, to będziemy pisać we wszystkich wierszach na raz

np. jest to przydatne jeśli tworzymy zapytanie SQL, albo mamy dużo zmiennych instacyjnych i chcemy u wszystkich jednocześnie zmienić statyczność. Już mi się przydało.

IntelliJ: ctrl+shift+alt+J zmienia wszystkie zmienne o takiej nazwie

Trochę to bardziej ryzykowne od shift+F6 , bo tutaj zmieniamy wszystkie zmienne, które się tak nazywają, jednakże jeśli mamy pewność, że ta zmienna, powinna się wszędzie nazywać inaczej, to zamiast szukać wszystkich i pojedyńczo zmieniać, to wystarczy użyć tego skrótu i gotowe za jednym razem. A ewentualnie zawsze potem można sobie sprawić czy to o te zmienne nam chodziło.

Activiti: outgoing sequence flow nie może być defaultowy jak ma conditiona

Obraz
Trochę poleciałem zagadką dzisiaj w tytule, ale wystarczy zobaczyć do tego error z jakim się spotkałem i chwilę się nad tym zastanowić, żeby obczaić ocb: Wszystko jasne? :)

Java: zbyt duża złożoność warunku, może popsuć ifa

Obraz
Jeszcze się nad tym zastanawiam, bo z jednej strony nie powinno tak być i apka powinna obsłużyć co tam jej wrzucimy, ale to nie zmienia faktu, że zadziało się tak jak się zadziało: To nie działało: a to zadziałało: Ma ktoś pomysł dlaczego tak?

Tomcat zatrzymuje się na poziomie (7), a wszystkie dostępy do bazy są ok

No i co wtedy robić? A no jest coś co trzeba sprawdzić, a w zasadzie skonfigurować. A mianowicie: W programie Sql Server Configuration Manager: 1. Sql Server Network config -> 2. Protocols for SQLExpress 3. (2-klik) TCP/IP 4. W zakladce "Protocol", "Enabled" -> "Yes" 5. W zakladce IP Adresses w TCP port wpisać 1433 i TCP dynamic Ports z “0” na puste zmienić ewentualnie: w Object explorer -> properties -> security ->zminieć na SWL serv and WInd auth mode

SQL: można inaczej wyświetlać wartości z bazy

Obraz
Jak to dodawałem do mojego planu bloga, to miałem chyba chwilowe zaciemnienie umysłu, bo nie wiem co w tym nadzwyczajnego (przykłady stąd ): SELECT 'Hello World !' AS Kolumna1      Jak to zobaczyłem, to postanowiłem trochę dalej przejrzeć różne opcje, bo ciężko mi było w to uwierzyć, to możliwe, że to dla mnie było takie zaskoczenie.     Przy okazji trafiłem na ciekawą konstrukcję, na którą już wcześniej trafiałem, ale ani nie wiedziałem ocb z nią, ani nie miałem wystarczająco motywacji, żeby ja wklepać w neta. A skoro teraz już jest znaleziona, to przeczytałem. Oto ona: USE something GO     poczytałem i już wiem, że to nic innego niż użycie konkretnej bazy danych .     Poszukałem dalej co z tym niestandardowym wyświetlaniem i znalazłem coś ciekawego: SELECT LastName + ' ' + FirstName AS ImieNazwisko, LEFT ( FirstName, 1 ) + '. ' + LastName AS ImieNazwisko2 FROM dbo. Employees     takie zapytanie daje oto taki ciekawszy