斗扣年华

与扣斗,其乐无穷


  • Home

  • Archives

网络篇

Posted on 2020-03-09 | Edited on 2020-05-08

Q: 两台服务器A和B的网络配置,

A B
IP address 192.168.26.129 192.168.26.3
Subnet mask 255.255.255.0 255.255.255.224
Default gateway 192.168.26.2 192.168.26.2

子网掩码本都为255.255.255.0, B的子网掩码不小心配成了255.255.255.224。它们还能正常通信吗?

如果看到这个问题能自信回答。下文无须再看。

Read more »

Swift Packages

Posted on 2020-03-08 | Edited on 2020-05-30

swiftpackages.png

苹果官方的包管理工具

Read more »

cocoapods

Posted on 2020-03-08 | Edited on 2020-03-12

CocoaPods

What is CocoaPods

CocoaPods manages library dependencies for your Xcode projects.

The dependencies for your projects are specified in a single text file called a Podfile. CocoaPods will resolve dependencies between libraries, fetch the resulting source code, then link it together in an Xcode workspace to build your project.

Ultimately the goal is to improve discoverability of, and engagement in, third party open-source libraries by creating a more centralised ecosystem.

Read more »

terminal经验

Posted on 2020-03-07 | Edited on 2020-03-25

操作文件

根目录

常见的两种

1
2
3
4
# Mac(硬盘)的根
/
# 用户的根
~

比如你当前处于 ~目录下。执行pwd,得到/Users/用户名

变更目录 (change directory)
1
2
3
4
5
6
7
8
9
# 跳转到上层路径 比如当前路径 ~/a/b -> ~/a
cd ..
# 跳转到上两层
cd ...
# (用户)当前用户的根目录 比如我的电脑用户名alan, /Users/alan
cd ~
cd --
# 跳转到上一次所在的路径
cd -
Read more »

git经验

Posted on 2020-03-07 | Edited on 2020-03-14

git

Read more »

Django Restful

Posted on 2020-03-04 | Edited on 2020-04-09

python 搭建rest API有两大主流 Django 与 Flask

Django 较重 组件齐全

Flask 较轻,灵活

REST

Representational state transfer 表现层状态转换

Roy Thomas Fielding博士提出的一种网络服务架构的风格。也叫restful。

表现层状态转换是基于超文本传输协议之上的一族约束和属性,是一种设计网络服务的软件构建风格。

客户端发出请求以统一资源标识符访问和操作网络资源

当前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的Web服务开始采用REST风格设计和实现。

Django rest 框架 django-rest-framework

官方文档 https://www.django-rest-framework.org/

SQL

Posted on 2020-03-03

MYSQL

安装

mysql下载:https://dev.mysql.com/downloads/

navicat下载:https://www.navicat.com.cn/

出现个问题 .bash_profile 添加路径 但是在terminal上无效,还需要手动 设置PATH

PATH=${PATH}:/usr/local/mysql/bin

mysql -u root -p

-u 代表user 这里用户名为root

-p password

使用MYSQL的图形化程序navicat

Django入门

Posted on 2020-02-28 | Edited on 2020-03-12

Deployment

Read more »

mac socket

Posted on 2019-12-27 | Edited on 2020-03-12

###

套接字接口的起源

套接字接口是加州大学伯克利分校的研究员在20世纪80年代早期提出来的。因为这个原因,它也常被叫做伯克利套接字。伯克利的研究者使得套接字接口适用于任何底层的协议。第一个实现的就是针对TCP/IP协议的,他们把它包括在Unix 4.2BSD的内核里,并且分发给许多学校和实验室。这在因特网的历史上是一个重大事件。几乎一夜之间,成千上万的人们接触到了TCP/IP和它的源代码。它引起了巨大的轰动,并激发了新的网络和网络互联研究的浪潮

节选自 《深入理解计算机系统》第三版

伯克利 Berkeley

Core Foundation通过CFNetwork提供了封装套接字的CFSocket和CFStream,此外还进一步提供了一些协议的封装,例如CFFTP、CFHTTP等

BSD套接字是XNU中所有网络组件的核心

Read more »

Mac app socket server

Posted on 2019-12-26 | Edited on 2020-03-21

在macOS app 上创建socket server

发现创建失败

抛出异常代码如下

1
try checkNotMinus1{ Darwin.bind(ipv4Socket, addrPtr, UInt32(MemoryLayout<sockaddr_in>.size))
1
2
3
4
5
6
7
8
9
/// 封装检测是否为-1
/// errno 为Darwin的错误码
enum SocketError: Error { case socketCreateFailed(Int32) }
@discardableResult
func checkNotMinus1(_ f: () -> Int32) throws -> Int32 {
let r = f()
guard r != -1 else { throw SocketError.socketCreateFailed(errno) }
return r
}

catch中的error 为ssocketCreateFailed(1)

也就是errno为1

Read more »
1234

douCodeLife

33 posts
19 tags
© 2021 douCodeLife
Powered by Hexo v3.8.0
|
Theme – NexT.Gemini v7.1.1