Welcome to Day 4

์˜ค๋Š˜ ๊ฐ•์˜๋Š” ๋‘๊ฐ€์ง€ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค:

  • ๋™์‹œ์„ฑ: ์“ฐ๋ ˆ๋“œ, ์ฑ„๋„, ์ƒํƒœ ๊ณต์œ (์‰์–ด ์Šคํ…Œ์ดํŠธ), Send์™€ Sync
  • ์•ˆ๋“œ๋กœ์ด๋“œ: ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž‘์„ฑ, AIDL ์‚ฌ์šฉ, ๋กœ๊น…๊ณผ C/C++, ์ž๋ฐ”์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ

์šฐ๋ฆฌ๋Š” ์˜ค๋Š˜ ๋‹น์‹ ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ธ์ถœํ•ด๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฝ”๋“œ ์ค‘์— ์ž‘์€ ๋ถ€๋ถ„์„ ์ฐพ์•„๋ณด์„ธ์š” ์ข…์†์„ฑ์ด ์ ๊ณ  ํŠน์ด ํƒ€์ž…์ด ์ ์„ ์ˆ˜๋ก ์ข‹์Šต๋‹ˆ๋‹ค. raw byte๋ฅผ ๋ถ„์„ํ•˜๋Š” ์ข…๋ฅ˜์˜ ๊ฒƒ์ด ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

Today we will look at two main topics:

  • Concurrency: threads, channels, shared state, Send and Sync.

  • Android: building binaries and libraries, using AIDL, logging, and interoperability with C, C++, and Java.

We will attempt to call Rust from one of your own projects today. So try to find a little corner of your code base where we can move some lines of code to Rust. The fewer dependencies and โ€œexoticโ€ types the better. Something that parses some raw bytes would be ideal.