Name | Description |
---|---|
Java Handbook | 60 pages of handbook I prepared while learning Java. |
Design Principles | My handbook explaining some design principles such as GRASP, SOLID and Law of Demeter. |
Design Patterns | It includes my notes on GoF Design Patterns. (I am currently working on these topics and constantly updating this folder.) |
C and Java Structural Comparison | A 3000-word essay comparing C and Java. |
Project | Description |
---|---|
STS-Mobile Side | Mobile side of Student Tracking System which we develop for a private school |
Turkish Airlines Best Price Guarantee | This project was developed for the hackathon after the "Turkish Technology Fintech Bootcamp" and is one of the finalist projects of the hackathon. |
Employee Directory | This spring boot project is a sample employee directory with CRUD functionalities. In this project, Spring Data JPA is used for CRUD functionalities and Spring AOP is used keep track of transaction, auditing, scheduled logging, and shutdown situations. |
Knocomy | A knowledge competition game which developed in android studio |
Vet Booking | A vet booking system which developed using android studio and java |
Tetris Project | A self-playing tetris game that tries to best align tetrominos, and a playable tetris game which developed in Java Swing |
Finding Shortest Path on Huge Maps | Finding the shortest path of two point on huge maps and comparison of Dijkstra and BFS algorithms. |
File Search with JTree | Implementation of traversal algorithms such as DFS, BFS, post-order traversal on JTree. |
Learning Project | Description |
---|---|
UDPClient | Creating a UDP Client with using DatagramSocket and DatagramPacket classes, and communication with UDP Server |
UDPServer | Creating a UDP Server with using DatagramSocket and DatagramPacket classes, and communication with UDP Client |
TCPClient | Creating TCP Client with Socket class and communicating with TCP Server. |
TCPServer | Creating TCP Server with Socket and ServerSocket classes and communicating with TCP Client. |
Networking | Using URI, URL, URLConnection classes and reading data from a website. |
JDBC | JDBC connection, SQLite CRUD operations, JPMS usage and settings. Transaction construction with Java and SQLite. |
JUnit | JUnit5 usage. |
ThreadExercises | Overcoming multithreading problems with the ReentrantLock class. Comparison of ReentrantLock class with synchronized keyword. |
ThreadIssues | Handling and examining multithreading problems such as deadlock, livelock, thread starvation. Overcoming these problems with synchronization. |
ArrayBlockingQueue | ArrayBlockingQueue and its advantages on threads. |
ProducerConsumer | preventing thread problems using with ReentrantLock and ExecutorService in concurrent programming. Working with Thread Pool. |
MessagesProject | Introduction to synchronization on threads. |
ThreadCounter | Examining the race condition problem, preparing a counter. |
Threads | Introduction to thread, Runnable interface. |
DataStreams | Read/write operations on dat files with Input/Output Streams. Serialization on Java. |
RandomAccessFile | RandomAccessFile usage. Its advantages and limits. |
ManagingFiles | File operations with methods such as Files.move(), Files.delete() in the Files class. api to console, api to txt data transfer with InputStream.transferTo() method. |
WritingFiles | writing which given input with FileWriter, BufferedWriter and PrintWriter as csv file. |
ReadingWithNIO2 | Reading with NIO2. |
ScannerProject | Creating different scanners. Using Scanner with Stream API. |
ReadingFiles | Reading file with FileReader. |
FileWalker | Implementation of the FileVisitor interface and traversal on files with the Files.walkFileTree() method. |
FileListings | File Listings with NIO and Stream API. |
FileFilesPath | File operations with File, Files, and Path classes. |
FileExceptions | EAFP and LBYL approaches. Introduction to Java IO and Java NIO. |
PatternMatching | Regular Expressions with Pattern and Matcher classes. Usage and advantages of these classes. |
RegularExpressions | Introduction to Regular Expressions. |
ResourceBundle | Internationalization with ResourceBundle. |
LocalizationProject | A Localization exercises. |
Localization | Introduction to Localization |
TimeProject | Usage of LocalDate, LocalTime, Instant and Period classes. |
RollingDice | Randomization with Random class |
JsonConverterProject | Create random 1000 students and save they in JSON format as students.json |
StreamingStudents | Stream API, Introduction to Optional Class. |
Streams | Introduction to Stream API. |
GameConsole | Sealed Classes, enum classes containing methods, Java Generic, instance and static initializer blocks examples. |
ConstructorsProject | Instance and Static initializer blocks. Record (canonical and compact constructor), Enum (constructor, pass parameters) |
SimpleBankStructure | Examining deep copy and defensive copy. |