搜尋

搜尋結果

Spring Boot 05 - 為 http json api 加入登入要求
科技新知
MacauYeah・2024-07-02

本節,我們將為之前的http服務,加入認證機制,只有在資料庫現存的用戶可以登入及訪問我們的json api。 下戴模版 慣例,我們用Spring Initializr Maven 下載模版,Dependency主要選擇 Spring Web Spring Boot DevTools Spring Security Controller 跟上節一樣,我們起一個Controller,為簡化測試,我們只做http GET api。 由於本blog對於Source Code的顯示不太友好,有需要看source code的,請到Github查看 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeController.java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMappingquot;apiquot; public class HomeController @GetMappingquot;someRecorduuidquot; public Map readSomeRecord@PathVariable String uuid return Map.ofquot;retquot;, quot;your uuidquot; uuid; 準備我們的test case,但這次我們預期它應該要出現登入失敗的結果。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeControllerTest.java @SpringBootTest @AutoConfigureMockMvc public class HomeControllerTest @Autowired private MockMvc mockMvc; @Test void testNoLogin throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is4xxClientError .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.doesNotExist .andDoMockMvcResultHandlers.print; 在我們執行上述的測試,test case 成功過了。我們的基本設定跟上一節其實沒有多大改動,為何現在http api會回傳狀態 401? 那是因為我們在依賴中加了,Spring Security,它配合了Spring Web,就會自動為所有api加入權限檢測。我們的測試中,沒有任何用戶登入,當然會出現 http 401。為了讓我們可以好好管理誰可以使用api,我們就來設定一定Security。 我們加一個WebSecurityConfig.java,暫時指定所有的訪問路徑都必需有USER權限,並且用 http basic的方式登入。 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataconfigWebSecurityConfig.java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity public class WebSecurityConfig @Bean SecurityFilterChain securityFilterChainHttpSecurity http throws Exception http.authorizeHttpRequestsauthorizeHttpRequests gt; authorizeHttpRequests.requestMatchersquot;quot;.hasRolequot;USERquot;; 所有的訪問路徑都必需有USER權限 ; http.httpBasicCustomizer.withDefaults; 使用http basic作為登入認證的方式 return http.build; 上述例子,只是擋了沒有權限的人,我們還需要讓有登入身份的用戶可以成得取限User權限。 我們繼續修改,WebSecurityConfig,加入只在記憶體有效的InMemoryUser import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.provisioning.InMemoryUserDetailsManager; public class WebSecurityConfig .. @Bean public PasswordEncoder passwordEncoder return new BCryptPasswordEncoder; 我們的密碼不應該明文儲,比較保險,我們使用BCrypt演算法,為密碼做單向加密。 @Bean public UserDetailsService userDetailsService UserDetails user = User.withUsernamequot;adminquot; .passwordpasswordEncoder.encodequot;passquot; .rolesquot;USERquot;.build; 我們在記憶中體,加入一個測試用的User,它的名字為admin,密碼為pass,權限為User return new InMemoryUserDetailsManageruser; 然後加入新的測試,直接模擬Role。結果是通過的。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeControllerTest.java @Test void testLoginWithRoles throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON.with SecurityMockMvcRequestPostProcessors.userquot;someonequot; .rolesquot;USERquot;, quot;ADMINquot;; 沒有使用密碼,只使用Role this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is2xxSuccessful .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; 再來一個測試,改用密碼登入,分別輸入錯的和正確的密碼。 @Test void testLoginWithWrongPasswordAndNoRole throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .headerquot;Authorizationquot;, quot;Basic randompassquot; 輸入錯的密碼,應該回傳http 401 Unauthorized .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is4xxClientError .andDoMockMvcResultHandlers.print; @Test void testLoginWithPassword throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .headerquot;Authorizationquot;, quot;Basic YWRtaW46cGFzcw==quot; http basic 就是把 adminpass 轉成base64 .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is2xxSuccessful .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; 最後,當然是正確的密碼才能通過。若果大家還是半信半疑,我們可以跑起真的正服務(IDE RUN或mvn springbootrun),然後用curl去試。 curl httplocalhost8080apisomeRecord1234 failed with 401 curl u quot;adminpassquot; httplocalhost8080apisomeRecord1234 successed 使用SQL Database讀取用戶登入資訊 一般而言,我們不可能把所有用戶登資訊打在InMemoryUser中,通常背後有一個資料庫儲存所有的用戶資訊,我們在登入時,讀取它來做對比檢證。 為此,我們在maven中,加入 Spring Data JPA h2 database (或任何你的資料庫,如mysql 、 sql server) 最後一步,我們把InMemoryUser去掉,改為從資料庫讀取。因為原始碼太多,就不全部貼上。最主要的是WebSecurityConfig.java要關掉之前的UserDetailsService,改為提供一個UserServiceImpl類,它會實現UserDetailsService的功能。 @Configuration @EnableWebSecurity public class WebSecurityConfig 把原來的Bean先變成註解,其他不變 @Bean public UserDetailsService userDetailsService UserDetails user = User.withUsernamequot;adminquot; .passwordpasswordEncoder.encodequot;passquot; .rolesquot;USERquot;.build; return new InMemoryUserDetailsManageruser; springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataconfigUserServiceImpl.java other import import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; @Service public class UserServiceImpl implements UserDetailsService @Autowired PasswordEncoder passwordEncoder; @Autowired UserRepo userRepo; @Override public UserDetails loadUserByUsernameString username throws UsernameNotFoundException 因為我們資料庫沒有資料,為了方便測試密碼的加密,我們在java code上直接插入一筆資料。 UserEntity defaultUser = new UserEntity; defaultUser.setUsernamequot;adminquot;; defaultUser.setPasswordpasswordEncoder.encodequot;passquot;; defaultUser.setRolequot;USERquot;; defaultUser.setUuidUUID.randomUUID.toString; userRepo.savedefaultUser; 上述為測試用插入資料,不應該出現在正式使用環境中。 UserEntity user = userRepo.findOneByUsernameusername .orElseThrow gt; new UsernameNotFoundExceptionusername quot; not foundquot;; 找找資料庫有沒有正在登入的該名使用者username List authorities = List.ofnew SimpleGrantedAuthorityquot;ROLE_quot; user.getRole; LOG.debugquot;got user uuid, username, role from databasequot;, user.getUuid, username, user.getRole; 如果前面的 findOneByUsername 有結果回傳,我們就給它一個ROLE_XXX的權限。 return new Userusername, user.getPassword, authorities; 這裏從沒有檢查過密碼是否有匹配,全部交給Spring Security去做 springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataentityUserEntity.java springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidatarepoUserRepo.java 上述段落中,筆者省略了UserEntity和UserRepo,它們只是一般的springdatajpa概念,有需要可以經文末的連結查看完全原始碼。最需要注意的,是UserEntity的password欄位,在資料庫中是以加密的方式儲存。我們在配匹登入者與資料庫記錄時,也沒有自行檢驗密碼的需要。我們只是在加密過的密碼回傳給Spring Security,Spring框架會自行把登入者輸入的密碼與加密了的密碼作比較。

玩Black Magic 贏衤果照?!丨歡樂馬介休丨【張裸照喺邊-Black Magic】
歡樂馬介休
bacalhau・2019-07-04

到底女玩員張衤果照喺邊呢? 玩法: 傻豬黎架~Black Magic唔講得玩法架~ 猜謎者不得直接說出箇中原理,需要舉例子以證明自己明白。 Black magic謎底並不能揭曉,否則便會遭遇不祥! 記得訂閱、留言同埋Share出去啊! 但記得唔好講箇中原理啊! 會遭遇不祥架!�成世會好似龍哥咁架!!!! 不如留言講下有咩Black Magic想我地玩啦~ #blackmagic #gameneverover #遊戲 快快訂閱【歡樂馬介休YOUTUBE頻道】 右上角紅色訂閱按鈕啊BB 速速讚好【歡樂馬介休FACEBOOK專頁】 httpswww.facebook.combacalhau.ent 慢慢追蹤【歡樂馬介休INSTAGRAM專頁】 httpswww.instagram.combacalhau.ent 齊齊聊天【歡樂馬介休FACEBOOK群組】 httpswww.facebook.comgroupsbacal... 〔馬介休女玩員粉絲專頁〕 BOBO FB粉絲團:httpswww.facebook.combobo1030.mo IG專頁:httpswww.instagram.comwongkitian 啊花 FB粉絲團:httpswww.facebook.comFlowerIeong56 IG專頁:httpswww.instagram.comflowerieong56 YOUTUBE頻道:httpswww.youtube.comchannelUCLgP... VIVI FB粉絲團:httpswww.facebook.comvivi617.mo IG專頁:httpswww.instagram.comsemvi09__pb 芊華 FB粉絲團:httpswww.facebook.comchinwawawa IG專頁:httpswww.instagram.comwawaeatzz YOUTUBE頻道:httpswww.youtube.comchannelUCobD... MARY FB粉絲團:httpswww.facebook.commary.music.p... IG專頁:httpswww.instagram.commaryyyyylo YOUTUBE頻道:httpswww.youtube.comchannelUCgC1... 〔馬介休男玩員粉絲專頁〕※就睇下有無人like男仔 龍哥 FB粉絲團:httpswww.facebook.combrodragon.mo IG專頁:httpswww.instagram.comleongchilong YOUTUBE頻道:httpswww.youtube.comchannelUC8NF... 華浚 FB粉絲團:httpswww.facebook.comwachon115 IG專頁:httpswww.instagram.comwachon115 YOUTUBE頻道:httpswww.youtube.comchannelUC5Vc... 黑GAP FB粉絲團:httpswww.facebook.comgapkevinho IG專頁:httpswww.instagram.comhowengkin YOUTUBE頻道:httpswww.youtube.comchannelUC4LW... RICO 凌永豪 FB粉絲團:httpswww.facebook.comRicoLinkLink IG專頁:httpswww.instagram.com0rico YOUTUBE頻道:httpswww.youtube.comchannelUCrtd... 靚仔達 FB粉絲團:httpswww.facebook.comhandsomepst217 IG專頁:httpswww.instagram.compst217 YOUTUBE頻道:httpswww.youtube.comchannelUCem_... 其他平台 微信公眾號/微博/騰訊視頻/土豆網/嗶哩嗶哩:欢乐马介休

【試食】江湖新規矩 朋友很久沒見~要請食飯!丨歡樂馬介休丨出糧食好啲
歡樂馬介休
bacalhau・2019-06-26

江湖新規矩 朋友很久沒見~要請食飯! 今集VIVI帶我地去食呢間餐廳好特別, 特別的是新穎的菜式; 特別的是充滿文藝氣息的走廊; 但最特別的都是侍應哥哥! 今集最貴:超。入。味。逼。牛。尾。 ※留言話我地知,邊到有好野貴野,我地一出糧就即刻去試!! 快快訂閱【歡樂馬介休YOUTUBE頻道】 右上角紅色訂閱按鈕啊BB 速速讚好【歡樂馬介休FACEBOOK專頁】 httpswww.facebook.combacalhau.ent 慢慢追蹤【歡樂馬介休INSTAGRAM專頁】 httpswww.instagram.combacalhau.ent 齊齊聊天【歡樂馬介休FACEBOOK群組】 httpswww.facebook.comgroupsbacal... 〔馬介休女玩員粉絲專頁〕 BOBO FB粉絲團:httpswww.facebook.combobo1030.mo IG專頁:httpswww.instagram.comwongkitian 啊花 FB粉絲團:httpswww.facebook.comFlowerIeong56 IG專頁:httpswww.instagram.comflowerieong56 YOUTUBE頻道:httpswww.youtube.comchannelUCLgP... VIVI FB粉絲團:httpswww.facebook.comvivi617.mo IG專頁:httpswww.instagram.comsemvi09__pb 芊華 FB粉絲團:httpswww.facebook.comchinwawawa IG專頁:httpswww.instagram.comwawaeatzz YOUTUBE頻道:httpswww.youtube.comchannelUCobD... MARY FB粉絲團:httpswww.facebook.commary.music.p... IG專頁:httpswww.instagram.commaryyyyylo YOUTUBE頻道:httpswww.youtube.comchannelUCgC1... 〔馬介休男玩員粉絲專頁〕※就睇下有無人like男仔 龍哥 FB粉絲團:httpswww.facebook.combrodragon.mo IG專頁:httpswww.instagram.comleongchilong YOUTUBE頻道:httpswww.youtube.comchannelUC8NF... 華浚 FB粉絲團:httpswww.facebook.comwachon115 IG專頁:httpswww.instagram.comwachon115 YOUTUBE頻道:httpswww.youtube.comchannelUC5Vc... 黑GAP FB粉絲團:httpswww.facebook.comgapkevinho IG專頁:httpswww.instagram.comhowengkin YOUTUBE頻道:httpswww.youtube.comchannelUC4LW... RICO 凌永豪 FB粉絲團:httpswww.facebook.comRicoLinkLink IG專頁:httpswww.instagram.com0rico YOUTUBE頻道:httpswww.youtube.comchannelUCrtd... 靚仔達 FB粉絲團:httpswww.facebook.comhandsomepst217 IG專頁:httpswww.instagram.compst217 YOUTUBE頻道:httpswww.youtube.comchannelUCem_... 其他平台 微信公眾號/微博/騰訊視頻/土豆網/嗶哩嗶哩:欢乐马介休

Don’t 揼 the 波鐘丨歡樂馬介休丨【英文版誰是卧底2】
歡樂馬介休
bacalhau・2019-06-21

Have no try pass use English play 《Who is SPY》 有無試過用英文玩誰是卧底? 今次真係Can Circle can point Play Rule: Everybody get a word , Each round has one guy get difficult word , call SPY Everyone describe your word , Spy try to describe like others , When others notice who is Spy , The Spy will PK , Otherwise , others PK. Remember subscribe 、LM amp; Share a 記得訂閱、留言同埋Share出去啊! #誰是卧底 #綜藝 #gameneverover 快快訂閱【歡樂馬介休YOUTUBE頻道】 右上角紅色訂閱按鈕啊BB 速速讚好【歡樂馬介休FACEBOOK專頁】 httpswww.facebook.combacalhau.ent 慢慢追蹤【歡樂馬介休INSTAGRAM專頁】 httpswww.instagram.combacalhau.ent 齊齊聊天【歡樂馬介休FACEBOOK群組】 httpswww.facebook.comgroupsbacal... 〔馬介休女玩員粉絲專頁〕 BOBO FB粉絲團:httpswww.facebook.combobo1030.mo IG專頁:httpswww.instagram.comwongkitian 啊花 FB粉絲團:httpswww.facebook.comFlowerIeong56 IG專頁:httpswww.instagram.comflowerieong56 YOUTUBE頻道:httpswww.youtube.comchannelUCLgP... VIVI FB粉絲團:httpswww.facebook.comvivi617.mo IG專頁:httpswww.instagram.comsemvi09__pb 芊華 FB粉絲團:httpswww.facebook.comchinwawawa IG專頁:httpswww.instagram.comwawaeatzz YOUTUBE頻道:httpswww.youtube.comchannelUCobD... MARY FB粉絲團:httpswww.facebook.commary.music.p... IG專頁:httpswww.instagram.commaryyyyylo YOUTUBE頻道:httpswww.youtube.comchannelUCgC1... 〔馬介休男玩員粉絲專頁〕※就睇下有無人like男仔 龍哥 FB粉絲團:httpswww.facebook.combrodragon.mo IG專頁:httpswww.instagram.comleongchilong YOUTUBE頻道:httpswww.youtube.comchannelUC8NF... 華浚 FB粉絲團:httpswww.facebook.comwachon115 IG專頁:httpswww.instagram.comwachon115 YOUTUBE頻道:httpswww.youtube.comchannelUC5Vc... 黑GAP FB粉絲團:httpswww.facebook.comgapkevinho IG專頁:httpswww.instagram.comhowengkin YOUTUBE頻道:httpswww.youtube.comchannelUC4LW... RICO 凌永豪 FB粉絲團:httpswww.facebook.comRicoLinkLink IG專頁:httpswww.instagram.com0rico YOUTUBE頻道:httpswww.youtube.comchannelUCrtd... 靚仔達 FB粉絲團:httpswww.facebook.comhandsomepst217 IG專頁:httpswww.instagram.compst217 YOUTUBE頻道:httpswww.youtube.comchannelUCem_... 其他平台 微信公眾號/微博/騰訊視頻/土豆網/嗶哩嗶哩:欢乐马介休

【在哪裡買啤酒?】怒啤 (香港)
全球飲食
鬼佬涼茶・2019-05-27

我上個星期去香港出差,下班的時候,我跟一個同事決定了走一趟旺角購物,我們竟然在一個專門買玩具和電子遊戲的商場找到一個小小的叫『怒啤』的啤酒舖頭。舖頭的內部雖然又簡單又小,但是手工啤酒的選擇豐富,特別是香港和台灣的手工啤酒(比如我已經喝過的鬼佬啤酒和香港啤酒)。啤酒的價格基本上HDK30起,還有特別的貴的歐洲啤酒(兩三百HKD一支!)。 舖頭的老闆很熱情地推薦了幾個香港手工啤酒給我,比如一個Double IPA(8.9%酒度),我買了三支(將會寫幾篇文章介紹它們),我同事也買了兩支歐洲啤酒還有一支蘋果酒。我們跟老闆聊天,它說舖頭有一個網上商店可以查閱他們賣的啤酒的種類和品牌,也可以網上訂購啤酒。 如果你去旺角想買手工啤酒的話,怒啤是一個不錯的地方,我下次去旺角一定會安排時間去參觀他們的產品。如果你熟悉手工啤酒的種類,你可以問問老闆推薦幾種啤酒,對手工啤酒新手很方便。我想找到更多的像這樣的小啤酒專賣商店,雖然價格比超市高,但是啤酒選擇和服務較好。 詳情: 舖頭名:怒啤 地址:香港旺角彌敦道582592號信和中心2樓207號舖 網站:httpswww.angrybeer.com.hk Facebook:angrybeerhk Instagram:angrybeerhk 立即查看其它鬼佬啤酒文章! 如果你喜歡我的文章,請Like我的Facebook吧!

小心!新勒索病毒 Defray 假冒醫院寄送郵件,教你用 3 招拆穿!
科技新知
StanSteve・2017-09-03

近期有一款名為「Defray」的新勒索病毒,正在國際間發動攻擊,已被國外資安業者偵測到,呼籲電腦用戶收發郵件務必要提高警覺。 新勒索病毒 Defray,偽裝成醫院相關的寄件者,透過網路釣魚的假冒手法,寄出內附有加密的惡意連結綁架電腦。圖翻攝自IBTimes 外媒《Securityintelligence》報導指出,資安業者 Proofpoint日前在進行病毒監測時,發現到一款變種的勒索病毒「Defray」,主要是透過網路釣魚的方式,寄件者會假冒為來自某家醫院資訊科技部門的電子郵件,並附有Word文件檔,由於寄件者、寄件主題都是跟健康醫療有關,因此很容易讓使用者失去戒心,較不容易察覺。 一旦開啟了郵件,裝置就會中招,開始執行加密程序,電腦所有的文件檔案資料就會被綁架上鎖。 新勒索病毒 Defray,偽裝成醫院相關的寄件者,透過網路釣魚的假冒手法,寄出內附有加密的惡意連結綁架電腦。圖擷取自Proofpoint 據了解,到目前為止,已知美國、英國都有傳出中毒災情,雖然規模還不至於到非常龐大,但觀察其發動攻擊的模式,都是特別針對健康、教育類相關。也就是說會選擇特定的對象進行「客製化」攻擊。因此,不排除未來還有可能針對特定用戶,假冒為特定類型的寄件者,持續透過網路釣魚方式發動勒索病毒攻擊。 圖擷取自SecurityIntelligence 根據資安業者 Proofpoint 所發佈的最新研究報告,一旦不慎點擊,電腦中招遭綁架後,駭客會要求高達 5千美元的贖金,相當於台幣15萬元左右。至於要如何防範假冒的釣魚信件?Proofpoint 提出以下 3 點的假冒特徵: 網路釣魚郵件附加假冒的Word文件檔案,內藏惡意加密勒索的軟體程式。圖擷取自Proofpoint 1.假冒的寄件者多採用:group@...、或websupport@、....等等的型式,讓使用者不容易察覺。 2.假冒的釣魚信件,可能依據收件者所在的地區,顯示出其假吂的醫院、健康醫療等相關的地理位置,讓使用者失去戒心。這項推測主要是從英國、美國傳出災情研究觀察的發現。 3.假冒的釣魚信件多會附有假冒為Word文件、或txt記事本的檔案。文件內附有執行綁架檔案的惡意連結。 網路釣魚郵件附加假冒的Wodr文件檔案,內藏惡意加密勒索的軟體程式圖擷取自Proofpoint 網路釣魚郵件附有假冒的記事本檔案,內藏惡意加密勒索的軟體程式。圖擷取自Proofpoint 推測認為類似的釣魚手法,很可能會因應不同的族群假冒為不同類型屬性的寄件者,特別公開呼籲所有電腦使用者,面對各式變種病毒潛在的風險威脅,收發郵件時務必要提高警覺,多加防範,不要輕易點擊。此外,也要養成電腦檔案定期備份的習慣。 以上文章及圖片均轉載自網路,所有版權歸原作者所有 原文地址:http3c.ltn.com.tw

真浪費呀~今天有沒有浪費東西呀?
環保自然
皓芯・2022-08-28

食物只吃喜愛的部分、未努力先放棄、不喜歡的東西直接丟垃圾桶?對怕浪費的奶奶來說,都是可以再利用的好東西。所以,只要一看見有人在浪費東西,怕浪費的奶奶便會出現了。嘮叨著:「真可惜呀!真可惜!」。 本書中這位頭上繫着髮髻、架着眼鏡、扶着拐杖的「怕浪費奶奶」,一但發現到「浪費」、「可惜」的事情,她的雷達馬上就會偵測到,馬上現身遏止糾正這些行為,發揮絕妙的創意「廢物利用」,廢物到她手上統統變寶物! 作、繪者真珠真理子,自2004年出版《怕浪費奶奶》系列大受歡迎,在日本獲得多個繪本獎項,銷量突破100萬冊,並售出多國語言版權,不浪費的惜物精神席捲全世界。 本書《怕浪費的奶奶的生活寶典》,一篇篇實用的生活常識,以漫畫方式呈現,看奶奶如何見招拆招,運用巧思把回收物再利用。教導我們在生活中物盡其用的方法,完美示範怕浪費奶奶的「不浪費精神」! 《怕浪費奶奶》系列全書,日本經典環保議題繪本,符合聯合國永續發展目標SDGs、環保6R的精神,故事取材多樣內容豐富,配以生活化的題材,透過這個很喜歡說「真可惜啊、真可惜!」的怕浪費奶奶,讓孩子體會「愛護環境」、「愛物惜物」、「環保即生活」概念,希望讓閱讀本系列書的孩子們甚至是大人,都能擁有愛物惜物的心。 今天有沒有浪費東西啊?怕浪費的奶奶隨時會來檢查喔..... 《怕浪費奶奶2:怕浪費奶奶的生活寶典》 作者: 真珠真理子 譯者: 詹慕如 繪者: 真珠真理子(真珠まりこ) 出版社:親子天下 出版日期:20210512 ISBN:9789575039783 訂購地點 鞠智繪本屋 圖片來源 博客來

可曾身在萬呎高空後回望,我們熟悉的「家」變得多渺小了嗎?
其他
皓芯・2021-06-16

本書中描述一隻鳥兒,每日總是跟隨著一輛藍色小貨車的身影,讓讀者透過鳥瞰的角度,看到這個家一整天發生的事。不管離開家多遠,因為有家的存在我們才能繼續努力,終有一日,我們還是會回到那熟悉的「家」。 本書是作者2018波隆那插畫展入選作品「台灣印象」所改編,她選擇用拼貼的方式,把自己從小到大眼中的台灣展示給全世界。書中使用了大量,我們從生活中隨手可得的物品mdash;隨處可見的廣告傳單、餅乾紙盒、報紙、紙箱等材料,運用撕紙方式加以拼貼創作,搭配圖文勾勒出「家」的故事。書中的一山一樹一屋,均展現了作者對「家」的想像。 本書作者林廉恩從小喜歡畫畫,創作內容多取材於當下的感受和生活經驗為主題,本書榮獲2021年義大利波隆那拉加茲故事類首獎。曾獲2014年美國3X3當代插畫獎、及2015年、2018年入選波隆那插畫獎。另著有《母親記事》、《快點快點 》 義大利波隆那書展拉加茲獎創立於1966年,迄乞今已有逾半世紀的歷史,為國際童書界最重要的獎項之一,與美國凱迪克大獎、英國凱特格林威大獎、國際安徒生大獎齊名。拉加茲獎的每一類獎項及特別獎,均由國際出版專家所組成的評審團共同評選而定。 《HOME》 作者:林廉恩 出版社:巴巴文化 出版年份:20200212 ISBN:9789869743709 訂購地點 鞠智繪本屋

颱風“泰利”將向台灣北部沿海靠近
環保自然
Trisha・2017-09-11

颱風ldquo;泰利rdquo;現時走勢會是靠近台灣,另一熱帶低壓在菲律賓以東,也有機會發展成颱風。近來這一個月,天氣常為我們帶來憂慮,但預先做好預防揞施,就會降低天氣為我們帶來的傷害。以下筆者搜集了一些現時最新的天氣資訊,以供大家參考。 一、ldquo;泰利rdquo;位於西北太平洋洋面 今年第18號颱風ldquo;泰利rdquo;(強熱帶風暴級)的中心今天(11日)下午5點鐘位於我國台灣省宜蘭縣東偏南方大約1390公里的西北太平洋洋面上,就是北緯19.4度、東經134.0度,中心附近最大風力有11級(30米秒),中心最低氣壓980百帕,七級風圈半徑260310公里,十級風圈半徑50100公里。 二、颱風ldquo;泰利rdquo;將向台灣北部沿海靠近 預計,ldquo;泰利rdquo;將以每小時2530公里的速度向西偏北方向移動,強度繼續增強,最強可達強颱風級或超強颱風級(1517級,4860米秒),13日夜間將登陸或擦過台灣北部沿海(強颱風級或超強颱風級,1516級,4855米秒),然後逐漸向閩浙沿海靠近,將於14日下午到晚上在福建中部到浙江中部一帶沿海登陸(颱風級或強颱風級1314級,3845米秒)。 圖1. 今年第18號颱風ldquo;泰利rdquo;未來120小時路徑概率預報圖 菲律賓以東熱帶低壓將向偏西方向移動 一、熱帶低壓位於呂宋島以東洋面 菲律賓呂宋島以東洋面熱帶低壓的中心今天(11日)下午5點鐘位於菲律賓馬尼拉以東大約360公里的洋面上,就是北緯14.5度、東經124.3度,中心附近最大風力有7級( 15米秒),中心最低氣壓1002百帕。 二、熱帶低壓將向偏西方向移動 預計,該低壓將以每小時15公里左右的速度向偏西方向移動,強度逐漸加強,有可能在未來24小時內發展為今年第19號颱風。 未來24小時,該低壓對我國海區無影響。 圖2 菲律賓以東熱帶低壓未來24小時路徑概率預報圖 資料來源中央氣象局httpwww.nmc.gov.cnpublishtyphoonwarning.html

#37 來不及感謝 是你給我勇氣
愛情婚嫁
李小時・2015-11-09

謝謝你,出現在我的青春裡。 林真心《我的少女時代》 分了手以後 我在腦海在排演了無數次相遇的情景 卻沒料到 會是這樣尷尬的境地 也許世事就是這樣 墨菲定律得很 再遇見你的時候 我頂著一頭亂髮 油光滿面的我剛從超市結帳 提著一大袋東西十分狼狽 然後我不期然的抬頭 與你錯愕的雙眼對望 我知道 你認出了我 想起來奇怪 你我分開了十年都不曾相遇 緣份真是很奇妙 我應該高興 十年後的我還能讓你認出來 沒有被你拋諸腦後 在記憶裏腐化 你是伴著有身孕的... 嗯 我想是妻子吧 沒有刻意打聽你的近況 朋友亦體貼沒有多說 我想應該是你的妻子吧 有種柔情似水的感覺 而伴在身側的你 一副小心翼翼的模樣 讓我驚訝不已 原來 當年討厭婚姻的你 還是不免俗套地步入了你當年所說的「陷阱」 而且 看起來相當樂在其中 果然年輕的氣話不能盡信 愛上你的時候還不懂感情 離別了才覺得刻骨銘心 近來看了《我的少女時代》 把主題曲的歌詞背得有點爛熟 那兩句歌詞讓我想起了你 從前年少無知 把感情談得七零八落 把心傷得千瘡百孔後 卻懷念起最初的傻勁及單純 當時的你 最初的我 笑得很無憂無慮 感嘆 嗯 感嘆我們當初的不懂珍惜 感嘆我們當初的輕易放棄 在很久以後我才發現 有些東西錯過了 便是一輩子 還好 你過得很幸福 這樣就好 遇見你的註定 她會有多幸運 我能想像 因為 我一直都想親口跟你說聲 我當初來不及對你說的 感謝 (小幸運 詞:徐世珍、吳輝福 曲:Jerry C 唱:田馥甄)

每個孩子都能成為星星般閃耀
其他
皓芯・2022-06-20

本書《像星星一樣的孩子》,描述一個移民家庭的故事,娜吉瑪一家為了生計離開阿富汗,搬到人生地不熟的美國打拼,希望賺夠錢以後可以回家鄉開餐廳。可惜娜吉瑪一家的生活並不富裕,收入只夠住破舊的公寓,懷孕的妻子沒錢看醫生,女兒娜吉瑪買新鞋的願望只敢偷偷心裡想。 作者明索賢(Soo Hyun Min),大學和研究所主修兒童臨床心理學,並從事該領域工作多年。作品《我的朋友塵蟎》、《魔術師的信》和《尋找消失的蛋》等書,曾於兒童故事比賽獲獎。 繪者福瑞登里奎‧伯特蘭(Frederique Bertrand),迄今已出版25本繪本,是義大利波隆那國際兒童書展、和阿姆斯特丹書展得獎者。 某天,計程車司機的爸爸發現一袋鑽石,是乘客遺留在車上,該是多麼誘惑。「只要一顆,一小顆!」所有的困境迎刃而解,並可提前回阿富汗一圓餐廳夢。 「生活,有時灰暗得看不到路,有時卻又美得像顆寶石。」娜吉瑪的爸爸說。 然而,他們的反應才是對孩子最佳的身教示範。不論是否身處困境,心靈的富足遠比金錢物質的享受,一顆誠實的心,能照亮他人,帶來好運。就像娜吉瑪的名字,「娜吉瑪」的意思是星星,長輩祝福期待她像星星閃耀,美麗的成長。 誠邀您翻閱本書,和孩子一起討論,讓孩子的品格也像星星吧! 《像星星一樣的孩子》 作者:明索賢 繪者:福瑞登里奎‧伯特蘭 譯者:林玫伶 出版社:聯經 出版日期:20170331 ISBN:9789570849066 訂購地點 鞠智繪本屋 圖片來源Kadey Jadey 童樂繪本