├── homeworks ├── week11 │ ├── hw2 │ │ └── index.html │ ├── hw3 │ │ └── index.html │ └── hw1 │ │ ├── bg.jpg │ │ ├── sign_out.php │ │ ├── handle_delete.php │ │ ├── verify.php │ │ ├── sign_in.php │ │ ├── handle_update.php │ │ ├── write.php │ │ ├── handle_write.php │ │ ├── register.php │ │ ├── handle_register.php │ │ ├── update.php │ │ └── handle_sign_in.php ├── week12 │ ├── hw2 │ │ └── index.html │ ├── hw1 │ │ ├── bg.jpg │ │ ├── sign_out.php │ │ ├── handle_delete.php │ │ ├── README.md │ │ ├── verify.php │ │ ├── handle_subwrite.php │ │ ├── sign_in.php │ │ ├── handle_update.php │ │ ├── write.php │ │ ├── register.php │ │ ├── handle_register.php │ │ ├── handle_write.php │ │ ├── update.php │ │ └── handle_sign_in.php │ └── README.md ├── week18 │ ├── hw1 │ │ ├── index.html │ │ ├── css │ │ │ └── test.css │ │ ├── dist │ │ │ ├── css │ │ │ │ └── test.css │ │ │ └── js │ │ │ │ ├── test-min.js │ │ │ │ └── test.js │ │ ├── lib │ │ │ └── test.js │ │ ├── sass │ │ │ └── test.scss │ │ └── gulpfile.js │ ├── hw2 │ │ ├── src │ │ │ ├── index.js │ │ │ └── utils.js │ │ ├── index.html │ │ ├── webpack.config.js │ │ └── dist │ │ │ └── index.bundle.js │ ├── hwS1 │ │ ├── src │ │ │ ├── utils.js │ │ │ ├── index.js │ │ │ └── test.scss │ │ ├── index.html │ │ └── webpack.config.js │ └── hw3 │ │ └── dist │ │ ├── style.css │ │ └── main.js ├── week21 │ ├── be │ │ ├── hw1 │ │ │ └── index.html │ │ └── README.md │ └── fe │ │ ├── hw1 │ │ ├── .babelrc │ │ ├── src │ │ │ ├── img │ │ │ │ ├── 1.jpg │ │ │ │ ├── bg.gif │ │ │ │ └── bg.jpg │ │ │ └── index.js │ │ ├── dist │ │ │ ├── 7c8b4c34d4076c1d71f09080fb713ccb.gif │ │ │ └── index.html │ │ ├── index.html │ │ ├── README.MD │ │ ├── package.json │ │ └── webpack.config.js │ │ ├── hw2 │ │ ├── .babelrc │ │ ├── src │ │ │ └── index.js │ │ ├── index.html │ │ ├── dist │ │ │ └── index.html │ │ ├── package.json │ │ └── webpack.config.js │ │ ├── hw3 │ │ ├── .babelrc │ │ ├── src │ │ │ ├── img │ │ │ │ ├── 1.jpg │ │ │ │ ├── 2.jpg │ │ │ │ ├── 3.jpg │ │ │ │ ├── 4.jpg │ │ │ │ ├── 5.jpg │ │ │ │ ├── 6.jpg │ │ │ │ ├── 7.jpg │ │ │ │ ├── 8.jpg │ │ │ │ ├── 9.jpg │ │ │ │ └── bg.jpg │ │ │ └── index.js │ │ ├── dist │ │ │ ├── 54e40ca1322beb42e001bce85f2e9058.jpg │ │ │ └── index.html │ │ ├── index.html │ │ ├── package.json │ │ └── webpack.config.js │ │ ├── blog.png │ │ └── README.md ├── week22 │ ├── be │ │ ├── hw1 │ │ │ └── index.html │ │ ├── hw2 │ │ │ └── index.html │ │ ├── hw3.md │ │ └── README.md │ └── fe │ │ ├── hw1 │ │ ├── src │ │ │ ├── nav │ │ │ │ ├── index.js │ │ │ │ └── Nav.js │ │ │ ├── home │ │ │ │ └── index.js │ │ │ ├── post │ │ │ │ ├── index.js │ │ │ │ └── Post.js │ │ │ ├── about │ │ │ │ ├── index.js │ │ │ │ └── About.js │ │ │ ├── write │ │ │ │ └── index.js │ │ │ ├── post_list │ │ │ │ └── index.js │ │ │ ├── img │ │ │ │ └── bg.jpg │ │ │ ├── scss │ │ │ │ ├── _variable.scss │ │ │ │ └── _mixin.scss │ │ │ ├── App.test.js │ │ │ ├── index.js │ │ │ ├── index.scss │ │ │ └── App.js │ │ ├── build │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── static │ │ │ │ ├── media │ │ │ │ │ └── bg.54e40ca1.jpg │ │ │ │ └── js │ │ │ │ │ └── runtime-main.04a13e19.js │ │ │ ├── manifest.json │ │ │ ├── precache-manifest.0d8b7f79fb8c158922a01fa8b498579c.js │ │ │ ├── asset-manifest.json │ │ │ └── service-worker.js │ │ ├── public │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ └── manifest.json │ │ ├── .gitignore.swp │ │ ├── .gitignore │ │ └── package.json │ │ └── README.md ├── week23 │ ├── be │ │ ├── hw1 │ │ │ └── index.html │ │ ├── hw2.md │ │ └── README.md │ └── fe │ │ ├── hw1 │ │ └── src │ │ │ ├── components │ │ │ ├── home │ │ │ │ └── index.js │ │ │ ├── nav │ │ │ │ └── index.js │ │ │ ├── post │ │ │ │ └── index.js │ │ │ ├── about │ │ │ │ ├── index.js │ │ │ │ └── About.js │ │ │ ├── write │ │ │ │ └── index.js │ │ │ └── post_list │ │ │ │ ├── index.js │ │ │ │ └── PostList.js │ │ │ ├── img │ │ │ └── bg.jpg │ │ │ ├── scss │ │ │ ├── _variable.scss │ │ │ └── _mixin.scss │ │ │ ├── reducers │ │ │ ├── index.js │ │ │ ├── getPostsReducer.js │ │ │ └── getWeatherReducer.js │ │ │ ├── index.js │ │ │ ├── actionsTypes.js │ │ │ ├── WebAPI.js │ │ │ ├── containers │ │ │ ├── PostListContainer.js │ │ │ └── HomeContainer.js │ │ │ ├── actions.js │ │ │ ├── CodeBlock.js │ │ │ └── App.js │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ └── README.md ├── week24 │ ├── be │ │ ├── hw2.md │ │ └── README.md │ └── fe │ │ ├── hw1 │ │ └── src │ │ │ ├── components │ │ │ ├── home │ │ │ │ └── index.js │ │ │ ├── nav │ │ │ │ └── index.js │ │ │ ├── post │ │ │ │ └── index.js │ │ │ ├── about │ │ │ │ ├── index.js │ │ │ │ └── About.js │ │ │ ├── write │ │ │ │ └── index.js │ │ │ └── post_list │ │ │ │ ├── index.js │ │ │ │ └── PostList.js │ │ │ ├── img │ │ │ ├── bg.jpg │ │ │ └── bg2.jpg │ │ │ ├── scss │ │ │ ├── _mixin.scss │ │ │ └── _variable.scss │ │ │ ├── ScrollToTop.js │ │ │ ├── actionsTypes.js │ │ │ ├── reducers │ │ │ ├── index.js │ │ │ ├── getWeatherReducer.js │ │ │ └── getPostsReducer.js │ │ │ ├── containers │ │ │ ├── NavContainer.js │ │ │ ├── WriteContainer.js │ │ │ ├── HomeContainer.js │ │ │ ├── PostListContainer.js │ │ │ └── PostContainer.js │ │ │ ├── index.js │ │ │ ├── CodeBlock.js │ │ │ ├── App.js │ │ │ └── actions.js │ │ ├── README.md │ │ └── hw2.md ├── week14 │ ├── hw1.jpg │ ├── gcp │ │ ├── 0.jpg │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 16.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 2.jpg │ │ ├── 20.jpg │ │ ├── 21.jpg │ │ ├── 22.jpg │ │ ├── 23.jpg │ │ ├── 24.jpg │ │ ├── 25.jpg │ │ ├── 27.jpg │ │ ├── 28.jpg │ │ ├── 29.jpg │ │ ├── 3.jpg │ │ ├── 30.jpg │ │ ├── 31.jpg │ │ ├── 32.jpg │ │ ├── 33.jpg │ │ ├── 34.jpg │ │ ├── 35.jpg │ │ ├── 36.jpg │ │ ├── 37.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ ├── 9.jpg │ │ ├── 12-2.jpg │ │ └── ajaxMistake.jpg │ ├── hw1.md │ └── README.md ├── week16 │ ├── mdn.jpg │ ├── test1.jpg │ ├── test2.jpg │ ├── hw1 │ │ └── week7 │ │ │ └── hw3 │ │ │ ├── _variable.scss │ │ │ └── _mixin.scss │ ├── hw2 │ │ └── main.js │ └── README.md ├── week6 │ ├── hw3.png │ ├── hw4.png │ ├── example.png │ ├── example2.png │ ├── hw2 │ │ ├── clap.jpg │ │ └── style.css │ └── README.md ├── week7 │ ├── DOM.jpg │ ├── acco.gif │ ├── form.png │ ├── hw2 │ │ └── bg1.jpg │ ├── twitch.png │ ├── carousel.gif │ ├── reaction.gif │ ├── calculator.png │ ├── hw1 │ │ ├── index.html │ │ ├── style.css │ │ └── index.js │ └── test.html ├── week9 │ ├── tree.png │ ├── board.png │ ├── board2.png │ ├── board3.png │ ├── hw2 │ │ ├── handle_loginout.php │ │ ├── handle_identify.php │ │ ├── handle_article.php │ │ ├── handle_signin.php │ │ ├── member_login.php │ │ ├── message_board.php │ │ ├── member_create.php │ │ ├── handle_register_form.php │ │ ├── index.php │ │ └── style.css │ ├── hw1.md │ └── hw4.md ├── week13 │ ├── 960s.png │ ├── hw3 │ │ ├── bg.jpg │ │ ├── handling │ │ │ ├── sign_out.php │ │ │ ├── verify.php │ │ │ ├── handle_delete.php │ │ │ ├── handle_subwrite.php │ │ │ ├── handle_update.php │ │ │ ├── handle_write.php │ │ │ ├── board_comments_sub1.php │ │ │ ├── board_comments.php │ │ │ ├── handle_register.php │ │ │ └── handle_sign_in.php │ │ ├── README.md │ │ ├── sign_in.php │ │ ├── register.php │ │ └── update.php │ ├── todo.png │ ├── hw2 │ │ └── style.css │ ├── hw1 │ │ ├── index.html │ │ └── style.css │ └── README.md ├── week20 │ ├── img │ │ ├── 1.jpg │ │ └── 6.jpg │ └── README.md ├── week8 │ ├── hw1 │ │ ├── pz1.jpg │ │ ├── pz2.jpg │ │ ├── pz3.jpg │ │ ├── pz_n.jpg │ │ └── index.html │ ├── hw2 │ │ ├── mom.jpg │ │ └── index.html │ ├── hw3 │ │ ├── bg.jpg │ │ ├── bg1.jpg │ │ ├── index.html │ │ └── main.css │ ├── twitch.png │ └── twitch_amelie.png ├── week15 │ └── README.md ├── week2 │ ├── hw4.js │ ├── hw1.js │ ├── hw3.js │ ├── hw2.js │ ├── hw5.js │ ├── hwS1.js │ └── hw6.md ├── week10 │ └── README.md ├── week4 │ ├── hw1.js │ ├── hw4.js │ ├── hw2.js │ ├── hwS1.js │ ├── hw3.js │ └── hwS2.js ├── week3 │ ├── hw3.js │ ├── hw4.js │ ├── hw1.js │ ├── hw1.test.js │ ├── hw2.js │ ├── hw2.test.js │ ├── hw4.test.js │ ├── hw3.test.js │ └── README.md ├── week19 │ ├── hw2 │ │ ├── src │ │ │ ├── _variable.scss │ │ │ └── _mixin.scss │ │ └── index.html │ ├── hw1 │ │ └── models │ │ │ └── todo_API.php │ └── README.md ├── week5 │ └── README.md └── week1 │ ├── hw1.md │ ├── hw3.md │ └── hw5.md ├── .gitignore ├── .babelrc ├── examples ├── README.md ├── week4 │ └── package.json ├── week14 │ └── README.md ├── week22 │ └── README.md ├── week23 │ └── README.md ├── week16 │ └── README.md ├── week17 │ └── README.md ├── week9 │ └── README.md ├── week21 │ └── README.md ├── week18 │ └── README.md ├── week2 │ └── README.md └── week7 │ └── hw1.html └── .eslintrc.js /homeworks/week11/hw2/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week11/hw3/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week12/hw2/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week18/hw1/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week21/be/hw1/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week22/be/hw1/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week22/be/hw2/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week23/be/hw1/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | conn.php 3 | .DS_STORE -------------------------------------------------------------------------------- /homeworks/week22/be/hw3.md: -------------------------------------------------------------------------------- 1 | ## 什麼是 MVC? 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "presets": ["@babel/preset-env"] 4 | 5 | } -------------------------------------------------------------------------------- /homeworks/week24/be/hw2.md: -------------------------------------------------------------------------------- 1 | ## 什麼是反向代理(Reverse proxy)? 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /homeworks/week23/be/hw2.md: -------------------------------------------------------------------------------- 1 | ## 什麼是 ORM? 2 | 3 | 4 | ## 什麼是 N+1 problem 5 | 6 | 7 | -------------------------------------------------------------------------------- /homeworks/week18/hw2/src/index.js: -------------------------------------------------------------------------------- 1 | const add = require('./utils'); 2 | 3 | add(10, 3); 4 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/nav/index.js: -------------------------------------------------------------------------------- 1 | import Nav from './Nav'; 2 | 3 | export default Nav; -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/home/index.js: -------------------------------------------------------------------------------- 1 | import Home from './Home'; 2 | 3 | export default Home; -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/post/index.js: -------------------------------------------------------------------------------- 1 | import Post from './Post'; 2 | 3 | export default Post; -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/about/index.js: -------------------------------------------------------------------------------- 1 | import About from './About'; 2 | 3 | export default About; -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/write/index.js: -------------------------------------------------------------------------------- 1 | import Write from './Write'; 2 | 3 | export default Write; -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env", "@babel/preset-react"] 3 | } -------------------------------------------------------------------------------- /homeworks/week21/fe/hw2/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env", "@babel/preset-react"] 3 | } -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env", "@babel/preset-react"] 3 | } -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/build/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/home/index.js: -------------------------------------------------------------------------------- 1 | import Home from './Home'; 2 | 3 | export default Home; -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/nav/index.js: -------------------------------------------------------------------------------- 1 | import Nav from './Nav'; 2 | 3 | export default Nav; -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/post/index.js: -------------------------------------------------------------------------------- 1 | import Post from './Post'; 2 | 3 | export default Post; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/home/index.js: -------------------------------------------------------------------------------- 1 | import Home from './Home'; 2 | 3 | export default Home; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/nav/index.js: -------------------------------------------------------------------------------- 1 | import Nav from './Nav'; 2 | 3 | export default Nav; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/post/index.js: -------------------------------------------------------------------------------- 1 | import Post from './Post'; 2 | 3 | export default Post; -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/about/index.js: -------------------------------------------------------------------------------- 1 | import About from './About'; 2 | 3 | export default About; -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/write/index.js: -------------------------------------------------------------------------------- 1 | import Write from './Write'; 2 | 3 | export default Write; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/about/index.js: -------------------------------------------------------------------------------- 1 | import About from './About'; 2 | 3 | export default About; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/write/index.js: -------------------------------------------------------------------------------- 1 | import Write from './Write'; 2 | 3 | export default Write; -------------------------------------------------------------------------------- /homeworks/week14/hw1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/hw1.jpg -------------------------------------------------------------------------------- /homeworks/week16/mdn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week16/mdn.jpg -------------------------------------------------------------------------------- /homeworks/week18/hw1/css/test.css: -------------------------------------------------------------------------------- 1 | .app{background-color:red}.app2{background-color:red}.app3{background-color:red} 2 | -------------------------------------------------------------------------------- /homeworks/week18/hwS1/src/utils.js: -------------------------------------------------------------------------------- 1 | const arr = ['God', 'Tiger', 'Fox']; 2 | 3 | arr.map(obj => console.log(obj)); 4 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/post_list/index.js: -------------------------------------------------------------------------------- 1 | import PostList from './PostList'; 2 | 3 | export default PostList; -------------------------------------------------------------------------------- /homeworks/week6/hw3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week6/hw3.png -------------------------------------------------------------------------------- /homeworks/week6/hw4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week6/hw4.png -------------------------------------------------------------------------------- /homeworks/week7/DOM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/DOM.jpg -------------------------------------------------------------------------------- /homeworks/week7/acco.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/acco.gif -------------------------------------------------------------------------------- /homeworks/week7/form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/form.png -------------------------------------------------------------------------------- /homeworks/week9/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week9/tree.png -------------------------------------------------------------------------------- /homeworks/week11/hw1/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week11/hw1/bg.jpg -------------------------------------------------------------------------------- /homeworks/week12/hw1/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week12/hw1/bg.jpg -------------------------------------------------------------------------------- /homeworks/week13/960s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week13/960s.png -------------------------------------------------------------------------------- /homeworks/week13/hw3/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week13/hw3/bg.jpg -------------------------------------------------------------------------------- /homeworks/week13/todo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week13/todo.png -------------------------------------------------------------------------------- /homeworks/week14/gcp/0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/0.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/1.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/10.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/11.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/12.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/13.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/14.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/15.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/16.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/17.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/18.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/19.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/2.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/20.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/21.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/22.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/23.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/24.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/25.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/27.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/28.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/29.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/3.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/30.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/31.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/32.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/33.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/34.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/35.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/36.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/37.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/4.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/5.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/6.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/7.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/8.jpg -------------------------------------------------------------------------------- /homeworks/week14/gcp/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/9.jpg -------------------------------------------------------------------------------- /homeworks/week16/test1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week16/test1.jpg -------------------------------------------------------------------------------- /homeworks/week16/test2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week16/test2.jpg -------------------------------------------------------------------------------- /homeworks/week18/hw1/dist/css/test.css: -------------------------------------------------------------------------------- 1 | .app{background-color:red}.app2{background-color:red}.app3{background-color:red} 2 | -------------------------------------------------------------------------------- /homeworks/week18/hw2/src/utils.js: -------------------------------------------------------------------------------- 1 | function add(a, b) { 2 | console.log(a, b); 3 | } 4 | 5 | module.exports = add; 6 | -------------------------------------------------------------------------------- /homeworks/week20/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week20/img/1.jpg -------------------------------------------------------------------------------- /homeworks/week20/img/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week20/img/6.jpg -------------------------------------------------------------------------------- /homeworks/week23/fe/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week23/fe/01.jpg -------------------------------------------------------------------------------- /homeworks/week23/fe/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week23/fe/02.jpg -------------------------------------------------------------------------------- /homeworks/week6/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week6/example.png -------------------------------------------------------------------------------- /homeworks/week7/hw2/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/hw2/bg1.jpg -------------------------------------------------------------------------------- /homeworks/week7/twitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/twitch.png -------------------------------------------------------------------------------- /homeworks/week8/hw1/pz1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw1/pz1.jpg -------------------------------------------------------------------------------- /homeworks/week8/hw1/pz2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw1/pz2.jpg -------------------------------------------------------------------------------- /homeworks/week8/hw1/pz3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw1/pz3.jpg -------------------------------------------------------------------------------- /homeworks/week8/hw2/mom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw2/mom.jpg -------------------------------------------------------------------------------- /homeworks/week8/hw3/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw3/bg.jpg -------------------------------------------------------------------------------- /homeworks/week8/hw3/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw3/bg1.jpg -------------------------------------------------------------------------------- /homeworks/week8/twitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/twitch.png -------------------------------------------------------------------------------- /homeworks/week9/board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week9/board.png -------------------------------------------------------------------------------- /homeworks/week9/board2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week9/board2.png -------------------------------------------------------------------------------- /homeworks/week9/board3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week9/board3.png -------------------------------------------------------------------------------- /homeworks/week14/gcp/12-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/12-2.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/blog.png -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/components/post_list/index.js: -------------------------------------------------------------------------------- 1 | import PostList from './PostList'; 2 | 3 | export default PostList; -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/components/post_list/index.js: -------------------------------------------------------------------------------- 1 | import PostList from './PostList'; 2 | 3 | export default PostList; -------------------------------------------------------------------------------- /homeworks/week6/example2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week6/example2.png -------------------------------------------------------------------------------- /homeworks/week6/hw2/clap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week6/hw2/clap.jpg -------------------------------------------------------------------------------- /homeworks/week7/carousel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/carousel.gif -------------------------------------------------------------------------------- /homeworks/week7/reaction.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/reaction.gif -------------------------------------------------------------------------------- /homeworks/week8/hw1/pz_n.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/hw1/pz_n.jpg -------------------------------------------------------------------------------- /homeworks/week7/calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week7/calculator.png -------------------------------------------------------------------------------- /homeworks/week8/twitch_amelie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week8/twitch_amelie.png -------------------------------------------------------------------------------- /homeworks/week14/gcp/ajaxMistake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week14/gcp/ajaxMistake.jpg -------------------------------------------------------------------------------- /homeworks/week18/hw1/lib/test.js: -------------------------------------------------------------------------------- 1 | const getText = () => 'JavaScript ES6'; 2 | 3 | document.getElementById('text').innerHTML = getText(); 4 | -------------------------------------------------------------------------------- /homeworks/week20/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:十六到二十週心得 4 | 5 | 這週複習了不少東西,而且幫網頁優化應該會有一些心得感想,可以稍微寫下來紀錄一下。 6 | 7 | 請將答案寫在 [hw1.md](hw1.md)。 -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/src/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw1/src/img/1.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/1.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/2.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/3.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/4.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/5.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/6.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/7.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/8.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/9.jpg -------------------------------------------------------------------------------- /homeworks/week9/hw2/handle_loginout.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/src/img/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw1/src/img/bg.gif -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/src/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw1/src/img/bg.jpg -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/src/img/bg.jpg -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/.gitignore.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/.gitignore.swp -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/src/img/bg.jpg -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week23/fe/hw1/src/img/bg.jpg -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week24/fe/hw1/src/img/bg.jpg -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week24/fe/hw1/src/img/bg2.jpg -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/build/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/build/favicon.ico -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/build/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/build/logo192.png -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/build/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/build/logo512.png -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/public/favicon.ico -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/public/logo192.png -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/public/logo512.png -------------------------------------------------------------------------------- /homeworks/week18/hw1/dist/js/test-min.js: -------------------------------------------------------------------------------- 1 | 2 | const getText = function () { return 'JavaScript ES6'; }; document.getElementById('text').innerHTML = getText(); 3 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # 注意事項 2 | 3 | 這個資料夾底下是每一週的參考解答,或比起參考解答,更精確地說法是:「我的解答」。 4 | 5 | 在交作業前請勿觀看,以免破壞學習樂趣。參考解答主要是給想要更精進的同學看的,若你只是題目解不出來,建議先參考同學的程式碼,他的程度會跟你的比較相近。 6 | 7 | -------------------------------------------------------------------------------- /homeworks/week18/hwS1/src/index.js: -------------------------------------------------------------------------------- 1 | require('./test.scss'); 2 | 3 | 4 | const arr = ['Huli', 'Clay', 'Cindy', 'Melody']; 5 | 6 | arr.map(obj => console.log(obj)); 7 | -------------------------------------------------------------------------------- /homeworks/week24/be/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:部署 4 | 5 | 請把之前寫的 Express 專案部署到自己的主機上。 6 | 7 | ## hw2:簡答題 8 | 9 | 1. 什麼是反向代理(Reverse proxy)? 10 | 11 | -------------------------------------------------------------------------------- /homeworks/week15/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:十一到十五週心得 4 | 5 | 第三次的複習週東西變得比以往還多,需要一些時間好好消化這些資訊。若是有什麼心得的話,都歡迎寫下來。覺得複習已經夠累了,懶得寫心得的話也沒關係。 6 | 7 | 請將答案寫在 [hw1.md](hw1.md)。 8 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/build/static/media/bg.54e40ca1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week22/fe/hw1/build/static/media/bg.54e40ca1.jpg -------------------------------------------------------------------------------- /homeworks/week18/hw1/dist/js/test.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | const getText = function getText() { 4 | return 'JavaScript ES6'; 5 | }; 6 | 7 | document.getElementById('text').innerHTML = getText(); 8 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/dist/7c8b4c34d4076c1d71f09080fb713ccb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw1/dist/7c8b4c34d4076c1d71f09080fb713ccb.gif -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/dist/54e40ca1322beb42e001bce85f2e9058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidemy/mentor-program-3rd-ClayGao/HEAD/homeworks/week21/fe/hw3/dist/54e40ca1322beb42e001bce85f2e9058.jpg -------------------------------------------------------------------------------- /homeworks/week16/hw1/week7/hw3/_variable.scss: -------------------------------------------------------------------------------- 1 | $bg-color : rgb(248, 192, 87); 2 | $main-color : pink; 3 | $btn-color : rgb(170, 231, 231); 4 | $btn-font-color : rgb(158, 25, 65); 5 | $btn-font-family : moonspace; -------------------------------------------------------------------------------- /homeworks/week2/hw4.js: -------------------------------------------------------------------------------- 1 | function printFactor(n) { 2 | for (let i = 1; i <= n; i += 1) { 3 | if (n % i === 0) { 4 | console.log(i); 5 | } 6 | } 7 | return n; 8 | } 9 | printFactor(44643); 10 | -------------------------------------------------------------------------------- /homeworks/week18/hw2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ... 5 | 6 | 7 | ... 8 | 9 | 10 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | import App from './App' 4 | 5 | // 當我執行並 render 時,選取到 id = root 的 DOM 6 | ReactDOM.render(, document.getElementById('root')) -------------------------------------------------------------------------------- /homeworks/week21/fe/hw2/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | import App from './App' 4 | 5 | // 當我執行並 render 時,選取到 id = root 的 DOM 6 | ReactDOM.render(, document.getElementById('root')) -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | import App from './App' 4 | 5 | // 當我執行並 render 時,選取到 id = root 的 DOM 6 | ReactDOM.render(, document.getElementById('root')) -------------------------------------------------------------------------------- /homeworks/week18/hw1/sass/test.scss: -------------------------------------------------------------------------------- 1 | $bg-color : red; 2 | 3 | .app { 4 | background-color: $bg-color; 5 | } 6 | 7 | .app2 { 8 | background-color: $bg-color; 9 | } 10 | 11 | .app3 { 12 | background-color: $bg-color; 13 | } -------------------------------------------------------------------------------- /homeworks/week18/hwS1/src/test.scss: -------------------------------------------------------------------------------- 1 | $bg-color : red; 2 | 3 | .app1 { 4 | background-color: $bg-color; 5 | } 6 | 7 | .app2 { 8 | background-color: $bg-color; 9 | } 10 | 11 | .app3 { 12 | background-color: $bg-color; 13 | } -------------------------------------------------------------------------------- /homeworks/week13/hw3/handling/sign_out.php: -------------------------------------------------------------------------------- 1 | alert('已成功登出 !');parent.location.href='../index.php';"; 6 | ?> -------------------------------------------------------------------------------- /homeworks/week2/hw1.js: -------------------------------------------------------------------------------- 1 | function printStars(n) { 2 | if (n >= 1 && n <= 30) { 3 | for (let i = 0; i < n; i += 1) { 4 | console.log('*'); 5 | } 6 | } else { 7 | console.log('必須至少是 1 且不得超過 30 的正整數'); 8 | } 9 | } 10 | printStars(9); 11 | -------------------------------------------------------------------------------- /homeworks/week11/hw1/sign_out.php: -------------------------------------------------------------------------------- 1 | alert('已成功登出 !');parent.location.href='./index.php';"; 6 | ?> -------------------------------------------------------------------------------- /homeworks/week10/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:六到十週心得與解題心得 4 | 5 | 第二次的複習週終於來了,在這週裡面可以好好整理一下自己前面幾週學到的東西,因此這一週不會有什麼新的進度。 6 | 7 | 這次的作業希望大家整理一下前面幾週的心得,畢竟我們終於開始進入到網頁前後端的領域了,應該會有滿多心得可以寫。 8 | 9 | 而複習週的慣例就是會提供闖關遊戲讓大家玩,也可以一併把心得寫下來 10 | 11 | 請將答案寫在 [hw1.md](hw1.md)。 12 | -------------------------------------------------------------------------------- /homeworks/week18/hw2/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: './src/index.js', // 引入的檔案 5 | output: { 6 | path: path.resolve(__dirname, 'dist'), // 輸出的位置 7 | filename: 'index.bundle.js', // * html 要引入的檔案 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /homeworks/week2/hw3.js: -------------------------------------------------------------------------------- 1 | function reverse(str) { 2 | const strArray = str.split(''); 3 | const n = strArray.length - 1; 4 | let newStr = ''; 5 | for (let i = n; i >= 0; i -= 1) { 6 | newStr += strArray[i]; 7 | } 8 | console.log(newStr); 9 | } 10 | reverse('ClAy'); 11 | -------------------------------------------------------------------------------- /homeworks/week13/hw3/handling/verify.php: -------------------------------------------------------------------------------- 1 | 1, 'currect_user' => $_SESSION['nickname']); // 返還當前使用者名稱 5 | } else { 6 | $arr = array( 'islogin' => 0); 7 | } 8 | echo json_encode($arr); 9 | ?> -------------------------------------------------------------------------------- /homeworks/week21/fe/hw2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Gobang 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | $board-bg-color:rgba(110, 105, 105, 0.35); 2 | $border-color: wheat; 3 | $main-color: rgb(0, 116, 189); 4 | $sub-color: rgb(235, 165, 0); 5 | $post-hover-color :rgb(236, 185, 65); 6 | $font-color: white; 7 | $main-bg-img: url('../img/bg.jpg') center center fixed no-repeat; -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | $board-bg-color:rgba(110, 105, 105, 0.35); 2 | $border-color: wheat; 3 | $main-color: rgb(0, 116, 189); 4 | $sub-color: rgb(235, 165, 0); 5 | $post-hover-color :rgb(236, 185, 65); 6 | $font-color: white; 7 | $main-bg-img: url('../img/bg.jpg') center center fixed no-repeat; -------------------------------------------------------------------------------- /homeworks/week11/hw1/handle_delete.php: -------------------------------------------------------------------------------- 1 | query($spl); 6 | if ($result) { 7 | echo ""; 8 | } 9 | ?> -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin size($height, $width) { 3 | height: $height; 4 | width: $width; 5 | } 6 | 7 | @mixin font($size, $color, $weight, $family) { 8 | font-size: $size; 9 | color: $color; 10 | font-weight: $weight; 11 | font-family: $family; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin size($height, $width) { 3 | height: $height; 4 | width: $width; 5 | } 6 | 7 | @mixin font($size, $color, $weight, $family) { 8 | font-size: $size; 9 | color: $color; 10 | font-weight: $weight; 11 | font-family: $family; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/scss/_mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin size($height, $width) { 3 | height: $height; 4 | width: $width; 5 | } 6 | 7 | @mixin font($size, $color, $weight, $family) { 8 | font-size: $size; 9 | color: $color; 10 | font-weight: $weight; 11 | font-family: $family; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Todo-list 6 | 7 | 8 |
9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | ReactDOM.unmountComponentAtNode(div); 9 | }); 10 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.scss'; 4 | import App from './App'; 5 | import * as serviceWorker from './serviceWorker'; 6 | 7 | ReactDOM.render(, document.getElementById('root')); 8 | 9 | serviceWorker.unregister(); 10 | -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/scss/_variable.scss: -------------------------------------------------------------------------------- 1 | $board-bg-color:rgba(110, 105, 105, 0.6); 2 | $border-color: wheat; 3 | $main-color: rgb(0, 116, 189); 4 | $sub-color: rgb(235, 165, 0); 5 | $post-hover-color :rgb(236, 185, 65); 6 | $font-color: rgb(247, 238, 238); 7 | $main-bg-img: url('../img/bg2.jpg') center center fixed no-repeat; -------------------------------------------------------------------------------- /homeworks/week8/hw3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | LOL 5 | 6 | 7 |
8 | 9 |
10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /homeworks/week4/hw1.js: -------------------------------------------------------------------------------- 1 | const request = require('request'); 2 | 3 | 4 | request('https://lidemy-book-store.herokuapp.com/books?_limit=10', (error, response, body) => { 5 | const obj = JSON.parse(body); 6 | for (let i = 0; i < obj.length; i += 1) { 7 | console.log(`ID : ${obj[i].id} / 書名:${obj[i].name}`); 8 | } 9 | }); 10 | -------------------------------------------------------------------------------- /examples/week4/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "week4", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "twitch.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "request": "^2.88.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /homeworks/week2/hw2.js: -------------------------------------------------------------------------------- 1 | function capitalize(str) { 2 | let newStr = ''; // 建立一個變數內含字串為空 3 | const strArray = str.split(''); 4 | strArray.splice(0, 1, strArray[0].toUpperCase()); 5 | for (let i = 0; i < strArray.length; i += 1) { 6 | newStr += strArray[i]; 7 | } 8 | return newStr; 9 | } 10 | console.log(capitalize('hi i am clay')); 11 | -------------------------------------------------------------------------------- /homeworks/week12/hw1/sign_out.php: -------------------------------------------------------------------------------- 1 | alert('已成功登出 !');parent.location.href='./index.php';"; 9 | ?> -------------------------------------------------------------------------------- /homeworks/week13/hw3/handling/handle_delete.php: -------------------------------------------------------------------------------- 1 | prepare("DELETE FROM `claygao_comments` WHERE id = ?"); 5 | $stmt->bind_param("i", $id); 6 | 7 | if ($stmt->execute()) { 8 | echo ""; 9 | } 10 | ?> -------------------------------------------------------------------------------- /homeworks/week7/hw1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 點擊螢幕 5 | 6 |
7 | 8 |
9 | 請點擊螢幕 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /homeworks/week18/hwS1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ... 5 | 6 | 7 |
8 | 123 9 |
10 |
11 | 456 12 |
13 |
14 | 789 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw2/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Gobang 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /homeworks/week3/hw3.js: -------------------------------------------------------------------------------- 1 | function isPrime(n) { 2 | if (n > 1 && n <= 100000) { 3 | for (let i = 2; i <= n; i += 1) { // 2 是最小的質數,所以從 2 開始 4 | if (n % i === 0) { 5 | if (i !== n) return false; 6 | } 7 | } 8 | return true; 9 | } if (n === 1) { 10 | return false; 11 | } return '數字請幫我設在 1 至 100000 之間'; 12 | } 13 | 14 | 15 | module.exports = isPrime; 16 | -------------------------------------------------------------------------------- /homeworks/week3/hw4.js: -------------------------------------------------------------------------------- 1 | function isPalindromes(str) { 2 | let strReverse = ''; 3 | if (str.length <= 100) { 4 | for (let i = str.length - 1; i >= 0; i -= 1) { 5 | strReverse += str[i]; 6 | } 7 | if (str === strReverse) { 8 | return true; 9 | } 10 | return false; 11 | } return '字串長度需小於 100 個字元'; 12 | } 13 | 14 | 15 | module.exports = isPalindromes; 16 | -------------------------------------------------------------------------------- /examples/week14/README.md: -------------------------------------------------------------------------------- 1 | # 注意事項 2 | 3 | 提示:在寫完作業之後看效果最佳,沒寫作業前請不要看 4 | 5 | ## 部署 6 | 7 | 本週重點就只有這一個而已,但這當然也不是件容易的事。 8 | 9 | 這一期幸運的地方在前一期有學長姐留下的筆記,所以很多時候都跟著做就好。但你要知道那是前人血淚的結晶(?),他們也是部署過很多次,崩潰很多次之後才記起來的。 10 | 11 | 如果你這週是順利的,未來某一天你一樣會經歷這個崩潰的過程。如果你這週本來就很崩潰,放心,以後還有更多讓你崩潰的事。 12 | 13 | 另外,這週最常見的問題就是防火牆的設定,你東西連不進去基本上都是防火牆的問題。防火牆有兩個,一個是你主機上的,一個是你用的雲服務上面的,請確保兩個防火牆都有設定好,應該就沒問題了。 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /homeworks/week3/hw1.js: -------------------------------------------------------------------------------- 1 | function stars(n) { 2 | if (n >= 1 && n <= 30) { 3 | const result = []; 4 | let star = ''; 5 | for (let i = 0; i < n; i += 1) { 6 | star = `${star}*`; 7 | result.push(star); 8 | } 9 | console.log(n); 10 | console.log(result); 11 | return result; 12 | } return 'n 的數字僅能在 1 至 30 之間'; 13 | } 14 | 15 | module.exports = stars; 16 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Todo-list 6 | 7 | 8 |
9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /homeworks/week8/hw1/index.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 歡迎來到抽獎系統,祝您中獎 4 | 5 | 6 |
7 | 8 |
9 |
來抽獎哦 10 |
11 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /homeworks/week12/hw1/handle_delete.php: -------------------------------------------------------------------------------- 1 | prepare("DELETE FROM `claygao_comments` WHERE id = ?"); 6 | $stmt->bind_param("i", $id); 7 | 8 | if ($stmt->execute()) { 9 | echo ""; 10 | } 11 | ?> -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /homeworks/week19/hw2/src/_variable.scss: -------------------------------------------------------------------------------- 1 | $bg-color: wheat; 2 | $nav-color: gray; 3 | $main-color: none; 4 | $event-title-color: gray; 5 | $event-context-color: rgb(218, 194, 87); 6 | $done-title-color: gray; 7 | $done-context-color:black; 8 | $key-in-btn-color: rgb(20, 218, 142); 9 | $based-padding: 10px 15px; 10 | $heavy-shadow: 0px 8px 7px rgba(0, 0, 0 , 0.7); 11 | $mid-shadow: 0px 8px 7px rgba(0, 0, 0 , 0.3); 12 | 13 | -------------------------------------------------------------------------------- /homeworks/week12/hw1/README.md: -------------------------------------------------------------------------------- 1 | # 2019 / 6 / 30 2 | - 留言版誕生 3 | 4 | # 2019 / 7 / 7 5 | - 將 cookie 使用 password_hash 改為正規的 SESSION ID 語法 -> OK 6 | - 將留言撈取使用者名字的寫法改掉,不要去撈 cookie 裡面的,要去撈資料庫裏面的 -> OK 7 | - 將輸入留言的功能使用 Javascript 寫入 -> X 8 | - 加入 XSS 防範機制 -> OK 9 | - 加入 SQL injection 防範機制 -> OK 10 | - 將擾人的 alert 改為另一種產出方式 -> X,目前還是一樣擾人 11 | 12 | # 2019 / 7 / 21 預期 13 | 14 | - 2019 / 7 / 7 未完成部分 15 | - Session 要有 HTTP Only 功能 16 | 17 | -------------------------------------------------------------------------------- /homeworks/week16/hw1/week7/hw3/_mixin.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin size($height, $width) { 3 | height: $height; 4 | width: $width; 5 | } 6 | 7 | @mixin font($size, $color, $weight, $family) { 8 | font-size: $size; 9 | color: $color; 10 | font-weight: $weight; 11 | font-family: $family; 12 | } 13 | 14 | @mixin border($border..., $redius) { 15 | border: $border { 16 | redius: $redius; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /examples/week22/README.md: -------------------------------------------------------------------------------- 1 | # 注意事項 2 | 3 | 提示:在寫完作業之後看效果最佳,沒寫作業前請不要看 4 | 5 | ## 有了 react-router 之後的 deploy 6 | 7 | 有些問題需要注意,第一個問題可參考:[淺談新手在學習 SPA 時的常見問題:以 Router 為例](https://blog.huli.tw/2019/09/18/spa-common-problem-about-router/) 8 | 9 | 第二個問題是你在 deploy 的時候有可能需要調整一些參數,例如說 create-react-app 的 homepage 以及 react-router 的 basename,詳情可參考:[Building for Relative Paths](https://create-react-app.dev/docs/deployment#building-for-relative-paths) 10 | 11 | -------------------------------------------------------------------------------- /homeworks/week21/be/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:改寫 PHP 留言板 4 | 5 | 在這一系列課程中,留言板是最主要的一個專案,我們不斷更新並且優化留言板。而這週我們則是要把之前用 PHP 寫的留言版換成用 CodeIgniter 來寫,讓你體驗看看兩者的差別在哪裡。 6 | 7 | 之前做了很多版本的留言板,為了不要拖到太多進度,我建議你先從最基本的版本開始。只要有會員功能以及發表、編輯與刪除留言就行了,不需要有子留言,也不需要改成 Ajax。 8 | 9 | 如果有時間的話再實作以下功能就好,但不需要以下功能也可以交作業: 10 | 11 | 1. 子留言 12 | 2. 分頁 13 | 3. 後台管理 14 | 4. Ajax 發表、編輯與刪除留言 15 | 16 | ## hw2:簡答題 17 | 18 | 1. 使用 CodeIgniter 之後跟原本寫純 PHP 有什麼不一樣的地方嗎?你比較喜歡哪一個? 19 | -------------------------------------------------------------------------------- /homeworks/week23/be/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:部落格 4 | 5 | 相信大家寫留言板應該寫到有點膩了,於是這週就不再讓大家把留言板改成使用 ORM 了。我們來寫一個新的專案吧,寫一個部落格出來,管理員登入之後可以新增、編輯以及刪除文章,然後應該可以使用 Markdown 格式發文(自己找套件來用)。 6 | 7 | 在資料的部分請使用這一週教的 Sequelize。 8 | 9 | 功能不用太複雜,只要寫一個很陽春的版本出來即可,有時間的話才慢慢加新功能上去。 10 | 11 | 這個專案可大可小,分享一個第二期同學做的部落格,我覺得做得很好,想要做的很完整的話就會長這樣:http://enter3017sky.tw/ 12 | 13 | 可以自己衡量看看時間及負荷來決定完整程度。 14 | 15 | ## hw2:簡答題 16 | 17 | 1. 什麼是 ORM? 18 | 2. 什麼是 N+1 problem? 19 | -------------------------------------------------------------------------------- /homeworks/week4/hw4.js: -------------------------------------------------------------------------------- 1 | const request = require('request'); 2 | 3 | const clientID = 'qn5gw8fvspu3jaw1lqymckhb9zqyqx'; 4 | 5 | request({ 6 | url: 'https://api.twitch.tv/helix/games/top', 7 | method: 'GET', 8 | headers: { 9 | 'Client-ID': clientID, 10 | }, 11 | }, (error, response, body) => { 12 | const obj = JSON.parse(body); 13 | for (let i = 0; i < obj.data.length; i += 1) { console.log(obj.data[i].id, obj.data[i].name); } 14 | }); 15 | -------------------------------------------------------------------------------- /homeworks/week22/fe/hw1/src/index.scss: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", 4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/reducers/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux'; 2 | import getPostsReducer from './getPostsReducer' 3 | import getWeatherReducer from './getWeatherReducer' 4 | import { getSinglePostReducer, editSinglePostReducer, } from './getSinglePostReducer' 5 | 6 | const blogApp = combineReducers({ 7 | getPostsReducer, 8 | getSinglePostReducer, 9 | editSinglePostReducer, 10 | getWeatherReducer 11 | }); 12 | 13 | export default blogApp; -------------------------------------------------------------------------------- /homeworks/week9/hw2/handle_identify.php: -------------------------------------------------------------------------------- 1 | "; 6 | echo " 目前為會員登出狀態
"; 7 | require_once('./member_login.php'); 8 | } else { 9 | echo "本站為練習用網站,因教學用途刻意忽略資安的實作,註冊時請勿使用任何真實的帳號或密碼
"; 10 | echo " 目前為會員登入狀態
"; 11 | echo "登入者為 " . $_COOKIE["member_id"]; 12 | require_once('./message_board.php'); 13 | } 14 | ?> -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/ScrollToTop.js: -------------------------------------------------------------------------------- 1 | import { Component } from 'react' 2 | import { withRouter } from 'react-router-dom' 3 | 4 | /* 可以套用在每個需要換頁的部分 */ 5 | 6 | class ScrollToTop extends Component { 7 | componentDidUpdate(prevProps) { 8 | if (this.props.location !== prevProps.location) { 9 | window.scrollTo(0, 0) 10 | } 11 | } 12 | render() { 13 | return this.props.children 14 | } 15 | } 16 | 17 | export default withRouter(ScrollToTop); 18 | -------------------------------------------------------------------------------- /homeworks/week3/hw1.test.js: -------------------------------------------------------------------------------- 1 | const stars = require('./hw1'); 2 | 3 | describe('hw1', () => { 4 | it('should return correct answer when n = 1', () => { 5 | expect(stars(1)).toEqual(['*']); 6 | }); 7 | 8 | it('should return correct answer when n = 1', () => { 9 | expect(stars(5)).toEqual(['*', '**', '***', '****', '*****']); 10 | }); 11 | 12 | it('should return correct answer when n = 1', () => { 13 | expect(stars(500)).toEqual('n 的數字僅能在 1 至 30 之間'); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /homeworks/week3/hw2.js: -------------------------------------------------------------------------------- 1 | function alphaSwap(str) { 2 | let result = ''; 3 | let aCode = 0; 4 | for (let n = 0; n < str.length; n += 1) { 5 | aCode = str.charCodeAt(n); 6 | if (aCode >= 65 && aCode <= 90) { 7 | aCode += 32; 8 | } else if (aCode >= 97 && aCode <= 122) { 9 | aCode -= 32; 10 | } 11 | aCode = String.fromCharCode(aCode); 12 | result += aCode; 13 | } 14 | console.log(result); 15 | return result; 16 | } 17 | 18 | module.exports = alphaSwap; 19 | -------------------------------------------------------------------------------- /homeworks/week19/hw2/src/_mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin whole-shadow(){ 2 | -webkit-filter: drop-shadow(0px 8px 7px rgba(0, 0, 0, 0.8)); 3 | filter: drop-shadow(0px 8px 7px rgba(0, 0, 0, 0.8)) 4 | } 5 | 6 | @mixin border($border, $radius) { 7 | border: $border { 8 | radius: $radius; 9 | } 10 | } 11 | 12 | @mixin font($color, $size, $weight, $family) { 13 | color: $color; 14 | font: { 15 | size: $size; 16 | weight: $weight; 17 | family: $family; 18 | } 19 | } -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/actionsTypes.js: -------------------------------------------------------------------------------- 1 | // Action Types 2 | export const GET_POSTS = 'GET_POSTS' 3 | export const GET_RECENT_POSTS = 'GET_RECENT_POSTS' 4 | export const GET_SINGLE_POST = 'GET_SINGLE_POST' 5 | export const CREATE_SINGLE_POST = 'CREATE_SINGLE_POST' 6 | export const BEGIN_EDIT_SINGLE_POST = 'BEGIN_EDIT_SINGLE_POST' 7 | export const EDIT_SINGLE_POST = 'EDIT_SINGLE_POST' 8 | export const DELETE_SINGLE_POST = 'DELETE_SINGLE_POST' 9 | export const GET_WEATHER_DATA = 'GET_WEATHER_DATA' 10 | 11 | -------------------------------------------------------------------------------- /examples/week23/README.md: -------------------------------------------------------------------------------- 1 | # 注意事項 2 | 3 | 提示:在寫完作業之後看效果最佳,沒寫作業前請不要看 4 | 5 | ## 有關 Redux 6 | 7 | 簡單再來講一下 Redux 是什麼,它其實就是另外一個存放 state 的地方。 8 | 9 | 為什麼 React component 已經可以存了,卻還要另一個地方呢?因為有些 state 你不知道要放在哪個 component 底下,好像放哪裡都很奇怪,例如說一些 global 的 state。 10 | 11 | 這時候 Redux 就是一個可以讓你放這些 state 的地方。在 Redux 的運作模式裡面,你要改變 state 就要 dispatch 一個 action,action 到 reducer 之後會產生新的 state,就把 state 改變了。 12 | 13 | 然後 react-redux 就是把 Redux 的 state 給自動綁定到 component 的 props,也順便把 dispatch 一起傳進去,把 React 跟 Redux 給綁在一起,這樣才能使用。 14 | 15 | 16 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blue orange 6 | 7 | 8 |
9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/reducers/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux'; 2 | import getPostsReducer from './getPostsReducer' 3 | import getWeatherReducer from './getWeatherReducer' 4 | import { getSinglePostReducer, editSinglePostReducer, createSinglePostReducer} from './getSinglePostReducer' 5 | 6 | const blogApp = combineReducers({ 7 | getPostsReducer, 8 | getSinglePostReducer, 9 | editSinglePostReducer, 10 | getWeatherReducer, 11 | createSinglePostReducer 12 | }); 13 | 14 | export default blogApp; -------------------------------------------------------------------------------- /homeworks/week22/fe/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:SPA 部落格 4 | 5 | 在這個作業中,我們要把上一週的部落格範例變得更完整一點,請你加入以下功能: 6 | 7 | 1. 美化部落格主頁 8 | 2. 美化部落格文章頁面 9 | 3. 使用 React Router 10 | 4. 串接 API 11 | 12 | API 格式: 13 | 14 | endpoint:https://qootest.com 15 | 使用說明:https://github.com/typicode/json-server 16 | 17 | ``` 18 | GET /posts 取得所有 post 19 | GET /posts/:id 取得某個 post 20 | ``` 21 | 22 | 23 | ## hw2:簡答題 24 | 25 | 1. React Router 背後的原理你猜是怎麼實作的? 26 | 2. SDK 與 API 的差別是什麼? 27 | 3. 在用 Ajax 的時候如果不是同源,預設是不會把 Cookie 帶上的,要怎麼樣才能把 Cookie 一起帶上? 28 | -------------------------------------------------------------------------------- /homeworks/week23/fe/hw1/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | import * as serviceWorker from './serviceWorker'; 5 | import { Provider } from 'react-redux' 6 | import { createStore } from 'redux' 7 | import blogApp from './reducers' 8 | 9 | let store = createStore(blogApp) 10 | 11 | ReactDOM.render( 12 | 13 | 14 | , 15 | document.getElementById('root') 16 | ); 17 | 18 | serviceWorker.unregister(); 19 | -------------------------------------------------------------------------------- /homeworks/week7/hw1/style.css: -------------------------------------------------------------------------------- 1 | .message { 2 | height: 300px; 3 | width: 500px; 4 | font-size: 72px; 5 | font-weight: bold; 6 | text-align: center; 7 | display: block; 8 | position: absolute; 9 | top: 50%; 10 | left: 50%; 11 | margin-top: -150px; 12 | margin-left: -250px; 13 | } 14 | 15 | .message .btn { 16 | display: block; 17 | position: relative; 18 | left: 40% 19 | } 20 | 21 | body { 22 | transition: all 1.5s; 23 | } 24 | 25 | .bg-red { 26 | background: orange 27 | } 28 | 29 | -------------------------------------------------------------------------------- /homeworks/week13/hw3/README.md: -------------------------------------------------------------------------------- 1 | # 2019 / 6 / 30 2 | - 留言版誕生 3 | 4 | # 2019 / 7 / 7 5 | - 將 cookie 使用 password_hash 改為正規的 SESSION ID 語法 -> OK 6 | - 將留言撈取使用者名字的寫法改掉,不要去撈 cookie 裡面的,要去撈資料庫裏面的 -> OK 7 | - 將輸入留言的功能使用 Javascript 寫入 -> X 8 | - 加入 XSS 防範機制 -> OK 9 | - 加入 SQL injection 防範機制 -> OK 10 | - 將擾人的 alert 改為另一種產出方式 -> X,目前還是一樣擾人 11 | 12 | # 2019 / 7 / 16 不負責任修改項目 13 | - 撈取留言 / 子留言 / 子留言輸入框 / 編輯與刪除改用前端撈取 PHP 發出的 JSON 14 | - 這週作業本來應該要套用 Bootstrap,但因為在其他部分花費太多時間而作罷,預計實現在 Week14 15 | - XSS 在後端生成 JSON 時就預先處理 16 | - 使用 SESSION,拋棄原本使用的通行證與存放通行證的資料庫 17 | 18 | -------------------------------------------------------------------------------- /homeworks/week21/fe/hw1/README.MD: -------------------------------------------------------------------------------- 1 | # 簡介 2 | 3 | 這份作業是我練習 React 基礎的第一份作業,內容大多都是臨摹的 QQ 4 | 5 | 所以這邊寫一下這份作業我學習了哪些重點,就不談功能了和基礎的部分了 6 | 7 | 比較讓我驚豔的是 `input` 的部分,利用監聽事件邊輸入內容邊改變 state,再由 `state` render 出 DOM, 8 | 9 | 這樣的作法的確是一開始沒有想到的,老師很慷慨的一開始就展現出這個功能 XD 10 | 11 | 再來就是 App Component 的部分,這邊的 this.state 除了 tasks 以外,也有 taskText 與 taskId, 12 | 13 | 兩者的值之後都會傳入 tasks 中,成為裡面其中一個元素的物件元素 14 | 15 | 說真的如果再給我重頭寫一次我可能想不到這種用法,如果是我的話,應該想不到可以這樣用 XD 16 | 17 | 代表這是一個值得記住的好方法 18 | 19 | 不過其實仔細想想,好像也沒有其他更好的方法了囧,不要忘記還有核取方塊等之類的東西啊 20 | 21 | 大概就是這樣,目前來說沒什麼特別的 22 | 23 | 24 | -------------------------------------------------------------------------------- /homeworks/week3/hw2.test.js: -------------------------------------------------------------------------------- 1 | const alphaSwap = require('./hw2'); 2 | 3 | describe('hw2', () => { 4 | it('should return correct answer when str = nick', () => { 5 | expect(alphaSwap('nick')).toBe('NICK'); 6 | }); 7 | 8 | it('should return correct answer when str = ClAy is bEst', () => { 9 | expect(alphaSwap('ClAy is bEst 557987,!#@$@@%@@')).toBe('cLaY IS BeST 557987,!#@$@@%@@'); 10 | }); 11 | 12 | it('should return correct answer when str = haHahAHA', () => { 13 | expect(alphaSwap('haHahAHA')).toBe('HAhAHaha'); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | browser: true, 4 | es6: true, 5 | node: true, 6 | jest: true, 7 | jquery: true 8 | }, 9 | extends: 'airbnb', 10 | globals: { 11 | Atomics: 'readonly', 12 | SharedArrayBuffer: 'readonly', 13 | }, 14 | parserOptions: { 15 | ecmaFeatures: { 16 | jsx: true, 17 | }, 18 | ecmaVersion: 2018, 19 | }, 20 | plugins: [ 21 | 'react', 22 | ], 23 | rules: { 24 | "no-console": "off" 25 | //"linebreak-style": [0 ,"error", "windows"] 26 | }, 27 | }; 28 | -------------------------------------------------------------------------------- /homeworks/week24/fe/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | ## hw1:SPA 部落格最後加強版 4 | 5 | 這我們要把有 API call 的地方都改成用 redux-promise 來實作,除了這些以外呢,也希望你能新增一些功能: 6 | 7 | 1. 可以用 Markdown 格式來撰寫及顯示文章 8 | 9 | API 格式: 10 | 11 | endpoint:https://qootest.com 12 | 使用說明:https://github.com/typicode/json-server 13 | 14 | ``` 15 | POST /posts {title, author, body} 新增 posts 16 | GET /posts 取得所有 post 17 | GET /posts/:id 取得某個 post 18 | DELETE /posts/:id 刪除 post 19 | PUT /posts/:id {title, author, body} 更新 post 20 | ``` 21 | 22 | 23 | ## hw2:簡答題 24 | 25 | 1. Redux 如何解決非同步(例如說 call API 拿資料)的問題 26 | -------------------------------------------------------------------------------- /examples/week16/README.md: -------------------------------------------------------------------------------- 1 | # 注意事項 2 | 3 | 提示:在寫完作業之後看效果最佳,沒寫作業前請不要看 4 | 5 | ## Stack 與 Queue 6 | 7 | 這邊其實滿害怕大家把 Stack 與 call stack 搞混,或者是把 Queue 與下週要講的 callback queue 搞混。 8 | 9 | Stack 與 Queue 是兩種資料結構,就像陣列也是一種資料結構一樣。當我們提到 Stack 跟 Queue 的時候我們知道資料怎麼進出,所以它是一種比較抽象的概念。 10 | 11 | 而 Stack 這個後進先出的特性很適合拿來當執行程式時的資料結構,因為就像你 function 呼叫 function 一樣,一定是後面的執行完才跑回來執行前面的,因此底層會利用 Stack 來實作這個呼叫的流程,這個東西就叫做:Call Stack。 12 | 13 | 所以當有人問你 Stack 是什麼的時候,不要搞混成 Call Stack 了,他想知道的只是這個資料結構在幹嘛而已;當有人問你 Call Stack 的時候,就是想知道你怎麼解釋程式在執行時的底層結構。 14 | 15 | 簡單來說呢,Stack 是一種資料結構,Call Stack 是 Stack 的一種使用方式。 -------------------------------------------------------------------------------- /homeworks/week22/be/README.md: -------------------------------------------------------------------------------- 1 | # 作業 2 | 3 | (附註:這週作業不會用到 Sequelize) 4 | 5 | ## hw1:留言板 6 | 7 | 這週上到了 Express 這一個 Node.js 的框架,而這次的作業很簡單,就是要把之前寫的留言板系統移植到 Express 上面,讓你體驗看看有用框架跟沒有用框架的差別在哪。 8 | 9 | 這次的移植照理來說只會有後端程式碼有變化,前端應該會是完全不變的。 10 | 11 | 有一點請特別注意,請根據自己的時間來決定留言板的完整度。這個作業要求的留言板只需要有會員功能以及最基本的發表、編輯與刪除留言,大概就是 week9 那樣的程度,剩下的功能如果還有時間的話再做。 12 | 13 | ## hw2:短網址系統 14 | 15 | 之前有帶大家設計過短網址的系統架構,那時候是要求大家考量的越大越複雜越好,但這次作業我們只要實作一個簡單的版本就好,能夠讓使用者輸入長網址並且產生短網址,以及讓短網址可以導到正確的網頁去。 16 | 17 | 可以參考現成短網址服務來看看要怎麼設計。 18 | 19 | 至於要怎麼生成短網址的那個網址,就交給大家自己去研究了! 20 | 21 | ## hw3:簡答題 22 | 23 | 1. 什麼是 MVC? 24 | -------------------------------------------------------------------------------- /homeworks/week24/fe/hw1/src/containers/NavContainer.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Nav from '../components/nav' 3 | import { getWeatherData } from '../actions' 4 | import { connect } from 'react-redux' 5 | 6 | const NavContainer = props => { 7 | return