Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >20180914_ARTS_week12

20180914_ARTS_week12

作者头像
Bob.Chen
发布于 2018-09-27 03:33:54
发布于 2018-09-27 03:33:54
35900
代码可运行
举报
运行总次数:0
代码可运行

十二周咯,算法题 Roman to Integer,看了一篇讲 Python 和 Go 的文章,记录了移动端网页适配 iPhone X 的内容,分享了三个月来做 ARTS 的一点感受。

Algorithm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Roman to Integer
 * https://leetcode.com/problems/roman-to-integer/description/
 * 
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
    var romaDict = {
        "CM":900,
        "M":1000,
        "CD":400,
        "D":500,
        "XC":90,
        "C":100,
        "XL":40,
        "L":50,
        "IX":9,
        "X":10,
        "IV":4,
        "V":5,
        "I":1
    }

    var rs = 0;

    for (var k of Object.keys(romaDict)) {
        var v = romaDict[k]
        var reg = new RegExp(k, "g");

        var repeatList = s.match(reg);
        var repeat = repeatList ? repeatList.length : 0;

        rs += v * repeat;

        s = s.replace(reg, "")
    }

    return rs;
};

console.log(romanToInt("III"))
console.log(romanToInt("IV"))
console.log(romanToInt("IX"))
console.log(romanToInt("LVIII"))
console.log(romanToInt("MCMXCIV"))

因为之前做过 Integer to Roman 这个 Roman to Integer 还是比较容易有思路,和 Integer to Roman 差不多,但是这里要先算组合型的字符,比如 CM 就要在 M 之前计算。

然后这个方法通过两次正则去匹配,效率不是太高,应该还有更好的方法。

Review

Moving from Python to Go

https://towardsdatascience.com/moving-to-go-from-python-9ebbd9a8aec4

文章从静态类型,JSON 解析,接口和类型推断 3 方面比较了 Python 和 Go 的不同。

我懂点 Python,对 Go 还挺有兴趣的,看文章可以大概了解下 Go 在这几方面与 Python 的不同,文章最后推荐了 《The Go Programming Language》,国内叫《Go 语言圣经》,看这个应该会更加系统。

Tip

分享个关于移动端网页适配 iPhone X 的相关内容。

iPhone X 新增了一个叫安全区域的概念,也就是除了四周圆角,上边刘海,底部小黑条之外中间的那个长方形区域。我们对网页做适配主要也是让主体内容保持在安全区域内。

苹果为了适配 iPhone X 对现有 viewport meta 标签扩展了一个叫 viewport-fit 的东东,用于设置网页在可视窗口的布局方式,可设置三个值:

  • contain: 可视窗口完全包含网页内容
  • cover:网页内容完全覆盖可视窗口
  • auto:默认值,跟 contain 表现一致

默认不添加扩展的表现是 viewport-fit=contain,需要适配 iPhone X 须要设置 viewport-fit=cover。

除此之外,iOS 11 新增了四个预定义变量,用于设定安全区域与边界的距离,有四个预定义的变量:

  • safe-area-inset-left:安全区域距离左边边界距离
  • safe-area-inset-right:安全区域距离右边边界距离
  • safe-area-inset-top:安全区域距离顶部边界距离
  • safe-area-inset-bottom:安全区域距离底部边界距离

然后就可以通过利用这些变量来达到将页面控制在安全区的目的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
body {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

上面就是为了让 web 内容不要延伸到底部的小黑条,这里 constant 是为了兼容 iOS 11.2 之前的。

其实我觉得这个方案不是特别好,对于已有的项目,比如 hybrid app,页面数量何止成百上千,一个一个根据页面情况做适配简直是会疯掉,更好的方案是终端开发能定制 webview,提供能力,在 iPhone X 下就自动上下加个距离,页面也不用改,测试的工作量也会小很多 :-)

Share

这周是做 ARTS 的第 12 周,差不多也要 3 个月了。一开始其实挺难的,看英文文章很慢,如果不是熟悉的技术,常常不太得要领,现在感觉有一点进步,稍微熟悉的大概看一下基本也能连猜带懵了解大半。

耗子哥说:『一件事情你有信心就能打败 99% 的人,然后坚持下去又能打败剩下 1% 中 99% 的人』

能完成 12 周的 ARTS 也是靠着坚持,然后想各种办法去完成没一周的任务,比如中午午睡的时间抽半个小时出来看一会儿英文文章,平常工作的时候遇到有益的 Tip 就赶紧记下了,想到什么可以 Share 的就先把关键字记下来,有空的时候再扩展一下。

总之,希望这只是一个开始,与君共勉。


碎碎念

记录一些所思所想,写写科技与人文,写写生活状态,写写读书心得,主要是扯淡和感悟。 欢迎关注,交流。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CSS适配iOS全面屏底部横条
所有开发者应对资源页面做好不同手机型号的适配效果,不影响用户的正常浏览使用。其中IOS全面屏手机底部横线不可遮挡页面的具体功能和内容。
AlexTao
2021/03/29
3.7K0
CSS适配iOS全面屏底部横条
Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的兼容问题
最近写了一个网页,页面很多元素使用的是Fixed定位,当在手机端的Safari浏览器、安卓浏览器等测试时,会出现顶部元素、底部元素 被地址栏、菜单栏或工具栏遮挡的情况。于是,我查阅了相关资料,发现了一些解决方案,在iOS设备上使用Safari浏览器时,开发者经常会遇到内容被地址栏、菜单栏或工具栏遮挡的问题。本文将探讨如何使用 viewport-fit 属性和CSS的 env() 函数来解决这些问题。
Power
2025/03/31
1360
网页适配 iPhoneX
iPhoneX 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常见的吸底导航、返回顶部等各种相对底部 fixed 定位的元素)。
子润先生
2021/06/24
7070
妙用 CSS 变量,让你的代码更优雅
这是介绍 css 的基础语法,了解地可以直接跳过到实际 demo . 既然是变量,他跟 JS 的变量很像,分为 声明、使用、作用域 三块。
Power
2025/03/04
370
–移动端适配iPhoneX方案
移动端适配iPhoneX方案 对页面进行iPhoneX适配处理教程 在viewport 中添加 viewport-fit=cover 属性 <meta name="viewport" content="width=device-width,initial-scale=1.0, viewport-fit=cover"> 安全区设置 iOS 11中包含了一个新的CSS函数 env(),以及一组四个预定义的常量:safe-area-inset-left, safe-area-inset-right, safe-a
大象无痕
2018/07/17
1.1K0
让你的WEB和APP一分钟适配 iPhone X
iPhone X昨日已经开抢了 然而面对 iPhone X 这个奇葩的屏幕 你和你的编辑器准备好了吗? 因为 iPhone X 的刘海设计,Web 在 iPhone X横屏时,可能会有些问题: 默认
腾讯NEXT学位
2018/05/14
1.3K0
Web App 一分钟适配 iPhone X
iPhone X 已经开抢了,然而面对 iPhone X 这个奇葩的屏幕,你准备好了吗?
蜻蜓队长
2018/08/03
7460
Web App 一分钟适配 iPhone X
iphoneX 兼容
iphone 齐刘海兼容,作为前端开发几乎是绕不过去的一道坎。 很早之前就遇到过,这里记录一下其解决办法。
epoos
2022/06/06
1.1K0
极速适配 iPhone X 秘笈
iPhone X 适配方案 2017年9月苹果发布了 iPhone X 机型,对于它的“刘海儿”和底部 Home Indicator,QQ空间 H5 也在第一时间做了兼容适配。在适配过程中,我们尝试了这三种方案,如下。 解决方案1 客户端适配 客户端直接将 webview 的安全区域限制在除去安全区域的区域内。页面将展示在下图灰色 webview 内: 利弊分析 优点:H5 前端开发没有任何适配工作量。 缺点:页面会限制在客户端限制的 webview 区域内,没有满屏效果。 解决方案2 使用 media
腾讯ISUX
2018/06/29
1.3K0
【HTML5 理论知识】就H5调试技巧,浅谈:iPhone X 适配方案!
image.png 2017年9月苹果发布了iPhone X机型,对于它的“刘海儿”和底部Home Indicator。我们可以通过以下三种方案进行适配~下面就让我来逐一介绍吧! 客户端适配 解决方案 客户端直接将webview的安全区域限制在除去安全区域的区域内。页面将展示在下图灰色webview内: image.png 利弊分析 优点:H5前端开发没有任何适配工作量。 缺点:页面会限制在客户端限制的webview区域内,没有满屏效果。 使用media query 解决方案 针对iPhoneX机型
QUXINGDONG.COM
2018/04/17
3.3K2
【HTML5 理论知识】就H5调试技巧,浅谈:iPhone X 适配方案!
原 适配iPhoneX
作者:汪娇娇 时间:2017年12月26日 我这里说的适配iPhoneX,是一种比较简单粗暴的适配法,就是填满整个屏幕(包括安全区域和上下左右这些边,见下图)。 1、meta标签 <meta name
jojo
2018/05/03
6380
原                                                                                适配iPhoneX
📚一站式解决:H5开发全攻略,看这篇让你省时又省力
在 H5 中,我们通常会使用 REM 和 VW 这两种单位来实现页面的响应式布局。这两种单位可以让页面元素的大小随着根元素(对于 REM)或视口宽度(对于 VW)的大小变化而变化,从而适应不同尺寸的屏幕。
linwu
2023/07/27
1.1K0
移动端H5开发之页面适配篇
最近开发并上线了一款H5项目,在这里想和大家分享一下关于项目中使用到的移动端适配技巧,如果对你们有所帮助的话,就多多点赞收藏😃各位看官老爷别着急,在讲页面适配之前,我们先来捋一捋viewport(视口)的概念~在Web浏览器术语中,通常与浏览器窗口相同,但不包括浏览器的UI, 菜单栏等——即指你正在浏览的文档的那一部分。一般我们所说的视口共包括三种:布局视口、视觉视口和理想视口1.1 布局视口图片在移动端,布局视口被赋予一个默认值,大部分为980px,这保证PC的网页可以在手机浏览器上呈现,用户可以手动对网
三点水的洋
2022/06/10
7.7K1
移动端H5开发之页面适配篇
是时候在项目中使用这个CSS属性了
八月份做移动端项目的时候,同事让我帮忙看个底部安全距离的问题,我立即摩拳擦掌,原因无他,仅仅是因为当天上午我在medium闲逛时,正好看到了这篇文章:You have to start using this CSS property in your websites(https://bootcamp.uxdesign.cc/you-have-to-start-using-this-css-property-in-your-websites-7353f46def79) 我是被标题骗进去的。
刘小夕
2021/10/18
6480
是时候在项目中使用这个CSS属性了
兼容iphone x * 刘海的正确姿势
9月13日凌晨终于等来了万众瞩目的苹果新品发布会,相信很多小伙伴们都期待新 iphone 可以剪掉刘海胡子,但万万没想到的是等来了三款不同的尺寸的 iphone x ,我的天,等了这么久你给我看这个?码农慌得一批满地找新 iphone 的逻辑像素,然后想着怎么兼容这刘海和胡子。
IMWeb前端团队
2019/12/03
1.1K0
兼容iphone x * 刘海的正确姿势
适配iPhone X 的齐刘海
当苹果宣布发布他们的旗舰手机-- iPhone X 的时候,他们允诺将为未来移动设备设定新的标准。我们决定需要了解一些内容。 “屏幕再也不必是方形的” 除了无边框设计,就是我们熟悉的“齐刘海”,官方叫:Sensor Housing。它迅速成为一个热门话题,提出了一种全新的设计挑战:屏幕再也不必是方形的。虽然这对原生应用是一个更大的考验,但web开发也需要一些考虑。不管它是吓到你或者激发了你, sensor housing 都已存在。现在是为你的客户提供一种非常整洁体验的绝
前端黑板报
2018/01/29
1K0
适配iPhone X 的齐刘海
小程序对IPhone全面屏手机底部黑线的安全区域处理
今天在编写小程序页面时发现,在iphoneX真机预览时,底部button会被手机底部黑线盖住一部分,
青年码农
2020/11/19
1.9K0
小程序对IPhone全面屏手机底部黑线的安全区域处理
移动端样式问题汇总
-webkit-tap-highlight-color:rgba(0,0,0,0);
青梅煮码
2023/01/31
8890
iPhone X 适配手Q H5 页面通用解决方案
本文总结
林焕彬
2017/11/10
13.2K1
iPhone X 适配手Q H5 页面通用解决方案
H5 页面 iPhoneX 刘海屏适配
对于刘海屏的适配,你的脑子里首先得有苹果手机的 Safe Area 的概念,关于 Safe Area 网上的资料已经非常多了,这里就不再赘述,更偏向实战一点。但是为了比较,我这里给出一张苹果官方文档中,iPhone8之前的常规屏幕和刘海屏 Safe Area 区域的对比图。
Originalee
2020/06/02
4.5K1
H5 页面 iPhoneX 刘海屏适配
相关推荐
CSS适配iOS全面屏底部横条
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档