美文网首页小说站学习
8月3日(周四)

8月3日(周四)

作者: Uncle洋y | 来源:发表于2017-08-03 23:14 被阅读0次

    昨天总结:昨天满打满算也就学习了7小时,刚好及格,但是不足之处是昨天的学习总是断断续续,这极大地影响了学习效率,本应该昨天下午就要进行v系列的学习,所有,关于学习时间安排提出两点要求,每当学习2小时候要休息15分钟作为缓冲,然后再进行学习,连续学习超过3小时后面的效率极大的下降;其次,遇到问题记得先记录好,养成勤做笔记的习惯,每天上午或下午学习后做个简短的总结反馈自己的学习情况,学习时还是老规矩,边学边分析,理智处理。
    获得的学习方法:拆分法:将一个大块拆成一小部分看;

    今天的主要任务:
    1、浏览每个html文件并记录其主要用途;
    2、构建网站前端的关系图,理清思路,便于代码敲写;
    3、按照关系图里的先后顺序,模仿小说站html文件敲代码,并且一边记录知识点和问题。
    4、晚上整理一天问题,知识点,备份到博客;

    今天上午的任务:
    1、将昨天的疑难点整理好,包括姐夫回复邮件后,有些要重新编写,最后编写入疑难点笔记内;完成
    2、将文件数据备份到简书内;完成
    3、开始框架v的学习,早上先大致浏览对应之间的关系后,构建关系图,下午再开始代码敲打任务;

    看过v里面内容后感觉对着打不现实,所以目前主要以修修改改为主;
    因为小说站v里面前端代码特别多,所以我决定,先看v里面每个的代码,并将每个块的功能记录,直至浏览完成,我再进入localhost:8888里面浏览其具体的作用。

    小说站:
    novels.scala.html:小说网站的主页
    novel_layout.scala.html;小说页面名称
    novel_search.scala.html;作用搜索模块的内容;
    novel_sitemap.scala.html;为寻找小说编写的爬虫;
    chapters.scala.html:为小说里的小说简介以及章节浏览
    chapter.scala.html:为小说里的章节网站
    article.sclal.html:作用貌似是为获取的文章的标签;?

    趣味图:
    index.scala.html:为趣味图的主页
    search.scala.html:为趣味图提供搜索引擎;
    sitemap.scala.html:为趣味图编写的爬虫
    layout.scala.html:为趣味图模块编写的页面名称
    addtext.scala.html:为给图片加文字或者水印用途;

    服务器:
    pages404;顾名思义,服务器出现问题时回应

    总结:目前进度v内html基本上扫过一遍,大概作用了解清楚(除了个别),小说部分后面又细看了一次,因此提炼出了主要疑难点:
    小说站问题:
    1、最难看懂的就是function()类问题,例如以下等等,有关function()的内容?

    <script type="text/javascript">
    (function(){document.write(unescape('%3Cdiv id="bdcs"%3E%3C/div%3E'));
    var bdcs = document.createElement('script');
    bdcs.type = 'text/javascript';bdcs.async = true;
    bdcs.src = 'http://znsv.baidu.com/customer_search/api/js?sid=6633628912348873229' + '&plate_url=' + encodeURIComponent(window.location.href) 
    + '&t=' + Math.ceil(new Date()/3600000);
    var s = document.getElementsByTagName('script'[0];
    s.parentNode.insertBefore(bdcs, s);})();
    </script>
    

    又如novel_layout.scala.html内

    <script>
            var _hmt = _hmt || [];
            (function() {
            var hm = document.createElement("script");
            hm.src = "//hm.baidu.com/hm.js?2a5cb6fabab78df6e7a82c25e8bc0b79";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
            })();
            </script>
            <script>
              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
              })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
              ga('create', 'UA-39567179-8', 'auto');
              ga('send', 'pageview');
            </script>
    

    根据这个方法源代码我打算,明天将function()内容作为学习点之一,否则这一个障碍迈步过去;理解方法的构造原理,调用方法就应该不难了。

    2、代码问题

    <div id="recent-books" style="display: none;">
                <h3>我最近摸过的书</h3>
                <hr/>
                <ul class="bookshelf">
                </ul>//在网页中这里会多出内容,特别神奇,好像浏览的记录被保存了,在发送请求访问时又会呈现
            </div>
            <div class="clearfix"></div>
     </div>
    
    Image.png

    上图即为实现页面中显示

    3、代码如下

     @for(c <- categories) { //c和<-号不明来源,不明意思
                @if(category.equals(c)) {
                    <li><div>@c</div></li>
                } else {
                    <li><div><a href="@routes.NovelController.list(c, 1)">@c</a></div></li>
                }
            }
    

    还有许许多多@+for/if ( 条件语句 ){ }的使用,我猜测这和java中条件语句一样使用效果一样,唯一的区别就是前面加个@感觉像是引入的前提条件,还有许多使用如@routes."控制器的类".“控制器类的方法”,我想@routes就调用控制器的中类方法的现行,等等,所以@routes的用法大概能猜测。

    4、最有意思的是以下代码制造的循环效果:

    @for((novel, index) <- novels.zipWithIndex) {
                    <li>
                        <a href="@routes.NovelController.chapters(novel.getId())">
                            ![@novel.getName()](http://2bgif.com/covers/@novel.getCoverUrl())
                            <div>
                                <h4>@if(!novel.getIsOver()){<span style="color: #39A6A9">[连载中] </span>}@novel.getName()</h4>
                                <p class="popularity">人气: @novel.getPopular()</p>
                            </div>
                        </a>
                        <a class="author" href="@routes.NovelController.search(novel.getAuthor())">@novel.getAuthor()</a>
                    </li>
                }
    
    Image1.png

    这个语句作用好像是根据小说类型的选择,将小说全部遍历出来;
    其他的基本上相同类型,了解了这几个经典的,其他的也应该不难;
    这个也拿出明天学习要点之一

    5、评论区功能很费解,但是决定先跳过,感觉之后可以单独拿出来看;

    6、html中的<meta>的用法需要进一步学习(不够熟练)
    链接:http://www.w3school.com.cn/tags/tag_meta.asp

    7、novel_sitemap.scala.html应该是爬虫页面,其自变量是根据小说集合,和作者集合去爬内容的,可是在所有网站中却并没有发现@novel_sitemap,这个有点困惑?

    8、虽然@大多数浏览的时候都是后面加自变量或者条件语句,但输出文本的语句也要用

     <p id="content">
                @Html(chapter.getText().trim().replace("\n", "<br/><br/>"))
    </p>//chapter.scala.html里面文本输出全靠这一句。
    
    

    9、<input placeholder="显示内容" />中placeholder用于如果框中没有输入语句怎默认显示“显示内容”;

    相关文章

      网友评论

        本文标题:8月3日(周四)

        本文链接:https://www.haomeiwen.com/subject/pbumlxtx.html