Mac OSX在终端打开当前路径的finder

Mac OSX在终端打开当前路径的finder

在命令行打开finder

使用 open命令

$ open

后面跟上路径,如果是打开当前路径则是

$ open .

点表示当前路径

还可以根其他路径

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理.

继续阅读

Posted in Mac/Ios | Leave a comment

SDL2 例子代码

SDL2 例子代码

SDL经常用到的版本是1.2,很多网络上的代码都是基于这个版本。后来出了2.0,叫之前的代码较大的改变,下面列出变化:

  • Full 3D hardware acceleration
  • Support for OpenGL 3.0+ in various profiles (core, compatibility, debug, robust, etc)
  • Support for OpenGL ES
  • Support for multiple windows
  • Support for multiple displays
  • Support for multiple audio devices
  • Android and iOS support
  • Emscripten and Native Client support
  • Simple 2D rendering API that can use Direct3D, OpenGL, OpenGL ES, or software rendering behind the scenes
  • Force Feedback available on Windows, Mac OS X and Linux
  • XInput and XAudio2 support for Windows
  • Atomic operations
  • Power management (exposes battery life remaining, etc)
  • Shaped windows
  • 32-bit audio (int and float)
  • Simplified Game Controller API (the Joystick API is still here, too!)
  • Touch support (multitouch, gestures, etc)
  • Better fullscreen support
  • Better keyboard support (scancodes vs keycodes, etc).
  • Message boxes
  • Clipboard support
  • Basic Drag'n'Drop support
  • Proper unicode input and IME support
  • A really powerful assert macro

  • zlib license instead of LGPL.
  • Lots of old annoyances from 1.2 are gone
  • Many other things!

这不是本文的重点,重点是函数和使用方法也改变了,因此本文就新版本的sdl,给出实例代码:

继续阅读

Posted in 杂项 | Leave a comment

《IOS开发系列教程》RGB生成UIImage

《IOS开发系列教程》RGB生成UIImage

IOS要求的像素格式是

RGBA

而不是

RGB

因此如果如果拿到的数据格式是RGB,那么需要转换成RGBA,

RGB–>RGBA–>UIImage

再使用下面的语法显示图片:

UIImageViewer.image = UIImage

下面给出一个例子:

const size_t Height = 10;
const size_t Area = Width * Height;
const size_t ComponentsPerPixel = 4; // rgba

uint8_t pixelData[Area * ComponentsPerPixel];

// fill the pixels with a lovely opaque blue gradient:
for (size_t i=0; i < Area; ++i) {
    const size_t offset = i * ComponentsPerPixel;
    pixelData[offset] = i;
    pixelData[offset+1] = i;
    pixelData[offset+2] = i + i; // enhance blue
    pixelData[offset+3] = UINT8_MAX; // opaque
}

// create the bitmap context:
const size_t BitsPerComponent = 8;
const size_t BytesPerRow=((BitsPerComponent * Width) / 8) * ComponentsPerPixel;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef gtx = CGBitmapContextCreate(&pixelData[0], Width, Height, BitsPerComponent, BytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);

// create the image:
CGImageRef toCGImage = CGBitmapContextCreateImage(gtx);
UIImage * uiimage = [[UIImage alloc] initWithCGImage:toCGImage];

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》模拟机上生成的文件保存位置

《IOS开发系列教程》模拟机上生成的文件保存位置

在开发的时候,有时需要生成一些临时文件,或者数据文件,运行完程序,我们需要查看这些文件的内容,那么这些文件到底被保存在什么地方呢?

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

Makefile的特殊变量

Makefile的特殊变量

写Makefile的时候,经常要用到一些特殊变量,或者说是常量(严格来说,不能叫做常量,因为不同的上下文,变量的值会不同)。利用这些特殊变量可以让我们在编写Makefile的时候更加轻松。

继续阅读

Posted in Linux系统学习 | Leave a comment

为什么古筝没有4(fa)和7(xi)

为什么古筝没有4(fa)和7(xi)

在中国古代,音阶使用

宫1 商2 角3 羽5 微6

分别对应

1 2 3 5 6

而古筝也是中国古代发明的乐器,当然采用的是古代音阶表示方法。而1234567的七音阶是从西方传入。

我们知道3到4,6到7都是半音,而我们古人发明的音阶宫 商 角 羽 微恰好少的就是这2个半音。

继续阅读

Posted in 杂项, 音乐 | Tagged | Leave a comment

socket.io的命名空间(namespace)和房间(room)

socket.io的命名空间(namespace)和房间(room)

socket.io支持命名空间和房间

默认是的命名空间是 '/'

没有默认的房间

socket, room, namespace三者关系

socket 一定是属于某个namespace,

room 一定是属于某个namespace,

socket可以在某个房间或者不在任何房间

使用of来创建命名空间:

var nsp = io.of('/my-namespace');
nsp.on('connection', function(socket){
  console.log('someone connected'):
});
nsp.emit('hi', 'everyone!');

客户端可以使用

var socket = io('/my-namespace');

链接到这个命名空间

通常使用默认命名空间,所以可以使用省去命名空间名字,

var socket = io('/');

或者

var socket = io();

房间(room)

创建和加入房间是同一个函数 join

socket.join('some room');

离开房间

socket.leave('some room');

继续阅读

Posted in Web | Tagged | Leave a comment

socket.io建立的聊天程序

socket.io建立的聊天程序

nodejs的socket.io的功能如同websocket一样,是建立长链接,可以让服务器主动发消息给客户端(通常是指浏览器)

但是好处是服务端和客户端用的是同一种语言,都是javascript,学习成本比较低。

下面就一个简单的例子:

继续阅读

Posted in Web | Tagged | Leave a comment

nodejs socket.io初探

nodejs socket.io初探

nodejs的socket.io的功能如同websocket一样,是建立长链接,可以让服务器主动发消息给客户端(通常是指浏览器)

但是好处是服务端和客户端用的是同一种语言,都是javascript,学习成本比较低。

下面就一个简单的例子:

建立简单的聊天的程序:

继续阅读

Posted in Web | Tagged | Leave a comment

nodejs的hello world

nodejs的hello world

nodejs的hello world可以使用2种方式实现:

  • 使用express
  • 使用none-static

使用express

—- server.js文件

var express = require('express');
var app = express();

app.get('/', function (req, res) 
{
  res.send('Hello World!');  // 这里发送hello world 字符串
});

var server = app.listen(3000, function () {

  var host = server.address().address;
  var port = server.address().port;

  console.log('server listening at http://%s:%s', host, port);

});

继续阅读

Posted in Web | Tagged | Leave a comment