随笔分类 -  后端开发

摘要:最佳实践是 用PHP自带的password_hash方法来生成密码,这个方法默认是加了盐的,所以不用再手动加盐了。 然后用password_verify方法来验证密码即可。 阅读全文
posted @ 2019-05-10 22:27 ranwuer 阅读(411) 评论(0) 推荐(0)
摘要:每一个框架都有一个入口脚本,Yii2也不例外。一般来说,对于Web应用的入口脚本是YiiBasePath/frontend/web目录下的index.php。 先观察这个文件: 从换行上看,可以分为4个部分,第一部分表示是否开启调试模式和开发模式,一般在开发模式要这样设置。第二部分引入第三方类加载器 阅读全文
posted @ 2018-10-19 18:20 ranwuer 阅读(299) 评论(0) 推荐(0)
摘要:#include #include using namespace std; double add(double x, double y); double calculate(double a, double b, double (*pf)(double, double)); int main() { double q = calculate(2.5, 10.4, add); cout... 阅读全文
posted @ 2018-10-16 19:30 ranwuer 阅读(393) 评论(0) 推荐(0)
摘要:#include #include using namespace std; const int slen = 30; struct student { char fullname[slen]; char hobby[slen]; int ooplevel; }; int getinfo(student pa[], int n); void display1(student st)... 阅读全文
posted @ 2018-10-11 22:53 ranwuer 阅读(3108) 评论(0) 推荐(0)
摘要:#include #include #include const int Seasons = 4; const char * Snames[4] = { "Spring", "Summer", "Fall", "Winter" }; void fill(double pa[]); void show(double da[]); int main() { double expense... 阅读全文
posted @ 2018-10-10 17:59 ranwuer 阅读(356) 评论(0) 推荐(0)
摘要:#include using namespace std; const int Max = 5; double * fill_array(double * first, int size); void show_array(double * first, const double * last); void revalue(double r, double * first, const do... 阅读全文
posted @ 2018-09-30 10:12 ranwuer 阅读(1105) 评论(0) 推荐(0)
摘要:if (!cin) { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input; input process terminated.\n"; break; } 阅读全文
posted @ 2018-09-28 23:19 ranwuer 阅读(618) 评论(0) 推荐(0)
摘要:// 输入一个包含多个double元素的数组,先打印结果,然后反转出头和尾元素之外的所有元素,最后再打印结果 #include using namespace std; int fill_array(double arr[], int size); void show_array(double arr[], int size); void reverse_array(double arr[],... 阅读全文
posted @ 2018-09-28 22:45 ranwuer 阅读(1884) 评论(0) 推荐(0)
摘要:#include using namespace std; long factorial(int value); int main() { int value; cout > value; cout << "factorial: " << factorial(value) << endl; return 0; } long factorial(int value) { if (v... 阅读全文
posted @ 2018-09-28 20:01 ranwuer 阅读(833) 评论(0) 推荐(0)
摘要:操作方法: 输入两个数字,第一个数字是备选总数,第二个数字是选择总数,然后返回中将概率。 可以投注多次,结束的时候返回总的中将概率。 阅读全文
posted @ 2018-09-28 19:39 ranwuer 阅读(1174) 评论(0) 推荐(0)
摘要:#include using namespace std; struct box { char maker[40]; float height; float width; float length; float volume; }; void displayBox(const box b); void setVolume(box * b); int main() { box ... 阅读全文
posted @ 2018-09-28 14:34 ranwuer 阅读(364) 评论(0) 推荐(0)
摘要:#include using namespace std; void inputScores(double golfScores[], int size); void displayScores(double golfScores[], int size); void averageScores(double golfScores[], int size); int main() { ... 阅读全文
posted @ 2018-09-28 12:13 ranwuer 阅读(1124) 评论(0) 推荐(0)
摘要:#include using namespace std; double harmonicMean(double x, double y); int main() { double x, y; while (cin >> x >> y) { // 这一步是读取一行的两个数 if (0 == x || 0 == y) break; cout << harmonicMean(x, y... 阅读全文
posted @ 2018-09-27 23:14 ranwuer 阅读(1429) 评论(0) 推荐(0)
摘要:C++中流(stream)是一个对象,所以任何有流这种行为的对象也是流对象。 流主要分为三种类型: istream: 主要是从流中执行输入操作 ostream:主要是从流中执行输出操作 iostream:主要是从流中执行输入输出操作 每个流对象都关联一个流buffer,程序一般从buffer中读取数 阅读全文
posted @ 2018-08-28 18:14 ranwuer 阅读(5879) 评论(2) 推荐(1)
摘要:MQ(消息队列) 消息队列主要用于以下场景: 1. 上传图片,用户需要迅速反馈,把上传图片的后续操作交给consumer 2. A用户对B用户发消息 3. 日志记录,APP发生的任何警告错误日志都要被记录到日志数据库中 4. 浏览量统计,比如,一个item被用户点赞,评论,收藏了,那么需要重新计算此 阅读全文
posted @ 2018-06-03 20:51 ranwuer 阅读(149) 评论(0) 推荐(0)
摘要:1. 熟悉你所掌握的编程语言。比如我用java,那么需要熟练掌握java的语言细节。 在遇到这样一个题,给定一个包含n个整数的数组,除了一个整数以外,其余的数都是成对出现,请找出这个数(复杂度O(n),不能使用额外存储空间)。比如[1,2,2],那么结果就是1。 我刚开始遇到这个题的时候完全没有想到 阅读全文
posted @ 2018-04-23 21:30 ranwuer 阅读(287) 评论(0) 推荐(0)
摘要:解决方案: 1)以管理员身份运行PowerShell 2)新建一个针对PowerShell的Pofile文件 3)用记事本打开这个文件 4)然后输入并保存退出 5)重启Powershell或PHPStorm Terminal查看效果 参考: https://stackoverflow.com/que 阅读全文
posted @ 2018-02-11 16:25 ranwuer 阅读(443) 评论(0) 推荐(0)
摘要:最近升级Git后,打开Git Bash出现了乱码,解决方法是: 注意,我升级之后,本地和字符集栏位出现了空白的情况。如果检查这里为空白,那么把本地设置为zn_CN,字符集设置为UTF-8 阅读全文
posted @ 2018-02-11 15:46 ranwuer 阅读(167) 评论(0) 推荐(0)
摘要:1. 保证指针始终存储的是指向一块内存区域的地址(引用),这块内存区域可以是变量值,总之存储了有用的东西 2. 取值操作之前确保指针已经正确指向了一块内存(不是坏指针bad pointer) 3. 创建一个指针,它不会自动指向一块内存区域,所以不要忘记给指针初始化内存并指向它 4. 两个指针指向同一 阅读全文
posted @ 2018-01-31 22:34 ranwuer 阅读(122) 评论(0) 推荐(0)
摘要:目前SPHINX支持6种排序模式。分别是: 1. SPH_SORT_RELEVANCE2. SPH_SORT_ATTR_DESC3. SPH_SORT_ATTR_ASC4. SPH_SORT_TIME_SEGMENTS5. SPH_SORT_EXTENDED6. SPH_SORT_EXPR 第一种表 阅读全文
posted @ 2018-01-31 17:55 ranwuer 阅读(444) 评论(0) 推荐(0)