400k 的 HIDE(https://github.com/Androthi/HIDE) 开发 ruby 多大的文件都是秒开
ar + sinatra/reloader +slim 秒杀拍黄片,让你体验什么叫生产力要素
ruby 写累了,还可以换着写写汇编歇歇脑子
google 已经在视线里消失了,老老实实用 erb 和 jquery
用所谓的高大上的前端技术做页面只是吃力不讨好,就象舔狗舔到最后一无所有 用高大上的前端技术做了个网站 10 年后,再看 seo 纪录为 0
gem install sinatra -N 不安装文档
~/.gemrc 中加入
---
:sources:
- https://rubygems.org
:ssl_verify_mode: 0
gem: --no-document
封装的太深了
$ ruby test.rb
Traceback (most recent call last):
13: from test.rb:14:in `<main>'
12: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/dataset/actions.rb:401:in `insert'
11: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/dataset/actions.rb:1109:in `execute_insert'
10: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/adapters/sqlite.rb:159:in `execute_insert'
9: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/adapters/sqlite.rb:193:in `_execute'
8: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/database/connecting.rb:269:in `synchronize'
7: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/connection_pool/threaded.rb:92:in `hold'
6: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/adapters/sqlite.rb:202:in `block in _execute'
5: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/database/logging.rb:38:in `log_connection_yield'
4: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sequel-5.48.0/lib/sequel/adapters/sqlite.rb:202:in `block (2 levels) in _execute'
3: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.2.mspgreg-x64-mingw32/lib/sqlite3/database.rb:194:in `execute'
2: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.2.mspgreg-x64-mingw32/lib/sqlite3/database.rb:148:in `prepare'
1: from Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.2.mspgreg-x64-mingw32/lib/sqlite3/database.rb:148:in `new'
Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.2.mspgreg-x64-mingw32/lib/sqlite3/database.rb:148:in `initialize': SQLite3::SQLException: table posts has no column named mail (Sequel::DatabaseError)
你这种情况属于无症状病毒,除了电视上宣传需要隔离以外,人畜无害。
https://bbs.csdn.net/topics/370210670 命令行编译的没花钱买数字签名证书的(交保护费),统统报毒,现在的杀毒技术,相比 10 年前高级多了
SavageEd 反应最快 秒杀 editplus 开源免费 https://github.com/Androthi/SavageEd
用 sequel 5 分钟搞定 http://sequel.jeremyevans.net/rdoc/files/doc/querying_rdoc.html
angularjs 双向绑定是正道,react 是一条邪路 写 react 完全是浪费生命
是只依赖 rack 的一个框架 主要功能特点
直接运行 Post.insert(mail: "[email protected]")
为什么不报 Sequel::DatabaseError 而是 SQLite3::SQLException
app.rb
require "rack/app"
class App < Rack::App
get "/" do
'<form action="/" method="post" ><input name="username" ><button>Send</button></form></body></html>'
end
post "/" do
params.inspect
end
end
config.ru
require './app'
run App
rackup
是看 http://www.rack-app.com/ 这个框架
ruby 的框架真是五花八门 post 参数有的 params 有的是 input 有的是 req 有的是 request.params 不看代码真不知道表单 post 到哪去了
json 可以输出树状视图 看起来清楚一些
rack 就是 输入一个特定格式的 Hash,然后输出一个特定格式的 Array
def call(Hash)
['code', {'Content-Type' => 'xxx'}, ['body']]
end
为什么命令行运行报 SQLite3::SQLException 在代码里捕获是 Sequel::DatabaseError
看代码
这两个有什么不同吗?为什么一个行,另一个不行
任何框架都支持 activerecord
-T, [--skip-test-unit], [--no-skip-test-unit] # Skip Test::Unit files
rails new todos-api --api -T
但用 rackstep 更简单默认输出 json 但也可用 erb 模板 会两个方法就可以写代码
什么都要,就不要拍黄片和够烂
薪酬几多就是重中之重 如果 955 月入 8000 (加班费按实际加班小时算然后装自己兜里,不计入月薪),要买 10 万一平的房子,按银行信贷的审核条件,第一步就卡壳了
如果 996 月入 8 万 (加班费混在月薪里计算),够烂码农看着打印出来工资流水就开始蠢蠢欲动了
帖子里面并没有说全国各地活不下去
比如
活不下去的只有一种人,冲着够烂高薪光环的预期,10 年期间用 996 加班工资负债 30 年 突然一觉睡醒后 996 违法了,加班工资瞬间没了的这种情况 经济学上这叫定向爆破
rails 适合快速出原型 并不适合后期慢慢扩展功能 参考 https://ruby-china.org/topics/41457
后期慢慢扩展功的这种需求 要选择微框架流派 microcore+plugins
很明显 rails 并不是这种结构
微框架做的 blog
https://github.com/trug-presentations-sources/blog_hobbit_trug
hobbit 类似 sinatra base+ 一堆 contrib
https://github.com/spetex/blog
roda+ markdown 无数据库
roda+ sequel
https://github.com/huaize2020/awesome-nodejs 其他语言中一个函数调用叫 api 在 nodejs 里面叫 package
你可能无法理解在加入 WTO 之前,一月工资 800 也能活得很风光。这个有点扯远了,容易扯到通货膨胀,扯到津巴布韦去。
还是回到当下就说现在,工资 8 万的地方,房价在 10 万左右。有图有真相:
不论天南海北,不论工资高低,房价要比工资高一档,这是放之四海皆准的真理。
而工资是累进税率,工资 8000 的税率是 20% ,工资 8 万的税率是 35% 也就是工资越高,税负越重,而房子买多少都是同一税率 买多少套都一样
当然你可以拿着 8 万 6 不买房,然后结不了婚,结了婚小孩也上不了纳税所在地的学校,成为传说中的留守儿童。房租年年涨,挣了钱还没捂热转手就交给房东。还有跟房东因为琐事发生纠纷半夜醒来被房东轰出去的风险。周围全都是 cctv 里的成功人士,就你一个孤独的月入 8 万 6 的卢瑟坚强地活下去,夜深人静的时候突然从梦中惊醒,象哲学家那样痛苦地思考:人生的意义究竟在哪里?
从 1.8 升级到 3.0 步子有点大,容易扯到蛋。这种情况,你可以用新版本起个本地代理 旧系统用 http 访问本地新版本代理,然后新版本用 https 转发到其他公司的 webservice,如果担心 rails 性能问题的话,可以用 sinatra
https 也分很多版本 ssl1 ssl2 ssl3 tls1.0 tls1.1 tls1.2 tls1.3
现在主流的网站用 tls1.2 新潮一点的网站比如 ruby-china 用 tls1.3
用的 rails 哪个版本?
class AddSoundfileToPractices < ActiveRecord::Migration[6.0]
[6.0] 这个语法术语叫什么?
class Options
if home = ENV['HOME'] # POSIX
DB = File.join(home, '.camping.db')
RC = File.join(home, '.campingrc')
elsif home = ENV['APPDATA'] # MSWIN
DB = File.join(home, 'Camping.db')
RC = File.join(home, 'Campingrc')
else
DB = nil
RC = nil
end
数据库是从环境变量中拼出来的 框架死了,只要有代码,就还能跑起来