Skip to content

Instantly share code, notes, and snippets.

@ufuk
ufuk / intellij-code-template-for-service-dao-tests.vm
Last active March 12, 2022 17:59
IntelliJ Code Template for Service and DAO Tests
#set ($IS_SERVICE_TEST = ${NAME.endsWith("ServiceTest")})
#set ($IS_VIEW_TEST = ${NAME.endsWith("ViewTest")})
#set ($IS_CONTROLLER_TEST = ${NAME.endsWith("ControllerTest")})
#set ($IS_MOCK_TEST = ${IS_SERVICE_TEST} or ${IS_VIEW_TEST} or ${IS_CONTROLLER_TEST})
#set ($IS_DAO_TEST = ${NAME.endsWith("DaoTest")})
#set ($IS_MOCK_OR_DAO_TEST = ${IS_MOCK_TEST} or ${IS_DAO_TEST})
#set ($TESTING_CLASS_NAME = ${NAME.split("Test")[0]})
@ufuk
ufuk / Sort Map By Collection Value Size (descending).md
Last active August 29, 2015 14:11
Sort Map By Collection Value Size (descending)

Note: Add a new criteria to compare method if sizes are equal.

Map<X, Set<Y>> notSortedMap = ...

Map<X, Set<Y>> sortedMap = new TreeMap<>(new Comparator<X>() {
    @Override
    public int compare(X firstX, X secondX) {
        return Integer.valueOf(notSortedMap.get(secondX).size()).compareTo(Integer.valueOf(notSortedMap.get(firstX).size()));
 }
@ufuk
ufuk / Convert cp1254 encoded file to utf-8
Created December 30, 2014 22:03
Convert cp1254 encoded file to utf-8
iconv -f cp1254 -t utf-8 original_file.srt > new_file.srt
@ufuk
ufuk / Git Branch İsimlerinde Büyük-Küçük Harf Karmaşası.md
Last active August 29, 2015 14:13
"Git Branch İsimlerinde Büyük/Küçük Harf Karmaşası" hakkında blog yazım (n11.com)

Eğer geliştirme takımı kendi içinde takımlara ayrılmışsa Feature Branch'leri takım ismine uygun şekilde klasörler altında oluşturmak Source Tree gibi araçlar kullanırken branchleri görüntülemede kolaylık sağlayacaktır.

Burada bu branchleri oluştururken dikkat edilmesi gereken bir durumdan söz edeceğim.

Mac OS X dosya sistemi büyük/küçük harf duyarlı değildir, yani aynı klasör altında farklı büyük/küçük harf kombinasyonuna sahip olsa bile aynı isimde dosya/klasör oluşturulamaz. Bu nedenle Git'te branchlerimizi grup adlarına göre klasörlerken grup adı için standart bir biçim kullanmamız en iyisi olacaktır.

Örneğin "Grup1" ve "GRUP1" OS X için aynı anlamdadır ve ikisinin aynı anda varolduğu bir T anında Source Tree'nin ve Git'in kafası yanmak üzere demektir. Local repomuzda "Grup1/Issue-1071" adlı bir branch olduğunu düşünelim. Remotetaki "GRUP1/Issue-1453" adlı bir branche geçmek istediğimizde localimizde "Grup1" adlı bir klasör varolduğu için (".git/refs/heads/" altında) "GRUP1/Issue-1453" branchi remotetak

@ufuk
ufuk / ArrayUtils.java
Last active July 8, 2018 14:36
Getting a random enum value by Enum type
package ...;
import ...RandomUtils;
public final class ArrayUtils {
private ArrayUtils() {
}
public static <T> T random(T[] array) {
@ufuk
ufuk / BaseMockitoTest.java
Last active April 9, 2019 20:30
Performs "verify no more interactions" check automatically for all mock objects (works with Mockito version 2). For detailed description: https://ufukuzun.wordpress.com/2019/04/09/ne-olup-bittiginden-habersiz-testlere-derman-mockscollector/ (Turkish)
import org.apache.commons.lang3.ArrayUtils;
import org.junit.After;
import org.junit.runner.RunWith;
import org.mockito.InOrder;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.verifyNoMoreInteractions;
@RunWith(MockitoJUnitRunner.class)
@ufuk
ufuk / cut-text.css
Last active April 27, 2020 06:51
Cut a long text with three dots (...)
.cut-text {
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@ufuk
ufuk / download-youtube-mp3.sh
Created August 13, 2016 11:07
Download YouTube video as MP3
youtube-dl --extract-audio --audio-format mp3 <video URL>
@ufuk
ufuk / EntityBuilder.java
Created August 16, 2016 07:04
ObjectBuilder & EntityBuilder
import ...BaseEntity;
import org.apache.commons.lang.math.RandomUtils;
import org.hibernate.Session;
public class EntityBuilder<T extends BaseEntity> extends ObjectBuilder<T> {
@Override
public EntityBuilder<T> set(String fieldName, Object value) {
return (EntityBuilder<T>) super.set(fieldName, value);
}
@ufuk
ufuk / Child.java
Last active October 5, 2016 21:14
Workaround for Project Lombok's builders with inheritance issue.
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Child extends Parent {
private String childField_1;