首页
留言
友情链接
标签页
Search
1
那些顶级不落俗套的“美好祝福”
1,948 阅读
2
如何使用JavaScript获取和设置CSS root变量值
1,329 阅读
3
中国历史朝代顺序图
1,169 阅读
4
春和 《江海共余生》
940 阅读
5
唐诗三百首1-5
767 阅读
分享
Web前端
html&css
javascript
Vue
shopify
shoplazza
后端
ThinkPHP
YII2
服务器端
软件安装
问题合集
故事
诗词
生活
学习
学科
语文
数学
英语
物理
化学
生物
政治
历史
地理
自然
其他
抖音
快手
小视频
随笔
易经
书摘
今日话题
登录
/
注册
Search
标签搜索
一年级语文
sunshine
累计撰写
172
篇文章
累计收到
15
条评论
首页
栏目
分享
Web前端
html&css
javascript
Vue
shopify
shoplazza
后端
ThinkPHP
YII2
服务器端
软件安装
问题合集
故事
诗词
生活
学习
学科
语文
数学
英语
物理
化学
生物
政治
历史
地理
自然
其他
抖音
快手
小视频
随笔
易经
书摘
今日话题
页面
留言
友情链接
标签页
搜索到
171
篇与
的结果
2023-11-23
Nginx报504 Gateway Time-out的问题
修改nginx子配置文件location / { # 注意这儿,一般这三个配套修改 uwsgi_connect_timeout 600; # 指定连接到后端uWSGI的超时时间。 uwsgi_read_timeout 600; # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。 uwsgi_send_timeout 600; # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。 uwsgi_pass 127.0.0.1:5000; include uwsgi_params; }修改nginx主配置文件修改buffer相关fastcgi_buffers 2 256k; fastcgi_buffer_size 128k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;假如你使用Nginx只是作为反向代理,那么你修改的这个时间应该对应调整为# 注意这儿,一般这三个配套修改 proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_timeout 600;假如你使用的是fastcgi, 那么你修改的这个时间应该对应调整为# 注意这儿,一般这三个配套修改 fastcgi_connect_timeout 600; fastcgi_read_timeout 600; fastcgi_send_timeout 600;
2023年11月23日
251 阅读
0 评论
1 点赞
2023-09-24
唐诗三百首(26-30)
李白《峨眉山月歌》峨眉山月半轮秋,影入平羌江水流。夜发清溪向三峡,思君不见下渝州。大意:高峻的峨眉山前,悬挂着半轮秋月。流动的平羌江上,倒映着精亮月影。夜间乘船出发,离开清溪直奔三峡。想你却难相见,恋恋不舍去向渝州。这是李白初次出四川时创作的一首依恋家乡山水的诗,写诗人在舟中所见的夜景。全诗连用五个地名,通过山月和江水展现了一幅千里蜀江行旅图,语言自然流畅,构思新颖精巧,意境清朗秀美,充分显示了青年李白的艺术天赋。李白《渡荆门送别》渡远荆门外,来从楚国游。山随平野尽,江入大荒流。月下飞天镜,云生结海楼。仍怜故乡水,万里送行舟。大意:我乘舟渡江来到遥远的荆门外,来到战国时期楚国的境内游览。高山渐渐隐去平野慢慢舒展开,江水一片仿佛流进广阔的莽原。波中月影宛如天上飞来的明镜,空中彩云结成绮丽的海市蜃楼。但我还是更爱恋故乡滔滔江水,它奔流不息陪伴着我万里行舟。这首诗是李白在出蜀途中,从荆门渡过长江,前去游览楚国故地的作品。诗中描绘了渡过荆门后的所见所感,表达了作者对故乡的留恋和对自然的赞美之情。李白《独坐敬亭山》众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山。大意:众鸟高飞无影无踪,孤云独去自在悠闲。你看我,我看你,彼此之间两不相厌,只有我和眼前的敬亭山了。此诗表面是写独游敬亭山的情趣,而其深含之意则是诗人生命历程中旷世的孤独感。诗人以奇特的想象力和巧妙的构思,赋予山水景物以生命,将敬亭山拟人化,写得十分生动。作者写的是自己的孤独和自己的怀才不遇,但更是自己的坚定,在大自然中寻求安慰和寄托。《独坐敬亭山》是唐代诗人李白创作的一首诗,是表现诗人自己精神世界的佳作。 该诗表面是写独游敬亭山的情趣,而其深含之意则是诗人生命历程中旷世的孤独感。诗人以奇特的想象力和巧妙的构思,赋予山水景物以生命,将敬亭山拟人化,写得十分生动。全诗似乎全是景语,无一情语,然而,由于景是情所造,因而,虽句句是景,却句句是情。李白《登金陵凤凰台》凤凰台上凤凰游,凤去台空江自流。吴宫花草埋幽径,晋代衣冠成古丘。三山半落青天外,二水中分白鹭洲。总为浮云能蔽日,长安不见使人愁。 大意:凤凰台上曾经有凤凰来悠游,凤去台空只有江水依旧奔流。吴国宫殿的鲜花芳草遮没荒凉小径,晋代多少王族已成荒冢古丘。三山云雾中隐现如落青天外,江水被白鹭洲分成两条河流。那些悠悠浮云总是遮蔽太阳的光辉,登高不见长安城,怎么不让人内心沉痛忧郁。——李白《登金陵凤凰台》《登金陵凤凰台》是唐代伟大诗人李白登金陵凤凰台而创作的怀古抒情之作。 《登金陵凤凰台》主要内容为李白从六朝的帝都金陵看到了唐的都城长安,把历史的典故,眼前的景物和诗人自己的感受,交织在一起。表达了深沉的历史感喟与清醒的现实思索。此诗气韵高古,格调悠远,体现了李白诗歌以气夺人的艺术特色。 历代对崔颢《黄鹤楼》的评价都非常高,而对李白《登金陵凤凰台》多有贬低。其实李诗不论是艺术性还是思想性都胜于崔诗,即所谓“青出于蓝,而胜于蓝”。李白《春夜洛城闻笛》谁家玉笛暗飞声,散入春风满洛城。此夜曲中闻折柳,何人不起故园情。 大意:是谁家精美的笛子暗暗地发出悠扬的笛声?随着春风飘扬,传遍洛阳全城。就在今夜的曲中,听到故乡的《折杨柳》,哪个人的思乡之情不会因此而油然而生呢?此诗抒发了诗人客居洛阳夜深人静之时被笛声引起的思乡之情,其前两句描写笛声随春风而传遍洛阳城,后两句写因闻笛而思乡。全诗扣紧一个“闻”字,抒写诗人自己闻笛的感受,合理运用想象和夸张,条理通畅,感情真挚,余韵无穷。《春夜洛城闻笛》是唐代诗人李白创作的七言绝句,出自《全唐诗》。 这首诗是公元734年(唐玄宗开元二十二年)或公元735年(唐玄宗开元二十三年)李白游洛阳时所作。当时李白客居洛城,大概正在客栈里,偶然听到笛声而触发思乡之情,所以写下此诗。该诗抒发了作者客居洛阳夜深人静之时被笛声引起的思乡之情,前两句描写笛声随春风而传遍洛阳城,后两句写因闻笛而思乡。全诗扣紧一个“闻”字,抒写自己闻笛的感受,合理运用想象和夸张,条理通畅,感情真挚,余韵无穷。 谁家玉笛暗飞声,散入春风满洛城。此夜曲中闻折柳,何人不起故园情。
2023年09月24日
301 阅读
0 评论
0 点赞
2023-09-18
OpenSSL SSL_read: Connection was reset, errno 10054
使用git获取github报错修改设置,解除ssl验证git config --global http.sslVerify "false" 此时,再执行git操作即可。
2023年09月18日
296 阅读
0 评论
1 点赞
2023-08-29
shell sh 使用汇总
数据库备份#!/bin/bash /home/soft/mysql-5.7.36/bin/mysqldump -uxxxx -P3307 -h 127.0.0.1 -pxxxx sunshine2 | gzip > /home/backup/sunshine_$(date +%Y%m%d).sql.gz black.sh 防止恶意登录#!/bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt DEFINE="10" for i in `cat /root/black.txt` do IP=`echo | awk '{split("'${i}'",array,"=");print array[1]}'` NUM=`echo | awk '{split("'${i}'",array,"=");print array[2]}'` if [ $NUM -gt $DEFINE ];then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" >> /etc/hosts.deny fi fi done 清理释放内存#!/bin/bash Mem=$(free -m | awk 'NR==2' | awk '{print $4}') if [ $Mem -gt 1024 ]; then echo "Service memory capacity is normal" > /dev/null else sync echo "1" > /proc/sys/vm/drop_caches echo "2" > /proc/sys/vm/drop_caches echo "3" > /proc/sys/vm/drop_caches sync fi nginx#!/bin/bash if [[ -z $1 ]];then echo -e "\033[32m输入格式:$0 stop|star|reopen|reload\033[0m" exit; fi case $1 in reload ) /home/soft/nginx/sbin/nginx -s reload ;; stop ) /home/soft/nginx/sbin/nginx -s stop ;; start ) /home/soft/nginx/sbin/nginx ;; reopen ) /home/soft/nginx/sbin/nginx -s stop && /home/soft/nginx/sbin/nginx ;; test ) /home/soft/nginx/sbin/nginx -t ;; * ) echo "invalid params" ;; esac if [ $? == 0 ];then echo -e "\033[32mnginx $1 success !\033[0m" fi redis#!/bin/bash cd /home/soft/redis-6.2.6 nohup redis-server /home/soft/redis-6.2.6/etc/redis-6350.conf > start.log 2>&1 & echo -e "\033[32m redis is running ... \033[0m";
2023年08月29日
246 阅读
0 评论
1 点赞
2023-08-28
javascript 邮箱校验
javascript 邮箱校验function isEmail(str) {var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;return reg.test(str);}
2023年08月28日
263 阅读
0 评论
0 点赞
2023-08-21
Shopify metafields json 使用方法
定义一个json格式的属性,假设定义成:product.metafields.custom.clothes在产品中设定的值为:{ "color":"red", "size":"M", "weight":"0.2kg" }在Liquid页面中使用方法:<div>color: {{ product.metafields.custom.clothes.value.color }}</div> <div>size: {{ product.metafields.custom.clother.value.size }} </div>
2023年08月21日
310 阅读
0 评论
2 点赞
2023-07-27
.gitignore文件修改生效
首先修改.gitignore对应的文件然后需要先清除下缓存cachegit rm -r --cached . // 清除掉不需要提交的缓存文件 git add . // 将修改的gitignore文件以及删除的缓存文件提交到版本库 git commit -m "修改gitignore文件,过滤掉不需要提交到git仓库的文件" git push // 将.gitignore文件提交到远端仓库,这样其他人拉代码后也会 //自动过滤掉不需要提交到git仓库的文件
2023年07月27日
221 阅读
0 评论
1 点赞
2023-07-26
javascript 复制粘贴
<script> function sun_copy() { var coupon_code_dom = document.getElementById("coupon-code") var show_copy = document.getElementById("sunshine-copy") var coupon_code = coupon_code_dom.innerText var inp = document.createElement("input") document.body.appendChild(inp) inp.value = coupon_code inp.select() document.execCommand("copy", false) inp.remove() show_copy.innerText = 'Copied' } </script>
2023年07月26日
273 阅读
0 评论
0 点赞
2023-07-18
shopify 增加youtube视频和选项卡
引入相关资源<link rel="stylesheet" href="https://unpkg.com/element-ui@2.15.13/lib/theme-chalk/index.css"> <script src="https://cdn.shopify.com/s/files/1/0607/1861/2695/files/vue.min.js"></script> <script src="https://cdn.shopifycdn.net/s/files/1/0136/3119/3188/files/elementui-index.js"></script>sun-tab-video-css style liquid<style> * { margin: 0; padding: 0; box-sizing: border-box; } [v-cloak] { display: none; } @media (min-width: 1200px) { #shopify-section-header-08 .container, #shopify-section-navigation-08 .container { width: 1400px; } } .sun-video { width: 80%; margin: 50px auto; } .sun-video .video-group { display: flex; justify-content: space-between; margin: 10px 0; flex-wrap: wrap; } .sun-video .video-item { width: calc(100% / 3 - 10px); margin-top: 20px; } .sun-video .video-group:after { content: ""; display: block; width: calc(100% / 3 - 10px); height: 0; } .sun-video .video-title { display: -webkit-box; font-size: 20px; font-weight: bold; margin: 30px 0; text-align: center; min-height: 50px; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; } .sun-video .video-content { width: 100%; text-align: center; } .sun-video .video-content:hover .play-button { background: #f00; } .sun-video .youtube { background-color: #000; margin-bottom: 30px; position: relative; padding-top: 56.25%; overflow: hidden; cursor: pointer; } .sun-video .youtube img { width: 100%; top: 0; left: 0; opacity: 0.8; } .sun-video .youtube img[data-class='default'] { top: -40px; } .sun-video .youtube .play-button { width: 90px; height: 60px; background-color: #000; box-shadow: 0 0 30px rgba(0, 0, 0, 0.6); z-index: 1; opacity: 0.8; border-radius: 6px; } .sun-video .youtube .play-button:before { display:block; content: ""; border-style: solid; border-width: 15px 0 15px 26.0px; border-color: transparent transparent transparent #fff; } .sun-video .youtube img, .sun-video .youtube .play-button { cursor: pointer; } .sun-video .youtube img, .sun-video .youtube iframe, .sun-video .youtube .play-button, .sun-video .youtube .play-button:before { position: absolute; } .sun-video .youtube .play-button, .sun-video .youtube .play-button:before { top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); display:block; } .sun-video .youtube iframe { height: 100%; width: 100%; top: 0; left: 0; } .sun-video .main-container-img img { width: 100%; } @media (max-width: 1000px) { .sun-video { width: 95%; } .sun-video .video-item { width: 100%; margin: 10px auto; } } @media (min-width: 1600px) { } </style> <style> .el-tabs__nav { width: 100%; } .el-tabs__item { padding: 0; width: calc(100% / {{ section.settings.tab_count | default: 2 }}); text-align: center; /*border-left: 1px solid #ccc;*/ /*border-top: 1px solid #ccc;*/ /*border-right: 1px solid #ccc;*/ /*border-bottom: 0;*/ } .el-tabs__item.is-active { color: #e71c20; } .el-tabs__active-bar { background-color: #e71c20; /*bottom: auto;*/ } .el-tabs__item:hover { color: #e71c20; } .el-tabs--card > .el-tabs__header .el-tabs__item.is-active { border-top: 2px solid #e71c20; } </style> <div class="sun-video" id="sun-video-app" v-cloak> <el-tabs id="sun-video-tab-content" v-model="activeName" @tab-click="handleClick" type="card"> </el-tabs> </div>html section {% if customer.id or true %} {% if section.settings.render_first %} {% render 'sun-tab-video-css' %} {% endif %} {% if section.settings.tab_title == blank %} <style> .el-tabs--card>.el-tabs__header{display:none;} </style> {% endif %} <div id="{{ section.id }}" style="display:none;"> {% if section.settings.tab_title %} <el-tab-pane label="{{ section.settings.tab_title }}" name="{% if section.settings.render_first %}first{% else %} {{ section.id }}{% endif %}"> {% endif %} <div class="video-group"> {% for block in section.blocks %} <div class="video-item"> <p class="video-title">{{ block.settings.title }}</p> <div class="video-content"> <div class="youtube" data-embed="{{ block.settings.embed_id }}" data-max="{{ block.settings.max }}"> <div class="play-button"></div> </div> </div> </div> {% endfor %} </div> {% if section.settings.tab_title %} </el-tab-pane> {% endif %} </div> <script> window.sunshine.tab_html = $('#{{ section.id }}').html(); $("#sun-video-tab-content").append(window.sunshine.tab_html) </script> {% if section.settings.render_last %} {% render 'sun-tab-video-js' %} {% endif %} {% endif %} {% schema %} { "name": "Sun Tab Video", "settings": [ { "type":"checkbox", "label":"Render First", "id":"render_first", "default": false }, { "type":"checkbox", "label":"Render Last", "id":"render_last", "default": false }, { "type":"number", "label":"Tab Count", "id":"tab_count" }, { "type":"text", "label":"Tab Title", "id":"tab_title" } ], "blocks":[ { "type":"text", "name":"Tab Item", "settings": [ { "type":"text", "id":"title", "label":"Item Title" }, { "type":"text", "id":"embed_id", "label":"Youtube Embed Id" }, { "type":"checkbox", "id":"max", "label":"Thumb Image Max?", "default":true } ] } ], "presets":[ { "name":"Sun Tab Video" } ] } {% endschema %}sun-tab-video-js <script> new Vue({ el: "#sun-video-app", delimiters: ['${', '}'], data: function () { return { activeName: 'first' } }, methods: { handleChange(val) { // console.log(val); }, handleClick(tab, event) { // console.log(tab, event); }, btn_submit() { // console.log('submit') } }, created() { }, computed: {} }) </script> <script> var youtube = document.querySelectorAll(".youtube"); // loop for (var i = 0; i < youtube.length; i++) { var source = ''; var img_class = ''; // thumbnail image source. if (youtube[i].dataset.max == 'true') { source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/maxresdefault.jpg"; img_class = 'max'; } else { source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/0.jpg"; img_class = 'default'; } var image = new Image(); image.src = source; image.setAttribute('data-class', img_class); image.addEventListener("load", function () { youtube[i].appendChild(image); }(i)); youtube[i].addEventListener("click", function () { var iframe = document.createElement("iframe"); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allowfullscreen", ""); iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset.embed + "?rel=0&autoplay=1&showinfo=1"); this.innerHTML = ""; this.appendChild(iframe); }); } </script>
2023年07月18日
222 阅读
0 评论
2 点赞
2023-07-13
Javascript 判断是否移动端
function isMobile() { var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), isAndroid = ua.match(/(Android)\s+([\d.]+)/); return isIphone || isAndroid; }
2023年07月13日
268 阅读
0 评论
1 点赞
1
...
9
10
11
...
18