day002

宁波的第二天

  • 认识网页

    • 网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。
  • 常见浏览器介绍

    • 浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。
  • 浏览器内核

    • 浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。
      渲染引擎 它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。
      JS 引擎 则是解析 Javascript 语言,执行 javascript语言来实现网页的动态效果。

      最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有10多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。

  • 浏览器内核详细介绍

    • Trident(IE内核)
    • 国内很多的双核浏览器的其中一核便是 Trident,美其名曰 “兼容模式”。

      代表: IE、傲游、世界之窗浏览器、Avant、腾讯TT、猎豹安全浏览器、360极速浏览器、百度浏览器等。

      Window10 发布后,IE 将其内置浏览器命名为 Edge,Edge 最显著的特点就是新内核 EdgeHTML。

    • Gecko(firefox)
    • Gecko(Firefox 内核): Mozilla FireFox(火狐浏览器) 采用该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。 可惜这几年已经没落了, 比如 打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。

    • webkit(Safari)
    • Safari 是苹果公司开发的浏览器,所用浏览器内核的名称是大名鼎鼎的 WebKit。

      现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了),苹果感觉像被别人抢了媳妇,都哭晕再厕所里面了。

      代表浏览器:傲游浏览器3、 Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器,

    • Chromium/Bink(chrome)
    • 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。

      ​ 大部分国产浏览器最新版都采用Blink内核。

    • Presto(Opera)
    • Presto 是挪威产浏览器 opera 的 “前任” 内核,为何说是 “前任”,因为最新的 opera 浏览器早已将之抛弃从而投入到了谷歌怀抱了。

  • 移动端:
    • 移动端的浏览器内核主要说的是系统内置浏览器的内核。

      目前移动设备浏览器上常用的内核有 Webkit,Blink,Trident,Gecko 等,其中 iPhone 和 iPad 等苹果 iOS 平台主要是 WebKit,Android 4.4 之前的 Android 系统浏览器内核是 WebKit,Android4.4 系统浏览器切换到了Chromium,内核是 Webkit 的分支 Blink,Windows Phone 8 系统浏览器内核是 Trident。

  • web标准

    • 通过以上浏览器的内核不同,我们知道他们工作原理、解析肯定不同,显示就会有差别。
  • web标准构成

    • Web标准不是某一个标准,而是由W3C和其他标准化组织制定的一系列标准的集合。主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。
      • 结构标准:结构用于对网页元素进行整理和分类,主要包括XML和XHTML两个部分。
      • 样式标准:表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS。
      • 行为标准:行为是指网页模型的定义及交互的编写,主要包括DOM和ECMAScript两个部分。
    • 理想状态我们的源码: .HTML .css .js
  • HTML骨架格式

    • <HTML>   
          <head>     
              <title></title>
          </head>
          <body>
          </body>
      </HTML>
      
  • HTML标签分类

    • 1.双标签

      • <标签名> 内容 </标签名>  比如<body>我是文字  </body>
        
    • 2.单标签

      • <标签名 />  比如<br />
        
  • HTML标签关系
    • 1.嵌套关系

      • <head>  <title> </title>  </head>
        
    • 2.并列关系

      • <head></head>
        <body></body>
        
  • 开发工具

    • Dreamweaver
    • sublime
    • vs code
    • 记事本
    • HBuilder
    • WebStorm
  • 文档类型<!DOCTYPE>

    • 这句话就是告诉我们使用哪个html版本? 我们使用的是 html 5 的版本。 html有很多版本,那我们应该告诉用户和浏览器我们使用的版本号。
  • 字符集

    • utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312;
    • gb2312 简单中文 包括6763个汉字;
    • BIG5 繁体中文 港澳台等用;
    • GBK包含全部中文字符 是GB2312的扩展,加入对繁体字的支持,兼容GB2312;
    • UTF-8则包含全世界所有国家需要用到的字符。
  • HTML标签语义化

    • 白话: 所谓标签语义化,就是指标签的含义。
    • 为什么要有语义化标签
      • 方便代码的阅读和维护
      • 同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容
      • 使用语义化标签会具有更好地搜索引擎优化
    • 核心:合适的地方给一个最为合理的标签。
    • 语义是否良好: 当我们去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。
    • 不管是谁都能看懂这块内容是什么。
    • 遵循的原则:先确定语义的HTML ,再选合适的CSS。
  • 段落标签( 熟记)

    • <p>  文本内容  </p>
      
  • 水平线标签(认识)

    • <hr />是单标签
      
  • 换行标签(熟记)

    • <br />
      
  • div span标签(重点)

    • <div> 这是头部 </div>    <span>今日价格</span>
      
  • 文本格式化标签(熟记)

  • 标签属性

    • <标签名 属性1="属性值1" 属性2="属性值2" > 内容 </标签名>
      
  • 图像标签img (重点)

    • <img src="图像URL" />
      
  • 链接标签(重点)

    • <a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
      
  • 锚点定位

    • 1.使用“a href=”#id名>“链接文本"</a>创建链接文本。
      
      2.使用相应的id名标注跳转目标的位置。
      
  • base 标签

    • base 可以设置整体链接的打开状态
    • base 写到 之间
  • 特殊字符标签 (理解)

  • 注释标签

  • 路径

  • 相对路径

  • 绝对路径

  • 无序列表ul

    • <ul>
        <li>列表项1</li>
        <li>列表项2</li>
        <li>列表项3</li>
        ......
      </ul>
      
  • 有序列表ol

    • <ol>
        <li>列表项1</li>
        <li>列表项2</li>
        <li>列表项3</li>
        ......
      </ol>
      
  • 定义列表(理解)

    • <dl>
        <dt>名词1</dt>
        <dd>名词1解释1</dd>
        <dd>名词1解释2</dd>
        ...
        <dt>名词2</dt>
        <dd>名词2解释1</dd>
        <dd>名词2解释2</dd>
        ...
      </dl>
      
import pandas as pd df = pd.read_csv('stock_data.csv') df['four_days_increase'] = df['close'].rolling(window=4).apply(lambda x: all(x[i] < x[i+1] for i in range(3))) * 1 df['three_days_decrease'] = df['close'].rolling(window=3).apply(lambda x: all(x[i] > x[i+1] for i in range(2))) * 1 capital = 1000000 max_stock_per_day = 10 max_stock_value = 100000 start_date = '2020-01-01' end_date = '2023-01-01' df = df[(df['date'] >= start_date) & (df['date'] < end_date)] df = df.reset_index(drop=True) hold_stock = [] for i, row in df.iterrows(): if len(hold_stock) > 0: sell_stock = [] for stock in hold_stock: if i - stock['buy_day'] >= 3: capital += stock['buy_price'] * stock['buy_qty'] * (1 - 0.002) sell_stock.append(stock) hold_stock = [stock for stock in hold_stock if stock not in sell_stock] df_today = df.loc[i:i+3] if i + 3 >= len(df): break if all(df_today['four_days_increase']) and all(df_today['three_days_decrease'].iloc[1:]): available_capital = capital available_stock = max_stock_per_day available_value = max_stock_value for j, stock_row in df_today.iterrows(): if available_capital > 0 and available_stock > 0 and available_value > 0: buy_qty = min(int(available_capital / (stock_row['close'] * 1.002)), available_stock, int(available_value / (stock_row['close'] * 1.002))) if buy_qty > 0: hold_stock.append({'buy_day': i, 'buy_price': stock_row['close'], 'buy_qty': buy_qty}) available_capital -= stock_row['close'] * buy_qty * 1.002 available_stock -= 1 available_value -= stock_row['close'] * buy_qty * 1.002 print('Final capital:', capital)让上述代码在jupyter里不报错
06-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值