自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

N1neSun的博客

书到用时方恨少,事非经过不知难。

  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言入门前言及其目录

前言从大一开始接触c语言,一开始没有好好学,后来好好学了,又感觉自己还是没有学好。从入算法的坑开始,觉得自己一直菜的抠脚,过去如此,现在也是如此。其实自己很懒,也很笨,学了很多东西忘了一大半。后来和朋友讨论着要把学到的东西好好记录下来,但是自己懒得去整理,搞了很久也才写了几篇博客。写这些只是想自己坚持把这个c语言的入门教程写完(也想某个傻瓜把c语言学好)。一直在想怎样去写这个系列的教程,也问了

2017-06-26 10:39:31 1162

原创 使用c++创建python自定义模块

这里介绍python3的方法,python2的方法类似,只是几个函数不一样而已。主要是运用python.h这个头文件。首先记得在代码前面加上下面的代码#ifdef _DEBUG#undef _DEBUG#include <python.h>#define _DEBUG#else#include <python.h>#endif如果不加的话,调试和非调试的库的问题在导入该模块时会造成下面的错误Fatal Python error: _PyInterpreterS

2020-10-15 21:57:12 726 1

原创 python使用独立的虚拟开发环境

主要介绍两种python下的建立独立虚拟开发环境的方法virtualenv通过pip进行安装pip install virtualenv使用方法在项目中使用命令virtualenv name创建环境,name表示这个虚拟环境的名称。使用source name/bin/activate进入虚拟环境,使用deactivate退出当前虚拟环境。在项目中完成以后可以通过pip freeze > requirements.txt,当项目迁移的时候可以使用pip install -r require

2020-07-16 20:56:05 436

原创 Centos创建本地ISO镜像源

原因是因为自己想在一个未联网的机器上安装一个包,但是这个包的依赖太多,不可能一个一个去rpm,于是使用了挂载本地ISO作为源的方法,这里记录一下。这里要将系统本身的ISO镜像上传到服务器上(当然也可以通过光驱去挂载),这里使用的是centos7-1708。然后创建挂载文件夹,并且挂载文件mkdir /mnt/isomount -o loop CentOSXXXX.iso /mnt/iso其中Centosxxxx.iso是你上传的iso的名称。然后将yum.repos.d目录下的进行备份(这里可

2020-07-15 23:07:30 1402

原创 python实现查询gitlab所有组人员和权限

通过使用python-gitlab库实现,环境是python3.6.9,实现统计gitlab所有组人员和权限,直接贴出代码import gitlabimport sysclass Git_rightread(): def __init__(self): self.gl = gitlab.Gitlab.from_config('outnet', ['gitlab/gitlab.cfg...

2020-04-29 10:41:35 2143 2

原创 Selenium自动化实践

因为公司的权限设置太过繁琐,现在想使用selenium来进行自动化设置,记录一下Selenium的实践过程

2019-10-24 16:49:56 293

原创 C语言入门第二十篇,预处理和typedef

程序设计领域中,预处理一般是指在程序源代码被翻译为目标代码的过程中,生成二进制代码之前的过程。典型地,由预处理器(preprocessor) 对程序源代码文本进行处理,得到的结果再由编译器核心进一步编译。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的单位——(用C/C++的术语来说是)预处理记号(preprocessing token)用来支持语言特性(如C/C++的宏调用)...

2019-09-20 22:43:12 310

原创 解决Centos下进入系统显示Give root passwd for maintenance

这个问题是/etc/fstab文件配置错误导致的,错误如下图通过root密码可以进入系统,然后执行mount / -o remount,rw将根目录挂载为可读写模式。然后执行blkid查看文件系统情况。然后再通过vim /etc/fstab 将fstab的内容改的和上面一样即可更多操作系统请参考:https://help.aliyun.com/knowledge_det...

2019-09-18 10:09:06 2140

原创 Linux使用fdisk分区与挂载

本文环境Centos 7.6因为新增了一块硬盘,现在用做记录,整个分区和挂载的过程。先使用fdisk -l 查看所有磁盘可以看到我新加的500G的硬盘,现在需要对/dev/vdb进行分区,挂载。使用命令fdisk /dev/vdb使用了这个命令过后会进入专有的命令行界面,可以使用h命令查看帮助文档。输入n 创建一个新的分区:这里看到可以创建主分区和扩展分区,我这里创建的是主分区...

2019-09-17 13:41:40 787

原创 Gitlab使用python批量创建用户

本文使用python的python-gitlab库实现,python环境3.6.8安装库pip3 install python-gitlab这里先贴出源码# coding=utf-8import gitlabimport requestsdef add(gl): gid = int(input('Group ID: ')) group = gl.groups.ge...

2019-09-12 16:49:46 1456

原创 Centos Gitlab+Jenkins+SonarQube实现持续集成以及代码审计环境搭建

Gitlab的安装方式请参考我之前的一篇文章([Centos7 YUM安装GitLAB环境](https://blog.csdn.net/qq_25417713/article/details/88974048)),本篇文章具体主要参照这篇文章https://bloodzer0.github.io/ossa/other-security-branch/devsecops/gjs/首先解决端口冲突,因为我们要安装jenkins,会占用8080端口,只能修改gitlab的8080端口。

2019-09-07 13:20:15 851

原创 Docker实战,docker搭建LAMP环境

一开始本来想着实现apache+mysql+php三个容器,奈何自己是个菜逼,搞了一段时间也没有弄出来。主要问题我觉得在于apache链接php容器后没有将php启动或者说php不可用(也可能是自己配置apache的问题),后续有机会再研究一下吧。这次采用的方式是apache+php为一个容器,mysql为另一个容器,linux环境为centos 7.6。我们这次采用的方式是拉一个centos...

2019-08-29 17:40:15 365

原创 Centos7 YUM安装GitLAB环境

安装这本来不是什么难事,但是如果用默认的镜像的话下载的慢的要死。又不想费时间配置一个代理,这里记录下整个流程。我使用的是国内清华大学的yum源新建 /etc/yum.repos.d/gitlab-ce.repo,内容为[gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitl...

2019-04-02 16:09:48 3930 1

原创 MYSQL运维基础(数据库用户与权限,备份与恢复)

添加用户5.7版本以前登录mysql以后使用insert into mysql.user(host,user,password) values(“host”,“user”,password(“123”))host代表能访问的主机,如果是%代表所有主机都可以5.7以后create user ‘username’@‘host’ identified BY ‘password’;授予权限...

2019-03-11 21:05:30 1352 1

原创 C语言入门第十六篇,再议指针

前面我们介绍了指针的基本性质,今天我们再深入的研究指针的内容。我们之前了解了指针就是指向变量,那些只是皮毛,想要真正掌握指针就看下面的内容理解的怎么样了。**指针和数组**之前介绍了指针可以通过自己地址的加和减去访问其他地址里面的变量内容,其中一种场景就是指针指向了数组(指针并不能随意的去访问内存地址中的内容,这设计到了操作系统的知识,这里不再赘述),下面我们来看看实际的例子:

2019-01-23 22:03:26 651

原创 Docker基本操作总结

Docker是一种容器技术,实现了应用层的虚拟化,容器级别的虚拟机化加快了云计算时代的发展,Docker在迁移,启动,部署,安装等方面有着出色的发挥,这篇文章主要总结一下Docker里的基本操作。本篇主要介绍ubuntu下docker的命令,centos类似。Docker安装ubuntu下sudo apt-get install docker.iocentos下yum install...

2018-12-12 22:29:36 296

原创 C语言入门第十九篇,文件操作

文件操作是通过c语言编程实现对文本文件的控制,比如读入文件内容、处理文件内容等等。相信很多学校的学生在学习的时候老师就会叫大家用c语言做一个学生的成绩管理系统或者是什么的系统,如果不涉及到数据库,那多半是用文件来做。我们这篇主要讲文件的读出,处理,存入文件等的方式。

2018-11-10 15:17:06 537

原创 C语言入门第十八篇,字符串

字符串可能前面会有一点点提及,这里仔细进行讲解。其实严格意义来说,c语言并没有字符串这个变量类型(c语言并不像c++或者其他高级语言有string这个类型),c语言的字符串其实就是**字符数组**。我一般使用的方法声明一个字符串如下:

2018-10-28 12:01:45 307

原创 使用Let's Encrypt申请永久免费通配符证书

由于现在网络安全形势的影响,大多数网站都启用了https。本文介绍一种申请永久免费的通配符证书的方法,可以适配一个域名下的所有站点(例如:www.abc.com和子域名ss.abc.com都可以用一个证书启用https)。我所使用的申请证书的环境是Centos7,因为这个是官方提供的是一个python的程序,有一些依赖的库,要pip下载,因为有些链接容易超时,还是建议把pip的源改到中国来。申...

2018-09-30 12:39:27 5085

原创 C语言入门第十七篇,结构体、联合体和枚举

结构体是C语言很重要的概念,他是数据结构的关键。**基本性质**个人理解结构体是一种变量的集合体,他把变量放入了一个结构里面,形成了一个结构体。我们先看看他的基本语法。struct 结构体名{ 结构体}我们看上面的基本语法可以看出,我们需要给出结构体名和内部的结构体就能声明一个结构体变量。上面的语法还不能表现真正结构体的属性,我们来看看一个例子,我们需要定义一个学生的结构体,里面存放学号,姓名,性别。

2018-09-16 12:30:26 394

原创 关于linux定时任务crontab不能执行等的一些问题

crontab是linux下实现定时任务的命令,但是他还是有很多坑需要我们注意,这里列举一些,如果遇到新的会再更新。**1.shell脚本能单独运行,但是计划任务里面无法运行**这种问题往往是环境变量的问题,就是你所执行的命令没有明确一些环境变量。建议的解决办法:**(1)在所写脚本上加入环境变量,如下:**

2018-08-05 21:55:28 4176 1

原创 C语言入门第十五篇,作用域

我也不知道什么时候该讲这个问题,其实觉得一开始就应该讲这个问题,但又觉得不太形象,所以我决定函数讲完后就应该让大家了解一下作用域的问题。 概述 当变量或者函数等声明时,它只有在程序的一定区域才能被访问。这个区域就是这个函数或者这个变量的作用域。 我们以下列代码来讲述作用域的问题:#include&amp;amp;lt;stdio.h&amp;amp;gt;int a;void swap(int &amp;amp;amp;d,...

2018-05-10 15:42:10 265

原创 C语言入门第十四篇,函数

在一开始我们介绍C语言的时候我们介绍了程序是由一个主函数和若干子函数组成(见第一篇初识C语言)。函数英文是function,有方式、方法的意思。那么我们在程序设计的时候就可以把程序写成很多个程序块(函数),每块程序块实现不同的功能。 我们来看看例子。#includevoid print_helloworld(){ printf("hello world!\n");}i

2018-01-24 15:52:42 390

原创 C语言入门第十二篇,数组练习题

1.编写一个程序,手动输入一个3行4列的二维数组,并像表格一样排列打印出来#include<stdio.h>int main(){ int i,j; int a[3][4]; for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]);

2017-09-30 10:17:31 5719 2

原创 C语言入门第十篇,switch语句练习题

1.编写一个程序,用户输入ABCDE其中一个字母,然后输出A表示90分以上,B表示80到90分,C表示70到80分,D表示60到70分,E表示60分以下。输入对于的字母输出对应的表示内容。#include<stdio.h>int main(){ char score; scanf("%c",&score); switch(score){ case 'A':

2017-09-30 09:59:58 21184

原创 C语言入门第九篇,循环语句练习题

1.分别用while和for写一个程序。程序让用户输入一个n,然后计算1到n的和。while版#include<stdio.h>int main(){ int n; int sum=0,i=1; scanf("%d",&n); while(i<=n) { sum+=i; i++; } printf("%d\n

2017-09-29 16:49:05 4993

原创 C语言入门第八篇,if语句练习题答案

试着写一个让用户输入年份,判断是否是闰年的程序?#include<stdio.h>int main(){ int year; scanf("%d",&year); if((year%4==0&&year%100!=0)||year%400==0) { printf("是闰年\n"); } else { pri

2017-09-29 15:09:44 4976 1

原创 C语言入门第十三篇,指针

指针是以一种灵活的方式来表示变量或者说数据。他只是一个很基础的东西,我们初学它的时候都会觉得很难很抽象,然而后面的大多数地方都会用到指针,然后会有一种看见指针望而却步的感觉,这是我自己的切身感受,但是其实指针并不是C语言的难点,需要的只是多写些代码就会了。地址 前面说内存的时候也给大家有意无意的提到了这点,我们的变量全部都是在内存中,而内存是一个有很多房间的酒店,每个房间有不同的房间号,这个房间号

2017-09-12 15:49:25 334

原创 C语言入门第十二篇,数组

数组数组是c语言的重要数据类型,我们前面讲的变量,都是一个一个的去声明,我们可不可以声明一个数据类型的集合呢?我们今天讲的数组就可以办到。数组可以连续存放相同数据类型(这里注意连续存放,是指内存中开辟的空间是连续的)。

2017-09-12 15:22:12 2505

原创 C语言入门第十一篇,goto语句

goto语句是我在编程中见过最少的一个

2017-08-30 15:14:16 638

原创 C语言入门第十篇,switch语句

switch是一个不太复杂的语句,我们来看看他的用法吧。switch(变量){ case 变量1: 执行语句 break; case 变量2: 执行语句 break; …… default: 执行语句}switch

2017-08-29 10:51:58 17431

原创 C语言入门第九篇,循环语句

循环是程序中最常见的一个语句,毕竟计算机每天都在做一些循环的工作。下面我们来看看循环的语句。whilewhile是个很简单的循环,它的语法如下: while(判断条件) 执行语句 while的语法类似if,只要满足while的判断条件, 执行的语句会一直循环。可以试试下面的代码:#includeint main(){ int n; scanf(

2017-08-28 15:47:41 883 1

原创 C语言入门第八篇,if语句

C语言的基本内容我们基本讲完了,接下来我们会讲到几乎每一个语言都有的语句。这篇开始希望大家多多将例子中的代码,在自己的编译器中去敲一下,更有助于学习。

2017-08-22 16:32:28 3942 2

原创 C语言入门第七篇,强制类型转换和ASCll编码

这篇我们再说说数据类型,我们看看下面这个例子:#include<stdio.h>int main(){ int a; a=9/2; printf("%d\n",a); return 0;}这里声明的变量为整型变量,所以输出a的值为4,没有小数位。有些人说用变量a用float呢?#include<stdio.h>int main(){ float a;

2017-08-18 17:28:31 2761

原创 C语言入门第六篇,操作符

我们前面讲了变量,输入输出,下面我们来看一些操作符。操作符都是用于操作变量的。我们先看几个简单的操作符。算术操作符算术操作符是我们最熟悉的,因为是数学上经常用到的操作符。 + - * / % 上面这些就是算术操作符,从左到右分别是加,减,乘,除,取余。这里重点说一下取余。取余是在整数除法的时候取余数结果是整个算式的余数。如果不太清楚可以用下面的代码试试。就很明白什么是取余了,也顺便试

2017-08-17 19:21:38 473

原创 C语言入门第五篇,输入

上上一节,我们也说了变量的赋值,那么能不能给变量输入我想要给它的值呢?当然可以。下面我们来看看scanf这个函数。scanf scanf类似我们刚刚讲了的printf,scanf是格式化输入(scanf其实还是比较复杂的一个函数,我们这里先用着,学到后面我们再来看看输入输出家族这些函数大家就都明白啦)。首先我们必须要清楚,scanf只是负责输入,不负责输出。所以想要输出的话还是要靠printf。我

2017-08-01 16:38:34 472 4

原创 C语言入门第四篇,输出

讲了一些基本的,有些人可能会想为什么还不能写出程序啊?不要着急,这篇文章过了,你就将写出看了这个教程的第一个程序。这里我们先介绍两个输入输出函数(输入,输出函数还有很多,但是现在用不到,后面要用了再讲),scanf()和printf()。

2017-07-29 16:05:44 648

原创 C语言入门第三篇,变量

每个程序都少不了变量,后面你可能会渐渐发现程序其实就是对数据的处理。数据放在哪?当然是变量里面咯。C语言的变量其实类似数学里面的X,Y。

2017-07-19 15:54:23 668

原创 C语言入门第二篇,基本数据类型

数据类型是C语言里非常重要的东西,但是如果单单只去讲数据类型的话,会很空洞。因为数据类型就是一些概念,我其实很讨厌这些概念,所以这里把声明变量也一起讲,这样可以尽量用代码的方式写出来。

2017-07-17 10:48:25 610

原创 C语言入门第一篇,初识C语言

我也很纠结怎样开这个头,不知道怎样说才会没那么枯燥和乏味。这篇文章是对C语言的一个大体认识,如果觉得过于难懂可以跳过。C语言当然是根据前面一些语言发展起来的,至于什么语言发展过来的怎样发展的,大家可以自行百度。C语言顾名思义是一种能让计算机读懂的语言。其实计算机也无法读懂它,计算机只懂得0和1,这里则要靠编译器来帮我们翻译我们编写的C语言,方式是将我们编写的C语言转换为汇编,再将汇编转化成机器

2017-07-14 15:00:21 1184 2

M2Crypto-0.35.2-cp37-cp37m-win_amd64.whl

python3.7 64位,M2Crypto库 可直接pip和easy_install安装,省去自己编译安装所带来的一系列依赖问题

2020-06-23

M2Crypto-0.35.2-cp27-cp27m-win_amd64.whl

python2.7 64位,M2Crypto库 可直接pip和easy_install安装,省去自己编译安装所带来的一系列依赖问题

2020-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除