原本Pixiv站的瀏覽量似乎需要付費會員才能自動統計瀏覽量,那如果不是付費會員就只能打計算機了嗎? 不用的
首先,利用Chorme或Firefox之類的瀏覽器,開啟Pixiv有顯示瀏覽次數的頁面。
然後按鍵盤上的F12,會顯示以下畫面。
接著複製並貼上以下程式嗎:
var spans = document.getElementsByClassName("count");
var counts=0;
for (var i = 0; i < spans.length; i++) {
if((""+(spans[i].parentNode.innerText)).match('瀏覽')!=null)
counts+=parseInt(spans[i].innerText);
}
console.log("此頁面的瀏覽量為:"+counts);
貼完程式碼後,按下鍵盤上的Enter,「該頁面」的瀏覽次數就統計完畢了。
注意這段程式碼僅適用於一個頁面,如果你的作品有好幾頁的話(例如我有兩頁作品集),就要在每一頁都做一次以上動作,再把每頁的數字加總起來就可以了。
如果有問題或發現程式碼不能用的歡迎一起討論喔,希望這篇文有幫助到各位^.^
2020年5月19日 星期二
2020年4月30日 星期四
解決TypeError: type of argument "epsilon" must be int; got float instead的錯誤
日前在使用tensorflow_addons時遇到以下錯誤:
TypeError: type of argument "epsilon" must be int; got float instead
這時進入tensorflow_addons/layers/normalizations.py裡面
找到epsilon int = le-3的地方
把int改成[int,float]
再執行一次程式,問題就解決了
TypeError: type of argument "epsilon" must be int; got float instead
找到epsilon int = le-3的地方
把int改成[int,float]
再執行一次程式,問題就解決了
2020年4月26日 星期日
程式語言毛病數量排行
本文依據Stack Overflow的文章數量,衡量前十大最容易出毛病的程式語言排名。
第十名:C++
C++在Stack Overflow有10,400,000則文章
第九名:SQL
SQL在Stack Overflow有19,800,000則文章
第八名:C#
C#在Stack Overflow有28,900,000則文章
第七名:PHP
PHP在Stack Overflow有31,400,000則文章
第六名:R
R在Stack Overflow有33,500,000則文章
第五名:C
C在Stack Overflow有35,200,000則文章
第三名:GO與Python並列
GO與Python在Stack Overflow皆有36,900,000則文章
第二名:JavaScript
JavaScript在Stack Overflow有37,000,000則文章
第一名:Java
Java在Stack Overflow有39,300,000則文章
當然,本文只是玩笑性質,不必當作真正選擇語言的參考。
第十名:C++
C++在Stack Overflow有10,400,000則文章
SQL在Stack Overflow有19,800,000則文章
第八名:C#
C#在Stack Overflow有28,900,000則文章
第七名:PHP
PHP在Stack Overflow有31,400,000則文章
第六名:R
R在Stack Overflow有33,500,000則文章
第五名:C
C在Stack Overflow有35,200,000則文章
第三名:GO與Python並列
GO與Python在Stack Overflow皆有36,900,000則文章
第二名:JavaScript
JavaScript在Stack Overflow有37,000,000則文章
第一名:Java
Java在Stack Overflow有39,300,000則文章
當然,本文只是玩笑性質,不必當作真正選擇語言的參考。
2020年4月5日 星期日
[小技巧]0.1+0.2==0.3的快速解法
最近在製作程式考題,出了一個0.1+0.2==0.3的題目。
這是很常見的程式考題,題目可能會問如何回傳正確的數字,當0.1+0.2後,結果會是0.30000000000000004的數字,所以0.1+0.2==0.3會回傳false。
這是很常見的程式考題,題目可能會問如何回傳正確的數字,當0.1+0.2後,結果會是0.30000000000000004的數字,所以0.1+0.2==0.3會回傳false。
怎麼快速解這題呢,只要把它變成整數就可以了。
範例:
let a=0.1,b=0.2;
answer=(a*10+b*10)/10;
程式的意思是,先將0.1和0.2轉成1和2,相加後會變成3,之後再除上之前乘上的數字變0.3,就能回傳正確的數字。
同理:
0.24+0.42會回傳0.6599999999999999。
故只要將10改成100:
let a=0.24,b=0.42;
answer=(a*100+b*100)/100;
就能回傳正確的數字:0.66
2020年4月2日 星期四
在Linux解壓縮已切分成數份的zip檔
已知在Linux系統下unzip指令可以解壓縮zip檔,但是,如果壓縮檔已經被分割成數份zip檔了該怎麼辦呢。
首先,開啟CLI介面,輸入:
cat face2.zip* > face2.zip
註:face2為zip檔的檔名,請自行改成自己的。
然後這群zip檔就被合併成一個zip檔了。
然後再輸入解壓縮指令:
unzip face2.zip
該zip檔案就可以解壓縮了。
首先,開啟CLI介面,輸入:
cat face2.zip* > face2.zip
註:face2為zip檔的檔名,請自行改成自己的。
然後這群zip檔就被合併成一個zip檔了。
然後再輸入解壓縮指令:
unzip face2.zip
該zip檔案就可以解壓縮了。
=====分隔線=====
如果覺得這篇文有幫助到你們的話,請留言或幫忙按個廣告吧。
您的支持是我寫文的最大動力。
如果依然失敗了,也請留言讓我知道,看看哪個環節出了問題,我有看到就會回。
希望這篇文有幫助到各位ξ( ✿>◡❛)
2020年3月29日 星期日
[解決方法]引入cv2時發生ImportError: libSM.so.6: cannot open shared object file: No such file or directory錯誤
使用Docker並在Python程式import cv2時可能會傳回
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
的錯誤。
這是因為dockerfile的基本映像檔已經過期了
解決方法:
首先,開啟CLI介面,更新apt-get,輸入:
sudo apt-get update
然後,安裝libsm6,libxext6,libxrender-dev這三個元件,輸入:
sudo apt-get install -y libsm6 libxext6 libxrender-dev
更新完後,再重新import一次cv2,問題得以解決
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
的錯誤。
這是因為dockerfile的基本映像檔已經過期了
解決方法:
首先,開啟CLI介面,更新apt-get,輸入:
sudo apt-get update
然後,安裝libsm6,libxext6,libxrender-dev這三個元件,輸入:
sudo apt-get install -y libsm6 libxext6 libxrender-dev
更新完後,再重新import一次cv2,問題得以解決
=====分隔線=====
如果覺得這篇文有幫助到你們的話,請留言或幫忙按個廣告吧。
您的支持是我寫文的最大動力。
如果依然失敗了,也請留言讓我知道,看看哪個環節出了問題,我有看到就會回。
希望這篇文有幫助到各位ξ( ✿>◡❛)
2020年3月6日 星期五
[不專業評比]各主流程式語言效能比較
本篇將依據各主流程式語言執行的時間來比較效能差異
程式語言的速度僅供參考,效能往往取決於譯器而非語言本身
系統環境:
比較:各語言的IO效能
程式碼:
JAVA
執行時間(單位:毫秒)
=================
比較:各語言的一維陣列/串列填充效能
程式碼:
JAVA
執行時間(單位:毫秒)
=============================
比較:各語言的串列新增效能
程式碼:
JAVA
執行時間(單位:毫秒)
========================
比較:各語言的遞迴效能(使用費氏數列)
程式碼:
JAVA
執行時間(單位:毫秒)
================
比較:各語言大型二維陣列效能
程式碼(灰色字不列入計時):
JAVA
C#
執行時間(單位:毫秒)
=======================
整體上來說,在各個方面每個語言各有優劣
但依我個人排序的順序比為:
程式語言的速度僅供參考,效能往往取決於譯器而非語言本身
系統環境:
- 作業系統:Windows10,64位元
- CPU:intel i7 9700
- Java:cmd
- JavaScript:Chrome
- C++:Visual Studio 2019
- C#:Visual Studio 2019
- Python:Spider
比較:各語言的IO效能
程式碼:
JAVA
- for (var i=0;i<10000;i++)System.out.print(1);
- for (var i=0;i<10000;i++)console.log(1);
- for(int i=0;i<10000;i++) std::cout << 1;
- for (int i = 0; i < 10000; i++) Console.Write(1);
- for i in range(10000):
- print(1)
執行時間(單位:毫秒)
| Java | 130 |
| JavaScript | 73 |
| C++ | 176 |
| C++(最佳化) | 129 |
| C# | 136 |
| C#(最佳化) | 132 |
| Python | 142 |
=================
比較:各語言的一維陣列/串列填充效能
程式碼:
JAVA
- for (var i=0;i<1000000;i++)arr[i]=i;
- for (var i=0;i<1000000;i++)arr[i]=i;
- for (int i = 0; i < 1000000; i++)
- number[i]=i;
- for (int i = 0; i < 1000000; i++) number[i]=i;
- for i in range(1000000):
- list0[i]=i
執行時間(單位:毫秒)
| Java | 2 |
| JavaScript | 6 |
| C++ | 2 |
| C++(最佳化) | 2 |
| C# | 4 |
| C#(最佳化) | 2 |
| Python | 98 |
=============================
比較:各語言的串列新增效能
程式碼:
JAVA
- for (int i = 0; i < 1000000; i++) st.push(i);
- for (var i=0;i<10000000;i++)list.push(i);
- for (int i = 0; i < 1000000; i++)
- mystack.push(i);
- for (int i = 0; i < 1000000; i++) myStack.Push(i);
- for i in range(1000000):
- list0.append(i)
執行時間(單位:毫秒)
| Java | 20 |
| JavaScript | 135 |
| C++ | 690 |
| C++(最佳化) | 12 |
| C# | 59 |
| C#(最佳化) | 59 |
| Python | 94 |
========================
比較:各語言的遞迴效能(使用費氏數列)
程式碼:
JAVA
- public static long fib(int n){
- if(n==1)
- return 1;
- else if (n==2)
- return 1;
- else
- return fib(n-1)+fib(n-2);
- }
- fib(40);
- function fib(n){
- if (n == 1)
- return 1;
- else if (n == 2)
- return 1;
- else
- return fib(n - 1) + fib(n - 2);
- }
- fib(40);
- static long fib(int n) {
- if (n == 1)
- return 1;
- else if (n == 2)
- return 1;
- else
- return fib(n - 1) + fib(n - 2);
- }
- std::cout<<fib(40);
- static long fib(int n)
- {
- if (n == 1)
- return 1;
- else if (n == 2)
- return 1;
- else
- return fib(n - 1) + fib(n - 2);
- }
- fib(40);
- def fib(n):
- if n == 1:
- return 1
- elif n == 2:
- return 1
- else:
- return fib(n - 1) + fib(n - 2);
- fib(40)
執行時間(單位:毫秒)
| Java | 224 |
| JavaScript | 632 |
| C++ | 2527 |
| C++(最佳化) | 251 |
| C# | 2035 |
| C#(最佳化) | 343 |
| Python | 17947 |
================
比較:各語言大型二維陣列效能
程式碼(灰色字不列入計時):
JAVA
- int arr[][];
- arr = new int[10000][10000];
- for(int i = 0; i < arr.length; i++)
- for(int j = 0; j < arr[i].length; j++)
- arr[i][j] = 0;
- for(int i = 0; i < arr.length; i++)
- for(int j = 0; j < arr[i].length; j++)
- arr[i][j] = 255-arr[i][j];
- var tArray = new Array();
- for (var k = 0; k < 10000; k++) {
- tArray[k] = new Array();
- for (var j = 0; j < 10000; j++) {
- tArray[k][j] = 0;
- }
- }
- var y=0,x=0;
- for (y = 0; y < 10000; y++) {
- for (x = 0; x < 10000; x++) {
- tArray[y][x] = 255 - tArray[y][x];
- }
- }
- unsigned char** fp = new unsigned char* [10000];
- int x = 0, y = 0;
- for (int j = 0; j < 10000; j++)
- fp[j] = new unsigned char [10000];
- for (y = 0; y < 10000; y++)
- {
- for (x = 0; x < 10000; x ++)
- {
- fp[y][x] = 255 - fp[y][x];
- }
- }
C#
- int[,] number = new int[10000, 10000];
- int y = 0, x = 0;
- for (y = 0; y < 10000; y++) for (x = 0; x < 10000; x++) number[y,x] = 0;
- for (y = 0; y < 10000; y++)
- {
- for (x = 0; x < 10000; x++)
- {
- number[y,x] = 255 - number[y,x];
- }
- }
- score=[[0]*10000 for i in range(10000)]
- for i in range(10000):
- for j in range(10000):
- score[i][j]=0
- for i in range(10000):
- for j in range(10000):
- score[i][j]=255-score[i][j]
執行時間(單位:毫秒)
| Java | 52 |
| JavaScript | 194 |
| C++ | 185 |
| C++(最佳化) | 45 |
| C# | 437 |
| C#(最佳化) | 171 |
| Python | 13908 |
=======================
整體上來說,在各個方面每個語言各有優劣
但依我個人排序的順序比為:
- C++(最佳化)
- Java
- C#(最佳化)
- JavaScript
- Python
不過就如開頭紅字所說,程式語言不應用來直接比較速度,如果想要更優的效能,編寫出更好的演算法帶來的速度效益往往超過更換語言的速度效益。
對此篇有興趣的歡迎指教,希望以後可以出更多IT相關文章
標籤:
小知識,
C#,
C++,
javaScript,
python
2020年2月29日 星期六
2020年2月25日 星期二
2020年2月24日 星期一
2020年2月17日 星期一
[好東西推薦]線上圖片線稿抽取程式
google搜尋線稿抽取的教學,幾乎都需要CSP或PS等高檔軟體才能辦到,還需要一堆步驟,那有沒有線上版並且一個按鍵搞定的呢?有的
這是小弟我花了兩天兩夜的時間完成的線稿抽取程式網頁版
https://linedraft.blogspot.com
感謝您的支持,未來我將會優化它做更好的效果
這是小弟我花了兩天兩夜的時間完成的線稿抽取程式網頁版
https://linedraft.blogspot.com
感謝您的支持,未來我將會優化它做更好的效果
2020年2月13日 星期四
2020年2月10日 星期一
2020年2月6日 星期四
[小技巧]在tensorflow2.0中沿用舊版的keras_contrib
最近在研究keras的cycleGan,將keras轉成tf.keras的版本時發生一個問題:
No module named 'keras_contrib'
看來似乎keras_contrib不存在於tensorflow2.0
取而代之的是tensorflow_addons
下pip指令:pip install tensorflow-addons
然後回到我上面的程式,將
from keras_contrib.layers.normalization.instancenormalization import InstanceNormalization
改成
from tensorflow_addons.layers import InstanceNormalization
就可以正常使用了
No module named 'keras_contrib'
看來似乎keras_contrib不存在於tensorflow2.0
取而代之的是tensorflow_addons
下pip指令:pip install tensorflow-addons
然後回到我上面的程式,將
from keras_contrib.layers.normalization.instancenormalization import InstanceNormalization
改成
from tensorflow_addons.layers import InstanceNormalization
就可以正常使用了
2020年1月29日 星期三
訂閱:
文章 (Atom)



















