The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Язык программирования Go переходит с Mercurial на Git и GitHub, opennews (??), 14-Ноя-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Язык программирования Go переходит с Mercurial на Git и GitH..."  –3 +/
Сообщение от _KUL (ok), 14-Ноя-14, 09:59 
Go, go, go ... А он может так же классно мозг взорвать как и C++?

shared_ptr<double> pd;
double *p_reg = new double;

После чего, следующие строки не одно и тоже!
shared_ptr<double> psahred = p_reg;
shared_ptr<double> pshared(p_reg);

Если нет, то значит от него нельзя получить интеллектуального оргазма и следовательно, язык, он не интересен :)

Ответить | Правка | Наверх | Cообщить модератору

3. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +2 +/
Сообщение от тень_pavel_simple (?), 14-Ноя-14, 10:02 
> Go, go, go ... А он может так же классно мозг взорвать
> как и C++?
> shared_ptr<double> pd;
> double *p_reg = new double;
> После чего, следующие строки не одно и тоже!
> shared_ptr<double> psahred = p_reg;
> shared_ptr<double> pshared(p_reg);
> Если нет, то значит от него нельзя получить интеллектуального оргазма и следовательно,
> язык, он не интересен :)

В гамаке и ластах, да не удобно

Ответить | Правка | Наверх | Cообщить модератору

4. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +3 +/
Сообщение от Аноним (-), 14-Ноя-14, 10:03 
Можно и икс себе отрезать.

>shared_ptr<double> pd;
>double *p_reg = new double;

что уж, пиши сразу void *p = (void *)0x1233425; (int)*p = 1; авось повезет

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

5. "Язык программирования Go переходит с Mercurial на Git и GitH..."  –1 +/
Сообщение от _KUL (ok), 14-Ноя-14, 10:05 
не, ну вы то ерундо то написали
Ответить | Правка | Наверх | Cообщить модератору

6. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +/
Сообщение от Аноним (-), 14-Ноя-14, 10:20 
это одинаковая ерунда, что в твоем примере, что в моем. Учи c++
Ответить | Правка | Наверх | Cообщить модератору

14. "Язык программирования Go переходит с Mercurial на Git и GitH..."  –1 +/
Сообщение от _KUL (ok), 14-Ноя-14, 11:30 
Ты то пальцем в небо тыкнул, туда байты инта начал загонять, тут понятно что будет бред, а я то говорил к тому, что в плюсах сплошные неявные строгие правила. В данном случае, что должно быть явное оределение.
Ответить | Правка | Наверх | Cообщить модератору

26. "Язык программирования Go переходит с Mercurial на Git и GitH..."  –1 +/
Сообщение от Michael Shigorinemail (ok), 14-Ноя-14, 13:11 
> авось повезет

I'm feeling luSegmentation fault

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

12. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +2 +/
Сообщение от arsenicum (??), 14-Ноя-14, 10:54 
Конструктор shared_ptr, который принимает указатель, нужно вызывать явно (explicit). Это является защитным механизмом, чтобы программист понимал, что shared_ptr становится владельцем этого указателя и освободит его сам.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

19. "Язык программирования Go переходит с Mercurial на Git и GitH..."  –1 +/
Сообщение от Аноним (-), 14-Ноя-14, 12:19 
интеллектуального оргазм от с/с++ достигается на таком коде:

#ifndef OPENSSL_NO_HEARTBEATS
int tls1_process_heartbeat(SSL *s){
         unsigned char *p = &s->s3->rrec.data[0], *pl;
         unsigned short hbtype;
         unsigned int payload;
         unsigned int padding = 16; /* Use minimum padding */

         /* Read type and payload length first */
         hbtype = *p++;
         n2s(p, payload);
         pl = p;

Ручное управление памятью, все дела. Зато быстро.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

69. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +/
Сообщение от Аноним (-), 15-Ноя-14, 06:11 
> Ручное управление памятью, все дела. Зато быстро.

Сдуру можно и х... сломать. И root cause тут не сишечка, а
1) Переусложненный протокол с кучей легаси и костылей.
* Для начала, фича просить у ремоты энное количество байтов - не должна была существовать, даже в проекте. Ну и багов в ней - соответственно, быть не должно.
* А вон тут соседняя атака - с буферами ничего не делает вообще. MITM просто даунгрейдит протокол с TLS'а до SSLv3 и потом радостно вскрывает древний и слабый вариант протокола. И ничего вы с этим отказом от управления памятью не сделаете.
2) Как известно, сдуру можно и х... сломать и в криптографии автоматическое управление памятью - последнее что может помочь криптографу. Ключи должны изничтожаться предсказуемо, etc. Без этого будет много неочевидных ламоватым кидизам но от того не менее опасных в плане утечки ключей дыр. Ключ должен существовать ровно столько сколько он требуется и на этом пути GC с отложенной сборкой может очень сильно нагадить. И вообще, идея использовать криптографическую либу от тех кто не может даже памятью управлять - очень сомнительна. А сколько там тогда багов в алгоритмах криптографии и обвязке?
3) У OpenSSL дурное апи и дурной код. Ее авторы вообще не криптографы. Поэтому не так уж принципиально какой ЯП они возьмут. Сильно безопаснее не станет. Наворачивание хитрозадых конструкций на сях лишь немного дополняет эту картину. И не более того. А вовсе и не перекраивает весь ландшафт.

Ответить | Правка | Наверх | Cообщить модератору

24. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +1 +/
Сообщение от Аноним (-), 14-Ноя-14, 12:47 
Ямщик, не гони.

sp_test.cpp: In function ‘int main()’:
sp_test.cpp:10:30: error: conversion from ‘double*’ to non-scalar type ‘std::shared_ptr<double>’ requested
shared_ptr<double> psahred = p_reg;

Конструктор shared_ptr объявлен explicit как раз, чтобы не было неявного преобразования.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

32. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +/
Сообщение от Аноним (-), 14-Ноя-14, 13:44 
такие вещи надо писать на ржавчине, а не на плюсах :)
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

39. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +/
Сообщение от Аноним (-), 14-Ноя-14, 15:27 
> Go, go, go ... А он может так же классно мозг взорвать как и C++?

Это язык для продакшнов, у него задачак как раз не взрывать мозг даже на сложных алгоритмах — всё записывается немногочисленными простыми конструкциями. А для интеллектуальных оргазмов, вперёд в Хаскель (Лисп, Форт, Брайнфак...).

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

60. "Язык программирования Go переходит с Mercurial на Git и GitH..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 15-Ноя-14, 02:25 
тут никакого взрыва мозга нет.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру