为了防止给论坛惹一堆麻烦,我把评论关了,免得触发一些敏感词。
作者基本功真是扎实。我几年前也是遇到 runc init 卡住的问题,只会使用重启大法。
https://stackoverflow.com/questions/56269285/docker-what-does-runc2init-mean
欢迎加入 workstream 工程师团队。
谢谢纠正,已改。
source: https://github.com/kamranahmedse/developer-roadmap
单纯拼技术的话,中印程序员确实是竞争关系。
但很多企业在中国设立研发中心,除了成本,会考虑多方面因素,比如:
所以针对这种情况,中国和印度不一定是零和游戏。
时间是下周二晚上,欢迎参加。
花了 1 天的时间,折腾了各种各样的参数,CircleCI 都跑不起来,实在是太沮丧了。幸运的是,github actions 对这种情况支持的特别好,我只需要加一个参数就搞定了。
这个子服务代码量很小,3 分钟就可以跑完测试,我就先不用 CircleCI 了,转投 Github Actions。
这是我用的范例文件,如果将来有人也有类似的需求“在一个子文件夹中跑测试”,可以试试 Github Actions。
这是 Github Actions 的配置文件
name: "Backend Test"
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
env:
RAILS_ENV: test
DATABASE_NAME: connector_test
DATABASE_USER: postgres
DATABASE_PASSWORD: password
services:
postgres:
image: postgres:11
env:
POSTGRES_USER: postgres
POSTGRES_DB: connector_test
POSTGRES_PASSWORD: password
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get -yqq install libpq-dev build-essential libcurl4-openssl-dev
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
rubygems: latest
working-directory: ./backend
ruby-version: 2.7.3
cache-version: 3
bundler-cache: true
- name: Set up database schema
run: bundle exec rake db:schema:load
- name: Run tests
run: bundle exec rspec
@lanzhiheng 大佬,我看你还给官方 demo 提供过代码,你折腾过前后端分离的项目的 CircleCI 的配置文件吗?
说好的中立国不再中立,N 多富豪瞬间倾家倾家荡产,钱一下都没了。
DHH 的这篇文章真应景。
我脑容量比较小,每次看到 unless 会卡壳。所以写代码会倾向于用 if !xxx
,但是 RubyMine 会自作聪明的帮我改成 unless.
PostgreSQL 和 MySQL 的默认索引结构是个 B+ tree,not in
和 !=
都没有办法利用索引,导致全表扫描。
如果存在被屏蔽的黑名单用户,我是宁可建一个冗余字段 status 然后 select * from users where status = 'active' and xxx = xxx
因为 status 只有几个数值,建了索引效果也不好,一定得跟着一个其他的过滤条件。比如 company_id = xxxxx。
看上去真不错啊,这个和 discourse 什么区别?
你发垃圾信息,真是发错地方了。
我把你的账户封了。
Jetbrains 刚好又给了一个优惠券,到时候发给大家。
权限是要加的,scope 也是要加的,比如 company.resources.find_by()
uuid 可以保证第二道防线。
我后悔“一开始为什么不在每张表里创建 UUID 这个字段”
作为企业级应用,给前端返回数据时,用 integer id 很危险,很容易被人按照顺序爬数据,暴露了不属于当前客户的资源。
如果用 uuid,即使自己不小心写了有问题的代码,UUID 可以作为第二道防线。
我后悔“一开始就测试写太多,代码写的太完善”,就是大家说的 'premature optimization'。
因为和客户聊后,发现需求变来变去,一开始写的很多测试都白写了,浪费了大量时间。
Slack 的客户端,也是用 Electron 写的
Electron 很强大的,Visual Studio Code 就是用 Electron 写的。
作为一个大龄青年,给点反馈:你可以把产品的目标放到需要找点乐子的人身上。
有了孩子之后,总是觉得时间太少,更不愿意和和别人闲聊。但凡有可支配时间,基本上都是直奔主题,都花在了这些方面:
我这种 35 岁 + 的人应该不是你们的目标客户,我懒的去认识一些泛泛之交的朋友,懒得打游戏,懒得去消磨时光。说来讽刺,作为一个 IT 从业者,业余时间却不愿意花一秒钟泡在技术营造的各种社交软件里。