共 190篇 前 10 页: 10    每页10篇 下一页  

自荐文章

〖摘要:〗
市值41亿,PE52.53,ROE15.91%,PB10.15。业绩是没话说,超预期,ROE是较大亮点。负债比率较高,达到了67%。今年1月份上市的,居然现金已经是-1.17了。


主营业务
安防系统工程:布线、多媒体接入、网络安全、界面定制开发以及应用支持等。说的再简单点就是,建机房,以及一整套的多媒体应用服务等。
通信网络工程:室内室外的核心网络系统,包括传输设备、基站设备安装、通信管道、非开挖等通信工程。承建了不少铁塔公司的基站建设项目。
安防系统运维:包括系统设备、通信网络以及存储安全等业务。
互联网业务:   安防系统服务,只会社区,智慧园区以及电子商务平台等。

从主营业务上来看,并没有什么核心竞争力,属于计算机领域技术相对简单的环节。更像是一个做工程的公司,所以重点看一下项目投标及中标情况。


公司基本概况
成立于2012年11月份,公司总部位于新疆乌鲁木齐经济技术开发区喀什西路,是一个本土的公司,主要市场是在新疆地区,占到了99.42%的营业收入。在新疆应该是寡头市场,这是此股的“护城河”,因为涉密的敏感性,非新疆本土的公司,不可能轻易让进入这块市场。


财务数据
从现金流和业务发展情况看,上市的主要原因还是因为缺钱,不像是为了套现。因为这种工程类的项目,都是要垫付资金的,非常缺钱,证明(主要参考第三季度财务报告):
  1. 营业收入,247%;
  2. 经营现金流出,166%;
  3. 经营现金流入,147%;
  4. 应收款增高增长,94.82%,主要问题是在持续增长,从总量上看并没有改善迹象,从增长速度上看有改善;
  5. 预付款,123%,大于应收款增长,也就是说垫付的越来越少,且压住了应付供应商的欠款。

业绩应该是有保障的,因为现金不断的投入在项目里。入不敷出,现金流是这家公司最大的隐患。


行情数据,主要看十大流通股东
第一季度报告中:证券公司入场;
第二季度报告中:证券公司离场,目测盈利15%左右;各大基金入场,成本应该在 40 ~ 50 之间;
第三季度报告中:公司一直停牌中,纹丝未动;
当下:有明显拉升的行为,苦于大盘崩盘,没拉动;但是从同花顺“主力持仓”数据上来看,应该是有部分主力离场的,数据在两周内,从20%降至16%。不过这个数据没有太大意义,很容易造假。而立昂技术,从这几天的交易量上来看,并没有放量大跌,反而是缩量的。

也就是说,50以下的价格,和主力的成本是差不多的,应该属于安全边际内的价格。只要大盘站稳了,40块左右的价格,完全可以放心进入,40以下应该可以越跌越买。


公告中,今年以来重大合同
继续阅读其余的  8378 字
meiking   2017-11-18 12:00:22 阅读:0  评论:0  引用:0
〖摘要:〗
利亚德
今天很辛苦的做了几次T,两点半前,还暗自得意:小伙子,不错,节奏控制的很好嘛。每次减仓1/4来做T,尾盘实在有点恐惧,还是把剩下的1/4减掉了。
继续阅读其余的  294059 字
meiking   2017-11-17 19:19:42 阅读:2  评论:0  引用:0

这门课程是系统介绍有关博弈论和战略思想。比如支配思想、落后的感应、纳什均衡、进化稳定性、承诺,信誉,信息不对称,逆向选择等。并在课堂上提供了各种游戏以及经济、政治,电影和其他方面的案例来讨论。

http://open.163.com/special/gametheory/

PS:这两年,对于我各方面最具指导意义的知识。

meiking   2017-09-15 11:35:55 阅读:31  评论:1  引用:0
https://www.zhihu.com/question/22171896/answer/137308472

中国股市暴涨暴跌,散户盛行,大妈投机管用,价值投资无用,这不是成熟股市的常态?非也!可见的人类历史中股市的大起大落才是常态。香港70年代的股灾,台湾80年代末的崩盘,日本90年代后“失落的二十年”,美国纳斯达克千禧年后的狂泻,股市从来就没有成熟过。

股市从进化上的稳定策略(ESS)正是投机为主,投资为辅。在股市里,趋势投机客才是羞怯忠诚的大多数,价值投资者洽洽是放荡薄情的一小撮。

meiking   2017-09-05 22:52:30 阅读:25  评论:0  引用:0

可能是上学年纪太小的缘故,小时候极讨厌文科的东西,如今从事理科相关的工作,却异常喜欢文科的知识。如果从处事策略上来讲,我就是“计算机世界里懂历史与文学,历史与文学的世界里懂计算机的”,这样大概能显得自己比较高深莫测吧。

读书对于我而言,像是精神上的一种旅行,饱学各文学大家的智慧精华,算是一种智力锻炼的捷径。读的还是少,但是能花时间读下去的,也算是一种机遇,整理一下自己读过的书,博观而约取,推荐的打

 

2012-2015

《明朝那些事儿》    共七册(itouch电子书)
《三国演义》    (itouch电子书)
《红楼梦》
《西游记》    (ipad电子书)
《流血的仕途》    共两册(itouch电子书)
《春秋战国那时候儿》
《话说春秋战国那时候儿》
《话说秦汉那时候儿》
《话说三国两晋那时候儿》
《话说隋唐那时候儿》
《话说宋元那时候儿》
《话说明朝那时候儿》
《话说清朝那时候儿》
《汉朝那些事儿》    共八册,只读了两册
《蛙》
《红高粱家族》
《生死疲劳》
《丰乳肥臀》
《酒国》
《食草家族》
《檀香刑》
《胡适:四十自述》
《活着》
《鲁滨逊漂流记》    (ipad电子书)
《了不起的盖茨比》
《小王子》
《富爸爸,穷爸爸》
《小狗钱钱》
《世界上最伟大的推销员》
《管道的力量》
《随机漫步的傻瓜》
《蒋介石与现代中国》
《中国家谱史图志》
《乔布斯传记》
《李开复自传》
《饥饿游戏》 共三册
《少年派的奇幻漂流》
《围城》
《一句顶一万句》
《白鹿原》


2015-01-20 —————
《我们仨》
《许三观卖血记》
《手机》
《平凡的世界》
《易中天中华史》
《一地鸡毛》

2015-11-13 —————
《骆驼祥子》
《四世同堂》
《鲁迅小说集》
《天堂蒜苔之歌》
《亮剑》
《人生》

meiking   2016-03-08 12:41:22 阅读:153  评论:2  引用:0
〖摘要:〗

一个项目需求是要从N个目标网站上采集相关的文章,然后做文本分析提炼关键词以及文章之间的关联,当然还要实现全文检索。采集使用的是scrapy,文章关联的标准做法一般是通过聚类算法或者去重算法,这两种方案的问题是在处理大数据时,性能完全跟不上。权衡之后,我的大致的方案是先计算每篇文章的词频和关键词权重,最后利用关键词权重作为参数去solrcloud里查找评分相对较高的文章作为关联文章。

首先自然语言处理这块是很难的,自己没有高数基础,很多基础的算法只知道概念,就不去从造轮子开始了,找找成熟方案。文本分析首先最基本的是分词,分词做的不好的其它都无从开始,选型过程中参考了mmseg、ansj(nlpcn.org)和IKAnalyzer,试了下分词效果感觉ansj更好一些,而且ansj功能比较全,最终就选了ansj。不过ansj没有相应的solr支持,这块需要自己简单的封装一下。

软件版本:solr-5.2.0, ansj_seg-3.5, nlp-lang-1.1

先解决ansj对solr支持的问题:solr分词需要实现两个抽象类,Tokenizer和TokenizerFactory,分别是用于构建分词器和管理分词器的调用。ansj官方有个项目ansj_seg(https://github.com/NLPchina/ansj_seg),里面提供了一个lucene的plugin,有分词器的实现,可以直接使用,这里只需要构建TokenizerFactory。

package org.ansj.solr;

import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.lucene.util.AttributeFactory;

import java.io.IOException;
import java.io.Reader;
import java.util.Map;
import org.apache.lucene.util.*;
import org.apache.lucene.analysis.*;
import org.ansj.lucene.util.*;
import org.ansj.splitWord.analysis.*;
import org.nlpcn.commons.lang.tire.domain.Forest;

public class AnsjTokenizerFactory extends TokenizerFactory
{
    public AnsjTokenizerFactory(Map<String, String> args)
    {
        super(args);
    }

    @Override
    public Tokenizer create(AttributeFactory factory)
    {
        return new AnsjTokenizer(new NlpAnalysis());
    }
}

源码使用maven部署的,在该plugin目录中执行:mvn install -Dmaven.test.skip=true,得到target/ansj_lucene5_plug-3.0.jar,将对应的jar包复制到solr-webapp/WEB-INF/lib/下,开始配置solr schema的分词器:

    <!-- ansj_seg -->
    <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
         <tokenizer class="org.ansj.solr.AnsjTokenizerFactory" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="org.ansj.solr.AnsjTokenizerFactory" />
      </analyzer>
    </fieldType>

重启solr,测试分词效果还是很不错的,不是纯粹的基于词库的,还有基于规则的判断,例如“250美元”:

继续阅读其余的  145597 字

meiking   2016-02-24 15:53:44 阅读:430  评论:0  引用:0
感觉C++的概念太多了,不像java相对而言单纯的多。做了个简单的socket server练习,多线程还没弄明白,先给单线程的做个记录。

使用telnet localhost 4401 测试通过。

参考资料: http://www.cnblogs.com/L-hq815/archive/2012/07/09/2583043.html
/*
 * File:   SocketTest.cpp
 * Author: Benjamin
 *
 * Created on 2015年5月4日, 下午9:06
 */

#include "SocketTest.h"
#include <iostream>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#define SERVER_PORT 4401
#define BACKLOG 10

using namespace std;

SocketTest::SocketTest()
{
}

void SocketTest::initialServer()
{
  cout << "starting a socket server..." << endl;
  int sockfd, new_fd;
  struct sockaddr_in my_addr;
  struct sockaddr_in their_addr;

  int sin_size;

  if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
    cerr << "socket() error!" << endl;
    exit(1);
  }
  cout << "socket initialed" << endl;

  my_addr.sin_family = AF_INET;
  my_addr.sin_port = htons(SERVER_PORT);
  my_addr.sin_addr.s_addr = INADDR_ANY;

  bzero(&(my_addr.sin_zero), 0);

  if (bind(sockfd, (struct sockaddr *) &my_addr, sizeof (struct sockaddr)) == -1) {
    cerr << "bind() error!" << endl;
    exit(1);
  }
  cout << "binder initialed" << endl;

  if (listen(sockfd, BACKLOG) == -1) {
    cerr << "listen() error!" << endl;
    exit(1);
  }
  cout << "listener initialed" << endl;

  while (1) {
    sin_size = sizeof (struct sockaddr_in);
    if ((new_fd = accept(sockfd, (struct sockaddr *) &their_addr, (socklen_t *) & sin_size)) == -1) {
      cerr << "accept failure!" << endl;
      continue;
    }

    cout << "server: got connection from " << inet_ntoa(their_addr.sin_addr) << endl;
    
    char buffer[64];
    int length = -1;
    
    cout<<"Got message : ";
    while ((length = recv(new_fd, buffer, 64, 0)) != -1) {
      cout<<buffer;
      
      //finish by enter
      if (buffer[length - 1] == '\n') {
        string bye = "Good bye!\n";
        if (send(new_fd, &bye, sizeof(bye), 0) == -1) {
          cerr<<"send message to client failure!"<<endl;
        }
        close(new_fd);
      }
    }
    cout<<endl;

    close(new_fd);
    while (waitpid(-1, NULL, WNOHANG) > 0);

  }

  cout << "end!" << endl;
}

 
 
meiking   2015-05-06 12:39:25 阅读:149  评论:0  引用:0
〖摘要:〗
受任于败军之际,奉命于危难之间。应老大要求,开始学习C++,学习资料:http://c.biancheng.net/cpp/biancheng/cpp/rumen/ 。花了两天时间读完教程,开始coding练习。

从比较重要的文件系统开始,目前并不确定下列方法是否为读写效率最优的方式。

main方法和所在的主文件就不贴了。

################# 头文件 ###################
/*
 * File:   FileTest.h
 * Author: Benjamin
 *
 * Created on 2015年4月30日, 下午8:15
 */
#include <iostream>

namespace test {

    class FileTest {
    public:
        FileTest(std::string path);
        void outByBuffer();
        void outByLine();
        void append();
        void writeByBuffer();
    private:
        void readFile();
        std::string path;

    };

}


################# CPP文件 ###################
/*
 * File:   FileTest.cpp
 * Author: Benjamin
 *
 * Created on 2015年4月30日, 下午8:15
 */

#include "FileTest.h"
#include <fstream>
#include <iostream>

using namespace std;

namespace test {

    FileTest::FileTest(string path) {
        this->path = path;
    }

    void FileTest::outByBuffer() {
        ifstream is(path);
        if (!is) {
            cerr << "IOException, can not found the file" << endl;
            abort();
        }

        int bufferSize = 64;

        char * buff;
        while (!is.eof()) {
            buff = new char[bufferSize];
            is.read(buff, bufferSize);
            cout << buff;

        }
        delete buff;

        is.close();
    }

    void FileTest::outByLine() {
        ifstream is(path);
        if (!is) {
            cerr << "IOException, can not found the file" << endl;
            abort();
        }

        char * line = new char[1024];
        while (is.getline(line, 1024)) {
            cout << line << endl;
        }

        delete line;
    }

    void FileTest::append() {
        ofstream os(path, ofstream::out | ofstream::app);

        os << "test" << endl;

        os.close();
    }

    void FileTest::writeByBuffer() {
        ifstream is("/Users/Benjamin/Desktop/KM.jpg");
        ofstream os(path + ".jpg", ofstream::out);
        
        int bufferSize = 1024;
        char *buffer;
        while (!is.eof()) {
            buffer = new char[bufferSize];
   &
继续阅读其余的  719 字
meiking   2015-04-30 23:28:05 阅读:86  评论:0  引用:0

solrcloud本身没有提供直接rebalance的接口,达到rebalance的方法比较麻烦,可参考 http://wiki.apache.org/solr/ZooKeeperIntegration#Rebalancing。大致的思路就是通过splitshard将原始shard一分为二,添加待转移sub shard的replica core,此replica core就是目标节点,当其为replica状态时会自动recovery leader中的数据,recovery结束后,删掉leader core,一个流程完毕。如果集群的节点较多,则需要通过不断重复上面的流程。

http://wenku.baidu.com/view/414cc4483968011ca30091fd

 
 
meiking   2015-03-31 18:48:53 阅读:207  评论:0  引用:0
简单整理了一下solr5.0 的功能,包含一些实例操作示范,很多高级功能还没有完全领会在中文环境中得使用方法,就没有写。

http://wenku.baidu.com/view/121bcbd0d1f34693dbef3e6a
 
meiking   2015-03-31 18:46:41 阅读:124  评论:0  引用:0
Copyright@2004-2010 powered by YuLog