Skip to content

Instantly share code, notes, and snippets.

View zbigniewTomczak's full-sized avatar

zbigniewTomczak

View GitHub Profile
@zbigniewTomczak
zbigniewTomczak / html-regexp.txt
Created June 8, 2013 12:38
Regexp to match html tags
</?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>
@zbigniewTomczak
zbigniewTomczak / MemberRegistrationTest.java
Created April 12, 2013 08:53
Test stateless bean with @Inject managed fields as a pojo with mocks from mockito, persistence provider with manual transaction management. Doesn't require any changes in tested bean (no setters nor constructors setters).
package tomczak.test;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Logger;
import javax.enterprise.event.Event;
import javax.inject.Inject;
@zbigniewTomczak
zbigniewTomczak / get-hibernate-session-jpa.java
Last active December 15, 2015 22:59
Get hibernate Session in JPA
org.hibernate.Session session = entityManager.unwrap( org.hibernate.Session.class );
public interface CalculatorCommonBusiness {
int add(int... arguments);
}
public interface CalculatorLocal extends CalculatorCommonBusiness, javax.ejb.EJBLocalObject {
}
public interface CalculatorRemote extends CalculatorCommonBusiness, javax.ejb.EJBObject {
@zbigniewTomczak
zbigniewTomczak / StorePassword.java
Created March 7, 2013 14:32
Salt plus iterative hash password generation in Java. Salt should be stored next to hashed password for authentication. This algorithm can be enhanced with second salt - application wide salt. Another variation is concatenating it with username. Hashing calculation algorithm should be kept safe.
import java.nio.*;
import java.nio.charset.*;
import java.security.*;
import java.util.*;
public class StorePassword {
public static int hashCount = 10000;
public static String hashAlgorithm = "SHA-512";
public static String charset = "UTF-8";
@zbigniewTomczak
zbigniewTomczak / nonce.md
Last active December 14, 2015 11:58
nonce

nonce

nonce - number user once

prevents replay attacks, semantic URL attacks

nonce = md5(actionName + itemId + userid + timestamp + salt);

<a href="/items/delete?item=7243&nonce=$nonce&timestamp=$timestamp">delete item</a>
@zbigniewTomczak
zbigniewTomczak / ejb-rollback.java
Created March 4, 2013 13:33
Rollback application exception in EJB
@Resource
private EJBContext context;
...
//inside transactional method
context.setRollbackOnly();
throw new RuntimeException();
OLTP - On-line transactional processing
OLAP - On-line analytical processing
ETL - Extract, transform, load
Po co hurtownia danych:
- Wykonywanie analiz biznesowych bez ingerencji w systemy transakcyjne
- Wspomaganie decyzji
- Całościowy wgląd w dane firmy
- Dostęp do danych historycznych
- Ujednolicenie posiadanych informacji

Uniwersytet Kalifornijski w San Diego tworzy nowy etat „prorektora ds. równości, różnorodności i włączenia”. To stanowisko powiększy ogromny już aparat różnorodności na uniwersytecie, do którego należą: Rektorskie Biuro ds. Różnorodności, prorektor nadzwyczajny ds. równości kadry naukowej, prorektor asystujący ds. różnorodności, doradcy ds. równości kadry naukowej, koordynatorzy różnorodności, związek różnorodności pracowników, związek różnorodności na studiach licencjackich, związek różnorodności na studiach magisterskich, główny urzędnik ds. różnorodności, dyrektor rozwoju ds. inicjatyw na rzecz różnorodności, Urząd Różnorodności Akademickiej i Równych Możliwości, Komitet ds. Tożsamości Płciowej i Orientacji Seksualnej, Komitet Statusu Kobiet, Rada Kampusu ds. Klimatu, Kultury i Włączenia, Rada Różnorodności oraz dyrektorzy Centrum Międzykulturowego, Ośrodek Zasobów dla Lesbijek, Gejów, Biseksualistów i Osób Transgenderycznych oraz Centrum Kobiet.

Źródło: http://www.city-journal.org/2011/cjc0714hm.html

Concurrency - wielowatkowosc
---
Keyboard/mouse response during program busy work
High level API - java.util.concurrent
Procesy i watki - processes and threads
Single core, time slicing
Multiple processors, multi core processors
IPC - inter process communication: pipes, sockets
Java create process - ProcessBuilder
Thread - lightweight process - watek - lekki proces