์ธ์์๋ ๋ค์ํ ๋ฐฉ๋ฒ๋ก ์ด ์๋ค(1) ๋ชฉํ๋ฅผ ์ ํ๊ณ ๋จ๊ฑฐ๋ฆฌ ๋ฌ๋ฆฌ๊ธฐ(2) ๋ชฉํ๋ฅผ ์ ํ๊ณ ์ฅ๊ฑฐ๋ฆฌ ๋ฌ๋ฆฌ๊ธฐ(3) ๋ ๊ฒ ๊ฐ์์ง? ์๋ ๊ฒ ๊ฐ์์ง? ์ง์ผ๋ณด๋ฉด์ ๋ชฉํ๋ฅผ ์ฌ๊ธ์ฌ๊ธ ์ ํ๊ธฐ CTO๋ก์ ๋์ด๋๊ฐ ๋์ ๊ธฐ์ ์ ๊ตฌํํ ๋๋ (AI, ๋ธ๋ก์ฒด์ธ ๋ฑ) 3๋ฒ์ด๋ค.์ 3๋ฒ์ธ๊ฐ?๊ฐ๋ฐ์ ๋
ธ๋ ฅ๋ง์ผ๋ก ๋๋๊ฒ ์๋๋ผ๋ฐ์ดํฐ ์์ง, ai ๋ชจ๋ธ, ์๋ฒ ๊ตฌ์ถ ๋ฑ ์ฌ๋ฌ๊ฐ์ง ๋๊ตฌ ๋ฐ ์์คํ
์ด ๊ฐ์ถฐ์ ธ์ผ ํจ๋๊ตฌ์ ์์คํ
์ด ์๋ค๋ฉด ๊ฐ๋ฐ์์ ๋
ธ๋ ฅ์ด ์์ด๋ ๊ธฐ๋ ์ดํ์ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์์3๋ฒ์ ์ฌ๊ณ ๋ฅผ ๊ธฐ๋ฅด๋ ค๋ฉด1. ์ด๋ป๊ฒ ๋ง๋ค๊ฑด๋ฐ?์ด ์ง๋ฌธ์ ๋ฌ๊ณ ์ด์์ผ ํ๋ค2. ์ฅ๊ธฐ๋ชฉํ๋ฅผ ์ ์คํ ์ ํด์ผ ํ๋ค= ์ฅ๊ธฐ๋ชฉํ๋ฅผ ๋์ค์ ์ ํด์ผ ํ๋ค์ฅ๊ธฐ ๋ชฉํ๋ฅผ ๋
๋ค ์ง๋ฅด๋๊ฒ ์๋๋ผ๋๋ค๋ฆฌ ๋๋๋ ค๋ณด๋ฏ ํ๋์ฉ ๋๋๋ ค๋ณด๋ฉด์ ๋จ๊ธฐ๋ชฉํ1, ๋จ๊ธฐ๋ชฉํ2, ๋จ๊ธฐ๋ชฉํ3์ด๋ฐ์์ผ๋ก ์ธ์ฐ๋ฉด์์คํ๋ ค ๊ธฐํ..
์ ์ฒด ๊ธ
๐ฉ๐ป java, mysql, android, php, javascript๋ฅผ ๋ค๋ฃน๋๋คAI์ ๋ฐ์ ์ ์ธ ์ฐจ๋ก์ ๊ฑธ์ณ ํฌ๊ฒ ๋ณํํด์์ต๋๋ค. 1์ฐจ AI ๋ถ์์๋ ๊ท์น ๊ธฐ๋ฐ ์์คํ
์ด ์ฃผ๋ชฉ๋ฐ์ผ๋ฉฐ AI์ ๊ธฐ์ด๊ฐ ๋ค์ ธ์ก์ต๋๋ค. ์ดํ 2์ฐจ AI ๋ถ์์๋ ๋จธ์ ๋ฌ๋์ ๋ฑ์ฅ๊ณผ ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ ๋๋ถ์ ์ ๊ฒฝ๋ง ํ์ต์ด ๊ฐ๋ฅํด์ง๋ฉด์ AI ์ฐ๊ตฌ๊ฐ ๋ค์ ํ๊ธฐ๋ฅผ ๋ ์์ต๋๋ค. 3์ฐจ AI ๋ถ์ ์ด๋ฅด๋ฌ์๋ ๋ฅ๋ฌ๋๊ณผ ์์ฑํ AI๊ฐ ๋ฐ์ ํ์ฌ ๋ค์ํ ์ฐ์
์์ ํ์ ์ ์ธ ์ฑ๊ณผ๋ฅผ ๋ด๊ณ ์์ต๋๋ค.์์ ์ฌ์ง์ ๋ณด๋ฉด, ๋จธ์ ๋ฌ๋์ด ๋ฑ์ฅํ๊ณ ๋์ ์์ฐจ์ ์ผ๋ก ๋ฅ๋ฌ๋์ด ๋ฑ์ฅํ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ ์ ์์ง๋ง, ์ค์ ๋ก๋ ๋์์ ๋ฐ์ ํด์์ต๋๋ค. ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋์ ์ํธ๋ฐ์ ๊ณผ ๊ณ์ธต๊ตฌ์กฐ์๋ฅผ๋ค์ด,1980๋
๋ ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋์
์ ๋จธ์ ๋ฌ๋์ ์ค์ํ ๋ฐ์ ์ด์์ต๋๋ค.์ด๋ฅผ ํตํด ๋น์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ฒ ๋์๊ณ , ๋ฅ๋ฌ๋์ ๋ ๊น์ ์ ๊ฒฝ๋ง์ผ๋ก ๋ณต์กํ ํจํด์ ์ธ..
๋๋ ๋์์ ์
๋ก๋๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์, ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋ ๊ด๋ฆฌ์ ์ค์์ฑ์ ๋ํด์ ์๊ฒ ๋์๋ค.์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋๋ฅผ ๊ด๋ฆฌํด์ผ ํ ๊น?๋ฉ์ธ ์ค๋ ๋๋ก ํ๋ฉด, ๊ฐ๋ฐ์ ์
์ฅ์์ ์ฝ๋ ์ง๊ธฐ๋ ์ฌ์ด๋ฐ...๋ฐ๋ก '์ฌ์ฉ์ ๊ฒฝํ' ๋๋ฌธ์ด๋ค.์๋ฅผ๋ค์ด, http ๋ ํธ๋กํ ์์ฒญ์ผ๋ก ์๋ฒ์ ๋์์ ํ์ผ์ ์
๋ก๋ ํ๋ฉด ์งง๊ฒ๋ 20์ด~1๋ถ ๊ฐ๋ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค.์ด๋ฐ ๊ฒฝ์ฐ์ http์์ฒญ์ ์๋ต์ด ์ฌ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ํน์ฑ์ด ์์ด์, ์กํฐ๋นํฐ์์ http ์์ฒญ์ ๋ณด๋ธ ๊ฒฝ์ฐ์ ๊ณ์ ๋๊ธฐ๋ฅผ ํด์ผ ํ๋ค.์ฌ์ฉ์ ์
์ฅ์์๋ ์ธ์ ๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋์ง ์๊ธธ์ด ์๊ธฐ ๋๋ฌธ์์ฑ์ ๋๊ณ ์ถ์ด์ง๋ค... ๋ฐ๋ผ์, ๋ฉ๋ํ ์ฑ์ด ๋ ์ ์๋๋ก(1)๋์์ ์
๋ก๋ ์์ฒญ์ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌ(์์ฒญ์ ๋ณด๋ธ ํ ์๋ต๊ณผ ๊ด๊ณ์์ด ๋ค์ ๋์์ ์คํ)ํ๊ณ , (2)๋์์์ด ์ ์
๋ก๋ ๋..
๋๋ณด๊ธฐ ubuntu@ip-172-31-46-103:/var/www/html$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer..
s3๋? aws s3๋ ์คํ ๋ฆฌ์ง ์๋น์ค(Storage Service)์ด๋ค. ์ฝ๊ฒ ๋งํ์๋ฉด ํน์ ํ ์ฌ์ง,๋์์ ๋ฑ์ ํ์ผ์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ์๋น์ค์ด๋ค. s3์์ ๊ฐ์ฒด(Object)๋ ์ ์ฅ๋๋ ํ์ผ์ ์๋ฏธํ๊ณ , ๋ฒํท(Bucket)์ ํ์ผ์ด ์ ์ฅ๋ ํ๋ก์ ํธ๋ฅผ ์๋ฏธํ๋ค s3๋ ํค(๊ณ ์ ์๋ณ์)์ ๊ฐ(๋ฐ์ดํฐ ์์ฒด)๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ์กฐ๊ฐ์ธ ๊ฐ์ฒด์ ๊ฐ๋
์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. ๊ฐ์ฒด๋ ํ
์คํธ ํ์ผ์์ ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด ์ฝํ
์ธ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ฌด์์ด๋ ๋ ์ ์๋ค. ํฌ๊ธฐ๋ ์ต๋ 5TB๊ฐ ๋ ์ ์๋ค. ๋์์ ์
๋ก๋ ์๊ฐ์ ์ค์ฌ๋ณด๊ณ ์, ๋์์ ํ์ผ์ ffmpeg๋ก ์์ถํ์ฌ, s3 bucket์ ์
๋ก๋ ํ๋ค. 220MB => 13.5MB๋ก ํ์คํ ์์ถ๋๊ธด ํ์ง๋ง ์์ถํ๋๋ฐ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค. /..
์ฐ๋ฆฌ๊ฐ php server์์ fcm server๋ก ์๋ฆผ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ๋๋, php server์์ server key๋ฅผ ์ฒจ๋ถํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ค์ผ ํ๋ค. server key๋ ๋ชจ๋๊ฐ ์๋ฏ์ด ํ์ด์ด๋ฒ ์ด์ค ์ฝ์์์ ๋ฐ๊ธ๋ฐ์ ํ ํ์ธํ ์ ์๋ค ๋ค์ ๋งํฌ๋ ์๋ฒํค ๋ฐ๊ธ์ด ์๋ฃ๋ ํ, ํ์ธํ ์ ์๋ ๋งํฌ์ด๋ค. https://console.firebase.google.com/project/tiki-taka-22f76/settings/cloudmessaging ๋ก๊ทธ์ธ - Google ๊ณ์ ์ด๋ฉ์ผ ๋๋ ํด๋์ ํ accounts.google.com ๊ทธ๋ฐ๋ฐ, ์ด ๋งํฌ์์ ์๋ฒํค๋ฅผ ํ์ธํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.... ์๋ฒํค๋ฅผ ํ์ผ๋ก๋ง ๊ฐ์ง๊ณ ์๊ณ , ํํ์ด์ง์ ๋ฐ๋ก ์๋ฒํค๊ฐ ์๋จ๋ ๊ฒฝ์ฐ์ด๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ Cloud Mess..
public class FirebaseCloudMessageService { // ์๋ฆผ ๋ฉ์์ง์ ๋ฐ์ดํฐ ํ์ด๋ก๋ ํฌํจ public static void sendMessage(String registrationToken, String content, int messageId, int roomId, String name, String userProfile) throws Exception { // ๋ฐ์ดํฐ ๋ฉ์ธ์ง // ํฌ๊ทธ๋ผ์ด๋, ๋ฐฑ๊ทธ๋ผ์ด๋์์๋ ์ง์ ์ผ๊ด๋๊ฒ ์ฒ๋ฆฌ Message message = Message.builder() // ๋ฉ์์ง ๊ตฌ์ฑ์ ์์ํ ์ ์๋ Builder ๊ฐ์ฒด๊ฐ ๋ฐํ .putData("title", name) // ์๋ฆผ ์ ๋ชฉ์ ๋ฐ์ดํฐ ํ์ด๋ก๋์ ์ถ๊ฐ .putData("userProfile..
fcm์ ์ฌ์ฉํ๋ ค๊ณ ์ฌ๋ฌ ์ธํ
์ ํ๋ ๋์ค์, ์๋ก์ด ํ ํฐ์ ๋ฐ๊ธ ๋ฐ์์ผ๋ ์ ํ ํฐ์ด ๋ถ๋ฌ์์ง์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. public class MyFirebaseMessagingService extends FirebaseMessagingService { String CHANNEL_ID; String CHANNEL_NAME; int userId; ChatApiService service; private static final String TAG = "FCM Service"; // ์๋น์ค๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋๋ฉฐ, ์ฌ๊ธฐ์ FCM ํ ํฐ์ ์์ฒญํ๋ ๊ฒ์ด ์ข์ต๋๋ค. @Override public void onCreate() { super.onCreate(); userId = SharedPreferencesHelper..