<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 39,  comments - 263,  trackbacks - 0
     
       150w的項(xiàng)目從開始到今天一年一個(gè)月了,我們象征性的留了3w。我算是完成了任務(wù),光除去人力成本公司還有100w。在整個(gè)公司來說我的業(yè)績是第一,可是這能給我?guī)硎裁茨兀恳苍S是我好高騖遠(yuǎn),不容易滿足。我用的還是一年前的技術(shù),帶領(lǐng)的還是一年前的同事??赡芪覍W(xué)會(huì)了提高效率,至少今年我沒餓著。
       我打開《初雪》,喧囂的環(huán)境里浮躁的我,只有她能令我心情平靜。
       可能我要換個(gè)角度,從新理清楚我的思路。是對(duì)技術(shù)的狂熱令我覺得2005年已經(jīng)浪費(fèi)了,可是我的到了團(tuán)隊(duì)的肯定,項(xiàng)目管理的經(jīng)驗(yàn),勇敢,交流坦誠,方法靈活,感覺敏銳,態(tài)度謙和,果斷有力,體貼下屬,尊重他人,勤于學(xué)習(xí),善于溝通這都需要我學(xué)習(xí)的。
       2006年將至,我的方向在哪里?管理?技術(shù)?也許二者并不矛盾。但是放在時(shí)間里肯定是先技術(shù)后管理,或者一直技術(shù)??晌椰F(xiàn)在不喜歡做管理。在我腦海里那里充滿誘惑,欺騙,爭權(quán)奪利,失去真誠。"勞心者制人,勞力者制于人",老祖宗的話我要不要聽,我腦袋很亂。
       其實(shí)我已經(jīng)很幸運(yùn)很幸福了,如果我小學(xué)人丑農(nóng)村戶口,........
       不想了,聽我的初雪,Tomorrow Is Another Day 順其自然吧。
    posted @ 2005-12-29 23:02 nake 閱讀(447) | 評(píng)論 (2)編輯 收藏

           100w的項(xiàng)目做了一年,接近尾聲,和其它項(xiàng)目一樣驗(yàn)收時(shí)都回遇到很多麻煩?;仡欉@一年我和我兩個(gè)兄弟都很辛苦。凡是在做項(xiàng)目的人我感覺都很辛苦,我就不多說了。

           我做過幾個(gè)類似的小項(xiàng)目,在此基礎(chǔ)上我的技術(shù)水平在項(xiàng)目開始時(shí)我基本不用擔(dān)心碰到什么沒遇到的技術(shù)難題。我調(diào)整了軟件的結(jié)構(gòu),感覺管理軟件用“樹”結(jié)構(gòu)最好。清晰。缺點(diǎn)是多了一些冗余數(shù)據(jù)。當(dāng)然做軟件不能光做“軟件”,還又許多復(fù)雜的事情要處理。

    1.要有需求調(diào)研,當(dāng)然在此之前肯定有軟件的銷售合同。這不光是軟件工程上要求的需求調(diào)用的概念。需求調(diào)研確定之后形成需求確認(rèn)書,是要求客戶確認(rèn)的??蛻羧绻荒艽_認(rèn)我們千萬不能開工(我不是危言聳聽)。這一點(diǎn)是項(xiàng)目開始實(shí)施的基礎(chǔ)。可以預(yù)防項(xiàng)目按客戶的要求完成時(shí)客戶不認(rèn)帳。我經(jīng)常碰到不認(rèn)帳的客戶,特別時(shí)大公司,人和人之間的關(guān)系復(fù)雜……而且客戶的想法永遠(yuǎn)超前于我們的做法。如果一定要改,先改確認(rèn)書,再實(shí)施,把客戶的變化記錄在案。

    2.客戶在項(xiàng)目里的負(fù)責(zé)人要有一定的權(quán)力,越大越好,而且人數(shù)不能多最好一個(gè)。也就是說只要有一個(gè)權(quán)力很大的負(fù)責(zé)人就好了。至于他有多少個(gè)馬仔我們就不管了。因?yàn)樵诖蠊玖巳撕腿酥g的關(guān)系很復(fù)雜,許多矛盾不是我們短期能發(fā)現(xiàn)的,而且沒有必要卷進(jìn)他們的斗爭中。

    3.充分利用手中的資源。不能讓你的兄弟閑著,要給他們一定的壓力,分擔(dān)一定的任務(wù)。這樣他們能學(xué)到東西,使他們覺的工作有成就感。必要時(shí)要給加工資或者補(bǔ)貼。每周和領(lǐng)導(dǎo)溝通,讓他知道項(xiàng)目的進(jìn)展情況。

    4.客戶也是人,你不能要求客戶同樣有豐富的計(jì)算機(jī)知識(shí),不要埋怨客戶什么都不懂,他能把他們的意思講出來就已經(jīng)足夠了。如果你的工作是認(rèn)真買力的,客戶是看得到的,許多很復(fù)雜的工作可能因?yàn)槟愫涂蛻舻年P(guān)系不作或者做出來操作復(fù)雜一點(diǎn)他們也接受了。

    5.定期進(jìn)行項(xiàng)目的小結(jié),讓盡量多的人知道你過去這段時(shí)間做了什么,將要做什么。

    6.測試的工作要做足,要把測試用例,發(fā)現(xiàn)問題,如何修改,時(shí)間等記錄清楚。不要以為一個(gè)小問題幾分種就改好了,就不需要記錄了。當(dāng)你改完后你發(fā)現(xiàn)更到的bug在等你……^_^

           就寫這多,待續(xù)

    posted @ 2005-12-24 23:22 nake 閱讀(1104) | 評(píng)論 (1)編輯 收藏

    Java (J2SE 5.0) and C# Comparison
    This is a quick reference guide to highlight some key syntactical differences between Java and C#.
    This is by no means a complete overview of either language. Hope you find this useful!
    Also see VB.NET and C# Comparison.





    Java

    C#

    Comments
    // Single line
    /* Multiple
        line  */

    /** Javadoc documentation comments */
    // Single line
    /* Multiple
        line  */

    /// XML comments on a single line
    /** XML comments on multiple lines */
    Data Types

    Primitive Types
    boolean
    byte
    char
    short, int, long
    float, double


    Reference Types

    Object   (superclass of all other classes)
    String
    arrays, classes, interfaces

    Conversions

    // int to String
    int x = 123;
    String y = Integer.toString(x);  // y is "123"

    // String to int
    y = "456"; 
    x = Integer.parseInt(y);   // x is 456

    // double to int
    double z = 3.5;
    x = (int) z;   // x is 3  (truncates decimal)

    Value Types
    bool
    byte, sbyte
    char
    short, ushort, int, uint, long, ulong
    float, double, decimal
    structures, enumerations

    Reference Types
    object    (superclass of all other classes)
    string
    arrays, classes, interfaces, delegates

    Convertions

    // int to string
    int x = 123;
    String y = x.ToString();  // y is "123"

    // string to int
    y = "456";
    x = int.Parse(y);   // or x = Convert.ToInt32(y);

    // double to int
    double z = 3.5;
    x = (int) z;   // x is 3  (truncates decimal)

    Constants
    // May be initialized in a constructor
    final double PI = 3.14;
    const double PI = 3.14;

    // Can be set to a const or a variable. May be initialized in a constructor.
    readonly int MAX_HEIGHT = 9;

    Enumerations

    enum Action {Start, Stop, Rewind, Forward};

    // Special type of class
    enum Status {
      Flunk(50), Pass(70), Excel(90);
      private final int value;
      Status(int value) { this.value = value; }
      public int value() { return value; }
    };

    Action a = Action.Stop;
    if (a != Action.Start)
      System.out.println(a);               // Prints "Stop"

    Status s = Status.Pass;
    System.out.println(s.value());      // Prints "70"

    enum Action {Start, Stop, Rewind, Forward};

    enum Status {Flunk = 50, Pass = 70, Excel = 90};

    No equivalent.





    Action a = Action.Stop;
    if (a != Action.Start)
      Console.WriteLine(a);             // Prints "Stop"

    Status s = Status.Pass;
    Console.WriteLine((int) s);       // Prints "70"

    Operators

    Comparison
    ==  <  >  <=  >=  !=

    Arithmetic
    +  -  *  /
    (mod)
    /   (integer division if both operands are ints)
    Math.Pow(x, y)

    Assignment
    =  +=  -=  *=  /=   %=   &=  |=  ^=  <<=  >>=  >>>=  ++  --

    Bitwise
    &  |  ^   ~  <<  >>  >>>

    Logical
    &&  ||  &  |   !

    Note: && and || perform short-circuit logical evaluations

    String Concatenation
    +

    Comparison
    ==  <  >  <=  >=  !=

    Arithmetic
    +  -  *  /
    (mod)
    /   (integer division if both operands are ints)
    Math.Pow(x, y)

    Assignment
    =  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --

    Bitwise
    &  |  ^   ~  <<  >>

    Logical
    &&  ||   !

    Note: && and || perform short-circuit logical evaluations, no & and | equivalents

    String Concatenation
    +

    Choices

    greeting = age < 20 ? "What's up?" : "Hello";

    if (x < y)
      System.out.println("greater");

    if (x != 100) {   
      x *= 5;
      y *= 2;
    }
    else
      z *= 6;

    int selection = 2;
    switch (selection) {     // Must be byte, short, int, char, or enum
      case 1: x++;            // Falls through to next case if no break
      case 2: y++;   break;
      case 3: z++;   break;
      default: other++;
    }

    greeting = age < 20 ? "What's up?" : "Hello";

    if (x < y) 
      Console.WriteLine("greater");

    if (x != 100) {   
      x *= 5;
      y *= 2;
    }
    else
      z *= 6;

    string color = "red";
    switch (color) {                          // Can be any predefined type
      case "red":    r++;    break;       // break is mandatory; no fall-through
      case "blue":   b++;   break;
      case "green": g++;   break;
      default: other++;     break;       // break necessary on default
    }

    Loops

    while (i < 10)
      i++;

    for (i = 2; i <= 10; i += 2) 
      System.out.println(i);

    do
      i++;
    while (i < 10);

    for (int i : numArray)  // foreach construct 
      sum += i;

    // for loop can be used to iterate through any Collection
    import java.util.ArrayList;
    ArrayList<Object> list = new ArrayList<Object>();
    list.add(10);    // boxing converts to instance of Integer
    list.add("Bisons");
    list.add(2.3);    // boxing converts to instance of Double

    for (Object o : list)
      System.out.println(o);

    while (i < 10)
      i++;

    for (i = 2; i <= 10; i += 2)
      Console.WriteLine(i);

    do
      i++;
    while (i < 10);

    foreach (int i in numArray) 
      sum += i;

    // foreach can be used to iterate through any collection 
    using System.Collections;
    ArrayList list = new ArrayList();
    list.Add(10);
    list.Add("Bisons");
    list.Add(2.3);

    foreach (Object o in list)
      Console.WriteLine(o);

    Arrays

    int nums[] = {1, 2, 3};   or   int[] nums = {1, 2, 3};
    for (int i = 0; i < nums.length; i++)
      System.out.println(nums[i]);

    String names[] = new String[5];
    names[0] = "David";

    float twoD[][] = new float[rows][cols];
    twoD[2][0] = 4.5;

    int[][] jagged = new int[5][];
    jagged[0] = new int[5];
    jagged[1] = new int[2];
    jagged[2] = new int[3];
    jagged[0][4] = 5;

    int[] nums = {1, 2, 3};
    for (int i = 0; i < nums.Length; i++)
      Console.WriteLine(nums[i]);

    string[] names = new string[5];
    names[0] = "David";

    float[,] twoD = new float[rows, cols];
    twoD[2,0] = 4.5f;

    int[][] jagged = new int[3][] {
        new int[5], new int[2], new int[3] };
    jagged[0][4] = 5;

    Functions
    // Return single value
    int Add(int x, int y) {
       return x + y;
    }

    int sum = Add(2, 3);

    // Return no value
    void PrintSum(int x, int y) {
       System.out.println(x + y);
    }

    PrintSum(2, 3); 

    // Primitive types and references are always passed by value
    void TestFunc(int x, Point p) {
       x++;
       p.x++;       // Modifying property of the object
       p = null;    // Remove local reference to object
    }

    class Point {
       public int x, y;
    }

    Point p = new Point();
    p.x = 2;
    int a = 1;
    TestFunc(a, p);
    System.out.println(a + " " + p.x + " " + (p == null) );  // 1 3 false




    // Accept variable number of arguments
    int Sum(int ... nums) {
      int sum = 0;
      for (int i : nums)
        sum += i;
      return sum;
    }

    int total = Sum(4, 3, 2, 1);   // returns 10

    // Return single value
    int Add(int x, int y) {
       return x + y;
    }

    int sum = Add(2, 3);

    // Return no value
    void PrintSum(int x, int y) {
       Console.WriteLine(x + y);
    }

    PrintSum(2, 3); 

    // Pass by value (default), in/out-reference (ref), and out-reference (out)
    void TestFunc(int x, ref int y, out int z, Point p1, ref Point p2) {
       x++;  y++;  z = 5;
       p1.x++;       // Modifying property of the object     
       p1 = null;    // Remove local reference to object
       p2 = null;   // Free the object
    }

    class Point {
       public int x, y;
    }

    Point p1 = new Point();
    Point p2 = new Point();
    p1.x = 2;
    int a = 1, b = 1, c;   // Output param doesn't need initializing
    TestFunc(a, ref b, out c, p1, ref p2);
    Console.WriteLine("{0} {1} {2} {3} {4}",
       a, b, c, p1.x, p2 == null);   // 1 2 5 3 True

    // Accept variable number of arguments
    int Sum(params int[] nums) {
      int sum = 0;
      foreach (int i in nums)
        sum += i;
      return sum;
    }

    int total = Sum(4, 3, 2, 1);   // returns 10

    Strings

    // String concatenation
    String school = "Harding ";
    school = school + "University";   // school is "Harding University"

    // String comparison
    String mascot = "Bisons";
    if (mascot == "Bisons")    // Not the correct way to do string comparisons
    if (mascot.equals("Bisons"))   // true
    if (mascot.equalsIgnoreCase("BISONS"))   // true
    if (mascot.compareTo("Bisons") == 0)   // true

    System.out.println(mascot.substring(2, 5));   // Prints "son"

    // My birthday: Oct 12, 1973
    java.util.Calendar c = new java.util.GregorianCalendar(1973, 10, 12);
    String s = String.format("My birthday: %1$tb %1$te, %1$tY", c);

    // Mutable string
    StringBuffer buffer = new StringBuffer("two ");
    buffer.append("three ");
    buffer.insert(0, "one ");
    buffer.replace(4, 7, "TWO");
    System.out.println(buffer);     // Prints "one TWO three"

    // String concatenation
    string school = "Harding ";
    school = school + "University";   // school is "Harding University"

    // String comparison
    string mascot = "Bisons";
    if (mascot == "Bisons")    // true
    if (mascot.Equals("Bisons"))   // true
    if (mascot.ToUpper().Equals("BISONS"))   // true
    if (mascot.CompareTo("Bisons") == 0)    // true

    Console.WriteLine(mascot.Substring(2, 3));    // Prints "son"

    // My birthday: Oct 12, 1973
    DateTime dt = new DateTime(1973, 10, 12);
    string s = "My birthday: " + dt.ToString("MMM dd, yyyy");

    // Mutable string
    System.Text.StringBuilder buffer = new System.Text.StringBuilder("two ");
    buffer.Append("three ");
    buffer.Insert(0, "one ");
    buffer.Replace("two", "TWO");
    Console.WriteLine(buffer);     // Prints "one TWO three"

    Exception Handling

    // Must be in a method that is declared to throw this exception
    Exception ex = new Exception("Something is really wrong.");
    throw ex;  

    try {
      y = 0;
      x = 10 / y;
    } catch (Exception ex) {
      System.out.println(ex.getMessage()); 
    } finally {
      // Code that always gets executed
    }

    Exception up = new Exception("Something is really wrong.");
    throw up;  // ha ha


    try
    {
      y = 0;
      x = 10 / y;
    } catch (Exception ex) {      // Variable "ex" is optional
      Console.WriteLine(ex.Message);
    } finally {
      // Code that always gets executed
    }

    Namespaces

    package harding.compsci.graphics;












    import
    harding.compsci.graphics.Rectangle;  // Import single class

    import harding.compsci.graphics.*;   // Import all classes

    namespace Harding.Compsci.Graphics {
      ...
    }

    or

    namespace Harding {
      namespace Compsci {
        namespace Graphics {
          ...
        }
      }
    }

    // Import all class. Can't import single class.
    using Harding.Compsci.Graphics;

    Classes / Interfaces

    Accessibility keywords
    public
    private
    protected
    static



    // Inheritance
    class FootballGame extends Competition {
      ...
    }

    // Interface definition
    interface IAlarmClock {
      ...
    }

    // Extending an interface 
    interface IAlarmClock extends IClock {
      ...
    }

    // Interface implementation
    class WristWatch implements IAlarmClock, ITimer {
       ...
    }

    Accessibility keywords
    public
    private
    internal
    protected
    protected internal
    static

    // Inheritance
    class FootballGame : Competition {
      ...
    }

    // Interface definition
    interface IAlarmClock {
      ...
    }

    // Extending an interface 
    interface IAlarmClock : IClock {
      ...
    }

    // Interface implementation
    class WristWatch : IAlarmClock, ITimer {
       ...
    }

    Constructors / Destructors

    class SuperHero {
      private int mPowerLevel;

      public SuperHero() {
        mPowerLevel = 0;
      }

      public SuperHero(int powerLevel) {
        this.mPowerLevel= powerLevel;
      }

      // No destructors, just override the finalize method
      protected void finalize() throws Throwable { 
        super.finalize();   // Always call parent's finalizer  
      }
    }

    class SuperHero {
      private int mPowerLevel;

      public SuperHero() {
         mPowerLevel = 0;
      }

      public SuperHero(int powerLevel) {
        this.mPowerLevel= powerLevel; 
      }

      ~SuperHero() {
        // Destructor code to free unmanaged resources.
        // Implicitly creates a Finalize method.

      }
    }

    Objects

    SuperHero hero = new SuperHero();

    hero.setName("SpamMan");
    hero.setPowerLevel(3);

    hero.Defend("Laura Jones");
    SuperHero.Rest();  // Calling static method

    SuperHero hero2 = hero;   // Both refer to same object
    hero2.setName("WormWoman");
    System.out.println(hero.getName());  // Prints WormWoman

    hero = null;   // Free the object

    if (hero == null)
      hero = new SuperHero();

    Object obj = new SuperHero();
    System.out.println("object's type: " + obj.getClass().toString());
    if (obj instanceof SuperHero)
      System.out.println("Is a SuperHero object.");

    SuperHero hero = new SuperHero();

    hero.Name = "SpamMan";
    hero.PowerLevel = 3;

    hero.Defend("Laura Jones");
    SuperHero.Rest();   // Calling static method

    SuperHero hero2 = hero;   // Both refer to same object
    hero2.Name = "WormWoman";
    Console.WriteLine(hero.Name);   // Prints WormWoman

    hero = null ;   // Free the object

    if (hero == null)
      hero = new SuperHero();

    Object obj = new SuperHero(); 
    Console.WriteLine("object's type: " + obj.GetType().ToString());
    if (obj is SuperHero)
      Console.WriteLine("Is a SuperHero object.");

    Properties

    private int mSize;

    public int getSize() { return mSize; }
    public void setSize(int value) {
      if (value < 0)
        mSize = 0;
      else
        mSize = value;
    }


    int s = shoe.getSize();
    shoe.setSize(s+1);

    private int mSize;

    public int Size {
      get { return mSize; }
      set {
        if (value < 0)
          mSize = 0;
        else
          mSize = value;
      }
    }

    shoe.Size++;

    Structs


     

    No structs in Java.

    struct StudentRecord {
      public string name;
      public float gpa;

      public StudentRecord(string name, float gpa) {
        this.name = name;
        this.gpa = gpa;
      }
    }

    StudentRecord stu = new StudentRecord("Bob", 3.5f);
    StudentRecord stu2 = stu;  

    stu2.name = "Sue";
    Console.WriteLine(stu.name);    // Prints "Bob"
    Console.WriteLine(stu2.name);   // Prints "Sue"
    Console I/O
    java.io.DataInput in = new java.io.DataInputStream(System.in);
    System.out.print("What is your name? ");
    String name = in.readLine();
    System.out.print("How old are you? ");
    int age = Integer.parseInt(in.readLine());
    System.out.println(name + " is " + age + " years old.");


    int c = System.in.read();   // Read single char
    System.out.println(c);      // Prints 65 if user enters "A"

    // The studio costs $499.00 for 3 months.
    System.out.printf("The %s costs $%.2f for %d months.%n", "studio", 499.0, 3);

    // Today is 06/25/04
    System.out.printf("Today is %tD%n", new java.util.Date());

    Console.Write("What's your name? ");
    string name = Console.ReadLine();
    Console.Write("How old are you? ");
    int age = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("{0} is {1} years old.", name, age);
    // or
    Console.WriteLine(name + " is " + age + " years old.");

    int c = Console.Read();  // Read single char
    Console.WriteLine(c);    // Prints 65 if user enters "A"

    // The studio costs $499.00 for 3 months.
    Console.WriteLine("The {0} costs {1:C} for {2} months.\n", "studio", 499.0, 3);

    // Today is 06/25/2004
    Console.WriteLine("Today is " + DateTime.Now.ToShortDateString());

    File I/O

    import java.io.*;

    // Character stream writing
    FileWriter writer = new FileWriter("c:\\myfile.txt");
    writer.write("Out to file.");
    writer.close();

    // Character stream reading
    FileReader reader = new FileReader("c:\\myfile.txt");
    BufferedReader br = new BufferedReader(reader);
    String line = br.readLine();
    while (line != null) {
      System.out.println(line);
      line = br.readLine();
    }
    reader.close();

    // Binary stream writing
    FileOutputStream out = new FileOutputStream("c:\\myfile.dat");
    out.write("Text data".getBytes());
    out.write(123);
    out.close();

    // Binary stream reading
    FileInputStream in = new FileInputStream("c:\\myfile.dat");
    byte buff[] = new byte[9];
    in.read(buff, 0, 9);   // Read first 9 bytes into buff
    String s = new String(buff);
    int num = in.read();   // Next is 123
    in.close();

    using System.IO;

    // Character stream writing
    StreamWriter writer = File.CreateText("c:\\myfile.txt");
    writer.WriteLine("Out to file.");
    writer.Close();

    // Character stream reading
    StreamReader reader = File.OpenText("c:\\myfile.txt");
    string line = reader.ReadLine();
    while (line != null) {
      Console.WriteLine(line);
      line = reader.ReadLine();
    }
    reader.Close();


    // Binary stream writing

    BinaryWriter out = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
    out.Write("Text data");
    out.Write(123);
    out.Close();

    // Binary stream reading
    BinaryReader in = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
    string s = in.ReadString();
    int num = in.ReadInt32();
    in.Close();

    posted @ 2005-11-15 00:14 nake 閱讀(414) | 評(píng)論 (0)編輯 收藏
       無意中領(lǐng)悟了一個(gè)道理,真是慚愧,都大把年紀(jì)了,唉......
    牛頓說了:我之所以比別人看得更遠(yuǎn),是因?yàn)檎驹?FONT color=#cc0033>巨人肩膀上。寫程序也一樣,不要以為自己聰明,什么都能寫,其實(shí)聰明人是要學(xué)會(huì)借鑒別人的經(jīng)驗(yàn),變?yōu)樽约旱闹R(shí)。能利用別人通過撞的頭破血流的經(jīng)驗(yàn)才是聰明人,明明知道有經(jīng)驗(yàn)可以借鑒偏偏要去自己撞個(gè)頭破血流這是個(gè)笨蛋。
       無意中發(fā)現(xiàn)AbaGUIBuilder覺得就是我兩年以前要做的。我想我靜下心來研究一些別人的代碼,一定有收獲。
    posted @ 2005-11-13 23:17 nake 閱讀(841) | 評(píng)論 (6)編輯 收藏
    僅列出標(biāo)題
    共10頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(18)

    我參與的團(tuán)隊(duì)

    隨筆檔案(39)

    收藏夾(1)

    搜索

    •  

    積分與排名

    • 積分 - 451272
    • 排名 - 119

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 十九岁在线观看免费完整版电影| 亚洲高清视频在线| 香港经典a毛片免费观看看| 日韩免费精品视频| 亚洲黄网站wwwwww| 欧洲精品99毛片免费高清观看| 亚洲日韩小电影在线观看| 成年免费a级毛片| 亚洲AV成人潮喷综合网| 美女被爆羞羞网站在免费观看 | 免费在线观看视频网站| 亚洲精品第五页中文字幕| 亚洲视频免费在线看| 亚洲av产在线精品亚洲第一站| 免费在线观看的网站| 亚洲中文字幕乱码熟女在线| 在线不卡免费视频| 男女超爽视频免费播放| 中文亚洲成a人片在线观看| 久久久久久久久久免免费精品 | 好看的电影网站亚洲一区| 久草福利资源网站免费| 国产精品亚洲综合五月天| 午夜神器成在线人成在线人免费| 婷婷亚洲综合一区二区| 国产午夜亚洲精品午夜鲁丝片| 全黄大全大色全免费大片| 亚洲精品视频在线观看免费| 成年女人视频网站免费m| 日韩a毛片免费观看| 亚洲AV色香蕉一区二区| 国产在线国偷精品产拍免费| 国产亚洲人成在线影院| 亚洲AV乱码一区二区三区林ゆな| 可以免费看黄视频的网站| 免费无码午夜福利片| 91在线亚洲精品专区| 啊v在线免费观看| 亚洲免费黄色网址| 人人爽人人爽人人片A免费| 蜜芽亚洲av无码精品色午夜|