dohyunlim
Reviews Written
6
Average Rating
5.0
Posts
Q&A
Producer์ acks ์ค์ ๊ด๋ จ ์ค์ต ์ง๋ฌธ
Producer์ acks ์ค์ ๊ด๋ จ ์ค์ต ๊ฐ์์์ ๋ฐ๋ก ์ด์ ์ด๋ก ๊ฐ์์์ acks ๊ฐ All ์ด๋ฉด client send ํ๋ ๊ฒฝ์ฐ์ min_insync_replica ๊ฐ์ด 2๋ฉด 2๊ฐ์ replica์๊ฒ ๋ณต์ ๋ฅผ ํ ํ์ client์๊ฒ ack ๋ฅผ ๋๋ ค์ฃผ๊ณ replica๊ฐ ๊ณ ์ฅ์ด๋ผ ๋ณต์ ๋ฅผ 2๋ฒ ๋ชปํ๋ฉด NOT_ENOUGH_REPLICAS ์๋ฌ๋ฅผ ๋ธ๋ค๊ณ ํ์ ์์์ ์ ๊ฒฝ์ฐ acks = -1 ์ด๊ณ ์ ํฌ๋ replica๊ฐ ํ๋๋ ์์ผ๋ min_insync_replica๊ฐ 0 ์ด๋ผ ์๋ฌ๋ฅผ ์๋ด๋๊ฒ์ธ๊ฐ ํ๊ณ ๊ถ๊ธํ์ต๋๋ค.
- 0
- 2
- 254
Q&A
์ฌ๋ฌ ๊ฐ์ ํํฐ์ ์ ๊ฐ์ง๋ ๋ฉ์์ง ์ ์ก ์ค์ต / ์ง๋ฌธ
https://docs.confluent.io/platform/current/installation/configuration/producer-configs.html#partitioner-class์๊ณ ๋ฅผ ์ฐธ๊ณ ํด์ ์ถ๊ฐ ์ค์ ํ๋๋ stickyํ๊ฒ ๋์ํ์ง ์๊ฒ ๋์๋ค์(์ฌ์ง)
- 0
- 2
- 283
Q&A
[3.5์ฅ ์ปจํ์คํธ ํ ] 3.5.2 useContenxt ์์ ์ง๋ฌธ์ด ์์ต๋๋ค.
์ ๊ฐ ์ง๋ฌธ์ ์๋ฑํ๊ฒ ๋๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค.class component์ ๊ฒฝ์ฐ ์์ ์ state ๋ณ์๊ฐ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ฉด ํด๋น class component์ child๋ค์ด ์์๋๋ก rendering์ด ๋ค์ ์ผ์ด๋๊ฒ ๋๋๋ฐ function useContext(context) { console.log("userContext, context.emitter.get() = ", context.emitter.get()); const [value, setValue] = React.useState(context.emitter.get()); React.useEffect(() => { console.log("Consumer useEffect"); context.emitter.on(setValue); return () => { console.log("Consumer useEffect clean"); context.emitter.off(setValue); }; }, [context]); return value; }useContext function component ์์ ์ฌ์ฉ๋ useState์ state๊ฐ ๋ณ๊ฒฝ์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๋ฉด const Count = () => { console.log("Count render"); const { count } = MyReact.useContext(countContext); return {count}; }; (์ฌ์ง)Provider์ useEffect ์ emitter set์ ํตํด emitter ๊ฐ์ด ๋น๊ฐ์ฒด์์ ์ ๋๋ก ์ฑ์์ง๊ฒ ๋๋๋ฐ์ด๋ ๋ณ๊ฒฝ๋ ๊ฒ์ useContext์ state์ธ๋ฐ ์ Count๊ฐ re render๋๋์ง ๊ถ๊ธํ์ต๋๋ค.์ ๋ฆฌํ๋ฉด ํจ์ ์ปดํฌ๋ํธ์์ state๊ฐ ๋ณ๊ฒฝ๋ ๋ re render๋๋ ๋ฒ์ ๋ฐ ์์๊ฐ ๊ถ๊ธํ์์ต๋๋ค.
- 1
- 2
- 394
Q&A
wls2 ์์ ๋์ปค๋ก ํ๋ก๋ฉํ ์ฐ์ค ๋์ด๊ฒ์ ๊ดํ์ฌ
static_configs: - targets: ["192.168.31.32:19090"](์ฌ์ง)19090์ผ๋ก ๋ฐ๊พธ๋๊น ํด๊ฒฐ๋์๋ค์ ๋ถ๋ช ํ ํด๋ดค์๋๋ฐ.. ใ ใ
- 1
- 3
- 871
Q&A
csrfTokenRepo ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity // .csrf().csrfTokenRepository(new HttpSessionCsrfTokenRepository()); .csrf().csrfTokenRepository(new CookieCsrfTokenRepository()); // .csrf(); httpSecurity .formLogin(); httpSecurity .authorizeRequests() .antMatchers("/login","/").permitAll() .antMatchers("/user").hasRole("USER") .antMatchers("/admin/pay").hasRole("ADMIN") .antMatchers("/admin/**").access("hasRole('ADMIN') or hasRole('SYS')") .anyRequest().authenticated(); return httpSecurity.build(); }(์ฌ์ง)cookierepo ์ค์ ์ผ๋ก ํ๋ฉด cookie๋ก ์๋ณด๋ด์ฃผ์ง๋ง session repo๋ก ์ค์ ํ๊ฒ ๋๋ฉด @Bean public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity .csrf().csrfTokenRepository(new HttpSessionCsrfTokenRepository()); // .csrf().csrfTokenRepository(new CookieCsrfTokenRepository()); // .csrf(); httpSecurity .formLogin(); httpSecurity .authorizeRequests() .antMatchers("/login","/").permitAll() .antMatchers("/user").hasRole("USER") .antMatchers("/admin/pay").hasRole("ADMIN") .antMatchers("/admin/**").access("hasRole('ADMIN') or hasRole('SYS')") .anyRequest().authenticated(); return httpSecurity.build(); }(์ฌ์ง)response header์ ์๋ฌด๊ฒ๋ ๋์ด์ค์ง ์์ต๋๋ค.
- 0
- 3
- 1.9K
Q&A
csrfTokenRepo ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
์ ๊ฐ ๊ถ๊ธํ๋๊ฒ์ spring security ๊ธฐ๋ณธ login ํ์ด์ง๋ฅผ ์ด์ฉํ๋ฉด ๋ง์ดํด์ฃผ์ ๊ฒ์ฒ๋ผ csrf token ์ ๋ฃ๋ tag๊ฐ ์กด์ฌํ๊ณ ์ค์ ๋ก chrome debugger๋ฅผ ํตํด์ ๋ด๋ ์ค์ ๊ฐ์ด ๋ค์ด๊ฐ ์๋๊ฒ์ ํ์ธ ํ ์ ์์์ต๋๋ค. ์ ๊ฐ ๊ถ๊ธํ๊ฒ์ client app ๊ณผ spring security server๊ฐ ๋ฐ๋ก ๋จ์ด์ ธ์์ ๋ client app์ csrf token์ ์ด๋ป๊ฒ ๋ฐ์์ค๋๊ฐ์ ๋ํ ๊ถ๊ธํจ ์ด์์ต๋๋ค.chrome debugger๋ postman์ผ๋ก ์์ฒญ์ ๋ณด๋์ ๋ response๋ก JessionId๋ง ์ฟ ํค๋ก ๋ฐ์์ค์ง csrf์ ๊ด๋ จ๋๊ฒ์ ์๋ต์ผ๋ก ๋ฐ์ง ๋ชปํ๋๋ฐ client ๋จ์์๋ ์ด๋ป๊ฒ ๋ฃ์ด์ ๋ณด๋ด๋๊ฐ ๊ฐ ๊ถ๊ธํ๊ฒ์ด์์ต๋๋ค.
- 0
- 3
- 1.9K
Q&A
profile email ๊ถํํ์ด์ง๊ฐ ๋์ค์ง ์์ต๋๋ค.
์๋ฌธ์๋ต)clients Settings์์ Login Settings ์์ Consent required ๋ฅผ ์ผ๋ฉด user ๊ฐ ๋ก๊ทธ์ธํ consent ํ๋ ํ๋ฉด๋ ๋์ค๊ณ scope์ openid ์์ดํด๋ ์ ์์ ์ผ๋ก access token ์ ๋ฐ์์ค๊ฒ ๋ฉ๋๋ค.
- 1
- 1
- 823




