• Какой язык программирования наиболее востребованнный сегодня?

    @asd111
    C#
    Ответ написан
    Комментировать
  • Могут ли в ближайшей перспективе появиться квантовые компьютеры?

    @asd111
    Ещё нескоро. Хотя исследования идут. Сейчас ещё говорят о плазмонике, которая должна будет заменить электронику, но я думаю это будет лет через 50 не раньше.

    В ближайшей перспективе скорее всего будет использован графен. Intel упирается в предел кремния - 7 нанометров, а далее есть несколько вариантов развития

    geektimes.ru/post/246676
    Ответ написан
    Комментировать
  • Как использовать RAW сокеты в Java?

    @asd111
    Ищите java обертку для libpcap - библиотека для работы с raw пакетами по сети.
    вроде вот эта должна подойти
    jnetpcap.com

    пример отправки своего пакета
    package org.jnetpcap.examples;
    
    import java.nio.ByteBuffer;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    import org.jnetpcap.Pcap;
    import org.jnetpcap.PcapIf;
    
    public class PcapSendPacketExample {
      public static void main(String[] args) {
        List<PcapIf> alldevs = new ArrayList<PcapIf>(); // Will be filled with NICs
        StringBuilder errbuf = new StringBuilder(); // For any error msgs
    
        /***************************************************************************
         * First get a list of devices on this system
         **************************************************************************/
        int r = Pcap.findAllDevs(alldevs, errbuf);
        if (r == Pcap.NOT_OK || alldevs.isEmpty()) {
          System.err.printf("Can't read list of devices, error is %s", errbuf.toString());
          return;
        }
        PcapIf device = alldevs.get(0); // We know we have atleast 1 device
    
        /*****************************************
         * Second we open a network interface
         *****************************************/
        int snaplen = 64 * 1024; // Capture all packets, no trucation
        int flags = Pcap.MODE_PROMISCUOUS; // capture all packets
        int timeout = 10 * 1000; // 10 seconds in millis
        Pcap pcap = Pcap.openLive(device.getName(), snaplen, flags, timeout, errbuf);
    
    
        /*******************************************************
         * Third we create our crude packet we will transmit out
         * This creates a broadcast packet
         *******************************************************/
        byte[] a = new byte[14];
        Arrays.fill(a, (byte) 0xff);
        ByteBuffer b = ByteBuffer.wrap(a);
    
        /*******************************************************
         * Fourth We send our packet off using open device
         *******************************************************/
        if (pcap.sendPacket(b) != Pcap.OK) {
          System.err.println(pcap.getErr());
        }
    
        /********************************************************
         * Lastly we close
         ********************************************************/
        pcap.close();
      }
    }


    На указанном сайте есть ещё примеры в разделе documentation examples думаю разберетесь
    Ответ написан
    Комментировать
  • Ruby или Python или может Java?

    @asd111
    Низкий порог вхождения - python
    Ответ написан
    Комментировать
  • Какую посоветуете тему дипломной работы?

    @asd111
    Сделай аналог IBM Watson чтобы он умел отвечать на вопросы из какой нибудь тематики.

    Вот сам Watson отвечает на вопросы из американского аналога передачи "своя игра"

    www.youtube.com/watch?v=5VTID7fga3A&t=111
    Ответ написан
    Комментировать
  • Кокой сервис для продажи электронных товаров вы порекомендуете?

    @asd111
    Насколько знаю можно на OZON.ru продавать свои товары
    Ответ написан
    Комментировать
  • Как изучить Ruby on Rails?

    @asd111
    Что именно не понятно ?
    Сначала там скорее всего нужно настроить рабочее окружение чтобы просто запустить рельсы,
    потом скорее всего нужно создать базу данных и таблицы, которые будут использоваться,
    потом скорее всего идет scaffolding - генерация кода, для работы с таблицами в БД - код для записи, чтения, и т.п.
    Ответ написан
    2 комментария
  • Почему LAMP такой быстрый?

    @asd111
    Попробуйте запустить в виртуалке на своем компьютере. Windows версии многих программ работают медленнее в windows по сравнению с Линукс.

    И ещё хорошая идея ставить не PHP в виртуалку, а hhvm - так должно стать ещё быстрее.
    Ответ написан
    Комментировать
  • История программирования?

    @asd111
    Сначала был Блез Паскаль и его счетная машина

    Потом было что то ещё, а потом появилась архитектура Фон Неймана

    И первые компьютеры на ней 1, 2. Если не ошибаюсь это было где то в сороковых годах 20 века.

    Потом появились транзисторы и другие электронные компоненты, позволяющие уместить на одном кристалле несколько логических элементов электронной схемы.

    Потом всё развивалось и появилась архитектура 8086 от Intel - та самая с которой появился набор инструкций х86

    Потом появился набор инструкций amd64 - то есть набор инструкций и архитектура для 64 битных процессоров.

    Сначала программы хранились на перфокартах .

    Сначала программы писали на машинном коде. Потом появился ассемблер.

    А потом уже появились высокоуровневые компилируемые языки. Algol, Pascal, Fortran, C, C++.
    Потом уже появились языки работающие через виртуальные машины - Java, C# и остальные, в том числе интерпретируемые(PHP , Ruby, Python, Javascript).
    Ответ написан
    Комментировать
  • Можно ли создать низкоуровневое приложение на Ruby?

    @asd111
    В руби нет возможности работать с памятью напрямую . Единственный вариант - писать расширение на С++ с использованием SWIG
    Ответ написан
    Комментировать
  • Куда поступать на программиста?

    @asd111
    Крутой ВУЗ дает больше возможностей больше знакомств, легче устроится в крутую компанию.
    Ответ написан
    Комментировать
  • Что почитать для мотивации?

    @asd111
    Для мотивации достаточно подходящей профессии.
    Мне иногда Форест Гамп вспоминается, особенно тот мужик из фильма, который ноги потерял и сначала был алкоголиком и не хотел жить, а потом занялся тем о чем давно мечтал — жизнь изменилась и он стал счастливым.
    Ответ написан
  • Стоит ли реализовывать Iterable?

    @asd111
    На мой взгляд в данном простом случае можно обойтись обычным геттером

    class B {
      private String name;
      private final List<A> list;
      
      public B() {
        list = new ArrayList<A>();
      }
      
      public void addA(A a) {
        list.add(a);
      }
      
    
      public List<A> getListOfA {
        return this.list;
      }
    }
    // использование
    B b = new B();
    b.addA(new A(1, "First"));
    b.addA(new A(2, "Second"));
    for (A a : b.getListOfA()) {
      System.out.println(a.getName());
    }
    Ответ написан
    Комментировать
  • Какие технологии стоит освоить?

    @asd111
    Ответ написан
    Комментировать
  • Ошибка с соединением БД в JAVA?

    @asd111
    java -jar
    Ответ написан
    Комментировать
  • Влияние армии на знания программирования?

    @asd111
    Армия разная бывает. Где то надо за компами сидеть.
    Возьми с собой книги по программированию пару штук(5-6) поновее по интересующей тематике — как раз за год прочтешь и вернешься получив знания, а не потратив время.

    Забыл сказать. На навык программирования влияет не армия, а алкоголь и сигареты, в армии бывает так что народ начинает пить и курить по страшному и потом мозги работают уже не так. Если хочешь сохранить мозги, то от этого всего лучше воздержись.
    Ответ написан
    4 комментария
  • Что за конструкция в Java?

    @asd111
    Ответ написан
    Комментировать
  • Красивый Builder Java?

    @asd111
    Обычно builder используется там где без builder'a пришлось бы писать много конструкторов для разного набора входных параметров.

    Пример из книги Effective Java(автор Joshua Bloch):

    Вот пример класса где из за большого количества параметров и из за за их необязательности приходится делать телескопический конструктор
    // Telescoping constructor pattern - does not scale well!
    public class NutritionFacts {
        private final int servingSize; // (mL)  required
        private final int servings; // (per container) required
        private final int calories; //  optional
        private final int fat; // (g) optional
        private final int sodium; // (mg) optional
        private final int carbohydrate; // (g)   optional
        public NutritionFacts(int servingSize, int servings) {
            this(servingSize, servings, 0);
        }
        public NutritionFacts(int servingSize, int servings,
            int calories) {
            this(servingSize, servings, calories, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat) {
            this(servingSize, servings, calories, fat, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat, int sodium) {
            this(servingSize, servings, calories, fat, sodium, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat, int sodium, int carbohydrate) {
            this.servingSize  = servingSize;
            this.servings     = servings;
            this.calories     = calories;
            this.fat          = fat;
            this.sodium       = sodium;
            this.carbohydrate = carbohydrate;
        }
    }


    В таких случаях рекомендуется применять builder

    // Builder Pattern
    public class NutritionFacts {
        private final int servingSize;
        private final int servings;
        private final int calories;
        private final int fat;
        private final int sodium;
        private final int carbohydrate;
    
        public static class Builder {
            // Required parameters
            private final int servingSize;
            private final int servings;
            // Optional parameters - initialized to default values
            private int calories = 0;
            private int fat = 0;
            private int carbohydrate = 0;
            private int sodium = 0;
    
            public Builder(int servingSize, int servings) {
                this.servingSize = servingSize;
                this.servings    = servings;
            }
    
            public Builder calories(int val)
            { calories = val; return this; }
    
            public Builder fat(int val)
            { fat = val; return this; }
    
            public Builder carbohydrate(int val)
            { carbohydrate = val; return this; }
    
            public Builder sodium(int val)
            { sodium = val; return this; }
    
            public NutritionFacts build() {
                return new NutritionFacts(this);
            }
        }
        private NutritionFacts(Builder builder) {
            servingSize = builder.servingSize;
            servings = builder.servings;
            calories = builder.calories;
            fat = builder.fat;
            sodium = builder.sodium;
            carbohydrate = builder.carbohydrate;
        }
    }


    и создавать экземпляр класса так:
    NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8).calories(100).sodium(35).carbohydrate(27).build();
    Ответ написан
    Комментировать
  • На каком языке написаны vk, toster, google+?

    @asd111
    Google - поисковик C++, остальное в основном python
    Яндекс примерно так же
    Однокласcники - Java
    очень многое в mail.ru - Java
    Ответ написан
    1 комментарий