= under construction =
. git clone https://github.com/apereo/cas-overlay-template.git
. copy etc/cas/config to /etc/cas/config
. edit /etc/cas/config to point to your domain
. mvn clean package
. java -jar cas.war
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString | |
let year = 'numeric'; | |
let month = '2-digit'; | |
let day = '2-digit'; | |
let hour = '2-digit'; | |
let minute = '2-digit'; | |
let second = '2-digit'; | |
let hour12 = false; | |
let weekday = 'short'; | |
let era = 'narrow'; |
// Use Gists to store code you would like to remember later on | |
console.log(window); // log the "window" object to the console |
= under construction =
. git clone https://github.com/apereo/cas-overlay-template.git
. copy etc/cas/config to /etc/cas/config
. edit /etc/cas/config to point to your domain
. mvn clean package
. java -jar cas.war
<resource-root path="eclipselink.jar">
<filter>
<exclude path="javax/**" />
</filter>
</resource-root>
Add to java opts:
-Djboss.modules.system.pkgs=org.netbeans.lib.profiler.server
import java.util.Arrays; | |
import java.util.List; | |
public class RadixSort { | |
public static List<String> sort(List<String> strings, int maxDigits) { | |
List<String> sorted = strings; | |
for (int i = maxDigits - 1; i > 0; i--) { | |
sorted = countSort(sorted, i); | |
} | |
return sorted; |
npm install -g npm
to update npm to the latest versionNow you can use npm and node from windows cmd or from bash shell like Git Bash of msysgit.
update sonar.snapshots old_snap set old_snap.islast=0 | |
where islast=1 | |
and exists ( | |
select * from sonar.snapshots new_snap | |
where new_snap.created_at > old_snap.created_at | |
and new_snap.project_id = old_snap.project_id | |
and new_snap.islast=1 | |
); |
Quando uma entidade possui relacionamentos no JPA e a entidade do relacionamento é acionada, o provedor de persistência executa um select no banco. Isso leva a um problema conhecido como ORM n+1, que ocorre quando n entidades é obtida e para cada entidade da lista precisamos acessar um relacionamento, o JPA executará a um select para obter a lista, e para cada elemento da lista executará um select, totalizando n+1 selects no banco. Este é um motivo de lentidão de páginas JSF que contém tabelas e listas que deveriam ser simples.
Colocar o relacionamento como EAGER não é uma solução correta, pois EAGER apenas informa que o relacionamento deve ser carregado, podendo o provedor fazer um novo select para cada relacionamento EAGER de uma entidade.
Existem duas soluções comuns implementadas em provedores de persistência para resolver este problema, JOIN FETCH e BATCH FETCH, que serão explicadas abaixo.
JOIN FETCH