分类
工具

可以替代 Dreamweaver 的工具推荐

知道 Dreamweaver 这个工具的,一定是 “德高望重” 的程序员了,当年在大学的时候,一个同学一个晚上做了一个网站,我当时用 jsp,做了一个星期也没有做成,后来一问,他用的是 Dreamweaver,工作以后,这个工具基本上就是在视野之外了。

今天有一个运营同学问我,有没有他可以用的网页或者邮件(html 格式)编辑的工具,我知道最主流的肯定是 Webflow: Create a custom website | No-code website builder ,比 Dreamweaver 好用,并且支持在线协作,除了 webflow 之外,还有很多开源的,花了两个小时做了一下调研,发现需求还是那个需求,只是满足的方式变了,就像出行的需求几百年来一直存在,从马车,到汽车,到飞机,满足的方式不一样了。

webflow

webflow 需要有一定的设计能力,其实挺好用的,最大的一个问题是不支持导出已经有的模板,只能在 webflow 上面自己创建,对我来说是一个比较大的挑战,因为我已经买了很多模板,比如邮件模板,我只要换几张图片,更新几个连接就可以了。

grapesjs

这个编辑器非常强大,但是他不支持一键 deploy,需要自己集成,没有代码经验的人来说,难度有点高,有代码经验的人,可以二次开发。
GitHub – artf/grapesjs: Free and Open source Web Builder Framework. Next generation tool for building templates without coding

VvvebJs

GitHub – givanz/VvvebJs: Drag and drop website builder javascript library. 是 bootstrap+jquery 组合,对于我编辑模板,基本上够用。

yAHLb1

更多参考

website-builder · GitHub Topics · GitHub

page-builder · GitHub Topics · GitHub

分类
工具

在线代码编辑器推荐

Google翻译 (qishiya.com) 要支持格式化翻译,如要翻译 html, json, 之类的文本或者文件,需要找一个好的代码编辑器,参考了 Best JSON Viewer and JSON Beautifier Online (codebeautify.org) 的方案,发现他用的是 GitHub – ajaxorg/ace: Ace (Ajax.org Cloud9 Editor) 这个开源编辑器,这个编辑器确实很强大,基本上可以满足各种代码的需求。

ApPFRP

怎么查看一个网站用的是什么技术

我喜欢用 Find out what websites are built with – Wappalyzer 来分析网站所用的技术,他是一个插件,只要打开所在的网站,点击一下,就会显示此网站用了哪些技术,非常方便。

5ui4k6
分类
命令行 工具

TensorFlow 容器支持 GPU

一台 GPU 机器,直接访问 gpu 是没有问题的,但是安装 tensorflow 后,一直访问不到 GPU,看了一下 TensorFlow 支持容器化安装,是可以支持 GPU 的。

tensorflow 容器化安装步骤

前提

必须先在宿主机上 安装 NVIDIA driver 和 Docker。

安装 nvidia-docker

Installation Guide — NVIDIA Cloud Native Technologies documentation

安装 tensorflow

docker pull tensorflow/tensorflow:2.11.0-gpu

检查是否安装成功

启动 tensorflow

docker run --gpus all -it   -v $PWD:/tmp -w /tmp tensorflow/tensorflow:2.11.0-gpu bash

检查是否支持 gpu

nvidia-smi

 docker run --gpus all -it --rm tensorflow/tensorflow:2.11.0-gpu \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
分类
命令行 工具

我在 Docker 上犯的错误

今天犯了一个错误,犯这个错误的原因是没有理解 docker 的设计哲学,大概花了 3 个小时来折腾一个事情。

起因

一个容器没有安装 python 的一些依赖库,我在容器里面安装了依赖库,不想每次都安装这些依赖库,所以我想把这个容器保存成新的镜像。

错误的方法

有两种方式来解决这个问题。
方式一,构建新的 Dockerfile。
方式二,对一个正在运行的容器,通过 commit 来创建新的镜像。

反思

我选择了方式二,我把容器当虚拟机使了,这是没有理解 Docker 设计的哲学。

找了一文章,这文章总结的很好,有利于我去了解 docker 的设计哲学,我就把他翻译在下面。

使用 Docker 不要做的几件事情

所以你最终屈服于容器,发现它们解决了很多问题并且有很多优势

  1. 第一:容器是不可变的——操作系统、库版本、配置、文件夹和应用程序都包含在容器中。您保证在 QA 中测试过的相同镜像将以相同的行为到达生产环境。
  2. 第二:容器是轻量级的——容器的内存占用很小。容器将只为主进程分配内存,而不是数百或数千 MB。
  3. 第三:容器速度快——您可以像启动典型的 Linux 进程一样快地启动容器。您可以在几秒钟内启动一个新容器,而不是几分钟。

然而,许多用户仍然像对待典型的虚拟机一样对待容器,而忘记了容器有一个重要的特性:容器是一次性的。
“容器是短暂的”。

这种特性迫使用户改变他们应该如何处理和管理容器的思维方式;我将解释您应该做的事情以继续发挥容器的最大优势:

分类
工具

Excalidraw 画草图推荐

经常会画一些草图,用来整理思路,或者画一些产品的原型图,和团队的人沟通,以前一直用 draw.io,昨天有朋友推荐,今天试用了一下 Excalidraw | Hand-drawn look & feel • Collaborative • Secure,还是很吸引人的,分收费和免费版,大部分场景其实免费版就够了,收费版主要是强调协作和存储。

画了一个登录页面的草图,还是很方便的,也有第三方的库,可惜类库不太丰富。

202211235jeaJ2
分类
认知

Laravel Docker Centos8 使用

fanyi 这个小工具,以前是直接跑在腾讯云的轻量服务器上的,用 Golang 写的,最近加了一个小功能,用 php 重写了,php 就要搭建各种环境,直接在腾讯云的轻量服务器上编译 php 不成功,主要是你 cpu 高,他就直接给你 kill 了,所以就用 docker 来解决。

构建 PHP 的运行环境

从 php:8.1-fpm 开始构建,安装上相关依赖,然后设置运行用户的相关权限。

vim Dockerfile
FROM php:8.1-fpm

# Arguments defined in docker-compose.yml
ARG user
ARG uid

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Create system user to run Composer and Artisan Commands
RUN useradd -G www-data,root -u $uid -d /home/$user $user
RUN mkdir -p /home/$user/.composer && \
    chown -R $user:$user /home/$user


# Set working directory
WORKDIR /var/www

USER $user
分类
命令行

Mac 与 Linux 随机抽样文本文件

有时碰到一个大文件,要对这个文件进行采样,比如采样多少条,发现 linux 和 mac 上都有一个不错的命令,可以对文件进行抽样。

mac 安装 gshuf

gshuf 集成到了 coreutils 里面,通过 brew 直接安装 coreutils 就可以。

brew install coreutils

mac 上使用 gshuf

gshuf -n 20000 full.txt > sample.csv

linux 上使用 shuf 对文本文件采样

shuf -n N input > output

Mac 上使用 gnu 的工具包

brew install coreutils findutils gnu-tar gnu-sed gawk gnutls gnu-indent gnu-getopt grep
分类
有意思的项目

openai 的 token 与 temperature

openai 是一个很好的工具,用来写商品标题、商品介绍、广告文案、推广邮件,确实很方便,已经是工作之中不可缺少的一个工具,现在的竞争就是看谁的工具更加先进。

在和同事交流的时候,发现大家对 openai 这里面两个最重要的概念(token, temperatuere)理解都不一样,查了一下手册,感觉说的很清晰的。

token

openai 的 token 与 区块链上的 token 完全不一样,他应该是语义不可再分的最小单位。

I have an orange cat named Butterscotch.

Ihaveanorangecatnamed 每一个都是一个 token,这里有 6 个 token。
Butterscotch 就会拆分成 Butterscotch 四个 token。

. 标点符号也是一个 token。

也就是复杂的会拆分,简单的就不会再拆分了,文档里面也提到了,很多 token 以空格开始,如

“ hello” and “ bye”

openai token 说明

openai token 提取

分类
推广

stripo.email 电商邮件模板推荐

购买了 Stripo 的会用,每一个月需要 15 美元,支持 50 次的导出,stripo.email 虽然有很多模板,但是这些模板质量高的很少,挑了好久才找到几个模板,适合做电商的邮件营销。

服装类促销模板

我选择服饰类促销模板主要考虑三个因素,图片、商品列表、价格,模板中必须有这三类元素,才是一个完整的服饰类促销模板。

电商促销模板

Just in Trends Email Template by Liubov Rolenko — Stripo.email

20221102TdUpvL

Dress Code Email Template by Oleg Ponamarchuk — Stripo.email

这个非常喜欢上面这个 Dress Code 模板,有价格对比,把购买用红色按钮放大,非常有冲击性。

20221102sFIGHo

Hello Winter Email Template by Anastasiia Babintseva — Stripo.email

适合卖冬天的服饰,给人暖暖的感觉。

分类
命令行

nvm 在 mac 上安装

brew 安装 nvm

brew install nvm

安装完成之后,是不能直接使用的,需要建立一个目录和设置环境亦是

建立目录

mkdir ~/.vim

设置 zsh 环境变量

设置 zsh 的环境变量,我因为用的是 zsh,和 bash 有一些不一样,brew –prefix 可以找到 brew 安装的根目录。

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

brew –prefix nvm 返回 nvm 的安装目录。

brew 禁止自动更新

每次运行 brew install 的时候,都会检查更新,特别慢,可以禁止自动更新,也可以设置到环境变量里面。

HOMEBREW_NO_AUTO_UPDATE=1 brew install 

导入到环境变量里面

export HOMEBREW_NO_AUTO_UPDATE=1
湘ICP备2020020034号-1