<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>射日工作室</title>
	<atom:link href="http://www.shootsoft.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shootsoft.net</link>
	<description>开源软件开发</description>
	<lastBuildDate>Sun, 23 Oct 2011 06:35:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>[Erlang] Unable to load crypto library Windows下的解决办法</title>
		<link>http://www.shootsoft.net/147/</link>
		<comments>http://www.shootsoft.net/147/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 06:35:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Unable to load crypto library]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=147</guid>
		<description><![CDATA[在一台64位的Widnows2008上，安装了Erlang之后，运行erl，测试几条erlang语句，一切正常。但是在试图启动一个使用了SSL类库的应用程序时，出现了如下的提示： Unable to load crypto library. Failed with error: &#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/ priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221; OpenSSL might not be installed on this system. &#8220;(pubSageService@Apptest2)1&#62; i =ERROR REPORT==== 21-Oct-2011::09:47:29 === The on_load function for module crypto returned {error, {load_failed, &#8220;Failed to load NIF library c: /PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}} n(pubSageService@Apptest2)1&#62; it terminating in [...]]]></description>
			<content:encoded><![CDATA[<p>在一台64位的Widnows2008上，安装了Erlang之后，运行erl，测试几条erlang语句，一切正常。但是在试图启动一个使用了SSL类库的应用程序时，出现了如下的提示：</p>
<blockquote><p>Unable to load crypto library. Failed with error:</p>
<p>&#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/</p>
<p>priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;</p>
<p>OpenSSL might not be installed on this system.</p>
<p>&#8220;(pubSageService@Apptest2)1&gt; i</p>
<p>=ERROR REPORT==== 21-Oct-2011::09:47:29 ===</p>
<p>The on_load function for module crypto returned {error,</p>
<p>{load_failed,</p>
<p>&#8220;Failed to load NIF library c:</p>
<p>/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}}</p>
<p>n(pubSageService@Apptest2)1&gt; it terminating in do_boot&#8221;,{undef,[{crypto,start,[]</p>
<p>},{init,start_it,1},{init,start_em,1}]}}</p>
<p>&nbsp;</p>
<p>Crash dump was written to: erl_crash.dump</p>
<p>init terminating in do_boot ()</p></blockquote>
<p>该机器已经安装了64位的OpenSSL类库（下载<a href="http://www.slproweb.com/products/Win32OpenSSL.html">http://www.slproweb.com/products/Win32OpenSSL.html</a>）</p>
<p>Google之后找到了一篇Google Groups上面的讨论文章</p>
<p><a href="http://groups.google.com/group/erlang-programming/browse_thread/thread/288684b61116baf3">http://groups.google.com/group/erlang-programming/browse_thread/thread/288684b61116baf3</a></p>
<p>首先怀疑Win32的 OpenSSL类库安装的有问题，于是重新安装了一遍，之前安装的忘记最后一步是否选择了将OpenSSL的类库拷贝打到系统目录下（Windows\System32\）,重新安装的时候确认拷贝，但是启动仍然失败。</p>
<p>接下来又把那几个dll拷贝到Erlang的安装目录（就是上面的提示的那个目录）：</p>
<blockquote><p>c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto</p></blockquote>
<p>这个是缩写的目录，实际是：</p>
<blockquote><p>C:\Program Files (x86)\erl5.8.2\lib\crypto-2.0.2\priv\lib</p></blockquote>
<p>这次换了个错误提示：</p>
<blockquote><p>Unable to load crypto library. Failed with error:</p>
<p>&#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/</p>
<p>priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;</p>
<p>OpenSSL might not be installed on this system.</p>
<p>&#8220;(pubSageService@Apptest2)1&gt; i</p>
<p>=ERROR REPORT==== 21-Oct-2011::09:47:29 ===</p>
<p>The on_load function for module crypto returned {error,</p>
<p>{load_failed,</p>
<p>&#8220;Failed to load NIF library c:</p>
<p>/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}}</p>
<p>n(pubSageService@Apptest2)1&gt; it terminating in do_boot&#8221;,{undef,[{crypto,start,[]</p>
<p>},{init,start_it,1},{init,start_em,1}]}}</p>
<p>&nbsp;</p>
<p>Crash dump was written to: erl_crash.dump</p>
<p>init terminating in do_boot ()</p></blockquote>
<p>又仔细看了一遍帖子，怀疑是64的OpenSSL和64位的Windows 2008不兼容，于是重新安装了一个32位的，一切正常~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/147/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LuManager安装过程导入Mysql失败的解决办法</title>
		<link>http://www.shootsoft.net/138/</link>
		<comments>http://www.shootsoft.net/138/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 12:12:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LuManager]]></category>
		<category><![CDATA[MySQL安装失败]]></category>
		<category><![CDATA[解决办法]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=138</guid>
		<description><![CDATA[LuManager是一个优秀的国产Linux服务器管理软件，集成了Apache，Nigix，MySQL，FTP，Bind，Memcache，PHP5等软件包，可以实现Apache与Nigix的一键切换，多服务器负载均衡，域名智能解析，用户管理，流量监测功能等。可以通过Web界面来管理整个服务器，还能一键安装DedeCMS，Discuz!等Web应用程序。 LuManager在安装和使用过程中可能碰到导入Mysql失败的情况。 一般有2种情况： 情况1 安装MySQL时出错 Mysql 安装成功，继续安装LuNamp1.0 Mysql was successfully installed! Continue&#8230; 已耗时：30 分钟 Runtime: 30 分钟 ERROR 2002 (HY000): Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217; (2) MySQL数据导入不成功，可能是数据库没启动，或者是MySQL没安装成功，请重装一次试试！ Mysql data was not imported！ LuNamp安装失败 LuNamp was install failed 分析： 原来系统安装了一个MySQL，在系统原有MySQL没有停止服务的时候开始安装了LuManager，有可能是原有MySQL服务产生了影响。 解决： 杀死系统中正在运行的MySQL 方法1 如果你知道原有的MySQL服务器root用户密码，那么通过这个命令就能停止（忘记密码的看方法2）： mysqladmin -uroot -p&#8217;password&#8217; shutdown 注意： 1. /etc/init.d/mysql stop [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zijidelu.org/">LuManager</a>是一个优秀的国产Linux服务器管理软件，集成了Apache，Nigix，MySQL，FTP，Bind，Memcache，PHP5等软件包，可以实现Apache与Nigix的一键切换，多服务器负载均衡，域名智能解析，用户管理，流量监测功能等。可以通过Web界面来管理整个服务器，还能一键安装DedeCMS，Discuz!等Web应用程序。</p>
<p>LuManager在安装和使用过程中可能碰到导入Mysql失败的情况。</p>
<p>一般有2种情况：</p>
<p>情况1 安装MySQL时出错</p>
<blockquote><p>Mysql 安装成功，继续安装LuNamp1.0</p>
<p>Mysql was successfully installed! Continue&#8230;</p>
<p>已耗时：30 分钟</p>
<p>Runtime: 30 分钟</p>
<p>ERROR 2002 (HY000): Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217; (2)</p>
<p>MySQL数据导入不成功，可能是数据库没启动，或者是MySQL没安装成功，请重装一次试试！</p>
<p>Mysql data was not imported！</p>
<p>LuNamp安装失败</p>
<p>LuNamp was install failed</p></blockquote>
<p>分析：</p>
<p>原来系统安装了一个MySQL，在系统原有MySQL没有停止服务的时候开始安装了LuManager，有可能是原有MySQL服务产生了影响。</p>
<p>解决：</p>
<p>杀死系统中正在运行的MySQL</p>
<p>方法1</p>
<p>如果你知道原有的MySQL服务器root用户密码，那么通过这个命令就能停止（忘记密码的看方法2）：</p>
<blockquote><p>mysqladmin -uroot -p&#8217;password&#8217; shutdown</p></blockquote>
<p>注意：</p>
<p>1. /etc/init.d/mysql stop 并不是正确的停止mysql服务的方法！</p>
<p>2. 如果你试图通过 /usr/local/LuNamp/cmd 目录下的 mysql-stop 来停止服务，那么你可能会碰到如下提示：</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd# ./mysql-stop</p>
<p>1</p>
<p>MySQL manager or server PID file could not be found! failed!</p></blockquote>
<p>可以通过方法2来解决</p>
<p>方法2</p>
<p>首先确保当前是root用户，运行如下命令：</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd# ps -Af | grep mysqld</p></blockquote>
<p>返回结果如下（注意加粗的那一行，那个PID就是MySQL的进程ID）：</p>
<blockquote><p>root      6928     1  0 Jun21 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe</p>
<p><strong>mysql    17427  6928  0 14:56 ?        00:00:00 /usr/sbin/mysqld &#8211;basedir=/usr &#8211;datadir=/var/lib/mysql &#8211;user=mysql &#8211;pid-file=/var/run/mysqld/mysqld.pid &#8211;skip-external-locking &#8211;port=3306 &#8211;socket=/var/run/mysqld/mysqld.sock</strong></p>
<p>root     17428  6928  0 14:56 ?        00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld</p>
<p>root     17460 17340  0 14:58 pts/2    00:00:00 grep mysqld</p></blockquote>
<p>接着运行</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd#Kill 17427</p></blockquote>
<p>杀死了MySQL进程后，重新运行./zijidelu_install.sh就可以了</p>
<p>情况2 进入系统时出错，提示：</p>
<blockquote>
<p lang="en-US">Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217;(2)</p>
</blockquote>
<p>截图：</p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2011/06/5876921168_e9950bddfc.jpg"><img class="aligncenter size-full wp-image-141" title="LuManager登录MySQL错误" src="http://www.shootsoft.net/wp-content/uploads/2011/06/5876921168_e9950bddfc.jpg" alt="" width="500" height="194" /></a></p>
<p>解决方法：</p>
<p>首先参考情况1的方法1或者方法2来杀死当前正在运行的MySQL服务，然后以root用户身份进入</p>
<blockquote><p>/usr/local/LuNamp/cmd</p></blockquote>
<p>运行当前目录的mysql-start</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd#./mysql-start</p></blockquote>
<p>然后刷新LuManager的Web界面应该就能顺利进入了:-)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/138/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinSCP跨Linux（多Linux台机器之间）拷贝传输文件</title>
		<link>http://www.shootsoft.net/137/</link>
		<comments>http://www.shootsoft.net/137/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 14:24:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux拷贝文件]]></category>
		<category><![CDATA[WinSCP]]></category>
		<category><![CDATA[多台]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/137/</guid>
		<description><![CDATA[&#160; 这纯属一个使用技巧，找了很多Linux的Windows客户端，貌似都不能在同一个用户界面上跨机器拷贝传输文件，用来用去还是WinSCP顺手，以前跨机器传输的时候都是开多个窗口，拖放。今天偶然发现WinSCP也可以在同一个用户界面上跨机器拷贝传输文件。 &#160; 首先要确保WinSCP的工具栏&#8220;会话按钮&#8221;是显示状态，方便在多台Linux之间切换界面 点击&#8220;会话按钮&#8221;工具栏的倒数第二个按钮，可以登录更多的Linux机器（注意：要拷贝的文件的目标机器必须先在这里登录） 在某一台需要拷贝的文件上单击鼠标右键，选择&#8220;远程复制&#8221; 在新弹出的窗口中&#8220;目标会话&#8221;就可以选择其他的Linux机器以及对应的目录了。 缺点就是不能同时拷贝到多台机器，以及文件拷贝实际上是先拷贝到本地，再拷贝到远程]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">这纯属一个使用技巧，找了很多</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">的</span><span lang="en-US" style="font-family:Calibri">Windows</span><span lang="zh-CN" style="font-family:宋体">客户端，貌似都不能在同一个用户界面上跨机器拷贝传输文件，用来用去还是</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">顺手，以前跨机器传输的时候都是开多个窗口，拖放。今天偶然发现</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">也可以在同一个用户界面上跨机器拷贝传输文件。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">首先要确保</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">的工具栏&ldquo;会话按钮&rdquo;是显示状态，方便在多台</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">之间切换界面</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5839525910/" title="Flickr 上 model123 的 WinSCP会话按钮"><img alt="WinSCP会话按钮" height="458" src="http://farm4.static.flickr.com/3491/5839525910_bc8be23141.jpg" width="443" /></a></p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">点击&ldquo;会话按钮&rdquo;工具栏的倒数第二个按钮，可以登录更多的</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">机器（注意：要拷贝的文件的目标机器必须先在这里登录）</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><img alt="WinSCP打开更多会话" height="144" src="http://farm4.static.flickr.com/3134/5838974697_f95f92bdb3.jpg" width="280" /></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">在某一台需要拷贝的文件上单击鼠标右键，选择&ldquo;远程复制&rdquo;</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5838974729/" title="Flickr 上 model123 的 WinSCP远程复制菜单"><img src="http://farm3.static.flickr.com/2727/5838974729_3996144034.jpg" width="329" height="267" alt="WinSCP远程复制菜单"></a></p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">在新弹出的窗口中&ldquo;目标会话&rdquo;就可以选择其他的</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">机器以及对应的目录了。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5838974749/" title="Flickr 上 model123 的 WinSCP远程复制对话框"><img src="http://farm6.static.flickr.com/5119/5838974749_9f412d125a.jpg" width="336" height="211" alt="WinSCP远程复制对话框"></a></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">缺点就是不能同时拷贝到多台机器，以及文件拷贝实际上是先拷贝到本地，再拷贝到远程</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/137/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下Erlang中无法运行odbc:start()的解决办法</title>
		<link>http://www.shootsoft.net/127/</link>
		<comments>http://www.shootsoft.net/127/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 06:51:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[odbc:start()]]></category>
		<category><![CDATA[unixodbc-dev]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=127</guid>
		<description><![CDATA[之前碰到过一次，但是当时是和ssl的问题一起解决的，所以再一次的疏忽了，Erlang安装的时候一定要确认所有需要的库都正确安装了。 错误情况是在erl环境中运行 odbc:start(). 的时候 抛出如下的异常： ** exception error: undefined function odbc:start/0 该异常的解决办法和《Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法》类似首先确认linux下安装了如下的包： apt-get  install unixodbc unixodbc-dev 接着重新安装erlang解决。 参考:《Linux(Debian)下正确编译安装Erlang的方法》]]></description>
			<content:encoded><![CDATA[<p>之前碰到过一次，但是当时是和ssl的问题一起解决的，所以再一次的疏忽了，Erlang安装的时候一定要确认所有需要的库都正确安装了。</p>
<p>错误情况是在erl环境中运行 odbc:start(). 的时候</p>
<p>抛出如下的异常：</p>
<blockquote><p>** exception error: undefined function odbc:start/0</p></blockquote>
<p>该异常的解决办法和《<a title="Erlang {“no such file or directory”,”crypto.app”} 的解决方法" href="http://www.shootsoft.net/123/">Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法</a>》类似首先确认linux下安装了如下的包：</p>
<blockquote><p>apt-get  install unixodbc unixodbc-dev</p></blockquote>
<p>接着重新<a title="安装Erlang" href="http://www.shootsoft.net/129/">安装erlang</a>解决。</p>
<p>参考:《<a title="Linux(Debian)下正确编译安装Erlang的方法" href="http://www.shootsoft.net/129/">Linux(Debian)下正确编译安装Erlang的方法</a>》</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/127/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux(Debian)下正确编译安装Erlang的方法</title>
		<link>http://www.shootsoft.net/129/</link>
		<comments>http://www.shootsoft.net/129/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 06:46:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[安装]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=129</guid>
		<description><![CDATA[因为几次都碰到安装后某些类库无法使用的问题，总结了一下： apt-get install gcc g++ build-essential m4 libncurses5-dev  libssl-dev  flex unixodbc-dev fop  libwxbase2.8-dev libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev libncurses5-dev  libc6  unixodbc  gcj openssl xsltproc 还有一个 apt-get install sun-java6-jdk 如果这个包不能正确安装，说明更新源可能有问题，用编辑器打开/etc/apt/sources.list增加一个 deb http://http.us.debian.org/debian/ lenny main contrib non-free 然后保存关闭再次运行 apt-get update然后再安装，应该就没问题了。 库安装完成后在源码目录下 ./configure &#8211;prefix=/usr/ make make install 安装完成后输入erl就能使用最新的Erlang运行环境了 如果是直接apt-get install erlang的，就不用看这个了，我这个是erlang源码编译安装的说明。另外如果有错或者缺少某些类库，还请指出，谢谢。]]></description>
			<content:encoded><![CDATA[<p>因为几次都碰到安装后某些类库无法使用的问题，总结了一下：</p>
<blockquote><p>apt-get install gcc g++ build-essential m4 libncurses5-dev  libssl-dev  flex unixodbc-dev fop  libwxbase2.8-dev libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev libncurses5-dev  libc6  unixodbc  gcj openssl xsltproc</p></blockquote>
<p>还有一个</p>
<blockquote>
<p lang="en-US">apt-get install sun-java6-jdk</p>
</blockquote>
<p>如果这个包不能正确安装，说明更新源可能有问题，用编辑器打开/etc/apt/sources.list增加一个</p>
<blockquote><p>deb http://http.us.debian.org/debian/ lenny main contrib non-free</p></blockquote>
<p>然后保存关闭再次运行 apt-get update然后再安装，应该就没问题了。</p>
<p>库安装完成后在源码目录下</p>
<blockquote><p>./configure &#8211;prefix=/usr/<br />
make<br />
make install</p></blockquote>
<p>安装完成后输入erl就能使用最新的Erlang运行环境了</p>
<p>如果是直接apt-get install erlang的，就不用看这个了，我这个是erlang源码编译安装的说明。另外如果有错或者缺少某些类库，还请指出，谢谢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/129/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysql int整型转换为 IP地址的自定义函数</title>
		<link>http://www.shootsoft.net/124/</link>
		<comments>http://www.shootsoft.net/124/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 13:54:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[int转换]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[自定义函数]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=124</guid>
		<description><![CDATA[碰到IP地址与Int转换的问题，得到了一个csv格式的ip列表，但是ip地址却是int格式。因为使用的时候主要是在数据库里使用，所以写个程序转换一把有些麻烦，后来想到mysql里面有自定义函数，于是尝试了一把，顺利解决:-) DELIMITER $$ USE `iptest`$$ DROP FUNCTION IF EXISTS `int2ip`$$ CREATE DEFINER=`root`@`%` FUNCTION `int2ip`(num BIGINT) RETURNS VARCHAR(255) CHARSET utf8BEGIN     DECLARE result VARCHAR(255);    SET result = CONCAT( CAST((num DIV 16777216% 256) AS SIGNED), &#8216;.&#8217;,  CAST(num DIV 65536 % 256 AS SIGNED ), &#8216;.&#8217;,  CAST(num DIV 256%256 AS SIGNED ), &#8216;.&#8217;,  CAST(num%256 AS SIGNED ));RETURN result;   [...]]]></description>
			<content:encoded><![CDATA[<p>碰到IP地址与Int转换的问题，得到了一个csv格式的ip列表，但是ip地址却是int格式。因为使用的时候主要是在数据库里使用，所以写个程序转换一把有些麻烦，后来想到mysql里面有自定义函数，于是尝试了一把，顺利解决:-)</p>
<blockquote><p>DELIMITER $$<br />
USE `iptest`$$<br />
DROP FUNCTION IF EXISTS `int2ip`$$<br />
CREATE DEFINER=`root`@`%` FUNCTION `int2ip`(num BIGINT) RETURNS VARCHAR(255) CHARSET utf8BEGIN     DECLARE result VARCHAR(255);    SET result = CONCAT(		CAST((num DIV 16777216% 256) AS SIGNED), &#8216;.&#8217;, 		CAST(num DIV 65536 % 256 AS SIGNED ), &#8216;.&#8217;, 		CAST(num DIV 256%256 AS SIGNED ), &#8216;.&#8217;, 		CAST(num%256 AS SIGNED ));RETURN result;    END$$<br />
DELIMITER ;</p></blockquote>
<p>使用的时候：</p>
<blockquote><p>Select int2ip(`ip`) from table;</p></blockquote>
<p>附int整型和ip转换的公式，摘自：</p>
<p>http://www.liveq.net/?p=129</p>
<blockquote><p>IP Address = 202.186.13.4<br />
w = 202, x = 186, y = 13 and z = 4<br />
INT IP Number = 16777216*202 + 65536*186 + 256*13 + 4<br />
= 3388997632 + 12189696 + 3328 + 4<br />
= 3401190660<br />
INT 转 IP:<br />
w = int ( IP Number / 16777216 ) % 256<br />
x = int ( IP Number / 65536 ) % 256<br />
y = int ( IP Number / 256 ) % 256<br />
z = int ( IP Number ) % 256</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/124/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法</title>
		<link>http://www.shootsoft.net/123/</link>
		<comments>http://www.shootsoft.net/123/#comments</comments>
		<pubDate>Thu, 26 May 2011 13:39:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[crypto.app]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[解决]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/123/</guid>
		<description><![CDATA[&#160; 一台新安装的Debian Linux 6.0, 安装了Erlang R14B02. 直接运行erl，输入一些测试，没有问题。但是部署一个Erlang的应用程序之后，启动出错，主要提示为： &#160; {&#34;no such file or directory&#34;,&#34;crypto.app&#34;} &#160; 这个Erlang的应用程序用到了openssl相关的类库，检查了一遍系统的类库，发现 openssl-dev这个库没有安装，apt-get安装后继续出错，搜索发现erlang-ssl这个库没有，apt-get安装后还是无效。 最后发现一个成功解决的案例： &#160; http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650 &#160; 随后将Erlang卸载，重新编译安装（加这个参数 &#39;&#8211;with-ssl=PATH&#39;）后一切正常。 &#160; 后记：Erlang在编译的时候如果系统缺少一些类库，比如odbc,ssl等，会给出一些警告信息，但是并不会阻塞后面的安装，安装成功后一般会认为安装成功了（基本的测试也能通过），但是实际上一些erlang的类库并没有成功编译安装，这种情况下重新编译安装即可。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">一台新安装的</span><span lang="en-US" style="font-family:Calibri">Debian Linux 6.0, </span><span lang="zh-CN" style="font-family:宋体">安装了</span><span lang="en-US" style="font-family:Calibri">Erlang R14B02</span><span lang="en-US" style="font-family:宋体">. </span><span lang="zh-CN" style="font-family:宋体">直接运行</span><span lang="en-US" style="font-family:宋体">erl</span><span lang="zh-CN" style="font-family:宋体">，输入一些测试，没有问题。但是部署一个</span><span lang="en-US" style="font-family:宋体">Erlang</span><span lang="zh-CN" style="font-family:宋体">的应用程序之后，启动出错，主要提示为：</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p lang="en-US" style="margin:0in;font-family:Calibri;font-size:17.0pt;color:#222222">{&quot;no such file or directory&quot;,&quot;crypto.app&quot;}</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">这个</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">的应用程序用到了</span><span lang="en-US" style="font-family:Calibri">openssl</span><span lang="zh-CN" style="font-family:宋体">相关的类库，检查了一遍系统的类库，发现</span><span lang="en-US" style="font-family:Calibri"> openssl-dev</span><span lang="zh-CN" style="font-family:宋体">这个库没有安装，</span><span lang="en-US" style="font-family:Calibri">apt-get</span><span lang="zh-CN" style="font-family:宋体">安装后继续出错，搜索发现</span><span lang="en-US" style="font-family:宋体">erlang-ssl</span><span lang="zh-CN" style="font-family:宋体">这个库没有，</span><span lang="en-US" style="font-family:宋体">apt-get</span><span lang="zh-CN" style="font-family:宋体">安装后还是无效。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">最后发现一个成功解决的案例：</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt"><a href="http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650">http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650</a></p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">随后将</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">卸载，重新编译安装（加这个参数</span><span lang="zh-CN" style="font-family:palatino;color:#222222"> &#39;&#8211;with-ssl=PATH&#39;</span><span lang="zh-CN" style="font-family:宋体">）后一切正常。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">后记：</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">在编译的时候如果系统缺少一些类库，比如</span><span lang="en-US" style="font-family:Calibri">odbc,ssl</span><span lang="zh-CN" style="font-family:宋体">等，会给出一些警告信息，但是并不会阻塞后面的安装，安装成功后一般会认为安装成功了（基本的测试也能通过），但是实际上一些</span><span lang="en-US" style="font-family:Calibri">erlang</span><span lang="zh-CN" style="font-family:宋体">的类库并没有成功编译安装，这种情况下重新编译安装即可。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/123/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>千人挑战，拿福能在行动&#8211;免费50元</title>
		<link>http://www.shootsoft.net/119/</link>
		<comments>http://www.shootsoft.net/119/#comments</comments>
		<pubDate>Tue, 24 May 2011 02:13:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=119</guid>
		<description><![CDATA[拿福能在2010年才进入中国，在今天（5月23日）将要举办一次&#8220;千人挑战活动&#8221;，其目的是千名博主目标的实现起到激励作用，在放入广告代码并写一篇小小的拿福能及其活动介绍，便可平分这个活动的50000元费用，点此查看活动详情。 这仅仅是个开始，当然，我也参加了。在未来的日子里，拿福能还要在中国举办各种线上、线下活动，如果你想免费看电影、认识更多博主、获得小礼品就尽快来参加吧。 不要紧张，只需简单5步，即可在活动中大展拳脚！ 1、&#160; 注册。 2、&#160; 博客绑定拿福能。 3、&#160; 在博客中插入拿福能广告代码。 4、写一篇简短博文，介绍拿福能，并在文中添加本活动页面链接：http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000 &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>拿福能在2010年才进入中国，在今天（5月23日）将要举办一次&ldquo;千人挑战活动&rdquo;，其目的是千名博主目标的实现起到激励作用，在放入广告代码并写一篇小小的拿福能及其活动介绍，便可平分这个活动的50000元费用，<a href="http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000/" target="_blank">点此查看活动详情</a>。 这仅仅是个开始，当然，我也参加了。在未来的日子里，拿福能还要在中国举办各种线上、线下活动，如果你想免费看电影、认识更多博主、获得小礼品就尽快来参加吧。 不要紧张，只需简单5步，即可在活动中大展拳脚！ 1、&nbsp; 注册。 <img alt="" height="248" src="http://www.nuffnang.com.cn/wp-content/uploads/2011/05/1.png" title="1" width="523" /> 2、&nbsp; 博客绑定拿福能。 <a href="http://www.nuffnang.com.cn/wp-content/uploads/2011/05/2.png"><img alt="" height="248" src="http://www.nuffnang.com.cn/wp-content/uploads/2011/05/2.png" title="2" width="523" /></a> 3、&nbsp; 在博客中插入拿福能广告代码。 <a href="http://www.nuffnang.com.cn/wp-content/uploads/2011/05/3.png"><img alt="" height="248" src="http://www.nuffnang.com.cn/wp-content/uploads/2011/05/3.png" title="3" width="523" /></a> 4、写一篇简短博文，介绍拿福能，并在文中添加本活动页面链接：<a href="http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000" target="_blank">http://www.nuffnang.com.cn/blog/2011/05/23/challenge-1000</a> &nbsp; &nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/119/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)</title>
		<link>http://www.shootsoft.net/117/</link>
		<comments>http://www.shootsoft.net/117/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 09:50:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[数值运算符]]></category>
		<category><![CDATA[比较运算符]]></category>
		<category><![CDATA[移位运算符]]></category>
		<category><![CDATA[运算符]]></category>
		<category><![CDATA[逻辑运算符]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/2011/erlang%e7%9a%84%e8%bf%90%e7%ae%97%e7%ac%a6%e6%af%94%e8%be%83%e8%bf%90%e7%ae%97%e7%ac%a6%e6%95%b0%e5%80%bc%e8%bf%90%e7%ae%97%e7%ac%a6%e7%a7%bb%e4%bd%8d%e8%bf%90%e7%ae%97%e7%ac%a6%e9%80%bb%e8%be%91/</guid>
		<description><![CDATA[参考：http://www.erlang.org/doc/reference_manual/expressions.html Erlang的比较运算符 op Description == 等于 /= 不等于 =&#60; 小于等于 &#60; 小于 &#62;= 大于等于 &#62; 大于 =:= 精确的等于 =/= 精确的不等于 等于和精确等于的区别： 如果要比较两个数，如果两个数之间是不同的类型，比如float和int那么，==操作会首先把两个数字转换成相同的相同类型。举例： 1&#62; 1==1.0. true 2&#62; 1=:=1.0. false 所以一般推荐用精确等于去比较 比较运算符的大小级别： number &#60; atom &#60; reference &#60; fun &#60; port &#60; pid &#60; tuple &#60; list &#60; bit string 3&#62; 1 &#62; a. false op Description [...]]]></description>
			<content:encoded><![CDATA[<p>参考：<a href="http://www.erlang.org/doc/reference_manual/expressions.html">http://www.erlang.org/doc/reference_manual/expressions.html</a></p>
<p>Erlang的比较运算符</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: .6673in;">op</td>
<td style="width: 120px;">Description</td>
</tr>
<tr>
<td style="width: .6673in;">==</td>
<td style="width: 120px;">等于</td>
</tr>
<tr>
<td style="width: .6673in;">/=</td>
<td style="width: 120px;">不等于</td>
</tr>
<tr>
<td style="width: .6673in;">=&lt;</td>
<td style="width: 120px;">小于等于</td>
</tr>
<tr>
<td style="width: .6673in;">&lt;</td>
<td style="width: 120px;">小于</td>
</tr>
<tr>
<td style="width: .6673in;">&gt;=</td>
<td style="width: 120px;">大于等于</td>
</tr>
<tr>
<td style="width: .6673in;">&gt;</td>
<td style="width: 120px;">大于</td>
</tr>
<tr>
<td style="width: .6673in;">=:=</td>
<td style="width: 120px;">精确的等于</td>
</tr>
<tr>
<td style="width: .6673in;">=/=</td>
<td style="width: 120px;">精确的不等于</td>
</tr>
</tbody>
</table>
<div style="clear: both;"></div>
<div style="clear: both;">等于和精确等于的区别：</div>
<p>如果要比较两个数，如果两个数之间是不同的类型，比如float和int那么，==操作会首先把两个数字转换成相同的相同类型。举例：</p>
<p>1&gt; 1==1.0.<br />
true<br />
2&gt; 1=:=1.0.<br />
false</p>
<p>所以一般推荐用精确等于去比较</p>
<p>比较运算符的大小级别：</p>
<p>number &lt; atom &lt; reference &lt; fun &lt; port &lt; pid &lt; tuple &lt; list &lt; bit string</p>
<p>3&gt; 1 &gt; a.</p>
<p>false</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: .7298in;">op</td>
<td style="width: 198px;">Description</td>
<td style="width: 149px;">Argument type</td>
</tr>
<tr>
<td style="width: .7298in;">+</td>
<td style="width: 198px;"></td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">-</td>
<td style="width: 198px;"></td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">+</td>
<td style="width: 198px;"></td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">-</td>
<td style="width: 198px;"></td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">*</td>
<td style="width: 198px;"></td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">/</td>
<td style="width: 198px;">浮点数除法，结果是浮点数</td>
<td style="width: 149px;">number</td>
</tr>
<tr>
<td style="width: .7298in;">bnot</td>
<td style="width: 198px;">一元not运算符</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">div</td>
<td style="width: 198px;">整数除法，结果是整数</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">rem</td>
<td style="width: 198px;">求玉树</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">band</td>
<td style="width: 198px;">and运算</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">bor</td>
<td style="width: 198px;">or运算</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">bxor</td>
<td style="width: 198px;">xor异或运算</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">bsl</td>
<td style="width: 198px;">左移位操作</td>
<td style="width: 149px;">integer</td>
</tr>
<tr>
<td style="width: .7298in;">bsr</td>
<td style="width: 198px;">右移位操作</td>
<td style="width: 149px;">integer<span style="font-size: 13px; line-height: 19px;"> </span></td>
</tr>
</tbody>
</table>
<p>逻辑运算符</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: .6673in;">op</td>
<td style="width: 120px;">Description</td>
</tr>
<tr>
<td style="width: .6673in;">not</td>
<td style="width: 120px;">一元逻辑not</td>
</tr>
<tr>
<td style="width: .6673in;">and</td>
<td style="width: 120px;">逻辑and</td>
</tr>
<tr>
<td style="width: .6673in;">or</td>
<td style="width: 120px;">逻辑or</td>
</tr>
<tr>
<td style="width: .6673in;">xor</td>
<td style="width: 120px;">逻辑xor</td>
</tr>
</tbody>
</table>
<div style="clear: both;"></div>
<div style="clear: both;">原子true 和false表示逻辑的&#8221;真&#8221;和&#8221;假&#8221;</div>
<p>此外，逻辑运算符还包括一个orelse 和andalso</p>
<p>原始的or和and是不带&#8221;短路运算&#8221;操作的，而orelse和andalso是带短路运算操作的。</p>
<p>短路运算举例</p>
<p>Express1 and Express2</p>
<p>Express1 andalso Express2</p>
<p>如果Express1 为假，and会继续判断Express2，然后整体判定为假，而andalso&#8221;短路&#8221;操作，直接判定整个表达式为假，从效率上来说，andalso会高一些</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/117/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode支持的信用卡</title>
		<link>http://www.shootsoft.net/116/</link>
		<comments>http://www.shootsoft.net/116/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 04:51:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Linode]]></category>
		<category><![CDATA[信用卡]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/2011/linode%e6%94%af%e6%8c%81%e7%9a%84%e4%bf%a1%e7%94%a8%e5%8d%a1/</guid>
		<description><![CDATA[&#160; Linode的VPS口碑非常不错，价格也适中。博得很多国内站长的好感。 但是Linode购买只能通过支持信用卡，而且是国际(Visa, Master)卡才行。 &#160; 只要能正常支付外币的基本都可以，像中行的或者招行的。推荐大家使用招商银行的信用卡，申请方便，手续简便。 &#160; 测试过工行的Visa卡，貌似不可以。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><a href="http://www.linode.com/?r=9f0decd015b48a934934f3a59cee207d36de4c47"><span lang="en-US" style="font-family:Calibri">Linode</span></a><span lang="zh-CN" style="font-family:SimSun">的</span><span lang="en-US" style="font-family:Calibri">VPS</span><span lang="zh-CN" style="font-family:SimSun">口碑非常不错，价格也适中。博得很多国内站长的好感。</span></p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:SimSun">但是</span><a href="http://www.linode.com/?r=9f0decd015b48a934934f3a59cee207d36de4c47"><span lang="en-US" style="font-family:Calibri">Linode</span></a><span lang="zh-CN" style="font-family:SimSun">购买只能通过支持信用卡，而且是国际</span><span lang="en-US" style="font-family:Calibri">(Visa, Master)</span><span lang="zh-CN" style="font-family:SimSun">卡才行。</span></p>
<p style="margin:0in;font-family:SimSun;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-family:SimSun;font-size:11.0pt">只要能正常支付外币的基本都可以，像中行的或者招行的。推荐大家使用招商银行的信用卡，申请方便，手续简便。</p>
<p style="margin:0in;font-family:SimSun;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:SimSun">测试过工行的</span><span lang="en-US" style="font-family:Calibri">Visa</span><span lang="zh-CN" style="font-family:SimSun">卡，貌似不可以。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/116/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

