Обновить
9

Пользователь

24
Подписчики
Отправить сообщение
Есть. Она пуста.
Публикуйте весь ворох на страницу «неструктурированное», а затем оттуда уже растаскивать по целевым страницам и делать красивое.
Может, такое лучше выкладывать на wiki?
Попытка пошутить, что крутится так быстро, что растягивает локальные 14 минут до наблюдаемых 15 часов.
А вы учли релятивистское замедление времени?
Спасибо за упоминание вашей библиотеки. Думал уже OpenSSL или LibreSSL через emscripten заворачивать, а времени нет, и тут ваше! Буду использовать именно его, спасибо еще раз.

И, если не секрет, почему не опубликуете библиотеку в репозитории npm?
зато http://2130706433/btc.txt рапортует о правильной ошибке
ладно, окей, вы правы :C
Почему не публикуете свою вторую задачу — сделать cujojs/when, самую быструю библиотеку Promise/A+, быстрее хотя бы в 5 раз?
Нет, вопрос не по списку ребят, которые «получили призы». Вопрос в том, чем тот конкурс отличается от этого?

Я был бы крайне признателен, если бы вы, или Рути, указали слабые стороны в решении, которое отправлено выше. В решении, которое настолько слабое, по словам Рути, что даже не нужно уточнять, в чем именно оно слабое — ведь это и так очевидно. Просто найдите хоть что-то, к чему можно прицепиться, что нарушало бы правила вашего же конкурса, для того, чтобы подтвердить свою позицию.
На вот это решение спустя два месяца был получен ответ «Очень слабое решение, посмотрите на типичный список ошибок» — и ссылка на вот это!

Решение — libstr.c
#include "libstr.h"

#include <stdlib.h> /* size_t, realloc() */
#include <string.h> /* memmove(), strlen() */

BOOL str_cpy(char (*(*const result)), char const (*const value)) {
    char *buffer;
    size_t length;
    
    if (result && value) {
        length = strlen(value) + 1;
        
        if ((buffer = realloc(*result, length))) {
            memmove((void*) buffer, (const void*) value, length);
            *result = buffer;
            
            return YES;
        }
    }
    
    return NO;
}

BOOL str_cat(char (*(*const result)), char const (*const value)) {
    char *buffer;
    size_t result_offset;
    size_t value_length;
    
    if (result && value) {
        result_offset = strlen(*result);
        value_length = strlen(value) + 1;
        
        if ((buffer = realloc(*result, result_offset + value_length))) {
            memmove((void*) (buffer + result_offset), (const void*) value, value_length);
            *result = buffer;
            
            return YES;
        }
    }
    
    return NO;
}
Решение — libstr.h
#ifndef __LIBSTR_H__
#define __LIBSTR_H__

#ifndef __BOOL_DEFINED 
#define __BOOL_DEFINED

#define BOOL  signed char
#define NO    ((BOOL) 0)
#define YES   (!NO)
#endif // !defined(__BOOL_DEFINED)

BOOL str_cpy(char **const result, char const *const value);
BOOL str_cat(char **const result, char const *const value);

#endif // !defined(__LIBSTR_H__)
Решение — hola.c
/* Copyright (C) Hola 2012, 2013
 *
 * Welcome to TheCodeIL.com Challenge!
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

#include "libstr.h"

int str_printf(char **const result, const char *const format, ...);
int str_free(char **const dst);

int str_printf(char **const result, const char *const format, ...) {
    char *buffer;
    int length;
    va_list vargs;
    
    if (!result) return -1;
    if (!format) return -1;
    
    va_start(vargs, format);
    length = vsnprintf(NULL, 0, format, vargs);
    va_end(vargs);
    
    if (!(buffer = realloc(*result, length + 1))) return -1;
    
    va_start(vargs, format);
    vsprintf(buffer, format, vargs);
    va_end(vargs);
    
    *result = buffer;
    
    return 0;
}

int str_free(char **const result) {
    if (!result) return -1;

    free(*result);
    
    return 0;
}

int main(int argc, char *argv[])
{
    char *s = NULL;
    str_cpy(&s, "Hola Hola");
    str_cpy(&s, s+5);
    str_cat(&s, " World");
    str_printf(&s, "%s!", s);
    puts(s); /* result: "Hola World!" */
    str_free(&s);
    return 0;
}
Ребята, ваш прошлый конкурс — бессовестнейшее разводилово. Чем отличается этот?
Все картинки в посте нормально показываются, и в реестре ни habrastorage.org, ни соответствующий IP не значатся.
Хм… LibreOffice — форк OpenOffice. Можно ли сказать, что OpenOffice входит в состав LibreOffice?

Или, например, LibreSSL — это сильно усеченный форк OpenSSL. Входит ли OpenSSL в состав LibreSSL, несмотря на то, что LibreSSL не имеет части функционала OpenSSL?
С чего вы взяли, что SPDY — это часть HTTP2, если HTTP2 — это форк SPDY?

Когда группа HTTPbis решила начать работать над http2, SPDY уже был проверен как рабочая концепция. Он показал, что его возможно развернуть в Интернете, и были опубликованные цифры, которые показывали насколько он справлялся. Работа над http2 впоследствии началась с черновика SPDY/3, который по большому счёту стал черновиком http2 draft-00 после пары операций поиска с заменой.

Хабрапост по этому вопросу
Почему проприетарный SPDY, а не свободный HTTP2?
В трех из четырех.
А как же сбор корпуса «хама» и спама? Или вы не берете, допустим, каждое тысячное письмо в базу «хороших писем»? Если так, то как вы боретесь с ложными срабатываниями?
На самом деле всем известно, что это Advanced Package Tool.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Архитектор программного обеспечения