flac 无损音乐的转换 (随便说说)
发布于 2020-04-25 16:28 阅读:2963 评论:0 标签: flac 无损 音乐

最近入了无损音乐的坑,尽管网易云音乐和 QQ 音乐可以听到无损音乐,但是在解析上另有更好软件可以提升声音的品质,搜索“Mac 无损” 、“DAC 解码”可以得到更多。

在试听 Audirvana 后,深以为然,决定把 网易云音乐 和 QQ 音乐 的无损文件下载到本地。尽管已经是这两个音乐 App 的付费会员,但它们下载的音乐文件为了商业、版权的考虑,都进行了加密。网易 VIP 音乐文件后缀是 ncm、QQ 音乐是 qmcflac,这就需要另找工具转化为 flac 格式了。

搜索就是力量,很快找到在线转化工具:http://moresound.tk/music/tool/。技术很强大很神奇,直接批量拖拽,然后通过浏览器本地解析,本地下载,神速!

很显然,这种在线很容易被网易和腾讯的法务盯上,果不其然,http://moresound.tk/music/ 顶导上给出各家公司的函告。真是搞不懂站方这是啥操作,可能是说我知道了你能咋地,也可能是为了警告使用者,这是有风险的。

本着持久化使用,决定再深入挖挖,尽量本地能搞定:

1、网易云音乐

地址:https://github.com/GameBelial/ncmdump

提供了各终端的二进制文件下载,可以直接使用,但是下载速度极慢,好不容易下载后,Mac 版本的不知道怎么用。。。

2、QQ 音乐

之前找到了一个工具,但只能转 5 首,然后需要收费了。网上找了一下,其实都是使用开源软件的,于是找到: https://github.com/Presburger/qmc-decoder

下载后安装后遇到点问题:

cmake ..

CMake Error at /usr/local/Cellar/cmake/3.17.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:164 (message):

  Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem) (Required is

  at least version "1.56")

Call Stack (most recent call first):

  /usr/local/Cellar/cmake/3.17.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)

  /usr/local/Cellar/cmake/3.17.1/share/cmake/Modules/FindBoost.cmake:2145 (find_package_handle_standard_args)

  CMakeLists.txt:10 (find_package)

直接搞定:

brew install boost

然后,就可以开心的用更专业点软件听歌了。

展开全文  
收起全文  
【译文】Roku:从长期上看,股票会有更好的表现 (扩展学习)
发布于 2020-04-18 16:40 阅读:3038 评论:0 标签: Roku 投资

Summary 摘要

  1. Roku is poised to outperform when the bear market ends and a new bull market begins. 在熊市结束,牛市启动时,Roku 会表现得更好。

  2. The company dominates market share for streaming platforms.  该公司主导了流媒体市场份额。

  3. Roku's above-average growth is likely to continue as consumers continue to 'cut the cord' in favor of streaming. Roku 高于平均速度的增长可能会继续,因为消费者继续”切断绳索“,这有利于/转向 流媒体。


If you are looking for a stock that is likely to significantly outperform the S&P 500 (NYSEARCA:SPY) in the 2020s once a new bull market begins, then Roku (NASDAQ:ROKU) is one to consider. Roku's stock did take a sizable fall over the last few months which was larger than the market's decline. However, this creates a better buying opportunity since the company is set for strong long-term growth. Roku is benefiting from the trend of the cancellation of traditional cable TV services ('cord-cutting') in favor of TV/movie streaming platforms.

如果你在寻找一个在 21 世纪 20 年代,当牛市开始后,明显好于标普 500 的股票,Roku 是一个值得考虑的对象。Roku 的股票,在过去几个月,相比市场的衰退,有一个更大跌幅。这就提供了一个很好的买入机会,因为该公司有着长期强劲的增长。Roku 在 传统有限电视服务(”切断绳索“) 转向 电视/电影 流媒体平台的趋势中得益。


Dominating Streaming Platform / 主导流媒体平台


Roku dominates market share for streaming media platforms. Roku has about 39% market share, ahead of Amazon's (NASDAQ:AMZN) 30% share from Fire TV. This demonstrates Roku's attractiveness in the eyes of consumers for streaming. Roku beat out large companies such as Amazon, Apple (NASDAQ:AAPL), and Google (NASDAQ:GOOG) (NASDAQ:GOOGL) for streaming platforms.

Roku 在流媒体市场占据主导地位。它大概占 39% 的份额,领先于亚马逊公司Fire TV产品占据的 30%份额。这说明 Roku 在流媒体市场中获得了顾客的青眯。在这个市场上,Roku 击败了如亚马逊、苹果、Google 这些大公司。


Another important statistic is that Roku also dominates the market for programmatic ad market share at 59%. This means that Roku is getting the most revenue for video ads on its platform as compared to other companies. Amazon has the 2nd highest ad market share at just 19%. So, again, Roku demonstrated its ability to outperform larger companies. That should help the company continue its growth in existing regions and into new regions.

另一个重要的统计,是 Roku 在程序化广告也占据主导地位,约 59%。这意味着相比其它公司,Roku 能在它的平台上获取最大化的视频广告收入。亚马逊有着第二大的市场份额,但仅仅是 19%。所以,Roku 再一次证明了它有能力成为更大的公司。这些能帮助公司在已拓展的地区和新进入的地区,能继续的发展。


The reason for Roku's success is a result of the user-friendly format for the company's streaming platform. Consumers without smart TVs can purchase one of Roku's streaming devices. Roku also secured licensing deals with smart TV manufacturers. Roku now has 15 brands that integrated the company's streaming platform into their smart TVs.

Roku 成功的原因,是公司流媒体平台对用户体验友好的结果。没有智能电视的顾客,可以买一个 Roku 流媒体设备。Roku 还与智能电视厂商达成授权交易。现在 Roku 和 15 个品牌的厂商合作,把流媒体平台集成到智能电视中。


Roku's Above Average Growth Roku / 高于平均水平的增长


The main driver for Roku's stock to outperform the broader market is likely to be the company's above-average revenue and earnings growth. Granted, Roku is not yet profitable. However, the gross margin has been increasing as advertising revenue has increased. The company is on track for profitability in about 2022.

Roku 的股价超过大盘的主要驱动力,可能是公司超越平均水平的收入和收益增长。当然,Roku 还没有盈利。但是它的毛利润一直在增长,因为广告收入已经在增长了。预计 2022 年,公司会取得盈利。


The stock has been an outperformer during the bull market as it increased from the low $20s up to the $170s from the IPO in 2017 to the stock's peak in September 2019. However, the stock did have a tendency to experience sharp declines of over 50% multiple times during this period. So, investors might want to consider trading in and out of the stock on oversold and overbought conditions. Otherwise, you would have to have a strong stomach to hold the stock over the long term.

该股票在牛市已经超越大盘,自 2017 年 IPO 到股价高点2019 年的 9 月,股价从 20 美元的低点,涨到 170 美元。然而,在这期间公司股价多次大幅下跌超过 50%。所以投资者在超卖和超买的情况可能会考虑买入和卖出股票。除非,你有一个很强大的内心,在很长一段时间内买定离手。


Roku's revenue growth is expected to exceed 30% annually for 2020 through 2022 (consensus). Of course, those estimates could change because of the uncertainty of the impact of COVID-19. The good news is that consumers are limited to what they can do at home during the shutdowns. Streaming TV shows and movies are among the activities that are available. Therefore, the COVID-19 situation may not have a significant negative impact on Roku's revenue as compared to many other businesses.

从 2020 年到 2022 年,Roku 的年收入增长预计会超过 30%。当然,这些预估在新冠疫情的影响下会有变化。好消息是,在停工期间消费者们在家里会限制活动。但他们能观看流媒体电视节目和电影。因此,相对很多其他行业,新冠疫情对 Roku 可能并不会带来很强烈的负面影响。


Profitability is on the way as Roku increases the gross margin. The GM increased to 44% in 2019, up from the 30% range a couple of years ago. Continued GM increases can allow the company to reach positive earnings in about 2 years. The anticipation of future profitability along with Roku's strong revenue growth has a good chance of driving the stock for above-average gains over the next couple of year

随着 Roku 毛收入的提高,盈利能力也在增强。在 2019 年,Roku 的毛利润从过去几年的 30%,增长到 44%。毛利润的持续增长,让 Roku 在大约两年内能盈利。在未来几年里,由强劲的收入增长带来的预期盈利能力,让 Roku 有很好的机会驱动股价高于平均增速。


Roku's Valuation / Roku 的估值


Since Roku isn't profitable yet, the price to sales ratio is a reasonable metric to use because it is based on revenue instead of earnings. Keep in mind that Roku tends to maintain an above-average valuation. The reason for that is because investors tend to price a premium into the stock, encompassing the company's above-average revenue growth.

由于 Roku 还没有盈利,股价与每股销售收入的比率(市销率)是一个合理的度量方式,因为它是基于收入而不是收益。记住,Roku 的估值往往高于平均水平。这是因为投资者往往把溢价包含在股价中,包括公司高于平均水平的收入增长。


Roku is currently trading with a trailing price/sales ratio of 8.9 and a forward price/sales of 6.7. This is still above the S&P 500's average price/sales ratio of 1.97. However, Roku's price to sales ratio improved significantly since it was in the teens in Q4 2019 as displayed in the chart below:

Roku 目前的历史市销率是 8.9,预期市销率是 6.7。这仍然是高于标普 500 的平均市销率1.97。然而,从2019 年 Q4 从 10 开始,Roku 的市销率会明显改善,如下表展示: 

roku-20200418-1.pngSource: YCharts


The reality is that some stocks will maintain an above-average valuation over long periods of time. Roku happens to be one of them as revenue growth has been growing at a strong double-digit annual pace. Roku can probably be placed in the category of outlier stocks like Netflix (NASDAQ:NFLX) and Amazon which have maintained higher-than-average valuations over many years.

现实是,在很长一段里,有一些股票将维持在高于平均水平的估值中。Roku 恰好是它们中的一员,因为它的收入以每年两位数的速度强劲增长。Roku 很可能被归类到这些“离群”的股票中,就像奈飞和亚马逊一样,它们维持高估值很多年。


Netflix and Amazon had many years where they were growing revenue at above-average paces while their valuations were sky-high. Value investors shunned these stocks for years at their own missed opportunity cost. Even Warren Buffett admitted that he missed out on Amazon's stock growth.

奈飞和亚马逊的收入增长,很多年来都高于平均水平,同时估值极高。价值投资者多年来回避这些股票,错失了机会成本。甚至沃伦巴菲特也承认他错过了亚马逊。


Value investors can be quick to say that Roku's value is too high and that the company is not yet profitable. That's true based on standard metrics. However, you have to visualize the future to get the bigger picture of the stock's true potential.

价值投资者能快速的说 Roku 的估值过高,并且公司还没有展现盈利能力。基于标准的度量标准,这是对的。但是,你必须得目光放长远点,才能看到股票真正的潜力。


Roku has been improving its prospects for profitability. Continued gross margin gains have Roku on track for positive earnings in about 2022. The company is likely to continue growing revenue at a strong pace due to the trend of cord-cutting. Therefore, buying the stock on the current dip in valuation during a period of market weakness can provide a good entry point for a long-term position.

Roku 一直在改善盈利前景。持续的毛利润增长使得 Roku 有望在 2022 年取得盈利。在去有线的趋势下,Roku 以很快的速度在收入上取得持续的增长。因此,在市场低迷期间,在目前的低估值点买入 Roku,在很长一段时间内,都是一个很好的机会。

roku-20200418-2.png

Source: Stockcharts


The weekly chart above shows that the stock recently bounced higher from an oversold level on the RSI indicator. However, there is still a lot of volatility in the market. Plus, it might be difficult to pick the bottom for the stock, especially when the market could drop again. With the stock trading about 50% lower than its 52-week high, now is probably a decent time to start a position if you're going to hold onto to it for multiple years.

从上图的周线看,Roku 股票目前从 RSI 指标的超卖水平反弹。然而,市场现在还存在许多波动。另外,抓住股票的底部可能是很困难的,特别是市场可能再次下跌。在股票低于 52 周最高点 50%的情况下,如果你准备在未来几年持有,现在可能是一个合适的买入位置。


Roku's Long-Term Investment / Outlook Roku 长期投资展望


Roku is a company that is likely to grow revenue at a strong pace for multiple years. Many consumers have demonstrated their desire to stream TV content/movies over standard cable services. The amount of U.S. consumers canceling their standard cable-style TV subscriptions and those never getting cable TV subscriptions is expected to grow from 48.9 million to 61.5 million by 2023. This trend is likely to help drive revenue growth for Roku.

在未来几年,Roku 可能会在收入上高速增长。很多消费者证明他们从标准有线服务转向流媒体内容和电影的意愿。美国消费者取消标准有线电视订阅,并且不会继续订阅的数量,在 2023 年,有望从 4890 万增长到 6150 万。这个趋势很可能帮忙驱动 Roku 收入的增长。


Watch for Roku to continue growing revenue by increasing ad dollars, adding new smart TV manufacturers for licensing, and growing the business geographically. Keep an eye on momentum from the competition to see if the investment thesis needs to be changed or modified.

随着广告收入的增长、增加新的智能电视厂商的授权,拓展多地域的商业伙伴,Roku 的收入会继续增长。可以关注竞品的动向,来决定投资主题是否变化或改变。


Investors will have to decide how much volatility they want to bear. You can hold for the long term and deal with the sharp drops that have been characteristic of the stock or be more nimble and trade it between oversold and overbought conditions.

投资者将不得不决定多少的波动是他们愿意承受的。你可以长期持有,处理股票的特性带来的大幅下跌,在超卖和超买之间更灵活的处理交易。


Roku's stock has a good chance of outperforming the market over multiple years with above-average revenue growth and the cord-cutting trend as a tailwind. At Margin of Safety Investing, we look for stocks that have a good chance of doubling within a few years, and Roku is one with that potential.

在去有线的有利趋势下,具备高于平均水平收入增长的 Roku,在近几年是一个很好的超越市场的投资机会。在安全投资的边界里,我们在寻找几年内翻倍的投资机会,而 Roku 是具有潜力中的一员。


roku-20200418-3.png

The 2020s will see the transformation of the economy during the 4th Industrial Revolution. We are also running head first into a wave of and debt driven problems that will need solving. A cautious, but forward looking approach, will be required to thrive in what could be a lost investing decade for many, much like 2000-2009.

在 21 世纪 20 年代,我们将见证第四次工业革命的经济转型。我们还面临一波由人口和债务驱动的问题,还待解决。对大多数人来着,跟 2000-2009 年一样,是失去投资机会的十年,要想蓬勃发展,得使用一些谨慎,但向前看的方式来解决。


Benefit from the insights of Kirk Spano, Dividend Sleuth, and David Zanoni. Get exclusive investment ideas based upon in-depth and up close research that few others do.

我在投资上,受益于Kirk Spano、Dividend Sleuth 和 David Zanoni的真知灼见。获得独家投资的想法是基于深入和密切的研究,很少有人这样做。


英文原文:https://seekingalpha.com/article/4337013-roku-stock-to-outperform-over-long-term

展开全文  
收起全文  
再次大改版:UI 和后端 (本站点滴)
发布于 2020-03-29 21:16 阅读:1058 评论:1 标签: 改版

春节后陆陆续续调整了一下网站 UI,后端也全重构了一下。

完成后,页面不那么难看了,后台也顺手了,努力多记录、总结点东西:)

展开全文  
收起全文  
【译文】二维码防钓鱼建议和声纹识别防护方案 (扩展学习)
发布于 2020-03-27 00:46 阅读:1189 评论:0 标签: 钓鱼 二维码 扫码 声纹

今天看到同事转的一个防止扫码登录钓鱼的文章,在 Github,原文链接:https://github.com/OWASP/QRLJacking/wiki/Recommendations-and-Mitigations

里面给了几个防止钓鱼的建议,和一个声纹识别的风控方案,简而言之:

  1. 登录交互中,生成显示 二维码页面 或 网站提供者 的指纹信息,并在扫码页面上展示;

  2. 检查生成二维码登录页 和 扫码设备 的网络、地域,并做限制;

  3. 利用声纹技术,闭环检测;

限制不同网络、地域的扫码,可能会误伤,可以在 App 扫码确认的页面,展示被扫页面的信息,如二维码生成的城市、终端信息,提示用户是不是正常的。这也是第一条提到的指纹信息。

很有意思的是声纹技术,比如在 PC 浏览器中显示二维码登录,使用 App 扫码,在 App 确认登录的页面,让手机发出带有验证码信息的声音,然后让 PC 浏览器识别,相当于页面回填验证。只是实现起来依赖设备的语音输入是否正常了。


文章翻译如下:

Recommendations and Mitigations 推荐和防护方案

Our top recommendation is to just stop using Login with QR code except when it is necessary also there is a lot of ways to mitigate such issue and here is some ways to be used together or standalone: 

我们最推荐的方式,是不使用二维码登录,除非实在有必要。当然这也有一些方案可以防护这些问题,可以配合或单独使用:

  1. Session Confirmation, We recommend implementing a confirmation message/notification displaying characteristic information about the session made by the client/server.  会话(Session)确认:我们推荐实现一种消息或通知确认的会话(Session)机制,这个会话(Session)中需要展示客户端和服务端生成的特征信息。

  2. IP Restrictions, Restricting any authentication process on different networks (WANs) will minimize the attack window. 网络限制策略:限制所有跨网络的认证过程,将缩小攻击窗口。

  3. Location-based Restrictions, Restricting any authentication process based on different locations will minimize the attack window. 基于地域的限制策略:限制所有跨地域的认证过程,将缩小攻击窗口。

  4. Sound-based Authentication, One of the techniques to mitigate this kind of attack [And maintain the same usability level as to not require any additional interaction from the user other than scanning the QR ] is to add sound-based authentication step to the process , we have seen this kind of technology where it is possible to generate unique data and convert it to audio that can be recognized back into its original form [SlickLogin and Sound-Proof] so it is possible to include this technology in the process .  基于语音的身份验证:这是一种可以减少二维码钓鱼攻击的技术(它和扫码有一样的可用性,不会额外增加交互),在认证过程中增加语音验证环节。我们在SlickLogin公司的语音验证功能中,已经见识过这种技术:生成一个唯一的数据,在转化到音频中后,再识别还原。所以这技术可以用在认证过程中。

The purposes of this added step is to make sure that scanned QR code is generated in the same physical location as the mobile device that is doing the scan and therefore eliminating the possibility of a remote attacker deceiving the user into scanning his qr code.

增加语音验证环节的目的,是确保生成二维码的设备,和扫码的设备,在同一个物理位置。这样可以排除远程攻击的可能性:攻击者让用户扫攻击者中转的二维码。

NormalLoginScenario_647922.jpeg

Figure(5) An illustration of the login process [QR code login + Sound authentication]

图 5 展示了有语音验证环节的扫码登录过程。


The Attack Scenario (with the mitigation):有防护策略的攻击场景

  1. Attacker visits the website and opens a session. 攻击者访问网站,并打开一个会话(Session)

  2. The Website Generates QR Code which holds a session key.网站生成一个含会话密钥( Session key) 的二维码

  3. Attacker crafts a phishing website with the received QR Code and sends it to the user. 攻击者伪造一个含有上述登录二维码的钓鱼网站,并发送给用户。

  4. User scans the attacker's QR Code in the phishing website. 用户在钓鱼网站上尝试扫码登录。

  5. The mobile App generates the authentication sound and play it to the phishing website. 扫码的 App 会生成含认证信息的语音,并播放让网站听。

  6. The phishing website fails to process and capture the authentication audio as it requires additional browser permissions. 钓鱼网站无法识别到认证语音,因为这需要额外的浏览器权限,扫码登录认证流程失败。

  7. Even if the attacker tries to generate the authentication sound based on the (User ID) he still lacks the private key. 即使攻击者试图生成这条认证语音,但他没有这个帐号的私钥信息,所以还是会失败。

AttackerScenario_321237.jpeg

Figure(6) An illustration of the login process [QR code login + Sound authentication] attacks & mitigation

图 6 展示了含有语音认证环节的扫码登录攻防过程。

展开全文  
收起全文  
美国联邦政府的定位 (读书读文章)
发布于 2020-03-18 19:29 阅读:884 评论:1 标签: 定位 美国

原文:https://mp.weixin.qq.com/s/2taAwPUpy53aK1VKenegTQ

里面提到美国联邦政府的定位,挺有意思的,记录一下,对了解美国很有帮助。

简而言之:美国联邦政府负责对外,对内由州政府管理。

621f4ed4ly1gcyb0l6ey1j20u00l0tat_985281.jpg

其实美国这样的国家,一般的战争,或者很严重的恐怖袭击,都是难以撼动其地位和实力的,但同样是美国这个国家,要是没有对外的冲突、对抗和战争,白宫基本上就没有太大存在的价值了。

因为美国建国之初,给联邦政府的定位,就是负责美国的外交和国防,内部事务都是各州自己的事情,根本就不是联邦政府该管的。

也就是说,联邦政府,最初就是美国各州的建国精英们“雇来”当保安和利益代言人的。

直至今日,美国哪届政府要是不制造点对外战争或贸易纠纷之类的,相当于是没有意志保护美国,没给美国人民争取利益,就是不称职。比如仅二战后的1945至2008年,美国平均每2.1年就要卷入或发动一场战争。至于针对各国市场的政治贸易纠纷,几乎每天都在发生。

不要以为这世界上每个国家民众对生存环境的理解都跟中国一样,比如以色列,很多人觉得以色列周边,什么黎巴嫩、巴勒斯坦、叙利亚等天天打仗,但你要问以色列人,这样不觉得危险吗?以色列人会告诉你,他们要是不乱,不打来打去,那我们就不安全了,所以谁弱我们就支持谁,越乱越好。

再比如阿富汗,被称为帝国坟场,在塔利班这种组织眼里,打仗就是工作,老子死了儿子接着打,所谓“你们有手表,我们有时间”,一代一代打下去,不打仗就相当于失业了,你说美国能赢吗?

所以,在理解很多国际问题上,你要单纯拿我们自己的认知去理解很多国家的民众和政府,恐怕是要犯常识性错误的。

在很多美国人眼里,如果不让联邦政府出去搞事情,那白宫的官员就会把手伸到美国国内,就会扩大自己的权力,就会插手州的事务。难道不让特朗普政府去跟中国对抗,让他天天讨论禁枪?堕胎?同性恋?(这些都是可以撕裂美国的问题)。

所以,只有海外事情足够多,联邦政府足够忙,他们就无暇顾及国内,民众呢,时不时给白宫一点掌声,给足他们政治荣誉,他们就会更加卖力的去外面搞事情,这样美国民众就可以更加自由的自己干自己的事情了。

。。。。。。

所以特朗普这种,对外口无遮拦,到处惹麻烦,对内美国人自己做啥都没意见的总统,实际上是最符合美国人对联邦政府定位的。

也就是说,联邦政府的官员,在全球各地煽风点火,制造冲突矛盾,甚至开战等等,这在我们中国人看来,似乎是给美国人惹麻烦,但其实在很多美国人眼里,这才是联邦政府应该干的事情,只是别把事情闹得太大就好。

我说这个什么意思呢,跟讨论疫情对美国的影响有啥关系呢,其实我要表达的意思是,这次疫情在美国的发酵,跟恐怖袭击、战争、金融危机都不同,这次疫情意味着联邦政府必须对国内来实施管制,联邦政府的对手变成了美国人自己,而不是其他国家和政府。

那么美国人就要让渡个人权利,可能会被隔离,可能会被军事管制,可能会被限制人生自由等等。这将会给美国人带来巨大的心理压力,这意味着联邦政府有足够的理由来介入民众的个人生活,这是很多美国人难以接受的。

比如恐怖袭击、对外战争、金融危机等,其实大家该干嘛还是在干嘛,该聚会聚会,该看电影看电影,该打球就去打球等,并没有大规模的开始限制个人的活动,也没有在国内扩大联邦政府的权利。

所以,这次疫情,挑战的是美国人自建国以来深入人心的价值观体系,远比一般的战争等恐怖。只是这种心理活动,不会表现出来,因为这种心理活动是极其矛盾的,一方面希望政府有所作为,但另一方面担心造成更大“后患”。


展开全文  
收起全文  
PHP的setcookie默认不对加号转义,太坑 (PHP心得)
发布于 2020-03-09 00:37 阅读:1105 评论:0 标签: cookie 加号 空格

PHP 手册对 setcookie 的使用范例里提到:

注意:在发送 Cookie 时,值的部分会被自动 urlencode 编码。收到 Cookie 时,会自动解码,并赋值到可变的 Cookie 名称上。 如果不想被编码,可以使用 setrawcookie() 代替――如果你的 PHP 版本是 5 及以上。

里面的措辞:“值的部分会被自动 urlencode 编码”令人佩服。

加号“+”不在发送时“值的部分”不被自动编码,但是在收到时,却被自动 urldecode 了:一来一回,加号“+”变成了空格。

太坑了,还是手动 rawurlencode 和 rawurldecode 比较靠谱。

展开全文  
收起全文  
sort中文字符问题 (Linux/Unix)
发布于 2020-02-04 17:22 阅读:1401 评论:0 标签: sort 中文

命令行下使用 sort 对中文内容排序,可能会失效,应该是字符集的问题,命令行前面加“LC_ALL=C”可解。

如:LC_ALL=C sort wuliu.txt | uniq > wuliu-result.txt


关于LC_ALL请参考:

https://blog.csdn.net/ict2014/article/details/23946471

https://www.jianshu.com/p/368b556a32c6

https://blog.csdn.net/luoleicn/article/details/6162358

展开全文  
收起全文  
本站升级到PHP7 (本站点滴)
发布于 2019-01-03 00:04 阅读:13097 评论:8 标签: PHP7

改到发文章这了。

展开全文  
收起全文  
我们需要一个什么样的监管 (随便说说)
发布于 2018-07-29 21:39 阅读:17955 评论:0 标签: 监管 疫苗



提到监管,互联网从业人士的切身体会,可能是义愤填膺,毕竟科学上网和广电总急给了我们太多深刻、不可磨灭的印象。


其实,一个理性、有良知的监管机制带来的是良性循环。


先从行业身边事说起,请见我之前发布的文章:《三个价值观的故事》,如下:


1、牙膏开口大一毫米


传闻美国一个生产牙膏的公司,把牙膏的开口直径增加一毫米,销量大增。因为用户习惯每次挤出的长度,而不是体积,这样牙膏使用得更快。


2、每页内容从20减到15条


很多互联网公司每到KPI冲刺时,就把每页的内容从20条减少的15条,这样可以提高PV。因为决策人认为用户的内容吸收量固定,减少每页内容数量,可以增加翻页的几率。


3、马云开除把梳子卖给和尚的讲师


马云在一次演讲时提到,有一次他路过新员工的培训课堂,讲师在正说如何把梳子卖给和尚。马云听后很生气,把这个讲师开除了。因为马云觉得这是欺骗行为,和尚要梳子干什么?


一个KPI导向的公司,面对这三个场景,部门负责人会做出什么样的选择?如果公司老板不做出有力监管,我想大家心中都已经有了答案。换了你负责业务,你会不会做出面向数字、年终奖、晋升的选择?


是的,人之初,性本恶,你不必轻易挑战自己。


当面临强有力的监管,作恶的心才会被遏制。所以,当你看见公司业务部门,或者其他公司,做出令人匪夷所思的事情,那么可以肯定的是该司这个业务缺乏一个理性、有良知的监管。


可是为什么很多时候监管不力呢?


这,要看监管机构听谁的。


还是先看看我们行业的情况,吴军博士在Google和腾讯都有工作经验,在《吴军的谷歌方法论》中谈及硅谷和腾讯的一些企业文化的差异,说到:


我们经常感叹为什么中国人在硅谷晋升得没有印度人快,这里面有很多原因,其中一个小的原因是,中国人之间相互分享利益做得非常不好,不注重相互提携。


我到腾讯后,有一次公司请杰克∙韦尔奇的助手,GE和高盛的首席培训官科尔(Steve Kerr)对干部进行培训。科尔就特别强调部门之间需要分享利益,然后让大家讨论。让我吃惊的是,大部分干部根本不认同科尔的讲法,而更喜欢讲所谓的丛林法则,即要把所有的业务拿到自己的部门。这里面谁是谁非我不评论,但是那种丛林法则的说法和我在美国多年的经历是不一致的。


至少要把项目相关的业务拿到自己部门,相信看到这,你会会心一笑,你的部门领导可能每天就在琢磨这事。


为什么会这样呢?因为集中力量办大事,是我们熟知的套路,从上到下皆是如此。你可能没有意识到这个套路除了在宣传中看到,也能在你身边套路上。


这种情况下,监管听谁的呢?


如果听业务负责人的,那就会出现令人匪夷所思的事情。正如你所见的医疗竞价排名、血友病吧、全家桶、大数据杀熟、水滴直播、广告二跳,等等。


如果监管机构高一层,或者独立存在,最重要的是有一票否决、处罚的权利。如果这些权利都有了,还出现匪夷所思的事情,监管机构就要担责了。该优化的优化,该重构的重构。


好了,前面说了这么多,我们开始进入正题。


是的,刚进入正题。


疫苗,过去一周多了,没有听到疫苗监管机构优化、重构的的风声。只是在资本市场上看见证监会推进退市机制,亡羊补牢吧,但这只是让企业不能在二级市场捞钱而已。


可是药监局在干嘛呢?


我们来看看恒大研究院的分析:《疫苗事件和医药监管》


1.4       疫苗管理体系:重审批,轻监管,头重脚轻


整体而言,2011年我国首次通过世卫组织国家疫苗管理体系评估,并于2014年通过该体系复评,我国疫苗管理体系已初步形成。目前我国疫苗监督管理涵盖上市许可、批签发、上市后监管(包括接种后不良反应监测)、实验室管理、监管检查(GMP)和临床试验监管6项职能,覆盖了从疫苗研发到使用的各个环节。


我国疫苗管理体系仍然存在“头重脚轻”的问题,即重审批、轻监管。疫苗监管包括上市前监管与上市后监管上市前监管,主要是以注册审评为核心的注册审查体系,包括非临床研究资料、临床研究资料审查,以及生产体系考核,全部通过后方可取得药品注册批件及GMP证书;上市后监管,主要依据《药品生产质量管理规范》、《药品经营质量管理规范》等规章,通过检查、不良事件监测、疫苗召回等方式实现,具体检查措施有抽查、飞行检查、有因检查,抽检由中检院负责实施,飞行检查、有因检查由药品审核查验中心依据生产质量管理规范开展,检查过程中,主要依赖检查员现场核实,逐条检查。


在疫苗管理体系中,批签发是确保疫苗安全有效的最后一道关口。我国从2006年1月1日对全部上市疫苗实施批签发,即每批制品出厂上市或者进口时进行强制性检验、审核的制度。检验不合格或者审核不被批准,不得上市或者进口。批签发之前,中检院对疫苗的安全性、有效性进行检验,对于安全性是全部批次都检验,而对于有效性则进行随机抽样检验,不同品种抽验比例不同,大部分比例为5%。


根据中检院《2017年国家药品抽检年报》,2017年国家药品抽检共抽检生物制品91批次,涉及预防类4个品种、治疗类2个品种、诊断类1个品种。经检验,符合规定89批次,不符合规定2批次,均为吸附无细胞百白破联合疫苗。吸附无细胞百白破联合疫苗共抽取两个厂家4批次产品,所有批次检品的鉴别试验、安全性检测项目均符合规定,但有2批次疫苗效价测定不符合规定,其中1批次破伤风效价和百日咳效价不符合规定,1批次百日咳效价不符合规定。


资源限制导致质检重安全性、轻有效性。在国家疫苗管理体系中,批签发是疫苗上市使用前确保安全有效的最后一道关口,但目前中检院由于资源限制,只对疫苗安全性进行批批检验,有效性检验比例大部分仅为5%,而此次长生生物事件中的百白破疫苗正是有效性上出了问题。


我国药品管理法及地方药监的行政隶属关系导致处罚不力。我国药品管理法对生产销售假药及劣药的处罚做出了规定,罚款金额仅为货值金额的2-5倍及1-3倍,震慑力有限。另一方面我国地方食药监局在行政费用、人事任命等方面均由地方政府负责和管理,国家药监局只有业务指导权,也是地方食药监局对违规行为处罚不力的原因。


重审批、轻监管,地方食药监局隶属地方政府,也就是向税收这个业务负责人汇报。这不搞笑么?


在这种监管体系下,出多少匪夷所思的事情,都不奇怪。


虽然,你永远叫不醒一个装睡的人,但是,我们继续发声还是力所能及的。

展开全文  
收起全文  
函数外的引用最好用后即焚 (PHP心得)
发布于 2018-01-18 23:30 阅读:22345 评论:0 标签: 引用

为方便,喜欢这个写法:

foreach($array as &$_arr) {
    $_arr["key"] = "value";
}

但比较坑的是,$_arr可能后续再继续使用,这是便赋予了其它值,直接导致$array最后一个变量被改变。

为避免这种,最好用后即焚:

foreach($array as &$_arr) {
    $_arr["key"] = "value";
}
unset($_arr);

今天在vim中直接手写代码,历史惯用写法不加思索,有点超出预期啊

展开全文  
收起全文