8000 GitHub - soohkang/juha_refo: 42 Seoul
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

soohkang/juha_refo

 
 

Folders and files

NameName
Last commit message
Last commit date

8000 Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hi Juha_refo

Usage

git clone git@github.com:contemplation-person/juha_refo.git --recursive-submodul

summary

This repository is the outcome of my project-based learning (PBL) at 42 Seoul.
All assignments were written for the Intel Mac environment.

contents

index Project name Simple explanation Skill Collaboration
1 pong-nyan make ping-pong game website Typescript, next, nest, docker, postgresql, metter.js 5 people
2 IRC make irc chatting program cpp 3 people
3 inception written Dockerfiles for WordPress, Nginx, and MariaDB, and bundled them together using Docker Compose, then deployed them to Docker. docker single project
4 CPP I have acquired fundamental C++ skills. cpp single project
5 philo I implemented the well-known Dining Philosophers problem and experimented with multi-threading. C single project
6 minishell make small shell C 2 people
7 so_long Implementing a Small 2D Game using MLX C single project
8 pipex Implementing Pipe Communication. C single project
9 printf Implementing c function printf, using the Variadic Arguments C single project
10 libft Creating My Own Library C single project

Detail

pong-nyan

main

  • In this assignment, the login function was implemented using Oauth. Oauth

  • If users wish, they can set up 2FA using Google Authenticator. 2fa

  • We have implemented an advanced game that combines the basic ping pong game and pinball. game game scoreboard1 scoreboard1

  • Chat channels and chat rooms have also been implemented, and user profiles can also be changed. chat chat

  • We also implemented a score page that shows each user's recorded score. score

  • We used nginx to connect the socket, front, and backend.
  • User match records are stored in postgresql.
  • A docker compose file was created to allow development regardless of the development environment, nest was used for the backend, and react and next were used for the frontend. docker
  • Rather than using a separate library to maintain the state, we implemented it individually using drilling technology.

top


IRC

IRC

  • We created a chat server using the basic Internet Relay Chat Protocol.
  • I created a server using multiplexing technology using the select function.
  • I was in charge of server implementation and implemented the channel topic and mode.

top

INCEPTION

CPP

00

cpp00

  • Module 00 - 00 is a simple project that prints a sentence.
  • Module 00 - 01 is creating the phonebook.

01

top

philo

Philosophers

  • A program that implements the famous dining philosophers problem in code.
  • I used multithreading to write the program.
  • The output may vary depending on the user's computer environment.

Usage

  • 1 < Number of philosohpers < 100
  • eating time + sleeping time * 1.4 < Total suvival time
  • 0 < Meal time per philosopher < INT_MAX
cd juha_refo/success_mission/philo
make; ./philo 20 500 200 200 4
#./philo [Number of philosophers] [Total survival time] [Eating time] [Sleeping time] [Meal time per philosopher]

top


Minishell

minishell

Usage

cd juha_refo/success_mission/minishell
make; ./minishell
  • It's an assignment to create a small shell.
  • Handle ’ (single quote) which should prevent the shell from interpreting the meta- characters in the quoted sequence.
  • Handle " (double quote) which should prevent the shell from interpreting the meta- characters in the quoted sequence except for $ (dollar sign).
  • Implement redirections:
  • < should redirect input.
  • > should redirect output.
  • << should be given a delimiter, then read the input until a line containing the delimiter is seen. However, it doesn’t have to update the history!
  • >> should redirect output in append mode.
  • Implement pipes (| character). The output of each command in the pipeline is connected to the input of the next command via a pipe.
  • Handle environment variables ($ followed by a sequence of characters) which should expand to their values.
  • Handle $? which should expand to the exit status of the most recently executed foreground pipeline.
  • Handle ctrl-C, ctrl-D and ctrl-\ which should behave like in bash.
  • In interactive mode:
  • ctrl-C displays a new prompt on a new line.
  • ctrl-D exits the shell.
  • ctrl-\ does nothing.
  • Your shell must implement the following builtins:
  • echo with option -n
  • cd with only a relative or absolute path
  • pwd with no options
  • export with no options
  • unset with no options
  • env with no options or arguments
  • exit with no options

top


So_long

so_long

  • It's a simple 2D program where you pass through the exit after collecting all the coins.

Usage

cd juha_refo/success_mission/so_long
make; ./so_long ./map/13.ber

Movement keys: Up : w Down : s Left : a Right: d

game clear condition

  • Collect all the coins and exit pipe

top


Pipex

pipex

  • The task is to implement pipes, a shell command-line option.

Usage

cd juha_refo/success_mission/printf
make; ./pipex [input_filename] [cmd] [cmd] [output_filename]

top


Printf

Printf

  • %c, %s, %p, %d, %i, %u, %x, %X, %% of actual printf were implemented using variable arguments.

Usage

cd juha_refo/success_mission/printf
make

top


Libft

Libft

  • The libft task is to create my own static C library.
  • Some functions were created identically to the standard C library, and functions such as list functions and get_next_line were created as needed.

Usage

cd juha_refo/success_mission/libft
make

top

About

42 Seoul

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 63.4%
  • C++ 24.1%
  • Objective-C 5.8%
  • Makefile 5.7%
  • PHP 0.5%
  • Shell 0.3%
  • Dockerfile 0.2%
BB8
0