Recent Posts

櫻川 浅羽's avatar

價格確實很美:小蟻 42.5mm f/1.8 鏡頭動爪玩及一些觀點

小蟻 42.5mm f/1.8 鏡頭擁有 85mm(35mm eqv.) 視角及 f/1.8 大光圈,同時近新品的普遍流通價格卻只要 CNY 300 不到,堪稱是 MFT 最便宜人像鏡頭,並且網路上「大多好評」。既然價格低廉、評價不低,那浅羽就入手一支試試罷。

閱讀全文 "價格確實很美:小蟻 42.5mm f/1.8 鏡頭動爪玩及一些觀點"

櫻川 浅羽's avatar

斷捨離 | 索尼 SONY Xperia 1

2019 年 6 月 23 日,浅羽在 SONY Store 拿到了 Xperia 1,並帶着她完成了一週深圳、香港之旅。
2020 年 7 月 9 日,「這保護得,成色沒什麼可說的了」,一個陌生人類帶走了她;終究 Xperia 1 還是沒能成爲留下的那一個。
Xperia 1 定妝照(21:9 裁切)

第一次上手 Xperia 1 就感到她和其他的妖豔賤貨不一樣:修長、輕盈、整體感強,21:9 的螢幕比例使她賬面上有 6.5″ 尺寸的同時,還保持了比大部分競品窄上幾個 mm——這微小的長度差卻極大地提升了單爪握持和使用的體驗一切對稱的設計,保持了「全平衡」設計的精華;有深刻的「SONY DNA」,更有圓潤的握持感。

浅羽素來不喜歡劉海、黑瞳、長耳朵,而 Xperia 1 正是 SD855 機種中爲數不多的能提供一塊完整螢幕的選擇。當然,她不可避免地追隨趨勢配備了一款帶圓角的 OLED;但她的圓角半徑相對較爲小,也與方正的機身設計搭配。螢幕的規格看起來平平,號稱的 4K 解析度實際也只有長邊達到 3840px,但實際的色溫、色準和舒適度都是一流的。至於上下邊框寬度不一致的問題,看在完整螢幕的份上也就接受了;當然這個問題在第二代中得到了修正,同時也重新加入了正面的雙揚聲器設計。

額頭的空間似乎都被浪費了

側面是經典的側面指紋辨識,這很好;然而卻是與電源鍵分開的。由於機身薄,指紋辨識的區域很小,但靈敏度和辨識正確率還不錯,只是無保護的情況下指紋辨識器很容易被刮傷。可惜的是,配上擼背殼的保護殼之後,指紋辨識器的摸起來硌手、辨識正確率也急劇下降,幾乎不具有可用性。這時候就顯示出臉部辨識的好處——可是 Xperia 1 爲了保證螢幕的完整性做了一個寬大的額頭,卻只給到一顆 8MP 前置鏡頭,無論是廣角、黑白、紅外還是深度感測,總之第二鏡頭根本缺席,也沒有補光燈自拍輔助沒有做到樣樣齊全。同時側面還是音量、指紋辨識、電源和實體快門的佈局,但說實話浅羽還是更喜歡音量在電源鍵下方的佈局

指紋辨識器容易留下劃痕

因爲簡潔和高度對稱的設計,以上幾乎就是全部了——剩下的只有底部的 USB-C 和頂部的卡槽。USB-C 依然是無塞式防水設計,不過近年來應該也算是標準操作了。另外 USB-C 支援 DisplayPort over Tpye-C 和 HDMI over Tpye-C,可惜視訊輸出不但不是桌面作業系統介面,而且比例也固定在 21:9。卡槽依然是無需卡針可以直接抽取,並且抽取終於不會重新開機了,但……插入還是會導致重新開機。不過這一次雙卡 LTE、DSDA 和雙卡 VoLTE 都有支援到。

下方邊框的設計並不完全對稱

作爲索尼推出的首款三鏡頭手機,相機是 Xperia 1 繞不開的一部分。索尼大法在硬實力方面是肯定沒有問題的,首當其衝首先必須要提到的就是三顆鏡頭都有 OIS,比起某品牌宣傳的「三攝更好賣我選 OIS」,這次可以「大人全都要」。實際上配合上 EIS,整體的防手震效果確實超棒,無論是夜景、長曝光還是視訊錄製完全沒問題。浅羽平日用她錄影不多,但嘗試過手持兩分多鐘,畫面幾乎不會晃動,觀看的時候甚至感覺有架在三腳架上。三鏡頭內新增的廣角鏡頭,視角只到 16mm,但略帶魚眼效果很震撼,非常可惜的是沒有自動對焦,而且也不支援眼睛追蹤(浅羽不喜歡眼控對焦的稱呼)。然而奇怪的是,在 RAW 保存已經普及的時候,主打拍照的她竟然沒有提供 RAW 選項,只能直出 JPEG。最後還有一個索尼祖傳問題:有時拍攝的照片無法保存,要一直到重新開機才會好,非常影響拍照的速度和整體體驗。

「大眼瞪小眼」的三鏡頭

還有嗎?——可能應該說:保護殼的選擇有點少、沒有無線充電、NFC 可玩性低……其他的可能真的沒有了。優點很多,但說起來都不那麼優秀;缺點很多,但說起來都不那麼糟糕。這一切都不是因爲 Xperia 1 不夠好;恰恰相反,她才是樣樣 80 分的那一個。可是縱使其他「旗艦」平均 70 分,但凡有一項拿到 95 分,就足以使 Xperia 1 沒有那麼引人注目。

不過這一切都沒有因爲她的離開而結束:

Xperia 1 Ⅱ,浅羽來了!

櫻川 浅羽's avatar

松下 Panasonic Lumix GF10 動手玩及對比 GM5「升級」感想

一直以來浅羽都很喜歡手上這臺 Lumix GM5,即使是上代的 16MP CMOS 也能很好地滿足畫質的需求。雖然體積還沒有小到「口袋機」的程度,但便攜完全沒有問題,可以說是素質和便攜非常好的折中之選;更何況外形還非常「亮騷」。然而浅羽出門習慣背一個制服包,Lumix GX9 也可以輕鬆放入一機兩鏡,並且 20MP、IBIS 更快捷的操作都是 GM5 所不能提供的。但又想到新款 Lumix GF 系列的粉色和自拍功能,覺得有一臺自拍神器也很不錯,所以找了個機會出掉 GM5 後,加了一點入手粉色款 GF10。

國際牌的自拍神器

Lumix GF 系列揭開了 M4/3 無反小型化的序幕,而後又調整定位,從入門機型轉變爲定位女性市場,並導入反轉熒幕、美顏、第二快門等功能之後,不僅保持優異畫質,而且在自拍方面也不亞於計算器牌,可謂是新一代的自拍神器。進化到第十代,整個系列的產品設計其實已經趨向穩定,GF10 相比前代 GF9 的改進點其實基本上是軟體層面的:

  • 外觀顏色調整
    • 新增白色款
    • 粉色款調整爲粉色蒙皮搭配金色機身
  • 機身上增加了小手把
  • 夜景自拍模式
  • 4K 廣角自拍(4K 自拍模式時畫面不會裁切)
  • 非自拍模式下的「自動」美顏的功能
  • 豎條小手把
  • Coolpix A 與 Lumix GF10 手把對比

對浅羽來說,機身上增加手把的小改動是非常有感的。這手把只是一豎條,很多人說看起來像是 O 牌的 E-PL8,但非要說的話可能 Nikon Coolpix A 就已經有類似的設計了。手把的凸出比較多,能有效增進握持效果,握持起來的感覺其實與官方發售的 DMW-HGR1 手把底座;設計上相對又兼顧了機身的主要元素風格,不會造成視覺上強烈的割裂感。當然不喜歡的人始終會覺得古怪,這個問題其實就見仁見智了,如果實在接受不了的話,還可以買皮套遮住、或者選擇花更少的錢買差別不太大的 GF9(笑)。

與 Lumix GM5 比較

既然是從 GM5 換代上來的,那浅羽也不能免俗地對比一下兩款機身。

GM5 與 GF10 體積相若

首先 GF10 的優勢有:

  • 移除低通濾鏡
  • 支援 USB 充電
  • 翻轉螢幕、第二快門鍵、內建閃燈
  • 內建美顏功能

從配置上看到,GF10 幾乎一切都是爲了自拍方便着想,美顏功能以及內建的各種各樣神奇的自動快門觸發都是方便自拍、記錄日常然後直接發到社交網路。另外支援 USB 充電,整體感覺會更像手機一些,只是依然使用了 Micro USB 非常不現代化。而且原廠也沒有附送座充,好在電池規格與 GM5 所使用的電池是一樣的,直接使用 GM5 的座充配件即可

而 GF10 相比 GM5 來說,不足之處既可以說非常之多,但糾結後其實又沒有那麼戳中痛點:

  • 無 EVF
    • 但 GM5 的 EVF 放大率低,只是解決有無的問題。
  • 無熱靴
    • 但 GM1 也沒有;
    • GM5 的熱靴指柄留着也用不上了。
  • 取消了全手動錄影;
    • 從 GF7 就開始取消了;
    • 正經錄製 4K 素材還是用 GX9 吧。
  • 開機真的很慢
    • 是因爲要額外載入美顏軟體的原因嗎?(笑)
  • 快門釋放延遲略高一些
  • 機身變更厚
    • 好處是引入翻轉螢幕;
    • 實際上 GM5 的接環部分凸出較多。
  • 機身更高;
    • 更好適應大支鏡頭。
  • 改用 Micro SD 卡並且還是反面朝上插入
    • 但是想想在越來越多的筆電(ThinkPad X1 Carbon、Surface Pro、XPS 系列)都搭載 Micro SD 讀卡機的當下未免不是一種方便;
    • 但是反面朝上插入真的不能忍。
  • GF10 擁有內建閃燈
  • GF10 整體更厚換來卡口環凸出更少
  • 翻轉螢幕與 EVF 的取捨
  • 正面朝外的 Micro SD 卡

總體看來,GF10 犧牲了體積和許多的功能,但非常強調簡單易用之拍攝,尤其強化凸出了自拍與美顏功能,當真已經成爲了「女友機」。

GF10 與老前輩 GF2 同框

入門款始終是有缺憾

誠然 GF10 幾乎已經算是 GF 系列「至臻完美」之作,但定位在入門市場,她依然有兩個巨大的缺點:

  • 依然沒有 Bluetooth,無法配合手機、平板低功耗記錄 GPS,也無法自動啓用 Wi-Fi 傳送圖片;
  • 依然沒有 IBIS,配合輕量級長焦鏡頭非常難用,哪怕學 Olympus 給一個三軸版也好過沒有;
即使是集精緻、先進與易用爲一身的 GF10 仍有不小遺憾

這一次,GF10 擁有了漂亮的設計、精緻的外觀,達到了女性用家——甚至任何用家的預期標準,16MP 也滿足日常使用,但女性定位機爲什麼就不配擁有更強大的輔助機能呢?或者反過來說,定位更高的 GX 系列爲什麼不(繼續)推出更多彩的配色呢?千萬、千萬不要說是市場原因:當浅羽看到許多女性攝影師抱着黑色、銀色的裝備時,總會懷疑她是否是自願選擇了這兩個色系。

Lumix 系列的多彩設計止於入門機種

vitech's avatar

乱域-LZR第四代特效素材包更新

版权声明

  • 禁止未经许可对本特效包的分发、修改等。作者QQ:1010086485
  • 目前V4特效包仍处于内测阶段,禁止未经许可将其使用于正式项目(如solo、正式联合等)
  • 欢迎对特效需求等提出相关意见

下载:(6月21日更新)
LZR第四代特效素材包-0621测试
LZR第四代特效素材包-0612测试

注:素材包使用Adobe Animate cc制作,理论上CS6可以转码使用,但是可能丢失数据。尽量使用Adobe Animate cc系列软件。

櫻川 浅羽's avatar

使用 TWRP 備份資料時出現 createTarFork() process ended with ERROR: 255(內無徹底解決方法)

浅羽的手機上沒有什麼重要資料,但照片、聊天之類的私隱內容不帶密碼地交到陌生人手上終歸是不放心。所以寄修前先用 Titanium Backup 備份一遍所有程式的資料,再用 TWRP 備份 Data 分割區,寄一臺空手機維修。進入 TWRP 後顯示 Data 分割區備份約需要 11G,但開始備份後很快就中止了,生成的備份檔只有 500M 不到,並且還有錯誤提醒。所以 TWRP 遭遇了什麼?

閱讀全文 "使用 TWRP 備份資料時出現 createTarFork() process ended with ERROR: 255(內無徹底解決方法)"

櫻川 浅羽's avatar

拖延症懶癌晚期終於也換眼鏡了

浅羽多年來一直沒有去更換眼鏡,因爲配鏡對體力和精力都是不小的考驗。在常年累月的使用後,因爲膠框的老化,加上嚴重的突發事故,鏡片損毀嚴重。現在浅羽不戴眼鏡也看不清,戴上眼鏡更看不清。只能說服自己,權當是給配鏡一個動力了。

閱讀全文 "拖延症懶癌晚期終於也換眼鏡了"

櫻川 浅羽's avatar

LightPix Labs FlashQ T2 引閃器開箱

在「小而美」的相機有許多需求和選擇的今天,對於小型化的相機系統,離機閃到底有沒有可行的方案呢?FlashQ T2 小巧的體積和較爲穩定的引閃,雖然無法與專業的引閃器相比,用來搭配小型的專業化相機或者消費級別的 APS-C 無反都是很不錯的選擇,小巧方正的造型也很容易在外觀上搭配相機。

閱讀全文 "LightPix Labs FlashQ T2 引閃器開箱"

櫻川 浅羽's avatar

消費降級,SONY NWZ-A10 系列 Walkman® NWZ-A17 動手玩

前段時間聽說 NW-A50 系列要上市了,浅羽趕緊出掉了自己接近全新的 NW-A46HN。出掉之後的一段時間,NW-A57 的價格還居高不下;不習慣用手機聽歌的浅羽,正苦於沒有專門聽歌用的隨身裝置,而碰巧看到有廉價的二手 NWZ-A17。反正隨身聽個響,主要還是外觀精緻漂亮、使用方便,。相比浅羽先前用的 A46,A17 更加小巧、便攜,雖然略長一些,但厚度和重量都下降很多,是真正的「隨身聽」。

閱讀全文 "消費降級,SONY NWZ-A10 系列 Walkman® NWZ-A17 動手玩"

Molunerfinn's avatar

Vite 原理浅析

已经好久没有写博客了。本文不说 Vue3.0 了,相信已经有很多文章在说它了。而前一段时间尤大开源的 Vite 则是一个更加吸引我的东西,它的总体思路是很不错的,早期源码的学习成本也比较低,于是就趁着假期学习一番。

本文撰写于 Vite-0.9.1 版本。

櫻川 浅羽's avatar

解決 Android 更新後 Titanium Backup 一直「搜尋應用程式資料」的問題

Titanium Backup ★ root needed(後文簡稱 TB)是老牌的 Android 應用程式備份工具,早在 KitKat 時代淺羽就在使用,並且購買了★ 專業/捐贈版授權。然而好好的備份工具,在從 MIUI 11 穩定版更新到 MIUI 12 開發版後,竟然不能用了,打開就一直停留在「搜尋應用程式資料」,永遠搜尋不完。

想到去網路上搜尋相關的問題,結果資訊很少,大多都是出現在還原應用程式時 lag 住。反而是棧溢出上有一個完全一樣的問題,但回答幾乎都是清空所有資料、重新灌系統解決……

……除了最後一個回答:

I fix this issue by manually moving the back up files (needed only) to another folder (will be set as back up location in the preference).. i guess some back up file cause the issue

Middleman answered Jul 8 ’17 at 10:31, https://stackoverflow.com/a/44985192

也就是說這問題和備份檔可能有關係。淺羽嘗試把 TitaniumBackup 資料夾重命名,結果果然就順利進入了!接下來需要在偏好設定裏重新指定備份資料夾位置就可以了。所以總結解決方案很簡單

  1. 將 TitaniumBackup(或者任何之前指定的備份資料夾)更名,此時就可以順利進入工具;
  2. 進入 「MENU」 – 「偏好設定」 – 「★ 備份資料夾位置」;
  3. 更改「儲存空間供應商」,選擇「DocumentProvider」;
  4. 授予 TB 內部存儲空間的訪問權限;
  5. 保持 TB 開啓,同時將資料夾改回原名;
  6. 選擇原先的資料夾,並點選「使用目前的資料夾」。

這樣一來,不需要清除資料,TB 也可以正常使用了。解決了備份問題,可以繼續探索採用非異性螢幕的全新 iPhone 12 更新了 MIUI 12 的小米手機了。

Luty's avatar

LudumDare46-Jam纪实

前言

本着「 Learning by Doing 」的想法,刚入坑一个月的我决定参加LudumDare46去体验完整的小游戏开发过程,由于并没有学过原型实现工具,因此工程上就采用速成的U3D,美术素材部分基于现有素材的二次修改,其余用Aseprite绘制,音乐选自opengameart.org的Dont touch it,个人觉得不错就使用了。

参加的类型是Jam,因为是独立开发并且本人基本不具备美术和音乐设计能力,没有能力参加Comp组,并且48h的时限对我来说还是太紧。

icebound's avatar

兴趣,中二病,与未来

就在几年前,我还是一个什么都不懂的小朋友。我不懂得怎么去学习,不懂得该怎么和同学们相处,也不懂怎么对待我身边爱 […]
icebound's avatar

selenium中window.chrome的问题

这学期选了一门课,叫web搜索。然后上来就让写爬虫。这里记录一个之前没有遇到过,而且现在也没有找到解决方案的问题。这个问题是关于window.chrome的
Luty's avatar

对 Ori and the will of the wisps 简单总结.md

前言

本文行文比较随意,作为即时记录通关之后的想法。

主要思考了下第二部在level-up机制,boss战,核心玩法上的改变。

Molunerfinn's avatar

Typora 支持 PicGo 来上传图片了

Typora 最近的一次更新支持图片自定义图片上传服务了,增加了对 uPicPicGo 以及自定义上传命令的支持。其中针对 PicGo 和 PicGo-Core 都做了兼容,可以说非常有诚意了。本文会简单介绍一下如何配置并使用。

自定义图片上传服务的设置

更新 Typora 的最新版,可以在设置-图像处找到自定义图片上传服务的设置区域:

Typora 官方关于图像自定义上传相关的配置、介绍的页面 在这里

如上图,你可以选择自己喜欢用的图片上传工具,可选的工具如下图:

同时 Typora 提供了上传测试功能,如下图你可以找到 Test Uploader 按钮来测试你的上传功能是否正常:

Typora 会上传的图片就是它家的 Logo 了,如下:

当测试成功之后,还别忘了开启图片自动上传功能:

注意选则第三项,即允许通过读取 YAML 配置来决定是否自动上传图片。经过测试,在 macOS 上必须开启这个选项,同时在文章的顶部写下如下的 YAML 配置:

1
2
3
---
typora-copy-images-to: upload
---

这样才可以开启自动上传图片的功能。应该是 Typora 的一个 bug,后续版本不知道会不会修复。

自动上传图片的效果

说了这么多,Typora 里引入图片即上传的效果是怎么样的呢?我录制了一个 gif:

可以说整体效果还是比较流畅的。

同时如果你未开启自动上传图片的功能,把图片拖入 Typora 或者粘贴到 Typora,右键图片看到一个上传图片的选项:

这样也能根据你配置的上传服务来上传图片。

使用 PicGo 上传的相关说明

Typora 支持了两种 PicGo 的上传模式,作为 PicGo 的开发者,我觉得有有必要跟朋友们说说区别。Typora 支持的两种 PicGo 上传模式分别是:PicGo-Core(命令行)以及 PicGo.app(图形界面)

1. PicGo.app

PicGo.app 就是用户平时经常使用的图形化界面的 PicGo。而 Typora 对接的上传服务来自于 PicGo v2.2.0+提供的 PicGo-Server 的功能,它是一个小型的 HTTP 服务器,会默认开启 36677 端口来监听上传的请求。而 Typora 则会往 36677 端口发送请求来上传图片。所以如果你的 PicGo 版本过低或者 PicGo-Server 功能没有开启,或者端口不是 36677,都无法通过 Typora 的这个功能上传图片。

2. PicGo-Core

这个是 PicGo 底层依赖的 核心库,是 PicGo 上传图片、插件机制的核心。它是一个 npm 包,意味着你可以通过 npm 全局安装来实现上传。同时 Typora 也提供了预编译的二进制文件,它是把 PicGo-Core 所有依赖都打包成了一个可执行的文件。

Typora 对这两种 PicGo-Core 的用法都支持,官方的文档对此有详细的 配置说明。不过需要注意的是 macOS 由于系统的原因,不支持预编译的二进制文件那个使用方法,而只能使用 npm 全局安装的方式,再通过 custom command 自定义命令的方式来使用 PicGo-Core:

3. 二者的区别

官方 文档 里对二者的区别有做出描述,我觉得写得挺到位的。不过还是跟大家聊聊这二者的区别:

  1. 使用 PicGo.app 模式上传意味着 PicGo 需要开启常驻后台。如果对性能要求比较高的用户可能不太能接受。
  2. 用 PicGo-Core 来上传只有运行时的消耗,上传结束后会自动销毁进程,性能方面会更好。
  3. PicGo-Core 上传的配置跟 PicGo 用的不是同一个文件,因此如果需要用 PicGo-Core 来上传需要重新配置一遍。
  4. PicGo 提供了更多的功能,比如上传前重命名、上传的历史记录等
  5. PicGo 的一些插件只有 GUI 版本支持,而不支持 PicGo-Core,所以如果需要使用插件功能,更推荐使用 PicGo。不过 PicGo 只在语言设定为中文版的 Typora 里才能使用,因为目前 PicGo 没有英文文档、英文界面。

跪求 T T 有兴趣的小伙伴一起来翻译,如果对 PicGo 的国际化有意向的小伙伴,可以加入官方 gitter 频道一起来聊。

就我自己的使用来说,我是更喜欢直接用 PicGo 来上传的,因为配置什么的不用再调了,可视化界面也更容易操作~

小结

前不久 PicGo2.0 发布的时候,PicGo-Core 还收到了来自 Typora 官方的 PR。我以为需要好几个月的时间才能支持自定义图床,没想到支持来得这么快。我觉得对于一个 Markdown 编辑器而言,图片的管理、上传一定是一种刚需。而此次开放了自定义上传的功能,想必也是戳中了很多 Typora 用户的痛点。另外这次 PicGo 能够作为官方指定的上传工具,我觉得非常开心,同时它也是 Typora 三个平台都支持的上传工具(uPic 和 iPic 都很棒,不过只支持 macOS),希望有了这个功能以后能够给你们带来更好码字体验~

櫻川 浅羽's avatar

滿配版隨身小相機:Panasonic Lumix GM5 和它的小夥伴們

已經入手 Panasonic Lumix GM5 一年餘了,拍攝的照片也已經有千張,卻一直都沒有發過一篇開箱,只是零散發過一些嘟文。起初入 GM5 只是當作小巧可愛的玩具,巴掌大的體積使它僅次於前代 GM1 成為世界第二小的 MTF MFT 機身;但最終它變成了淺羽最常用的隨身相機。相機系統裏,購入機身只是第一步;在與它一同度過的日子裏,淺羽也嘗試了許多的配件,最終成為了現在順爪的滿配版 GM5。

閱讀全文 "滿配版隨身小相機:Panasonic Lumix GM5 和它的小夥伴們"

櫻川 浅羽's avatar

關於半夜艹貓的這檔事:中興 ZTE ZXHN F677V2 ONT 設定橋接

爲什麼 PPPoE 不通了呢?

好不容易在這是非之地安下身來,解決了活命問題之後,順帶租了中國聯通的光纖入戶,開闊一下眼界。因爲安裝的時候就已經拜託師傅改了橋接,所以這篇部落格並不是完全的「光貓改橋接指南」。不過陸續搬完行李之後,發現 PPPoE 撥號竟然上不去了;但時間已經到半夜,撥打聯通的客服,試了二三十次才有人工客服接報修,而上門處理至少也是白天的事情了。

透過更換網口、網線、電腦直接撥號判斷,應該是 ONT 側設定出了問題。反正放着也是不能用,乾脆自己重新設定一下吧。

取得超級管理員

直接用網線接上 ONT,發現分到了一個 192.168.1.1/24 的地址,閘道是 192.168.1.1。嘗試訪問 ONT 的 /cu.html,結果竟然收穫了 404 頁面。不死心地訪問還訪問了 /CU.html,也一樣是 404。那就只好先重置了。

  1. 先訪問版本重置頁面, 「Version Type」选择「Default Version」,「Admin password」填 CUAdmin,點 Submit 後光貓會恢復預設版本韌體、清除所有設定並自動重啓。
  2. 這時再訪問 /cu.html 頁面,點選管理員賬戶,密碼用上一步設定的 CUAdmin 就能進管理頁面了。

設定網路側參數

設定橋接 INTERNET

在「基本配置」—「上行线路配置」—「WAN连接」頁面上:

  • IP 協定選「IPv4/v6」
  • 業務模式選「Bridge」
  • 連線名稱選擇「新建WAN连接」
  • 綁定到唯一一個 Gbps 端口 LAN1
  • 業務模式選擇「INTERNET」

如此做完之後,繼續嘗試 PPPoE 撥號,但還是不通。仔細一想,還有個 VLAN 的問題。網路上找了一些相關的設定資料(放在第二頁),嘗試了一下設定 VLAN:

  • LAN 模式選「改寫(tag)」
  • VLAN ID 試了一個「3961」

竟然真就撥上號了。

TR069

記得原先改橋接都流行刪掉 TR069,不過萬一有需要設定的話,實際步驟和 INTERNET 是在一個頁面上。區別在於:

  • IP 協定選「IPv4」
  • 模式選「PPPoE」
  • 連線名稱選擇「新建WAN连接」
  • 業務模式選擇「TR069」
  • LAN 模式選「改寫(tag)」
  • 802.1p 選「6」

VLAN ID 和 TR069 的用戶名、口令淺羽自然還是不知道,繼續找參考資料。

TR069、INTERNET、IPTV、VoIP的VLAN号, 在状态—网络侧信息中可以看到, 北京联通一般分别为3969、3961、3964、3010;
TR069的用户名和密码, 北京联通一般是[email protected]和s1b5x7z9;

IPTV

同樣一個頁面,新建 WAN 連線:

  • IP 協定選「IPv4/v6」
  • 模式選「Bridge」
  • 連線名稱選擇「新建WAN连接」
  • 綁定到隨意一個 LAN 端口
  • 業務模式選擇「IPTV」
  • LAN 模式選「改寫(tag)」
  • 802.1p 選「4」

如果直接接 IPTV 盒子,還可以把模式改選「DHCP」。

但是光有連線還不能收看 IPTV,還需要去「高级配置」-「日常应用」-「IPTV」中設定組播 VLAN 號。

IPTV的组播VLAN号, 北京联通一般是4000;

VoIP

ONT 本身支援 VoIP 不是什麼新鮮事,但它還可以當 SIP 伺服器,用手機或者平板客戶端連上就可以充當真實「無繩電話」了。但由於淺羽用不太到,所以根本沒設定。如果有需要的可以閱讀參考 #3。

參考

  1. [分享]北京联通 HG8240/HG8240F 更换光猫过程
  2. ZXHN F677V2修改桥接
  3. 北京联通简单修改光猫配置,旧手机秒变移动固话, Archive.org

後記

第二天早上還在床上迷迷糊糊時,聯通的維修師傅打來了電話。

「哎你好,你昨天是有報修是吧?」
「啊?修好了是嗎?」
「哦哦好的。」

Luty's avatar

游戏解构的基本框架

前言

主要根据个人的学习情况记录一些游戏分析与解构的常用框架、关注重心和实际方法。

文章仅代表个人观点,可能与他人观点或书本有出入。

icebound's avatar

我的2019

感觉入学时的流水账还是前几个月写的,转眼一看都2020年了。大学生活也要马上结束了。 不过,去年真的是做了很多 […]
Roy Binux's avatar

家居自动化

从 Google Assistant, Amazon Alexa, Apple Homekit 到米家,智能家居自动化已经不是什么新鲜的概念了。对于我来说,入坑的契机也非常简单:我不想下床关灯。然后随着想要自动化的场景增加,智能设备(可编程设备)就越来越多。这篇文章就根据自

Luty's avatar

记一次《死亡搁浅》的解构

《死亡搁浅》是小岛工作室于2019年11月8日于索尼PlayStation4平台发售的游戏,同样也是小岛秀夫在离职科纳美之后的第一部作品。小岛秀夫作品个人风格明显:大段的过场CG,惊艳的镜头和光影设计,隐晦而深刻的主题,其之前《合金装备》《寂静岭》等作品都因此而广受好评。《死亡搁浅》是我关注时间最久的作品,从第一次TGA宣传到正式发售一直跟进,现通关之后借短暂回味的时间记录下一些想法。(略带安利性质)

icebound's avatar

瘾君子的生活总是十分困难的,他们会在没有药的夜晚四处游荡,以排解涌上心头的痛苦。 但他们又能怪谁呢?怪自己买不 […]
icebound's avatar

2019小学期作业反思

低下头,看看自己有多么菜 瞎写的 这次小学期真的是让我身心俱疲。在睡了将近十二个小时后,我爬起来上了两节互联网 […]
linkthis's avatar

Munin配置

多看README。
Kay's avatar

Computational Literary Analysis on Jane Eyre

About the project This is a final project of course Introduction to Computational Literary Analysis at 2019 UC Berkeley Summer School, instructed by Jonathon Reeve. Course repository link: https://github.com/JonathanReeve/course-computational-literary-analysis Introduction Jane Eyre is a novel by English writer Charlotte Brontë, published under the pen name “Currer Bell”, on 16 October 1847. Jane Eyre follows the …

Continue reading "Computational Literary Analysis on Jane Eyre"

icebound's avatar

杂记

昨天考完试,突然有种高考完了的感觉,十点多在电脑前面坐了一会,就觉得上下眼皮打架,早早就睡了。早上7点的时候准 […]
linkthis's avatar

RSShub配置记录

天下没有免费的午餐。
icebound's avatar

HBCPC2019题解

Solution A. Battle of Balls 球的半径为 ,为了不让球碰到障碍点,就要保证,球心到障 […]
linkthis's avatar

mpv使用记录

偷懒一时爽,查错火葬场。
李春光 (Chun-Guang LI)'s avatar

学术讲座通知​:From Shuffled Linear Regression to Homomorphic Sensing

题目:From Shuffled Linear Regression to Homomorphic Sensing
报告人:Dr. Manolis Tsakiris, 上海科技大学
时间:2019年5月30日14:00-15:30 (星期四)
地点:教三 308  主持人:李春光

摘要:
A recent line of research termed Shuffled Linear Regression has been exploring under great generality the recovery of signals from permuted measurements; a challenging problem in diverse fields of data science and machine learning. In its simplest form it consists of solving a linear system of equations for which the right-hand-side vector has been permuted. In the first part of this talk I will present a provably correct method based on algebraic geometry together with its associated algorithm, the latter being a first working solution to this open problem, able to handle thousands of noisy fully permuted measurements in milliseconds. In the second part of the talk I will discuss the issue of uniqueness of the solution, in a general context which I have termed Homomorphic Sensing*. Given a linear subspace and a finite set of linear transformations I will present dimension conditions of algebraic-geometric nature guaranteeing that points in the subspace are uniquely determined from their homomorphic image under some transformation in the set. As a special case, this theory explains the operational regime of Unlabeled Sensing, in which the goal is unique recovery of signals from both permuted and subsampled measurements.
*Has been accepted by ICML2019. Preprint: https://arxiv.org/abs/1901.07852

报告人简介:
Manolis Tsakiris is an electrical engineering and computer science graduate of the National Technical University of Athens, Greece. He holds an M.S. degree in signal processing from Imperial College London, UK, and a Ph.D. degree from Johns Hopkins University, USA, in theoretical machine learning, under the supervision of Prof. Rene Vidal. Since August 2017 he is an assistant professor at the School of Information Science and Technology (SIST) at ShanghaiTech University. His main research interests are subspace learning methods and related problems in algebraic geometry. For more information, please visit his homepage.

本次报告为学术前沿报告,欢迎各位老师和学生积极参加!

Molunerfinn's avatar

用setTimeout和clearTimeout简单实现setInterval与clearInterval

这个问题其实是前一段时间舍友的一道面试题。我觉得类似用reduce实现map、用xxx实现yyy的题目其实都挺有意思,考察融会贯通的本领。不过相比之下这道题可能更有实际意义。比如我们经常会用 setTimeout 来实现倒计时。下面来说说我对这个问题的思考。

Molunerfinn's avatar

我的2019春招(暑期实习)记录

今年的春招(暑期实习)批已经过去大半了,相信不少同学已经拿到了心仪的offer了~本来打算暑假有空再写写这段经历,不过今天晚上正好有空就记录一下吧,希望能给正在或者今后要找前端实习、工作的同学一点点启发和建议。(由于我妹子在北京读书,所以实习的话我只想着申请北京的实习机会,这是本文的大前提)。

我自己是北邮研二的学生,「主修」前端。我自己的面试经历不多,从1月份到现在总共只面了3家:头条,腾讯·微信和蚂蚁金服·支付宝,很幸运都拿到了offer。其实我觉得主要还是内推对我的帮助特别大,没有内推的话我估计也很难拿offer了。所以经验第一条:能找内推尽量通过内推来获取面试资格。帮你内推的学长学姐一般会帮你查看(甚至修改)简历,有的可以直接部门直推给leader,等于省去了HR筛简历的步骤,所以能找到内推就尽量走内推而不是单纯走网申吧。

Molunerfinn's avatar

Electron-vue开发实战7——命令行调用与系统级别右键菜单的实现

前言

前段时间,我用electron-vue开发了一款跨平台(目前支持主流三大桌面操作系统)的免费开源的图床上传应用——PicGo,在开发过程中踩了不少的坑,不仅来自应用的业务逻辑本身,也来自electron本身。在开发这个应用过程中,我学了不少的东西。因为我也是从0开始学习electron,所以很多经历应该也能给初学、想学electron开发的同学们一些启发和指示。故而写一份Electron的开发实战经历,用最贴近实际工程项目开发的角度来阐述。希望能帮助到大家。

预计将会从几篇系列文章或方面来展开:

  1. electron-vue入门
  2. Main进程和Renderer进程的简单开发
  3. 引入基于Lodash的JSON database——lowdb
  4. 跨平台的一些兼容措施
  5. 通过CI发布以及更新的方式
  6. 开发插件系统——CLI部分
  7. 开发插件系统——GUI部分
  8. 命令行调用与系统级别右键菜单的实现
  9. 想到再写…

说明

PicGo是采用electron-vue开发的,所以如果你会vue,那么跟着一起来学习将会比较快。如果你的技术栈是其他的诸如reactangular,那么纯按照本教程虽然在render端(可以理解为页面)的构建可能学习到的东西不多,不过在main端(Electron的主进程)应该还是能学习到相应的知识的。

如果之前的文章没阅读的朋友可以先从之前的文章跟着看。本文主要是基于PicGo v2.1.0版本更新的重要内容做的讲述。

Molunerfinn's avatar

Electron-vue开发实战6——开发插件系统之GUI部分

前言

前段时间,我用electron-vue开发了一款跨平台(目前支持主流三大桌面操作系统)的免费开源的图床上传应用——PicGo,在开发过程中踩了不少的坑,不仅来自应用的业务逻辑本身,也来自electron本身。在开发这个应用过程中,我学了不少的东西。因为我也是从0开始学习electron,所以很多经历应该也能给初学、想学electron开发的同学们一些启发和指示。故而写一份Electron的开发实战经历,用最贴近实际工程项目开发的角度来阐述。希望能帮助到大家。

预计将会从几篇系列文章或方面来展开:

  1. electron-vue入门
  2. Main进程和Renderer进程的简单开发
  3. 引入基于Lodash的JSON database——lowdb
  4. 跨平台的一些兼容措施
  5. 通过CI发布以及更新的方式
  6. 开发插件系统——CLI部分
  7. 开发插件系统——GUI部分
  8. 想到再写…

说明

PicGo是采用electron-vue开发的,所以如果你会vue,那么跟着一起来学习将会比较快。如果你的技术栈是其他的诸如reactangular,那么纯按照本教程虽然在render端(可以理解为页面)的构建可能学习到的东西不多,不过在main端(Electron的主进程)应该还是能学习到相应的知识的。

如果之前的文章没阅读的朋友可以先从之前的文章跟着看。并且如果没有看过前一篇CLI插件系统构建的朋友,需要先行阅读,本文涉及到的部分内容来自上一篇文章。

Roy Binux's avatar

Zerotier Nat 网关出口 和 iptables 调试

每当看到各类教程中的 iptables 指令,在格式参数组合之下可以实现从防火墙,封禁 IP 端口到 NAT 的各种操作,就如同魔法一般,看不明白,却又感到无比强大。想学,但又好像不得要领,稍微不慎可能就再也连不上了。最近配置 Zerotier 的 Nat 网关的时候,看着

Molunerfinn's avatar

Electron-vue开发实战5——开发插件系统之CLI部分

前言

祝大家2019年猪年新年快乐!本文较长,需要一定耐心看完哦~

前段时间,我用electron-vue开发了一款跨平台(目前支持主流三大桌面操作系统)的免费开源的图床上传应用——PicGo,在开发过程中踩了不少的坑,不仅来自应用的业务逻辑本身,也来自electron本身。在开发这个应用过程中,我学了不少的东西。因为我也是从0开始学习electron,所以很多经历应该也能给初学、想学electron开发的同学们一些启发和指示。故而写一份Electron的开发实战经历,用最贴近实际工程项目开发的角度来阐述。希望能帮助到大家。

预计将会从几篇系列文章或方面来展开:

  1. electron-vue入门
  2. Main进程和Renderer进程的简单开发
  3. 引入基于Lodash的JSON database——lowdb
  4. 跨平台的一些兼容措施
  5. 通过CI发布以及更新的方式
  6. 开发插件系统——CLI部分
  7. 开发插件系统——GUI部分
  8. 想到再写…

说明

PicGo是采用electron-vue开发的,所以如果你会vue,那么跟着一起来学习将会比较快。如果你的技术栈是其他的诸如reactangular,那么纯按照本教程虽然在render端(可以理解为页面)的构建可能学习到的东西不多,不过在main端(electron的主进程)应该还是能学习到相应的知识的。

如果之前的文章没阅读的朋友可以先从之前的文章跟着看。

Molunerfinn's avatar

2018小结

终于把研究生开题的事情弄得差不多了,可以抽空写一下2018年的小结了。

Molunerfinn's avatar

图床「神器」PicGo v2.0更新,插件系统终于来了

前言

距离上次更新(v1.6.2)已经过去了5个月,很抱歉2.0版本来得这么晚。本来想着在18年12月(PicGo一周年的时候)发布2.0版本,但是无奈正值研究生开题期间,需要花费不少时间(不然毕不了业了T T),所以这个大版本姗姗来迟。不过从这个版本开始,正式支持插件系统,发挥你们的无限想象,PicGo也能成为一个极致的效率工具。

除了发布PicGo 2.0本体,一同发布的还有PicGo-Core(PicGo 2.0的底层,支持CLI和API调用),以及VSCode的PicGo插件vs-picgo等。

linkthis's avatar

Rsync使用文档

由于太菜导致反复翻车
linkthis's avatar

Telegram RSS机器人

信任Systemd的人,最终……

搭建一个Telegram的RSSBot,可以方便地订阅自己感兴趣的信息源,并实时接收RSS消息推送。

准备Telegram Bot

首先需要申请一个Telegram的机器人,即Bot。在Telegram中找到@BotFather,开始对话并根据提示创建一个新的Bot即可,在创建过程中生成的API TOKEN需要记住以便使用。
然后输入mybots找到刚才创建的Bot并选择,点击Edit Bot,选择Edit Commands输入RSSBot的命令:

rss       - 显示当前订阅的 RSS 列表,加 raw 参数显示链接
sub       - 订阅一个 RSS: /sub http://example.com/feed.xml
unsub     - 退订一个 RSS: /unsub http://example.com/feed.xml
unsubthis - 使用此命令回复想要退订的 RSS 消息即可退订, 不支持 Channel
export    - 导出为 OPML

安装RSSBot

使用iovxw开源的项目
选择使用预编译版本以节约时间,Linux版本为musl静态链接, 无需其他依赖。

1
2
3
apt install unzip
wget https://github.com/iovxw/rssbot/releases/download/v1.4.3/rssbot-v1.4.3-linux.zip
unzip rssbot-v1.4.3-linux.zip

解压完成之后即可运行:

1
./rssbot DATAFILE TELEGRAM-BOT-TOKEN

DATAFILE为数据库保存路径(JSON文件,无需手动创建)。TELEGRAM-BOT-TOKEN为刚才创建的机器人对应的Token

Systemd配置

为了保证RSSbot持续运行和管理,使用Systemd进行操作。
执行vi /etc/systemd/system/rssbot.service,参考以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=A RSS Bot
After=network.target
Wants=network.target

[Service]
Type=simple
WorkingDirectory=/home/rss
ExecStart=/home/rss/rssbot DATAFILE TELEGRAM-BOT-TOKEN
Restart=on-failure
RestartSec=10
User=rss

[Install]
WantedBy=multi-user.target

然后执行:

1
2
3
systemctl daemon-reload
systemctl enable rssbot
systemctl start rssbot

如果需要定时重启等操作,编写对应的Time文件即可。

Bot命令示例

个人订阅:/sub <RSS 地址>
频道订阅:/sub @channelname <RSS 地址>
查看个人订阅列表:/rss
查看个人订阅列表并显示订阅链接:/rss raw
如果需要把机器人加入频道,则机器人的身份需要为管理员

Systemd真香。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-05-29-Wednesday-08:45:53 PM

linkthis's avatar

Openwrt IPv6 配置

从起点出发然后回到起点。

OpenWRT IPv6

之前一直只有教育网或者局部地区测试的IPv6现在已经大范围推开,大部分地区的ISP均正确部署了IPv6。通常来说,Openwrt获取IPv6的方式有三种:中继、穿透和NAT,由于ISP已经提供了IPv6和某些方案的缺陷,择优采取中继的方案。

准备

首先将光猫的模式调为桥接或者混合模式,然后通过电脑拨号确认ISP是否已经正确配置IPv6。
然后升级路由器的Openwrt的版本,最好不要低于17.01,否则odhcpd可能会出现问题,当然更老的版本也能正确获取IPv6,不过可能需要每隔一段时间就重启一次odhcpd

配置

从Openwrt 15.xx(即CC版本)开始,默认的初始设置中就会含有wan6,无需安装其它软件包。
由于Openwrt默认分配IPv6私网网段,首先应该删除网络>接口页面内IPv6 ULA 前缀配置自动生成的fd开头的/64随机IPv6地址段并保存生效。其实这个时候,在较新版本的Openwrt上面应该已经成功获取了IPv6
然后我们需要修改/etc/config/dhcp文件,使用无状态地址自动配置(SLAAC)IPv6,而不是DHCPv6。配置示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option dhcpv6 'disabled'
        option ndp 'relay'
        option ra 'relay'
        option master '1'

config dhcp 'wan6'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option master '1'

配置完成之后需要重启network服务,以便接入终端获取IPv6地址:

1
/etc/init.d/network restart

至此所有的客户端包括路由器均可获得可用的IPv6地址,不过在Windows下面,由于祖传BUG的原因,可能无法正常使用获取的IPv6,需要在CMD中执行如下命令:

ipconfig /release6
ipconfig /renew6

之后无需重启,是否有效需要看具体网络配置。

体验

体验较差:客户端的地址无法ping通;访问海外地址也出现问题;部分客户端有1分钟左右的延时。本质鸡肋,所以只在路由器上面保留了IPv6地址。

咸鱼IPv6立即关闭,获取更好的网络体验。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-10-02-Wednesday-04:49:29 PM

vitech's avatar

ElasticSearch 配置Logstash导入mysql数据库

网上教程不少,但是大多对新手不太友好,细节也不太好,这里针对ElasticSearch小白。

以ElasticSearch 5.6.12 和 LogStash 5.6.13为例。这两个的安装从略。
尽量保证两者版本不要相差太多。考虑到LogStash只作为管道,版本不需要一致。

先到LogStash目录下安装JDBC插件

cd /opt/logstash
bin/plugin install logstash-input-jdbc

如果是windows下,请自行在可执行文件后加上.bat

安装完之后开始导入,这个导入过程我们编写一个conf文件实现,这里以logstash.conf为例,为了方便可以直接在logstash/bin下创建一个logstash.conf

input {
  jdbc { 
    # "your-database" 是数据库名    
    jdbc_connection_string => "jdbc:mysql://localhost:3306/your-database"  
    #mysql数据库用户名密码
    jdbc_user => "root" 
    jdbc_password => "********"
    #schedule 可选,如果有schedule则会自动同步,这里意思是每一分钟同步一次,没有就只同步一次。具体的见官方文档
    #schedule => "* * * * *"
    #这里需要使用一个mysql连接库,文末有下载地址,自行下载后随便放一个地方,这里只是举例
    jdbc_driver_library => "/usr/local/logstash/mysql-connector-java-6.0.5.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    #查询,这里只需要select一下即可,比如从your-schema数据表
    statement => "SELECT * FROM `your-schema`"
    }
  }
output {
  stdout { codec => json_lines }
  elasticsearch {
  "hosts" => "localhost:9200"
  #your-index是事件要被写进的索引 如果没有索引就新建一个
  "index" => "your-index"
  #your-type-name 只是数据集的分类,自定义,同类数据尽量使用同一个type
  "document_type" => "your-type-name"
  #可选,这里的意思是绑定原mysql表的id列作为主键,可以避免重复
  "document_id" => "%{id}"
  }
}

然后执行

cd /opt/logstash/bin
./logstash -f logstash.conf

可以看到一排输出,然后数据就注入成功了。

顺带一提,如果小白注入完数据发现有unassigned数据,或者说集群健康度不够,是因为现在的节点分片不够存储数据集的1份备份(默认一份)。只需要执行诸如

curl -XPUT 'localhost:9200/your-index/_settings' -d '{"number_of_replicas": 0}'

将备份数降低即可。

一个可用的Maven的mysql-connector-java-6.0.5.jar

Luty's avatar

TensorFlow从入门到入坟

记录对这个框架的基本理解,一些重要的API和一些工程实践。

vitech's avatar

lnmp配置laravel/thinkphp时出现no input file specified的常见问题

lnmp的域名绑定命令即使到最新的1.5版都是一套不太成熟的做法。
我们每次执行诸如lnmp vhost add时,都会在目录下生成一个类似这样的.user.ini文件

open_basedir=/home/wwwroot/your-project/:/tmp/:/proc/

.user.ini的作用是覆写php.ini中的部分参数,在这里来说,open_basedir在php.ini中可能有一个全局值,而在这个目录下有一个局部的值会覆盖全局值。

而open_basedir则是造成nginx/php-fpm 报错的罪魁祸首,这么说可能不恰当,因为.user.ini的本意是好的,其机理是限制php访问目录,举例来说,你在这个目录下配置的php文件只能操作/home/wwwroot/your-project/下的文件。

而这样就导致了我们在使用诸如laravel/ThinkPHP框架时的问题。比如我们在home/wwwroot下建立了名为your-project的laravel项目,但是lnmp绑定vhost时,按常理是要绑定到/public目录下的。因为/public下是整个网站的入口,这样一来就产生问题了:.user.ini中会生成/home/wwwroot/your-project/public/:/tmp/:/proc/这样的参数,然而这个项目的php是必须要有要调用/public外文件的权限的!这个问题的产生往往会让人难以排查,因为不管是浏览器输出,亦或是nginx和php-fpm的log都不会给出任何错误信息,一个隐藏在/public下的.user.ini文件很难让新手发觉出问题。

解决方案:

.user.ini被安全锁定了,先使用

chattr -i .user.ini

将其解锁,然后vim编辑去掉/public,再chattr +i .user.ini加锁。
当然你也可以直接解锁后删掉,这样损失了一定安全性,对于小项目或者本地项目倒没什么意义了。

Molunerfinn's avatar

一周一部好电影V【WEEK210 网络迷踪】

2018-11-11 WEEK210 网络迷踪

网络迷踪——————————————Searching

  • 导演:阿尼什·查甘蒂
  • 主演:约翰·赵/米切尔·拉/黛博拉·梅辛/约瑟夫·李/萨拉·米博·孙/亚历克丝·杰恩·高/梅金·刘/刘卡雅/多米尼克·霍夫曼/西尔维亚·米纳西安/梅丽莎·迪斯尼/康纳·麦克雷斯/科林·伍德尔/约瑟夫·约翰·谢尔勒/阿什丽·艾德纳/托马斯·巴布萨卡/朱莉·内桑森/罗伊·阿布拉姆森/盖奇·
    比尔托福/肖恩·奥布赖恩/瑞克·萨拉比亚/布拉德·阿布瑞尔/加布里埃尔D·安吉尔
  • 片长:102分钟
  • 影 片类型:剧情/悬疑/惊悚
  • 豆 瓣评分:8.7/10(from85,981users)
  • IMDB评分:7.8/10(from38,178users)
Luty's avatar

CTF题解记录-web篇

记录打比赛时期做的一些web练习题

后几周的因为架构变复杂了,就懒得记录里,思路其实都差不多。

Luty's avatar

Scrapy豆瓣ADHD小组爬虫实例

让自己熟悉数据资源获取->数据持久化并整理->数据可视化的数据处理流程,顺便记录下Scrapy的框架的使用过程。

Roy Binux's avatar

少女前线拖尸脚本 和 生成它的可视化工具

最近在玩少女前线,这是一个手机游戏,over。不是,就真的没有什么好讲的嘛,了解的人早有耳闻,不了解的就只要知道这是个手机游戏就好了,嗯。

然后,我会好好地,正常地,氪金地去玩这个游戏吗?不可能的,玩游戏哪有破解它有意思呢。当年破解 Ingress 是因为它用的 HTTPS 通信的,算是本行。百万亚瑟王是因为别人已经逆向好了,我只是写了一些 bot。现在这么办,玩不了了吗?作为一个不会安卓,不会逆向,不会汇编的菜鸡,那我只好上按键精灵了啊。于是乎,我找到了这个: AnkuLua

AnkuLua 是一個專注在自動化的Android App
基本自動化動作有:

  • 抓取螢幕並找尋指定圖案
  • 對找圖結果採取使用者要的動作(例如點擊、抓放(drag and drop)、打字…等等)

最重要的是,它能运行 lua 脚本!虽然我是一个不会安卓,不会逆向,不会汇编的菜鸡,但是我会 lua 啊。

ankulua-vision

不过,在使用过程中发现,找寻指定图案,需要不断截图/裁剪,这样太麻烦了。于是我又用 electron 做了一个可视化的截图资源管理器 ankulua-vision,像这样的:

基本思路就是,一般游戏是由众多 UI 界面组成的,点击某个按钮能跳转到某个界面上去。那么通过截图,标注识别区域,那么程序就能知道游戏现在所处的界面。通过标注按钮区域,那么只需要 goto('battle'),程序就能自动规划从当前界面到 battle 的可行路径,然后点啊点啊就完成需要的操作了。这样一方面不需要自己去裁剪图片了,另一方面通过框架代码,在运行过程中能够有更多的错误检查,自动应对可能出现的各种异常。

理论上,对于点啊点的游戏,是能实现无代码的。即使不能,对于复杂的动作,也可以通过 lua 拓展。

源码在这里:https://github.com/binux/ankulua-vision

你依旧需要在安卓手机或者模拟器中安装 ankulua,然后加载生成的 start.lua 脚本。默认自带了一个简单的循环逻辑,运行后可以直接图形化界面配置运行。当然你也可以通过 lua 脚本拓展,除了 ankulua 本身的 API 可用之外,你也可以使用 stateMachine 这套界面跳转逻辑 API,重用简化步骤。stateMachine 的 API 在 README 中有简略的文档说明。

源码使用 GPLv3 或 MIT 许可证,取决于第一个有效 PR(例如 fix typo 不算),如果第一个 PR 之前有商业化需求或者 PR 作者要求,则 MIT。

少女前线拖尸脚本

WARNING: 任何使用脚本的行为都是官方禁止的,我不对下文所述任何内容以及其后果负责

于是,这里就是 少女前线的拖尸脚本:

https://github.com/binux/binux_github_com/releases/download/gf/shojo.zip

同时它也是一个 ankulua-vision 的项目,你可以通过 ankulua-vision 打开这个项目目录,调整截屏或者按钮位置。

脚本实现的功能

  • 43e, 02, 52n 拖尸
  • 自动重启后勤
  • 自动强化或者分解人形
  • 自动修理

使用方法

  1. 根据 [填坑结束?][失了智]萌新向拖尸教学帖[更新8-1N相关] 一文准备好打手和阵型,一队练级队,二队补给队,52n 还需要 3 队狗粮队。
  2. 解压拷贝脚本到手机中,在 ankulua 中加载 start.lua。
  3. 在启动界面中选择你的两个打手(每轮结束后,两个打手会交换),选择拖尸任务,如果仅自动后勤,选择 null 就好了。

其中 52n 会在战斗中撤退 5, 8 号位 (见 NGA 文 “43e的说明” 展开部分),02 在选择 m4a1 时会撤退 1, 7 号位。

然后开始吧!

WARNING: 任何使用脚本的行为都是官方禁止的,我不对上文所述任何内容以及其后果负责

over

Dimpurr's avatar

钉子的谜之 SETUP 18 @ Ningen

本文原载于 人间 / Dimpurr Cheny ,前文 钉子的谜之 SETUP (2014) 。

?‍? 简要介绍一下自己,并且谈谈正在做什么?

这里钉子,现役帝都大学生。曾经写写画画做过不少事情,当过宅圈内知名前端博主,设计过几个流行的 WordPress 主题,发起过一点音乐社区相关小项目,都已经成为过去。大一以来,唯一的成就是为了拯救北邮人技术组废部危机,不得不成为偶像,建立了 BYRIO 开源社区。目前在选择遵循自己内心去做游戏设计和编曲,还是顺应他人期待继续在 CASIA 和 MSRA 的 ML 搬砖日常前犹豫不决。

? 你使用的硬件有?

主役 MacBook Pro + Surface Pro ,经常同时携带 (虽然很重) ,前者用于影音处理、工程开发、平面设计、绘图板画画 (Wacom Intuos PTM CTH680) ,后者用于 PDF 阅读和批注、 OneNote 笔记、 Surface Pen 作画、推 Gal 和小游戏 (V-A HALL, FrostPunk) 。 Surface Pro 虽然性能有限,但是在轻薄的前提上能让自己在任何时空基本具备进行任何工作的能力。

宿舍配备 Linksys WRT1900AC v1 用于享受百兆校园网 (IPv6 免流 + 学校网络中心成员特权套餐) ,一块 26’ DELL UltraSharp Monitor U2415 外接屏一般连接 MBP 用于宿舍组团看 Rick and Morty 或少女歌剧、瀑布流展示作画和人体结构参考资料、工作时看论文和文档等,计划接上 Switch Dock 之后用来在宿舍玩舞力全开。配置 MIDIPLUS X6 键盘 + ATH-AD2000X 开放式大耳用于演奏。

随身 Sony XPERIA XZ1 ,佩戴 Moto 360 。 SHURE SE846 耳塞退烧,前端 iBasso DX90 和耳放 Sony PHA3 常年借给同学。 iPad mini 用于音游 (Cytus II, Arcera, Groove Coaster, Dynamix) , Nintendo Switch 用于 Party Game (分手厨房) 和沉迷死喷浪涂 (Splatoon) 。

? 你使用的软件有?

常年 macOS, Windows 和 Linux 跨平台用户,曾经是 OpenSUSE 党。 macOS 下剪贴板历史 Paste 和快速访问 Spotlight 重度用户, Win 对应工具是 Ditto 和 Keypirinha 。所有常用 App 必须选择跨平台解决方案, 必备滴答清单 + SimpleList 。日常 IM Telegram 和 QQ ,偶尔用 HexChat 挂 IRC 。念念不忘的 Mac 独占 App 有 Sketch, GarageBand, Agenda, OmniFocus 和 XLD 。念念不忘的 Win 或者 Unix 独占 App 没有,非要说的话 PC 游戏。

曾经 Sublime Text 2 党,如今 Visual Studio Code 忠实用户,必备插件是 background 自带魔理沙背景 + GitLens 。终端分别 iTerm2 和 Cmder / MobaXTerm 。 macOS 下用 SourceTree 做 Git GUI ,用 MAMP PRO 做服务器测试环境。写作环境 ByWord 和 Typora ,设计主 Sketch 辅 Axure 和 PhotoShop ,偶尔用 Illustrator 描矢量画或者 InDesign 做小册子。剪辑一般用 Final Cut Pro 或者 Premiere 。三维制作 3DS MAX 和 Blender 。

主要用 CLIP STUDIO PAINT 作画,新的拟真铅笔手感非常好。有时候会使用 Krita , Tyson 大大绘制的 Kiki 启动屏幕非常可爱,自带的丰富笔刷和镜像画笔等功能很能激发创作灵感, BYRIO 社区还组织参与过 Krita 中文文档的翻译工作,在此安利。

? 你梦想中的设备是怎么样的?

梦想是巨硬让 Surface Pro 性能、品控和售后再好一点,水果让 MacBook Pro 再便宜一点,索法不要搞 XZ2 这种歪门邪道好好出 XZP 这种全平衡侧面指纹带耳机孔的好手机。离开大学宿舍后可能会对个人工作站的设备有新的愿望,目前暂时并没有什么其他的梦想。

? 以下附图。

Surface Pro 桌面

Surface Pro 开始

MacBook Pro 桌面

MacBook Pro LaunchPad

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 钉子的谜之 SETUP 18 @ Ningen

Luty's avatar

浅谈注入攻击及小结

最近科三考试临近,疲惫的练车时光就要结束了,彩六也是打到手软才突然想起要学习,决定挤出了点时间研究下sql inject,在这里做下记录和小结。

什么是注入?

注入(inject)攻击产生的本质原因是输入过滤机制的不完善,导致攻击者可以利用输入数据构造执行代码,从而造成信息泄露、数据损坏、服务宕机等一系列问题。由于注入(inject)攻击常常导致严重后果,进一步催生了`一切输入有害的重要安全思想。

注入如何产生?

个人认为注入攻击产生的本质是:当一段输入数据需要添加到另一端执行指令或代码中时,攻击者可以根据指令或代码的语法刻意构造一段输入数据,造成的输入数据作为指令执行的错误。

例如在PHP + MySQL平台下:

1
2
3
4
5
6
7
8
9
<?php 
$name = $_POST['name'];
$con = mysqli_connect("127.0.0.1","root","","test") or die("error");

$query = "SELECT * FROM person WHERE name='$name';";
$result = mysqli_query($con,$query);
while($row=mysqli_fetch_assoc($result))
echo $row['age'];

这是一个用户通过输入name从person表查询对应age的场景,但是代码中没有对输入变量$name进行任何检测和过滤,如果我们构造$name为1'or'1'='1,那么查询语句$query就会变成:"SELECT * FROM person WHERE name='1' or '1'='1';",然而该查询语句恒成立,意味着这样的输入将会爆出数据库person表中所有人的age,造成信息泄露。

在上面这个案例中,如果我们对$name或者$query进行过滤,比如将'"转义,或者字符处理掉=,那么上面构造的输入数据不会被执行。这只是一个最简单的案例,想了解和实践更多可以部署DVWA进行本地或者远程测试。

SQL注入

根据是否有直接反馈信息分为 普通注入 和 盲注,盲注往往要利用sleep()时间盲注或者利用ascii()进行布尔盲注。

大概流程是这样的:
1.注入POC
2.猜字段数
3.猜字段顺序
4.爆数据库名
5.爆表名
6.爆字段
7.脱裤

有些步骤根据实际情况可有可无的,爆库过程中需要用到information_schema,在这里我就不XJB说了,具体参考:
DVWA-1.9全级别教程之SQL Injection
DVWA-1.9全级别教程之SQL Injection(Blind)

SQL注入绕过

我参考文章做了一些本地测试,记录了一些可能常用的绕过方法,环境为lamp,以下就算是是笔记了,一开简单记录,后面有时间会细化。

  1. 空格:/**/ %a0 ()
  2. '引号:hex() urlencode()
  3. =等号:like rlike regexp
  4. <>比较符:greatest() least() strcmp() in between
  5. ,逗号:substr()mid()from to代替,limitoffset
  6. 其他绕过: 大小写、字符嵌套、内联注释等
    还有一个没看懂的先mark:一些报错注入

宽字节注入
这个注入方式比较特殊,有两个产生条件。

  • 涉及到gbk编码 (iconv等含有编码转化功能的函数)
  • 涉及到转义\(魔术引号、addslashes、htmlspecialchars)

原理大概是,正常字符为2字节,汉字字符为4字节,在gbk的编码环境下可以%df\这样的字符,应为\的编码是%5c,结合起来为%df%5c,解码结果为汉字,从而绕过了\的转义消毒。
注:gbk2312应不存在低位范围无法进行宽字节注入,具体参考这里

后续会慢慢添加实例帮助理解和实践。

参考:
SQL注入绕过技巧
sql关键词绕过【积累中】

小结

无论是XSS、sqli还是commandi,只要有输入数据添加到指令的场景,就有注入攻击发生的风险,开发者也在努力寻找通用性解决方案。
PHP和python中不正确的使用system() exec()等函数会导致命令注入,前段不对js代码进行过滤会导致XSS,windows平台还有dll注入(不明觉厉),感觉都很刺激啊。
PHP5.4后使用的PDO技术和Mysqli几乎已经杜绝了sql注入,其他平台的防御策略也越来越完善,所以sql在实际渗透环境中可能作用并不大,但是这种思想还是很有意思的。


吐槽几句,贵阳这天气是魔鬼吗,阳光直射出门半小时后大暴雨,学车能遇到军事行动,四妹又在发情期,真是每天都有新乐趣hhhh

```

icebound's avatar

如何入门算法竞赛

朋友,你听说过算法竞赛吗?著名算法竞赛选手、教练刘汝佳曾说过,算法竞赛是一种【思维的体操】。在每年的春天,学校都会有归队赛、新生赛、校赛,筛选一批优秀选手进入ACM集训队。在集训队中,会有去过world final的大佬带着我们训练,每年暑假的集中训练是提升个人水平的最好机会!相比其他学校,北邮的编程气息浓厚,几乎所有人都会写代码,这也会对你的学习有帮助。

如何入门算法竞赛 原载于 BYRIO

linkthis's avatar

Sony Z5P Dual升级系统并获取Root权限记录

Sony今天破产了吗?

准备工作

如果手机的版本并没有升级到最新版本的话,可以通过强刷先将手机更新到最新版本。首先通过XperiFirm下载适合自己机型的文件,一般来说,除了日本地区的ROM之外,索尼机型的ROM都支持通刷。然后使用Flashtool解密文件并打包为FTF固件,在打包时可以移除SIMLOCK文件,以免刷机时导致机器锁死(在较新版本的Flashtool当中SIMLOCK已不是可选项目)。在安装Flashtool Drive文件夹内的驱动时,Windows8和Windows10需要事先使用高级启动禁用强制驱动签名。
如果需要Root手机的话,必须首先在索尼官网申请解锁码解除BootLoader,然后通过fastboot命令解锁。
索尼的内核有保护措施,所以为了顺利Root,需要自行制作内核。同时,因为解锁之后会导致相机等的优化算法丢失,所以内核中应该包含如下内容:

  • Sony-ric
  • Dm-verity
  • Drm-fix
  • Fully /system read&write access

而且索尼没有官方Recovery,所以需要准备对应机型的Rec,如果机型不对,将导致无法进入系统。Sony Z5P Dual的代号为Satsuki

升级

打开Flashtool,第一次打开可能需要较长时间同步机型,如果同步失败,则可以打开UserFlashtool device文件夹使用git命令自行同步(建议关闭自动同步)。然后点击闪电图标选择Flashmode,然后选择之前制作的FTF固件即可,注意,一定不能勾选Wipe Misc TA下的SIMLOCK,如果勾选,将导致设备变砖。手机应在开发者模式下开启USB调试模式并授权你使用的电脑,然后在关机的情况下按住音量减键然后连接USB,此时手机呼吸灯应该为绿色,然后自动开始刷机,整个过程大概需要10分钟左右。

Recovery & Root

在刷入Recovery之前,请保证手机已经解锁且开启并授权了USB调试。在关机的情况下按住音量加键然后连接USB进入Fastboot mode,此时呼吸灯应为蓝色。首先在命令行内用Fastboot命令刷入自定义内核,之后重启,然后使用命令刷入Recovery并重启。
Root应用选择Magisk,在Recovery中使用Mount挂载SD卡或者网络储存空间(如Samba),然后刷入对应的ZIP包即可完成Root。

Magisk模块

Xposed

推荐使用Systemless Xposed,可以通过Magisk Manager安装,而且开机速度快,但是需要注意Systemless Xposed无法通过SafetyNet检查;XposedInstaller也应该使用Systemless Xposed提供的版本。

NotoSansCJK

通过Magisk Manager安装,提供全字重中日韩字体因为傻逼Google只提供了Regular字重,可以很好地改善字体的显示效果,不过这个模块只支持Android 7.0+。

Unicode字符缺失

Google在Android 8.0更新了系统的Symbol字体,而一些软件使用了较新区码的字符,导致Android 7.0无法正常对应显示。
Google更新的字体为NotoSansSymbols-Regular-SubsettedNotoSansSymbols-Regular-Subsetted2版本号并没有变,一直是Version 1.09uh,只需要自行替换位于/system/fonts/下的同名字体即可正常显示。操作需要在Recovery下进行,同时字体的权限应设置为644

刷机有风险,作死需谨慎。
有了Magisk和Xposed就能乱整了~有Recovery怎么会翻车
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-03-03-Sunday-11:14:03 AM

Molunerfinn's avatar

PicGo的star数破1000的心路历程

大概半年前(2017年11月28日)我在GitHub上开源了一个基于electron-vue的开源桌面应用PicGo。其出发点是为了改善我在写博客的时候贴图困难的问题。在经过了半年的持续维护和一些宣传(《PicGo:基于 Electron 的图片上传工具》《图床上传工具PicGo v1.5更新:支持腾讯云COSv5版本、支持GitHub图床、支持上传前重命名文件等等》等等)后,6月12日,它的star数也终于突破了1000的关卡。在这过程中我也学习了不少东西。在和大家交流的过程中,我才发现原来大家都有着这些需求,才发现我一开始的实现思路并非到位等等。谨以此文记录与PicGo有关的我的心路历程。

赶巧前不久也有一个开发者chyingp的开源项目破了1000star,也有着类似的文章,祝贺!

Molunerfinn's avatar

小记VSCode插件amVim的改进以及插件开发

前一段时间在Mac上用VSCode的时候,发现VSCodeVim这个插件严重拖慢了我的开发效率。本来用Vim模式难道不应该是提高效率么?问题是在Normal模式下,光标的移动会有肉眼可见的长延时。比如我按着j,等我松开j后,光标还在移动,而且还移动了一会儿。预期的效果应该是按下移动,松开停止。为此我查了一下相关issue,发现跟我一样的情况的人还不少。(不过也有不少人没有这个问题,貌似跟显卡有关系?我的mac是集显的)。

卸载了VSCodeVim之后,光标移动的速度又恢复了正常,不过没有Vim模式的话非常别扭。所以我就开始看看VSCode还有没有其他Vim模式的插件。于是我又试了另外两个插件:vimStyleamVim。最终我选择了后者。不仅是支持的Vim命令更多,还有就是开发者的维护一直在继续。而且很关键的一点,amVim的光标移动体验就是 如丝般顺滑

不过它有个让我很不习惯的地方:不支持:号调起VSCode的Command Line窗口,实现诸如:w保存,:wq退出等常见功能。这些功能在VSCodeVim里是支持的。于是我就在想有没有办法「移植」一下VSCodeVim的功能到amVim来,既能保持光标移动体验顺滑,又能用上Command Line的一些常用命令。所以开启了魔改模式,并在跟开发者的一系列交流后最终我提交的PR被merge了。

本文记录一下我第一次对VSCode插件(修改)开发的过程。

櫻川 浅羽's avatar

幕後:在爭吵中成型的 SOSCON 2018 講稿和投影片

BYRIO @ SOSCON 18 大事記 6 月 8 日,SOSCON 18 的前夕,BYRIO 終於(在浅 […]

幕後:在爭吵中成型的 SOSCON 2018 講稿和投影片 原载于 BYRIO

Dimpurr's avatar

如何在 Krita 中创建材质笔刷

Krita 是 KDE 基金会项目下的一款专注于数码图形绘画 (Digital Art) 的跨平台开源软件。

在 Krita 官方讨论区 Krita Tutorial & Resources 板块和官方文档 Resources 页面可以获得许多有用的材质和笔刷。本文主体内容改编翻译自 https://forum.kde.org/viewtopic.php?f=274&t=140349

钉子的知识库: http://note.dimpurr.com/#艺术和动漫绘画学习索引

今天我将教你们如何创建一个酷炫的材质笔刷。如果你需要一些类似 Photoshop 的双重画笔一样的工具,那就是这个没错了。我想这是材质绘制的极佳方式。让我们开始吧:

首先创建一个基本笔刷贴图尺寸的文件(我使用 300*300px)并删除背景。

插入(或者手动绘制)「基础」贴图。这个贴图会决定笔刷贴图的形式、尺寸、比例并仅用于创建选区。随后右键点击该图层,在菜单中选择「选择不透明度 (Select Opaque)」。

image

隐藏这个图层,并创建 5-10 个新图层。

选择某个材质笔刷,并在空白图层上绘画。使用随机的分散/镜像/旋转设置以增加贴图的多样性。对每个图层都这样做。你可以设置分离图层(Isolate layer)或者 Alt + 点击 切换单独绘制每个图层让这个过程舒服一点。

image

现在让我们创建新的动画笔刷材质。点击 +印戳 (+Stamp) 按钮并选择 风格:动态 ,模式 :随机 (当然你也可以是用别的)。

image

这将会使用目前所有的可见图层作为笔刷的贴图。不要使用自动间隙(Auto Spacing),记得为笔刷命名。你需要反复尝试让笔刷变得正常,可以直接在画布上测试你的新笔刷。

image

于是我们有了一个还未经设置的笔刷贴图,接下来进行一系列配置吧。对于方形笔刷贴图,我建议你使用镜像(Mirror)以增加多样性。对圆形笔刷贴图你也可以使用旋转(Rotation)。你也可以调节空隙曲线增加某种动态笔压,我以这种方式让高压力时能画出厚重的线条。

image

别忘了设置你还可以使用滤镜(filters),有时候我会使用非锐化蒙版(Unsharp)、模糊(Blur)、色彩调整曲线(Color Adjustment Curves)。色彩调整曲线(Color Adjustment Curves)在透明通道(Alpha channel )绘制的时候特别有用(当然平常也有效)。

后面是最终效果的一些例子。在我的笔刷包中,我做了许多有用的基本笔刷、材质笔刷并做好了预设。

image

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 如何在 Krita 中创建材质笔刷

linkthis's avatar

调整Linux I/O调度器优化性能

Linux I/O 调度器是Linux内核中的一个组成部分,用户可以通过调整这个调度器来优化系统性能。

Linux I/O调度器

目前主流的Linux发行版本一般提供以下三种I/O调度器,下面进行简单的介绍:

CFQ

CFQ全称Completely Fair Scheduler,中文名称完全公平调度器,它是目前多数Linux发行版默认使用的调度器,其由内核默认选择。CFQ将由进程提交的同步请求放到多个进程队列中,然后为每个队列分配时间片以访问磁盘。对于通用的服务器是最好的选择,CFQ均匀地分布对I/O带宽的访问。CFQ为每个进程和线程,单独创建一个队列来管理该进程所产生的请求,以此来保证每个进程都能被很好的分配到I/O带宽,I/O调度器每次执行一个进程的4次请求。该算法的特点是按照I/O请求的地址进行排序,而不是按照先来后到的顺序来进行响应。简单来说就是给所有同步进程分配时间片,然后才排队访问磁盘。

DeadLine

Deadline为截止时间调度器,是对Linus Elevator的一种改进(在2.4内核中使用的第一种I/O调度器。主要作用是为每个设备维护一个查询请求,当内核收到一个新请求时,如果能合并就合并。如果不能合并,就会尝试排序。如果既不能合并,也没有合适的位置插入,就放到请求队列的最后),可以避免有些请求太长时间不能被处理,并可以区分对待读操作和写操作。Deadline分别额外为读I/O和写I/O提供了FIFO队列。
在Debian9系统下,如果使用官方提供的4.16版本内核,将会同时默认启用mq-deadline,其可以并行执行I/O调度,提高执行效率。

NOOP

NOOP全称No Operation,中文名称电梯式调度器,其实现了最简单的FIFO队列,所有I/O请求大致按照先来后到的顺序进行操作。NOOP实现了一个简单的FIFO队列,像电梯的工作主法一样对I/O请求进行组织。它是基于先入先出(FIFO)队列概念的Linux内核里最简单的I/O调度器。此调度程序比较适合固态硬盘。

查看使用的I/O调度器调整

查看系统支持的I/O调度器:

1
2
3
4
dmesg | grep -i scheduler
[    1.092429] io scheduler noop registered
[    1.092431] io scheduler deadline registered
[    1.092582] io scheduler cfq registered (default)

结果显示,CFQ是目前使用的I/O调度器。
查看某块硬盘使用的I/O调度器:

1
2
cat /sys/block/sda/queue/scheduler
noop deadline [cfq]

结果显示,CFQ是此硬盘使用的I/O调度器。
注意,此命令在VPS上可能无法执行。

修改使用的I/O调度器

修改linux的调度器十分简单,可以通过shell命令或者修改grub配置文件来达到目的。

Shell

此方法可以随时更改I/O调度器而无需重启计算机。

1
echo deadline > /sys/block/sda/queue/scheduler

注意,此命令在VPS上可能无法执行。

GRUB

此方法将永久修改默认的I/O调度器,与使用shell命令的临时修改不同,系统重启后,修改的调度器不会失效。 修改/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT内增加:

1
elevator=deadline

保存之后执行update-grub命令,然后重启计算机即可。

用户需要根据自己的需求来选择适合自己使用环境的I/O调度器,每种调度器只有在合适的硬件上才能发挥最优的效果。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-02-03-Sunday-03:22:20 PM

LinkAdrifting's avatar

SOSCON 18 前线纪实

由重庆大学 Continue 社区举办的第 0 届 SOSCON 大会就这样圆满结束了,作为中国大陆境内首个由 […]

SOSCON 18 前线纪实 原载于 BYRIO

dimpurr's avatar

北邮人 BYRIO 小分队从重庆 SOSCON 18 学生开源年会胜利归来

今年的 SOSCON 18 学生开源年会由重大 CONTINUE 技术社区在重庆大学成功举办,我们北邮人和 BYRIO 社区也派出小分队参与了活动。

活动 Day2 上午 10:30 ,在位于重大民主湖报告厅的主会场,来自我们 BYRIO 社区的 @LinkAdrifting 聂沫予同学进行了名为「为了创意者——开源社区与精神的拓展和延续」的演讲,讲稿地址位于: https://byrio.org/soscon18/ 。讲到「卡巴基佬」的出身时,台下一时洋溢着快活的空气;讲到 Eric S. Raymond 和如何提问时,引起了活动群的热烈讨论;讲到关于如何用「我是游戏设计师」的咒语打破参与开发创造的心理避障时的「单口相声」获得了好评,有人回复:

这个好,只要心中有诗,即使吟不出诗,我也已经是一个诗人了
即使不会弹尤克里里,我也觉得自己已经是一个吟游歌手了

by 0x01.me

另一侧位于重大主教学楼 506 室,于 11:20 开始的女性专场中,我们的代小岱学姐进行了名为「Deep Learning Frameworks’ Tower of Babel」的演讲。学姐目前正在 MSRA 实习,令人敬仰令人敬仰。她介绍了深度学习框架的差异和各自生态及结合,数据科学和机器学习中的一些实践,并在观众提问时回答了获取收费数据集和模型 「调参玄学」的问题。

两位来自北邮的优秀讲者的活动照片如下:

聂沫予与 BYRIO 社区

北邮聂沫予「为了创意者——开源社区与精神的拓展和延续」

聂沫予的演讲信息

北邮代小岱「Deep Learning Frameworks’ Tower of Babel」

女性专场的听众情况

代小岱的演讲信息

另外值得一提的是, BYRIO 小分队在入住会方提供的青旅住宿时,还遇到了来自成电、青海大学的亲切的小伙伴。为了愉快度过两天共宿时间, BYRIO 社区的 @Dimpurr 同学还在房间的门口贴了一张充满恶趣味的纸条:

BYRIO 在 SOSCON 青旅的小纸条

最后共宿的大佬们

目前,北邮人 BYRIO 小分队已经胜利抵达重庆江北机场,开始回程并即将不得不爆肝准备期末考,以弥补作死准备演讲所花费的时间。让我们感谢并祝福他们。

随后,全程参与了演讲稿修改、制作了直接拉高了当日活动设计水准的超·幻灯演示的 BYRIO 社区吉祥物 @SakuragawaAsaba 同学将会撰写一篇活动后日谈,敬请各位期待。

本次 SOSCON 年会的其他活动和演讲同样非常有趣,欢迎访问大会官网 http://soscon.top/ 、活动直播地址大咖说了解。

感言

重庆太酷炫太科幻太赛博朋克了!重庆的萝莉太可爱了!逛完重大和南开中学后的感想是:校园大是可以为所欲为的,在公园里修大学是可以为所欲为的。三峡博物馆和 WFC 顶楼观景台都很棒,看完博物馆的梅兰竹菊画作特展后,在洪崖洞咖啡厅就拿 Krita 在 Surface 试画了一幅竹,这很开源。

Dimpurr

两天的周末旅游真的很短暂,但我们忙里偷闲,利用一个白天、两个晚上,还是把主要景点都转了转,重庆是个很有意思的城市。不过更重要的是SOSCON18圆满成功,我的演讲效果也不错,就这样

LinkAdrifting

会议记录

以下是 Dimpurr 在会议过程中的全程 OneNote 笔记,可供参考:

Dimpurr 的 SOSCON 18 全程笔记

北邮人 BYRIO 小分队从重庆 SOSCON 18 学生开源年会胜利归来 原载于 BYRIO

LinkAdrifting's avatar

SOSCON 18 演讲:为了创意者——开源社区与精神的拓展和延续

本文为@LinkAdrifting 在SOSCON 2018大会上的演讲稿全文,感谢 @Dimpurr Che […]

SOSCON 18 演讲:为了创意者——开源社区与精神的拓展和延续 原载于 BYRIO

linkthis's avatar

Fail2ban使用记录

Fail2ban是Python语言开发监控软件,它可以监控系统的日志文件并根据检测到的任何可疑的行为自动触发不同的操作。

Fail2ban安装

可以采用apt直接安装Fail2ban

1
apt install fail2ban

但是源的版本往往不够新,所以可以通过源码来安装:

1
2
3
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban
sudo python setup.py install

这样会将Fail2ban安装到Python的库目录下,可执行脚本位于/usr/bin,配置文件位于/etc/fail2ban
需要注意,从源码直接安装时,并没有将Fail2ban自动配置为服务,在Debian下需要执行如下命令:

1
2
3
cp files/debian-initd /etc/init.d/fail2ban
update-rc.d fail2ban defaults
service fail2ban start

apt安装的Fail2ban默认开机启动,手动安装如果需要自行设置:

1
update-rc.d fail2ban enable

如果需要对IPv6地址进行匹配,Fail2ban的版本需要大于0.10

Fail2ban配置

为了避免在升级时配置被覆盖,首先复制配置文件:

1
2
cd /etc/fail2ban
cp jail.conf jail.local

常用的配置参数有:

名称 默认值 描述
filter   jail检测匹配时使用的过滤器名称。过滤器每成功进行一次匹配,对应的jail内的计数器加一
logpath /var/log/messages 过滤器使用的日志文件的路径
maxretry 5 IP触发操作的匹配次数(即计数器的值)
findtime 600 sec 如果在设置的时间内未找到匹配值,则将计数器置零
bantime 600 sec IP被禁止的时间。负数为“永久”禁止。

一般情况下的完整配置文件如下:

1
2
3
4
5
6
7
8
9
10
[DEFAULT]

ignoreip = 127.0.0.1/8 #忽略的IP地址
bantime  = 604800
findtime = 600
maxretry = 5

[sshd]

enabled = true

这个配置为SSH的配置(如果自行修改过端口,则必须指定修改后的端口),其他的配置可以参加jail.conf。如果需要使用,需要将enabled设置为true,并且配置action,指定需要匹配的端口等。loglevel可以设置日志级别,sendmail可以设置邮件提醒。

Fail2ban常用命令

显示fail2ban的活动列表:

1
2
3
4
fail2ban-client status
Status
|- Number of jail:	1
`- Jail list:	sshd

显示特定jail的状态:

1
2
3
4
5
6
7
8
9
10
fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed:	0
|  |- Total failed:	0
|  `- File list:
`- Actions
   |- Currently banned:	0
   |- Total banned:	0
   `- Banned IP list:

需要注意,如果停止了Fail2ban服务,那么所有的IP地址都会被解锁。当你重启Fail2ban时,其会在/var/log/auth.log中查找异常的IP地址,如果这些异常地址的产生时间仍然在禁止时间内,那么Fail2ban将会重新禁止这些IP地址。

更多用法咕咕当中 && 一般不会有人踩的坑咕咕当中。
Fial2ban只能降低风险,提高安全性。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-02-03-Sunday-03:22:20 PM

Volgorabgle's avatar

如何入门绘画 (Ver. Volgo)

本文分为两部分,前部分是一些工具推荐以及学习资料。后部分介绍我 (@Volgo) 的绘画经历。还请根据喜好酌量 […]

如何入门绘画 (Ver. Volgo) 原载于 BYRIO

dimpurr's avatar

首届学生开源年会 SOSCON 将于6月在重庆大学举办,现征集北邮人组队前往

现征集北邮对开源技术感兴趣的小伙伴们组队前往 SOSCON 18 学生开源年会,会方提供住宿,路费还有一定比例报销哦。

另外,我们北邮将会有一场以上的演讲名额,讲者报销一半以上往返路费,有兴趣挑战一下的同学也可进群联系我们,或者通过大会官网自行报名。

  • 时间:2018年6月9日、10日
  • 地点:重庆大学A区主教国际会议中心
  • 活动官网:https://soscon.top/

感兴趣请扫码加微信群:

官方介绍推送如下:

学生开源年会

学生开源年会 ( Students Open Source Conference ) 是中国大陆首个由学生自发组织举办的开源技术峰会,峰会基于开放源代码的理念,每年举办一次,举办地点为在各个城市轮办。峰会的主旨是希望引导和鼓励学生了解、参与、贡献开源;并且在开源项目中,结识更多的朋友,同时也让长期参与开源项目和认同开源理念的同学能够有交流技术、分享经验的机会。

学生开源年会和台湾的 SITCON 以及香港的 SITCON HK为姊妹会议,合为两岸三地华人社区三大学生技术会议。也是中国大陆首个面向学生的开源会议,从讲者到工作人员到听众绝大部分都是学生,享受开源乐趣,参与开源贡献,关于畅想未来这件事情,我们学生更有感觉。

年会展望

SOSCON 2018 将于 2018年 6 月9日-10日在火热的重庆举办,来自全国各地的学生届时将齐聚一堂,想必是一场技术与思考的饕餮盛宴!

我们也希望SOSCON所聚集而成的社群会作为一个长期的舞台,活跃在各地,成为学生交流技术、开放讨论的平台,使得开源理念能够在学生群体中茁壮成长。

会议期间希望学生能积极交流,让学生站上舞台,展示诞生在实验室里的创想,分享蕴含在编码中的激情,畅聊属于开源理念的未来。也期待参会者能继续发挥自己的影响力,让周围更多的人为开源做贡献。

峰会主旨

希望引导和鼓励学生了解、参与、贡献开源;并且在开源项目中,结识更多的朋友,同时也让长期参与开源项目和认同开源理念的同学能够有交流技术、分享经验的机会。同时也欢迎到官方网站报名志愿者和演讲者。

招募志愿者

希望引导和鼓励学生了解、参与、贡献开源;并且在开源项目中,结识更多的朋友,同时也让长期参与开源项目和认同开源理念的同学能够有交流技术、分享经验的机会。https://soscon.top/apply

开放演讲提交

所有跟开源有关的话题和议题都是被鼓励的。包括:Linux、编程语言、云计算、人工智能等等;大会采取多轨道方式同时进行,涵盖但不限于以下内容,也非常欢迎随时跟我们分享你的新鲜想法。

  • 学生自己做的开源项目分享。(譬如自己做的玩具项目、校园项目)
  • 跟大学计算机、软件、网络相关的课程学习分享,譬如数据结构、操作系统等。(需与开源结合)
  • 前沿领域的开源技术、开源项目分享,譬如最新的人工智能、区块链等。
  • 自己参与的国际开源项目分享,譬如 Linux、GNOME、Python等等。
  • 女性专场。(供女生参与及申请,与开源和计算机、软件相关的话题)
  • Workshop 工作坊,手把手带你读源代码、带你折腾代码、或者贡献开源项目。

演讲者以学生为主,大会同时考虑对优秀的学生讲者进行一定的差旅补助,申请地址 https://soscon.top/apply

征求赞助商

活动的举行离不开赞助商的支持,欢迎有意支持学生开源发展的公司与我们联络:[email protected]

时间地点

主办:开源工场
时间:2018年6月9日、10日
地点:重庆大学A区主教国际会议中心
官网:https://soscon.top

蒹葭苍苍,白露为霜;开源工场,在水一方。
欢迎关注学生开源年会,与你不醉不会

电报群:http://t.me/soscon
QQ群:202790710

Weibo:http://weibo.com/openingsource
Facebook:https://facebook.com/openingsource
Twitter:https://twitter.com/openingsource
Google +:https://google.com/+OpeningSource

SOSCON AD

首届学生开源年会 SOSCON 将于6月在重庆大学举办,现征集北邮人组队前往 原载于 BYRIO

dimpurr's avatar

如何入门前端

通俗的来说,前端就是「写网页」。稍微严格一点说,前端指的是 Web 开发中,主要与用户所看到的界面打交道的,以 […]

如何入门前端 原载于 BYRIO

linkthis's avatar

Debian使用记录

本记录主要对应的是桌面版Debian,而且由于系统的特性,本文所叙述之内容只能尽量保证在同一个版本之下的有效性,其它版本系统采用时请多加注意。
Molunerfinn's avatar

基于Koa2开发微信二维码扫码支付相关流程

前段时间在开发一个功能,要求是通过微信二维码进行扫码支付。这个情景我们屡见不鲜了,各种电子商城、线下的自动贩卖机等等都会有这个功能。平时只是使用者,如今变为开发者,也是有不小的坑。所以特此写一篇博客记录一下。

: 要开发微信二维码支付,你必须要有相应的商户号的权限,否则你是无法开发的。若无相应权限,本文不推荐阅读。

Molunerfinn's avatar

【NOTE】观察者模式VS订阅发布模式

最近在看了一篇《不好意思,观察者模式跟发布订阅模式就是不一样》的文章之后对于这两个模式产生了比较浓厚的兴趣。不过奈何我的水平有限,看完那篇文章还是不能理解。不过在和朋友讨论之后,我想我应该是弄懂了。所以特地记下一篇笔记,以便回头翻阅的时候能够想起来。如果理解有误,欢迎在下方评论指出,一起讨论!

Molunerfinn's avatar

【NOTE】进程-线程-协程 关系与区别

在平时总会听到「进程」、「线程」,甚至最近由于Golang的火热我还听到了「协程」。但是平时我对这三个概念并不能很好的理解,甚至不知它们之间的区别和联系。所以专门找了时间了解了一下它们。本文仅为个人笔记,如有错误或者侵权行为请及时在下方评论里指出!感谢。

进程

一个进程好比是一个程序,它是 资源分配的最小单位 。同一时刻执行的进程数不会超过核心数。不过如果问单核CPU能否运行多进程?答案又是肯定的。单核CPU也可以运行多进程,只不过不是同时的,而是极快地在进程间来回切换实现的多进程。举个简单的例子,就算是十年前的单核CPU的电脑,也可以聊QQ的同时看视频。

电脑中有许多进程需要处于「同时」开启的状态,而利用CPU在进程间的快速切换,可以实现「同时」运行多个程序。而进程切换则意味着需要保留进程切换前的状态,以备切换回去的时候能够继续接着工作。所以进程拥有自己的地址空间,全局变量,文件描述符,各种硬件等等资源。操作系统通过调度CPU去执行进程的记录、回复、切换等等。

线程

如果说进程和进程之间相当于程序与程序之间的关系,那么线程与线程之间就相当于程序内的任务和任务之间的关系。所以线程是依赖于进程的,也称为 「微进程」 。它是 程序执行过程中的最小单元

一个程序内包含了多种任务。打个比方,用播放器看视频的时候,视频输出的画面和声音可以认为是两种任务。当你拖动进度条的时候又触发了另外一种任务。拖动进度条会导致画面和声音都发生变化,如果进程里没有线程的话,那么可能发生的情况就是:

拖动进度条->画面更新->声音更新。你会明显感到画面和声音和进度条不同步。

但是加上了线程之后,线程能够共享进程的大部分资源,并参与CPU的调度。意味着它能够在进程间进行切换,实现「并发」,从而反馈到使用上就是拖动进度条的同时,画面和声音都同步了。所以我们经常能听到的一个词是「多线程」,就是把一个程序分成多个任务去跑,让任务更快处理。不过线程和线程之间由于某些资源是独占的,会导致锁的问题。例如Python的GIL多线程锁。

协程

协程在线程中实现调度。你可以理解为它是 「微线程」 。它的调度不来自于CPU,而是完全来自于用户控制(可以理解为用代码控制流程)。协程的执行效率非常高,它的切换不是线程切换,没有线程切换的开销。而且只要线程越多,协程的性能优势就越明显。协程不需要多线程的锁机制,只需要判断状态即可。不过协程本身无法利用多核CPU,因为它基于线程,而线程又依赖于进程。

在JS里,常见的协程就是ES6的yield Generator或者ES7的async await。我们知道JS引擎是单线程的。所以在处理异步任务队列的时候,以往我们会陷入「回调金字塔」或者「回调地狱」。而有了协程之后我们可以在代码层面上来控制我们的程序。

比如我们有这么一个需求,等两个请求都返回之后,用它们的返回值共同做些事。(此处不用Promise.all()来实现,不是说不行,而是为了更好地说明主题)

ES6 + co 的写法:

1
2
3
4
5
6
7
const axios = require('axios')
const co = require('co')
co(function* (){
const getData = yield axios.get('xxx')
const postData = yield axios.post('xxx')
console.log(getData, postData)
})

ES7 的写法:

1
2
3
4
5
6
const axios = require('axios')
(async function () {
const getData = await axios.get('xxx')
const postData = await axios.post('xxx')
console.log(getData, postData)
})()

上述用「同步」的方式写的代码实际上依然是异步执行的。不过因为了有协程,在单线程的JS里也能够让我们在代码层面上实现了任务调度。

总结

可以说三者虽然是不同的东西,但是有着很密切的关系和类似的特性。它们的关系是从大到小,从上而下的。没有进程也就没有线程也就没有协程。总的来说,在多核处理器的情况下,多进程+多协程可以发挥最优的性能。

参考文献

  1. 进程,线程,协程与并行,并发
  2. 进程和线程、协程的区别
  3. 进程、线程和协程的比较
  4. 线程、进程与处理器
Molunerfinn's avatar

基于Electron-vue的图床上传工具PicGo v1.5更新说明

经过一个多月的努(lan)力(duo)开发,基于electron的图床上传工具PicGo终于迎来了一个minor版本的更新。如果你对此感兴趣,不妨看看都更新了哪些有趣而实用的功能吧。

Molunerfinn's avatar

Electron-vue开发实战4——通过CI发布以及更新的方式

前言

前段时间,我用electron-vue开发了一款跨平台(目前支持Mac和Windows)的免费开源的图床上传应用——PicGo,在开发过程中踩了不少的坑,不仅来自应用的业务逻辑本身,也来自electron本身。在开发这个应用过程中,我学了不少的东西。因为我也是从0开始学习electron,所以很多经历应该也能给初学、想学electron开发的同学们一些启发和指示。故而写一份Electron的开发实战经历,用最贴近实际工程项目开发的角度来阐述。希望能帮助到大家。

预计将会从几篇系列文章或方面来展开:

  1. electron-vue入门
  2. Main进程和Renderer进程的简单开发
  3. 引入基于Lodash的JSON database——lowdb
  4. 跨平台的一些兼容措施
  5. 通过CI发布以及更新的方式
  6. 开发插件系统——CLI部分
  7. 开发插件系统——GUI部分
  8. 想到再写…

说明

PicGo是采用electron-vue开发的,所以如果你会vue,那么跟着一起来学习将会比较快。如果你的技术栈是其他的诸如reactangular,那么纯按照本教程虽然在render端(可以理解为页面)的构建可能学习到的东西不多,不过在main端(electron的主进程)应该还是能学习到相应的知识的。

如果之前的文章没阅读的朋友可以先从之前的文章跟着看。

cengxu's avatar

如何入门产品设计

版本 201804 Muji 不是卖产品,而是卖人生的 8000 种角色。它帮助人们拥有一个每天快乐多一点的人 […]

如何入门产品设计 原载于 BYRIO

dimpurr's avatar

BYRIO::helloWorld()

你好, BYRIOSC ,北邮学生互联网与开源社区! BYRIOSC 社区尚处于初生阶段,需要你的支持和参与!

__meta__

BYRIOSC 是一个围绕互联网技术与开源文化,主题涵盖科技、开发、设计、媒体,由开发者和创意工作者组成的线上交流、线下活动的学生社区。 我们力求吸引富有热情和兴趣的开发者、创造者们加入,凝聚北邮各大学生技术组织的力量,建设成为最富有活力和创造力的学生技术社区。

toStudents()

欢迎来到 BYRIOSC 。在这里,你可以发现同好伙伴,交流技术话题,找到学习路线,参与项目实践和获得更多的机会。立刻:

  • 加入我们的 QQ 群 (NzUzMTExMzI2, Base64) 或者 Telegram 群 (https://t.me/byriosc) 并参与讨论!
  • 留言板留下你想说的话!
  • 阅读 如何入门 一门技术的文章,开始学习并加入对应的 兴趣小组
  • BYRCIRCLE 拥有你的个人页、标记你的技能点和参与项目的意愿,认识前辈和技术同好,并在 BYRIDEA 提出想法、组队实现或者参加竞赛。 – 在 BYRCAFE 一览最新的活动资讯和技术干货、北邮人论坛讨论和各大校内学生组织的公众号内容聚合精选(建设中)。
  • BYRPLANT 博客圈阅读社区成员的文章,或者 登记你自己的个人主页和博客 以便我们收录。
  • BYRWIKI 了解北邮学生活动的历史、创新和创业文化以及技术类学生组织和社团,并参与其中(建设中)。 如果你有能力,并想参与我们的项目开发或者社区建设,欢迎:
  • 阅读我们的 项目小组 列表 ,选择你有兴趣的项目并联系负责人加入。
  • 阅读我们的 社区宣言组织结构 文档,参与讨论、提供建议,或者成为社区负责人的一员。

toOrganizations()

我们欢迎各类具有技术和创意性质的学生组织,加入北邮学生互联网与开源联盟成为成员组织,或者校外的技术和开源社区与我们合作。

  • 在 BYRWIKI 拥有自己的组织介绍书,记录自己的历史、发展和产出成果。
  • 利用 BYRIOSC 联盟平台和其他组织共享人才和资源、联合举办活动。 – 利用 BYRIOSC 的学习引导基础设施培养新人,补充新鲜血液。
  • 利用 BYRIOSC 富有活力的社区招募优秀人才、利用 BYRIOSC 的媒体和信息渠道曝光和宣传。 请联系我们的社区负责人讨论具体事宜,北邮的学生技术文化发展的需要凝聚所有方向一致的力量!

@import how-to

从这里开始了解你感兴趣的技术方向并深入学习,或者阅读 如何撰写「如何入门」系列文章 成为投稿作者!

BYRIO::helloWorld() 原载于 BYRIO

Molunerfinn's avatar

浅谈前后端路由与前后端渲染

最近经常会遇到有人问诸如类似下面的问题:

  • 为啥我写的Vue应用在开发阶段都没问题,部署到服务端之后访问不了除了/的页面呢
  • 为啥我写的SPA页面的路由用hash模式都没问题,改成history模式就问题百出呢
  • 啥是前端路由啥是后端路由,要怎么配后端才能支持我的前端路由呢

这个问题是很多初学者会问的问题,于是结合我自己的学习经历也来简单的讲解一下这二者的区别与联系,希望能对你们有所帮助。

老手可以绕道,去看些更有用的文章吧~

Molunerfinn's avatar

Electron-vue开发实战3——跨平台的一些兼容措施

前言

前段时间,我用electron-vue开发了一款跨平台(目前支持Mac和Windows)的免费开源的图床上传应用——PicGo,在开发过程中踩了不少的坑,不仅来自应用的业务逻辑本身,也来自electron本身。在开发这个应用过程中,我学了不少的东西。因为我也是从0开始学习electron,所以很多经历应该也能给初学、想学electron开发的同学们一些启发和指示。故而写一份Electron的开发实战经历,用最贴近实际工程项目开发的角度来阐述。希望能帮助到大家。

预计将会从几篇系列文章或方面来展开:

  1. electron-vue入门
  2. Main进程和Renderer进程的简单开发
  3. 引入基于Lodash的JSON database——lowdb
  4. 跨平台的一些兼容措施
  5. 通过CI发布以及更新的方式
  6. 开发插件系统——CLI部分
  7. 开发插件系统——GUI部分
  8. 想到再写…

说明

PicGo是采用electron-vue开发的,所以如果你会vue,那么跟着一起来学习将会比较快。如果你的技术栈是其他的诸如reactangular,那么纯按照本教程虽然在render端(可以理解为页面)的构建可能学习到的东西不多,不过在main端(electron的主进程)应该还是能学习到相应的知识的。

如果之前的文章没阅读的朋友可以先从之前的文章跟着看。

Molunerfinn's avatar

hexo-theme-melody v1.5 supports slides & iframe

hexo-theme-melody v1.5

Supports iframe & slides. You can use a layout called slides to enabled the slides layout.

Also you can add a iframe front-matter with the slides layout in your md file to enable the iframe page.

===

Steps

1. Add a slides page

1
2
hexo new page slides
cd ./source/slides

===

2. Add the layout type

1
vim index.md

Add a type called slides

1
2
3
title: slides
date: 2018-03-06 20:24:48
type: slides

===

3. Modified the melody.yml

Add slides default config:

1
2
3
4
5
6
7
8
9
10
11
12
slide:
separator: whatever you like
separator_vertical: whatever you like
charset: utf-8
theme: black
mouseWheel: false
transition: slide
transitionSpeed: default
parallaxBackgroundImage: ''
parallaxBackgroundSize: ''
parallaxBackgroundHorizontal: null
parallaxBackgroundVertical: null

See reveal.js config

===

4. Write a md file with slides layout

In _posts folder, add a md file.

For example:

1
2
3
4
5
6
title: hexo-theme-melody v1.5 supports iframe & slides
date: 2018-03-06 19:57:52
layout: slides
---

// balalala...

Then you will get a post of slides type.

===

Slides layout with iframe

If you want to add a website whatever you like within an iframe, try this:

In _posts folder, add a md file.

1
2
3
4
5
title: hexo-theme-melody v1.5 supports iframe & slides
date: 2018-03-06 19:57:52
layout: slides
iframe: https://the-url-whatever-you-like
---

Then you will get a post of iframe.

===

Configurate single slides in md

The slides config in meldoy.yml can change whole slides page.

But if you set the config in the md file, it will effect the single page.

==

For example:

1
2
3
4
5
6
7
8
9
title: hexo-theme-melody v1.5 supports iframe & slides
date: 2018-03-06 19:57:52
layout: slides
slide:
theme: white
transition: zoom
---

// balalala...

===

Enjoy!

Dimpurr's avatar

校内应用个性化数据年报项目全程吐槽纪实 – 长单页面前端工程与 ECharts 图表可视化

这篇文章以全程实录的方式,记述了我在接到任务之后,从初期策划和出设计稿、组织文案撰写,再到前端工程开发、处理应用统计数据、利用 ECharts 绘制可视化图表,到最后部署上线的完整过程,以及在此期间内心满满的槽点。也许你可以从本文窥见一个完整有趣的项目流程,或者了解我在项目过程中收获到的经验;或者你发现了其中我犯的错误或不足,也请不吝赐教。

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 校内应用个性化数据年报项目全程吐槽纪实 – 长单页面前端工程与 ECharts 图表可视化

Roy Binux's avatar

2018 新的冒险

真的又是好久没有写 blog 了。

年纪大了,记忆力下降,没有学习新东西的动力,也没精力折腾新的技术,新的领域了。每天就是看看斗鱼,打打游戏就过去了,现在的理想就是早点退休,当条咸鱼就好了。

2017 年主要给公司开发了一套基于 electron (chromium) 的页面渲染后端,可以保证抓取时和用户浏览器中看到的保持一致。同时这个服务器端的浏览器,可以通过 websocket 连接用户浏览器,双向同步页面内容变化,录下用户操作,在抓取时进行重放。这些功能我真的很想做给 pyspider,但是确实不方便。眼见着 pyspider stars 过万,而我却渐渐没有精力去维护了。我的希望是以后从现在的公司离职之后能有2-6个月全职开发 pyspider,算是这几年项目荒废的补偿吧。

公司终于把伦敦办公室关闭了,我也随着搬到了美国(湾区)。随便写一点美国的感受吧:

  • 加州税真高,比英国还高,英国人家好歹有免费医保啊
  • 美国真的是物资极大的丰富,真的可以理解为什么很多中国人来了就想要留下来,小富即安
    • 地广人稀,使得超市都是 super 起步的,这样会让选择非常多,卖的量都是加大号的
    • 充足的停车场,汽车出行不用担心不方便停车
    • 汽车让生活半径极大扩大,湾区各种中餐半小时车程都能到达,而半小时车程也不过是正常通勤所花的时间
    • 各种服务比起英国齐全多了,而且周六日不休
    • apartment 社区大都自带 365 天 7 * 24 开放恒温游泳池,健身房等设施(即使大冬天根本没有人去用,水也是恒温并更新的)
  • 非实时记账,很多场合真的需要使用支票,需要通过账单付费;因为是后付费,需要 SSN 查询你的信用记录。真的很不方便。
  • 租房好贵,宽带好贵,手机卡好贵,小费好贵

总体来说,英国更接近国内的政府+生活模式,而美国是只要你花钱,什么都有,不花钱,滚蛋。反正 L1 签证也就 3 年,也不能跳槽,而且就美国这个 H1B 抽奖 + 绿卡排队,比起英国来简直就是地狱模式。趁着这几年,在美国多玩一玩吧。9酱。

SnowOnion's avatar

如果你也要没洗澡热水了——电动花洒试用记

是这样的,一个多月前,宿舍楼下贴出通知,紫荆 #1~#17 2018 年 1 月 22 号 到 2 月 28 号要停淋浴热水(后通知缩短为 2018-01-25 ~ 2018-02-22)。我不想在寒风中去西区浴室洗澡。时日临近,少女推荐我用俗称「洗澡神器」的电动花洒。我就高兴地试了试。

这几天,我用它洗了三次。两次晚上,一次早上。

使用场景如下图。橡胶小碗把花洒固定座固定到墙上;小水泵使用时打开开关放在桶里,现在被拿了出来;水桶和热水瓶放在一边。

一个热水瓶的开水,兑上室温的凉水,大约能配出一桶(21L)洗澡水。我买的这个花洒开到大的档位,一桶水能用四五分钟——比我想象的快。水流速度不如 原来的淋浴设施开到最大 大,但是冲干净洗发水还是没问题。三个热水瓶够我洗完全套的。我宿舍浴室里接凉水方便,所以用完一桶水、装下一桶水的这段时间里我可以打香皂或者干别的。各位请按需准备热水瓶和水桶……

使用后请及时充电。说明书上写的是,充满电能用 60 分钟;充满需要 3 小时。我没试过它的极限。充电前把水弄干。

我第一次用完在宿舍楼群里发了简短的评测。有几位同学提出了共享花洒和水桶和热水瓶的模式。这个可以有!

2018-01-30 更新:这几天洗澡时改进了一下,配新的一桶洗澡水时,用洗衣机的进水管来兑凉水——前几次我是打开(原有的)淋浴花洒向桶里喷凉水,那样人就必须避开洗澡的区域,不好。感谢我室友去年提出合资买洗衣机!

↓洗澡人视角

最后,祝你能拥有青春 激情 梦想 诗和远方。我买的是 https://item.jd.com/13311845236.html

P.S. 最新的通知中,准确的停淋浴热水时段是:2018-01-25 一早停水,2018-02-22 一早供水。西区浴室在万人食堂对面,第一次去要带学生证(我不清楚是一卡通还是纸质学生证/研究生证)办洗澡卡。

Luty's avatar

使用Hexo和Github快速搭建个人博客

前言

这篇文章为纯新手向,主要内容利用github平台快速建立并托管个人Hexo的Next网站,无论文科生和理科生,都能在一个小时左右完成部署,平台为windows。

为阅读本文章,你需要同时阅读:
Hexo官方文档
Next主题官方文档
Markdown语法参考

Hexo + Github模式优点

  • 节省购置服务器的费用
  • 快速搭建,快速部署
  • 学习成本低,学习价值高

    主要步骤

    一. 建立github仓库
    二. 建立本地Hexo博客
    三. 配置本地Hexo博客
    四. 连接本地Hexo与gitpages

开始搭建吧!

建立github仓库

开始之前确保已注册github帐号并下载gitbash。
如果还没有,请参考:极客学院github初识教程完成注册和下载。

点击创建仓库

如图输入仓库名,其中方框部分应与github用户名一致

强调:红色方框中的输入内容应为用户名,否则无法托管。

建立本地Hexo博客

请先自主阅读Hexo官方文档-概述,若按照官方文档已完成安装,可以跳过该步骤。

  1. 安装Node.js
    Node.js官网下载并安装Node.js环境,推荐LTS(Long-Term-Support)版本。

  2. 本地下载Hexo
    首先选择你要配置本地博客的目录,右击选择 Git Bash Here

    从而进入如图gitbash环境

注意:明白这一步直很重要,之后所有命令都是在gitbash中完成!

  1. 安装hexo
    gitbash输入:npm install -g hexo-cli会开始安装Hexo,安装完成后会有如图所示目录文件。

各目录的作用请参考:Hexo官方文档-建站

配置本地Hexo博客

请先自主阅读Hexo官方文档-配置NexT官网文档-开始使用,若按照官方文档已完成部署,可以跳过该步骤。

  1. 下载并部署NexT主题
    前往NexT版本发布页面下载官方Source code.zip并解压,将解压后的文件名修改为next后置于你本地博客目录的themes文件夹。

  2. 本地预览
    在博客目录下的gitbash中输入
    hexo clean
    hexo g
    完成初始化,之后使用命令
    hexo s
    完成本地部署。
    本地部署后可,通过访问localhost:4000从而访问本地博客。至此,你已经可以看到你的博客首页了。

  1. 区别本地配置和主题配置
    两个配置文件均为_config.yml,但有本质区别,之后配置需注意不要混淆。

本地配置:位于 本地博客根目录下_config.yml
主题配置:位于 本地博客目录/themes/主题目录(如next)下的_config.yml

  1. 配置本地配置
    打开本地配置的_config.yml,找到如图Themes字段:

    将字段修改为theme: next从而应用布置好的NexT主题
    同样可以找到如图字段:

    将language字段修改为language: zh-Hans即可应用主题为中文版,在其他字段中可以直接修改个人博客的标题、子标题、描述等信息。
  1. 配置主题配置
    打开主题配置中的_config.yml可以看到主题配置内容,此步骤只强调几个终点配置。

    • 配置菜单
      找到如图menu配置,修改menu中的字段对应博客主页菜单的变化

    • 配置NexT主题
      找到如图Schemes配置,修改scheme字段可以修改NexT子主题

    • 配置博客头像
      在配置文件任意独立行输入avatar: /images/avatar.png,之后在本地博客目录下source文件夹下新建文件夹images,选择自己喜欢的博客头像改为avatar.png同名文件放置在该目录下即可。

    • 配置favicon图标
      所谓favicon如图,可以想images文件夹下添加名为favicon.ico的图标文件修改。

连接本地Hexo和gitpages

  1. 配置与Github Pages关联
    打开本地配置的_config.yml,找到如图deploy字段:
    )并如图配置,其中红框为你的github帐号,白框为github密码,灰框(最右)为你建立的仓库地址。

  2. 部署github托管
    很简单,本地博客目录打开gitbash,输入hexo d即完成在线部署。

至此,你的个人博客线上部署已经完成!

Dimpurr's avatar

BigDataGumi 一期小记 – 浅尝爬虫数据抓取和简单可视化分析 (PySpider)

这篇文章记录了利用 bgm.tv 动画条目和评分数据进行数据统计分析的的初步进展,包括设计网页爬虫抓取数据、利用可视化分析工具尝试获取有价值信息的实际操作部分,还可以了解到数据分析部分领域的概貌。

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 BigDataGumi 一期小记 – 浅尝爬虫数据抓取和简单可视化分析 (PySpider)

vitech's avatar

CMake编译Opencv时遇到的bug解决方案 windres.exe: unknown option -- W ... ; 'sprintf_instead_use_StringCbPrintfA_ was not declared in this scope ..

执行mingw32-make后

28%左右遇到这种错误:
... windres.exe: unknown option -- W ...

解决方案:
在cmake中 取消勾选 ENABLE_PRECOMPILED_HEADERS


32%左右遇到这种错误 :
'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ...

解决方案:
在..\opencv\sources\modules\videoio\src\cap_dshow.cpp
在#include "DShow.h"这一行前加上#define NO_DSHOW_STRSAFE

Dimpurr's avatar

使用 TiddlyWiki 打造轻便个人 Wiki 知识库

这篇文章将简要介绍 TiddlyWiki 的特点,并且分享一些常用的参考链接、资源、插件和常见问题的解决方案,以方便有相近需求的小伙伴们。

TiddlyWiki ,按官方说法是一个「非线性个人 Web 笔记本」。相比其他笔记和 Wiki 系统,其最大的特点之一是程序本体和数据全部都在一个单 html 文件内,与此同时仍然有着非常强大的功能和插件系统。在我看来,管理以文字、代码和公式为主的个人知识库, TiddlyWiki 可谓是最好的选择之一。

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 使用 TiddlyWiki 打造轻便个人 Wiki 知识库

vitech's avatar

Matlab App Designer UIFigure中利用dojo/js/Container/缩放/改图标等技巧

本文部分内容翻译于:Undocumented Matlab

Matlab AppDesigner是R2016a之后推出的新界面设计工具,较GUIDE的GUI 界面更美化,组建更丰富,具有自动化编程等特性。

但是表面上看AppDesigner并没有暴露很多组件诸如Javaframe

GUIDE的figure(gcf)是基于Java的Jframe组件,而Appdesigner的app.UIFigure是基于html的webview,本质上运行了一个CEF(Chromium嵌入式框架 Chromium Embedded Framework version 3.2272 on Chromium 41 in R2016a)。使用的JS DOJO 套件,可以想象Matlab与js/webapp接轨的趋势了。。

因此,如果像GUIDE一样或者其他教学一样视图获取

get(app.UIFigure,'javaframe')

会得到一个空数组,而且是特意留下的,Matlab一直有抛弃javaframe的想法,还发布过调查,现在看来还是不敢完全抛弃。

不说更多,下面就揭示一些其他组件结构吧。

[...]

Dimpurr's avatar

再见高中,以及你好大学。

现在我正坐在北邮宏福校区的软院学二宿舍楼,久违的码一篇博客文章。那么,就让我从高考结束那一天,一直写到大学报到开始这一天吧。写写这看起来没必要写在同一篇文章里的,跨度巨大的两件事,以及夹在其中的,如同以往的小学毕业、初中毕业一样不普通,而更长、意义更加特别的一个高中毕业暑假。

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 再见高中,以及你好大学。

vitech's avatar

polyfill,shim,shiv之间有什么区别

什么是polyfill和shim搜索了一下:在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别?一个shim是一个库,它将一个新的AP...
vitech's avatar

解决AfterEffect启动界面崩溃 并弹出dynamiclinkmanager.exe报错的问题

在adobe官网,google上看了很多方案,大致列举下

1、最简单的 卸了并重装AE,不过这个似乎不能解决问题
2、下载quicktime
3、c:/用户/用户名/appdata/roaming/adobe 目录设为可读写
4、从好友电脑上拷贝一个dynamiclinkmanager.exe到你电脑覆盖 (位置AE/support files/32)
5、启动AE启动界面时,按住ctrl+shift+alt 会弹出是否要清除预置 点清除

我就是做了5才好的

vitech's avatar

Git Config中receive.denyCurrentBranch做了什么?

官网的解答

receive.denyCurrentBranch If set to true or "refuse", git-receive-pack
will deny a ref update to the currently checked out branch of a
non-bare repository. Such a push is potentially dangerous because it
brings the HEAD out of sync with the index and working tree. If set to
"warn", print a warning of such a push to stderr, but allow the push
to proceed. If set to false or "ignore", allow such pushes with no
message. Defaults to "refuse".

Another option is "updateInstead" which will update the working tree
if pushing into the current branch. This option is intended for
synchronizing working directories when one side is not easily
accessible via interactive ssh (e.g. a live web site, hence the
requirement that the working directory be clean). This mode also comes
in handy when developing inside a VM to test and fix code on different
Operating Systems.

这个config是决定 当你Push到一个非bare的远程库的正处于切换状态下分支时的行为。

设置为true或refuse时,会拒绝你的push并且发出几行警告消息
设置为warn时,会接受你的push并且发出几行警告消息
设置为false或ignore时会接受你的push且不发出警告

后两种虽然接受了push,但并没有直接反映在工作目录(working tree)上,你需要输入

git reset --hard

或者切换到其他分支再切换回来,才能刷新文件

设置为updateInstead时,会接受push并直接更新工作目录
但如果工作目录相对HEAD指针有更新,则会拒绝push
注意只有git 版本2.5以后才添加updateInstead. 请升级后再使用

vitech's avatar

解决腾讯云Centos VPS 远程连接mysql数据库的一些问题

mysql默认只支持本地(local)连接,想要开启远程连接,也就是能从远程以mysql -h的方式连接,需要进行一些设定

1、修改mysql的远程端口限制。找到etc/my.cnf
找到如下行,并修改成这样

#skip-networking
bind-address=0.0.0.0

如果没有bind-address 就手动添加。
然后重启mysql

service mysql restart

2、输入

netstat -an|grep 3306 

确保3306端口处在监听状态,如果没有可能是mysql服务有问题,需要重装

3、在本地或其他服务器尝试

telnet *.*.*.*(vps的ip) 3306

如果能连接成功,跳到第6步

4、确保firewalld(centos自带防火墙)没有限制3306端口,或者说已关闭

5、确保iptables没有限制mysql远程连接端口 输入

iptables -L -n  --line-number

如果里面有一行是什么DROP tcp -- ... tcp dpt:mysql 记住行号,并输入命令

iptables -D INDEX 行号

来删除

6、在本地或其他服务器运行

mysql -h *.*.*.*(vps的ip) -u root(mysql用户名) -p

并输入密码 如果成功接入 远程连接的配置也就成功了!

SnowOnion's avatar

梦里的老王、麻酱糖饼和《范德华北》

您的浏览器不支持无插件音频播放,请到 http://7tsy1b.com1.z0.glb.clouddn.com/audio/%E4%BD%9B%E7%BB%8F%E5%9B%9B%E5%B0%8F%E5%A4%A9%E9%B9%85.mp3 聆听

↑建议打开背景音乐。

早上做了俩梦。第一个梦是这样的。我到一个博物馆参观;博物馆的展品是阿拉伯弯刀。这博物馆同时又是一个「武道馆」,比如有一个展览房间里站着一个教练和 30 个学员组成的 5*6 矩阵;学员们周期性地挥动圆月弯刀,动作整齐划一,应该说一模一样,就像游戏里不可对话的 NPC。然后,我进入博物馆的最里面一个房间,发现一把宝刀,就起了贼心,趁四下无人拿起刀来。顿时!警铃大作,铃声内容是古兰经 + 电吉他四小天鹅,类似文章开头的 BGM。我吓坏了,赶紧原路往外跑,一路上 NPC 们都变敌对了,拿弯刀砍我脖子和脚脖子,挨了几十刀,疼疼疼,满身是血。跑到门口,看见人民保安对我微笑点头,我像见到亲人般哭了。

虽然好像没醒,但是第一个梦没有继续。

第二个梦很长。一天傍晚,隔壁老王访问我校某食堂,好像是甲所。甲所「打菜窗口」的风格是,怎么说呢,「太空船里的酒吧吧台」。餐桌是大理石的,长条椅子也是大理石的,没有靠背。老王对麻酱糖饼赞不绝口。「时间不早了,在这儿睡觉觉嘛」,于是老王夜宿甲所宾馆 100 层。安顿下老王,我走到房间外抽颗烟,看见墙上的电幕播报晚间新闻,插播紧急消息,说我市圆月博武馆正在发生一起砍人事件,一男子满身是血逃出博武馆,直播画面(通过甲所电梯里的摄像头采集)显示该男子正在乘电梯试图上到甲所宾馆 100 层。这宾馆有 100 层,配有两部电梯。看着一部电梯不断上升的数字,我慌忙坐上另一部电梯往下走。这电梯下行速度超快,可以全程失重,脚稍稍离开电梯底部飘着;而且落地时一点儿都不不震得慌,这很魔法。落地只用了 t 时间,血男还没上到 100 层,我长出一口气。

甲所的 0 层大厅里,电幕在播出晚间新闻。新闻说,今天白天《欢乐中国行》西安站,有个节目是当地某监狱一在押犯唱歌,表达一种大型改过自新。结果在直播中,该在押犯突然和着旋律唱起自编的淫秽歌词,诸如「大开发的喇叭在号子里吹响 监狱的女警追赶那潮头竞风流 冰河化春水 荒漠变绿洲」。新闻给出了现场视频,视频显示现场的音响设备被迅速中断,但是穿着各事业单位文化衫的观众集族还是一阵骚动。

我感叹着这人不要减刑了,走出甲所大门。大门外是个视野开阔的广场,一位年轻妈妈追着三四岁的熊孩子跑。熊孩子蛇形走位,妈妈追将不上,我蹲在一旁观看。熊孩子回头冲妈妈笑,脚步还不停,结果一下子撞进了我怀里。妈妈从我怀中接过熊孩子,即兴朗诵了一首锤体诗:

华北平原上,
我靠近了你 你远离了我
我远离了你 你靠近了我
直到一天 我离你太远了
你宣布
华北的全称是范·德华北

P.S.(不在梦里)

  • 背阴面儿的房间で,穿袜子で睡觉,对我来说能有效防止感冒
  • 甲所忒贵,但是烤鳕鱼(?)特好吃
  • 西部放歌挺好听的
  • 我不抽烟

(BGM:《疯狂的石头》接近高潮的配乐,常称为「佛经四小天鹅」或「佛经天鹅湖」。若您是权利人,有必要时请告知我删除。)

^D

李春光 (Chun-Guang LI)'s avatar

学术讲座通知​:深度结构建模及其在物体检测和姿态估计中的应用

题目:Modeling deep structures with application to object detection and pose estimation
报告人:欧阳万里 博士 香港中文大学
主持人:李春光
时间:2017年4月12日(星期三)16:00-17:20
地点:教三811会议室

摘要:Deep learning attempts to learn feature representation by multiple levels of abstraction. It is found to be useful in speech recognition, face recognition, image classification, biology, physics, and material science. In this talk, a brief introduction will be given on our recent progress in using deep learning as a tool for modeling the structure in visual data for object detection and human pose estimation. We show that observation in our problem are useful in modeling the structure of deep model and help to improve the performance of deep models for our problem.

报告人简介:
Wanli Ouyang received the PhD degree in the Department of Electronic Engineering, The Chinese University of Hong Kong, where he is now a research assistant professor. His research interests include image processing, computer vision and pattern recognition. He is the first/correspondence author of 6 papers on TPAMI and IJCV, and has published 26 papers on top tier conferences like CVPR, ICCV and NIPS. ImageNet Large Scale Visual Recognition Challenge (ILSVRC) is one of the most important grand challenges in computer vision. The team led by him ranks No. 1 in the ILSVRC 2015 and ILSVRC 2016. He receives the best reviewer award of ICCV. He has been the reviewer of many top journals and conferences such as IEEE TPAMI, TIP, IJCV, TSP, TITS, TNN, CVPR, and ICCV. He is a senior member of the IEEE.
(更多信息请关注: http://www.ee.cuhk.edu.hk/~wlouyang/ )

vitech's avatar

Visualstudio 2017 安装时出现&quot;由于发生一个或多个包故障,工作负荷/组件不完整&quot;等问题

日志文件一般是这样
由于发生一个或多个包故障,产品未能安装列出的工作负荷和组件。

工作负荷不完整
xxxxx
组件不完整
xxxxx

SnowOnion's avatar

按照选举的法

我在知乎看到一个答案[1]讲阿罗不可能性定理(Arrow’s impossibility theorem),但是讲得不够科普,所以有人疑惑发问。我写了个评论回答他,但是被和谐叻。搜了一下阿罗不可能性定理的“科普向”文章,乱七八糟的[2][3][4]。所以把我写的评论贴过来好了,刚好这博客都要长草了。

资质(……):上过唐平中先生的 Game Theory 课;唐在 2009 年给出了阿罗不可能性定理的巧妙的又一个证明[5](上面的知乎答案就是讲的这个证明),并在 Game Theory 的一次课上详解了该 paper。

肯尼斯·约瑟夫·阿罗(Kenneth Joseph Arrow)于2017年2月21日去世,R.I.P.


评论:

24 天前
外行人看不太懂……怎么就……社会福利……独裁者………可以解释一下吗………

我:

Abstract: 社会福利函数指的是这样的选举制度:选票和选举结果都是候选人集合上的全序。定义一个投票人 i 是独裁者,如果无论其他投票人怎样投票,社会福利函数输出的序总和 i 写在选票上的序一样。如果一个社会福利函数可以出现独裁者,那么说这个社会福利函数是 dictatorial 的。阿罗不可能定理说,如果候选人数 >=3,那么任何 unanimous 的、IIA 的社会福利函数都必然是 dictatorial 的。

Full text:

这里所说的“选举”是:n 个投票人,m 个候选人;每个投票人的选票是 m 个候选人上的一个全序(而非像选区级人大代表那样“支持一个或部分候选人”)。

选举,按照要选出啥结果,(至少)有两种分类:

  1. 通过社会选择函数(social choice function)来选出一个获胜者,比如选总统;

  2. 通过社会福利函数(social welfare function)来决定候选人上的一个全序,比如25个政治局委员投票来给七长老排名(什么鬼)。

一个选举机制就是一个社会福利函数 W : L^n -> L 或一个社会选择函数 C : L^n -> O,其中 O 为候选人集合,LO 上的全序的集合。选举机制设计,就是设计 WC,关心如何综合大家意见、把 n 个全序变成一个全序(或一个点)。

注意到社会福利函数的值域也是候选人上的全序。定义一个投票人 i 是社会福利函数 W 里的独裁者,如果无论其他投票人怎样投票,W 输出的序总是和 i 写在选票上的序一样。

如果一个社会福利函数可以出现独裁者,那么说这个社会福利函数是 dictatorial 的。一个平凡的例子是,“总是输出第 301 号投票人的序”。

阿罗不可能定理说,如果候选人数 >=3,那么任何 unanimous 的、IIA 的社会福利函数都必然是 dictatorial 的。

Unanimous 和 IIA 的定义可以看唐平中的文章[5]的 2. Arrow’s theorem 这一节的开头,就半页 :)


[1] https://www.zhihu.com/question/24239308/answer/112972302
[2] https://www.zhihu.com/question/20324062/answer/148764648
[3] https://www.zhihu.com/question/20324062/answer/31731351
[4] http://www.guokr.com/question/452481/
[5] Tang P, Lin F. Computer-aided proofs of Arrow's and other impossibility theorems[J]. Artificial Intelligence, 2009, 173(11): 1041-1053. http://www.cs.cmu.edu/~kenshin/arrow_aij.pdf

Roy Binux's avatar

Data Highlighter

又是好久没有写 blog 了。现在确实没有上学的时候愿意折腾了,能用钱解决的问题,就不自己动手了。但是,很久不写 blog 这事呢,其实就是因为懒 _ (:3」∠) _。

这里带来的是

李春光 (Chun-Guang LI)'s avatar

学术讲座通知​:增强现实中的计算机视觉技术探索

题目增强现实中的计算机视觉技术探索
报告人凌海滨 博士(美国天普大学副教授 亮风台科技的联合创始人&首席科学家)
主持人李春光
时间2016年11月16日(周三)10:00~11:20
地点教三楼811学术报告厅
摘要:近年来,算法和硬件两方面的发展以及移动智能设备的普及从技术和市场两个方面极大得推动了增强现实的兴起和走向实用。计算机视觉作为对3D世界和3D交互理解的重要途径,在增强现实系统中起着至关重要的作用。在本报告中,我们首先回顾现代增强现实的发展及相应的技术体系,并总结增强现实中常用的计算机视觉技术。然后,我们介绍一下本课题组在相关领域的一些工作,主要包括视觉匹配(CVPR16、ECCV16)和视觉跟踪(CVPR13、CVPR14)方面的技术,同时也会讨论一些最新的探索。

报告人简介: 凌海滨博士于1997年和2000年毕业于北京大学,于2006年在美国马里兰大学(Maryland University)获博士学位,后于2006~2007年在加州大学洛杉矶分校(UCLA)做博士后。在2001年任微软亚洲研究院(MSRA)助理研究员,2007~2008年任西门子研究院研究员,从2008起任职于美国天普大学(Temple University),现在为计算机系副教授,并且是亮风台科技的联合创始人并担任其首席科学家。主要研究领域为计算机视觉、增强现实、医学图像理解、和人机交互。获2003年度ACM UIST最佳学生论文奖,2014年度美国自然科学基金CAREER Award。担任期刊IEEE Trans. on Pattern Analysis and Machine Intelligence和Pattern Recognition的编委,以及CVPR 2014和CVPR 2016年的领域主席。
更多信息请参阅: http://www.dabi.temple.edu/~hbling/

SnowOnion's avatar

“红头吃鱼猫”(頭が赤い魚を食べた猫)的五种歧义解释

几年前,大概是在人人网,我看到了这幅图:

是对頭あたまが赤あかい魚さかなを食たべた猫ねこ(我管它叫“红头吃鱼猫”)的五种歧义解释。

当时还几乎不会日语,但是热爱文字游戏的我对此感到很兴奋。

今晚的计算语言学课,提到语法树。于是我又把这个图找出来看。

毕竟经历了半年多正经的日语学习——在半年中的18周,每周上两次90分钟的二外日语课;我已经能看懂这里各种解释所对应的语法现象啦。至少自己认为自己懂了。

原作由中村明裕 @nkmr_aki 发表在一条推文中。他(她?)的 Twitter 自我介绍是 “在野の方言研究家”;这是自黑为语言学民科的意思吗?

这里(这类网站叫什么呢?SNS 内容聚合?) 作者似乎是介绍了这句神奇的日语的创作思路。

这条推文尝试构造英语版本的“红头吃鱼猫”:

就这些吧~

Dimpurr's avatar

动画「ef – a tale of memories.」:把不想忘记的思念融进心愿 ……

词不达意。很多次看完动画都有提笔一写的冲动,最近的一次大概还是「结城友奈」。那时都选好了头图,甚至拟好了标题,却无法动笔。但是这次如果我不写,我根本无法称自己看完了一季 ef ;如果我不动笔,那么那部我眼中的 ef 便无处存在。 ef - a tale of memories.

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 动画「ef – a tale of memories.」:把不想忘记的思念融进心愿 ……

Dimpurr's avatar

euphoric field

明天早上返校,所以大概没有那么多时间构思和修改。只是这次,我必须得这样仓促的开始,然后又仓促的结束,并回归到并不能用日复一日来形容的日常中 —— 这样的,我的高中和高三生活中了。

本文来自 钉子の次元 - Dimpurr - 千里之行,始於足下。 ,原文地址 euphoric field

Roy Binux's avatar

bilibili 新番承包付费意愿调查

2014年10月1日 bilibili 正版新番承包上线,我就对 bilibili 这种自愿付费的方式感到好奇。而且经常听到「正版体验不佳」,「正版动画比起盗版,有何优势呢」的言论,那么中国用户在不插广告,不优先播放,不强制的情况下,到底愿意为「爱」付多少钱呢?

<
Roy Binux's avatar

demo.pyspider.org 部署经验

经常有人会问 pyspider 怎么进行分布式部署,这里以

SnowOnion's avatar

年轻好啊

年轻好啊

敏捷

每个人都该年轻

via these people and places