C, printf, вывод char * без \0 в конце
Где-то видел что это как-то возможно, если известен размер.
Попробовал конструкцию
printf("s1='%*s'\n",length,ptr);Где-то видел что это как-то возможно, если известен размер.
Попробовал конструкцию
printf("s1='%*s'\n",length,ptr);Собственно, требуется сабж.
Требуются знания: Perl, PostgreSQL, Javascript, готовность документировать код.
Ответственность, умение усваивать большие объемы информации, работа по принципу «сначала очень хорошо думаем, потом делаем» вместо «сначала делаем, потом думаем как содеянное исправить».
Знание Linux (как минимум на уровне пользователя) - ОБЯЗАТЕЛЬНО.
Удаленная работа невозможна. Зачисление в штат, работа по ТК.
Офис - м. Таганская
З/п 30-80к по итогам собеседования.
E-mail: vahvarh @ гмейл.ком
ICQ: 73038614
в проекте требуется авторизация, но не basic, ибо она ужасна, а это публичный проект.
Сам же проект я пишу на nginx+memcached+perl(fastcgi сервер).
Базовая страница (страницы) хранятся в виде shtml, дёргают include virtual из memcached а если там ничего не оказывается, дёргается fastcgi.
Было желание при появлении cookie делать следущее:
<!--#if expr="$cookie_sid"--><!--#include virtual="/cache/auth-$cookie_sid" set="userlogin"--><!--#endif-->и дальше работать с $userlogin, но nginx ругается: ngx_http_fastcgi_module does not support subrequest in memory while sending to client, client: 212.33.3.98, server: l ocalhost, request: «GET /pages/help/ HTTP/1.1», subrequest: «/cache/auth-oEPdo0ygdVuIFlLus3N9dn4J», upstream: «memcached://127.0.0.1:11211»,
Сейчас в fastcgi сохранение в memcached отключено. при включении при второй загрузке страницы всё становится нормально (то есть nginx->ssi->memcached работает нормально, а nginx->ssi->memcached->fastcgi работает только без set=«username»).
вот. как это побороть или сделать любую другую авторизацию связанную с субд и кукизами.
У разработчиков есть модуль такой в планах - grid, но руки и них не доходят.
Есть конечно куча уже готовых гридов, но они всё равно будут вытесняться jqueryui как только он появится, да и нет у них нужного мне функционала.
У меня у самого времени нету, потому согласен заплатить за разработку модуля который полностью удовлетворит стандартам разработчиков jqueryui и будет включён в основную ветку.
Тут потребовалось написать сервер некоторый и появился вопрос, как апач и все прочие работают?
С той точки зрения что там клиент коннектится к корневому процессу но обрабатывает его какой-то дочерний уже существующий?
(то есть форка-то не происходит)
Как данные передаются дочернему и как ему передаётся (что интереснее) сам сокет?
Вобщем неспешно ищу себе программиста, согласен на выпускника с мозгами, обучу всему что нужно.
Поскольку я зарываюсь в заказах то я открываю свою вебстудию, плюс я не бросаю идею своей собственной СУБД. Вобщем, кто найдётся.
Контакты в профиле.
Стоимость - адекватная уровню. от 20.000руб и до в разы выше.
я пишу
$.fn.ajajforms=function(options)
{
var settings=jQuery.extend({
load_url: '/test.js',
row_height: '22px'
},options);
var objs=[];
$("#debug").append("ajajforms started\n");
this.each(function() { objs[objs.length]=$.ajajforms(this,settings);} )
return objs;
}
$.ajajforms=function(div,settings)
{
$("#debug").append("ajajforms constructor()\n");
$div=$(div);
$div.addClass("ajajforms");
$div.append('<img src="/shared/progress.gif"/>');
var g={
settings: settings,
add_clicked: function() {...},
ещё куча кода...
};
return g;
...
}
$("#test").ajajforms();
<script>$("#test").add_clicked();</script>Отлаживаю valgrind'ом, он пишет просто адреса. А может ведь, зараза, писать и номер строки. Как этого добиться?
==14113== Invalid read of size 8
==14113== at 0x400B78: main (in /home/projects/clusterdb2/src/clusterdb2)
==14113== Address 0x5d40040 is 0 bytes inside a block of size 24 free'd
==14113== at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==14113== by 0x61408AE: ???
==14113== by 0x400B5F: main (in /home/projects/clusterdb2/src/clusterdb2)
ибо нет возможности написать vahvarh[тузег]gmail.com
недавно узнал что операции 1 и 3 будут занимать разное время:
0: char* data=(char*)malloc(20);
1: ((unsigned int*)data)[0]=1;
2: data++;
3: ((unsigned int*)data)[0]=1;по причине того что после data++ указатель перестанет быть выравнен по dword и процессору будет плохо. и вообще, что часть процессоров (не i386 которые) не смогут исполнить эту операцию.
вобщем много думал, опустились руки и начал депрессовать (поскольку в качестве хобби пытаюсь писать на С/С++ достаточно большой блок кода и там идёт активная работа с байтами и хранением их на диске и война за каждый байт и за скорость).
задумался также о сабже и о том что если я даже выравнюю по 32бита всё то всё равно это с большой вероятностью хрен куда перенесёшь.
вобщем даже не знаю что делать.
вдоль и забухать - не предлагать. )
Собственно сабж
может ли C/C++ иметь «своё мнение» относительно данных в структуре, то есть, например, если идёт {uint8, uint8, uint8, uint32} вставить лишний байт перед uint32 «для ровного счёту» или ещё что-нибудь?
ну например
typedef struct {
uint64 root_rowid_tail;
uint16 type_id;
uint8 node_slots;
uint32 table_object_id;
uint32 next_index_object_id;
uint16 colnumber;
uint16 index_name_size;
} Tindexinfo_header;Никто не писал сабж с возможностью свапа на диск и «неограниченного» размера?
Я поискал стандартные библиотеки но нашёл только stx и она меня не устраивает.
вопрос такой - я уже и не помню как там оно работает...
я делаю dlopen - OK
я делаю dlsym(so,«work») - но оно не находит там этот work()
внутри .so есть:
000000000000065c T _Z4workv
Подозреваю ключи компилятора и линковщика...
ах да, файл сам - cpp а не c, соотв компилирую
g++ -fPIC -o test1.o test1.cpp
g++ -fPIC -shared -o test1.so test1.o
Как следует из статьи http://damienkatz.net/2008/03/what_sucks_abou.html да и простейшего теста, если эрланг не может получить требуемую память, он просто дохнет через OOM, вместо, хотя бы уж, вызова exception.
Учитывая особенности задачи которую я пишу, памяти мне понадобится много и такая ситуация у меня может случаться - может ли кто-либо посоветовать эффективный обход данной проблемы?
-module(memtest).
-export([test/0]).
-import(io).
-import(file).
test() -> testrun(0,[]).
testrun(Cnt,List) ->
{ok, A}=file:read_file("testfile"),
io:fwrite("testrun(~w)~n",[Cnt]),
testrun(Cnt+1,[A|List]).происходит переход на другое сообщение.
кроме того, есть баги в js:
Error: missing : after property id
Source File: http://www.linux.org.ru/js/head.js
Line: 1, Column: 208
Source Code:
pe:1,until:1,«function»:1,«do»:1,begin:1,repeat:1,«goto»:1,nil:1,far:1,initialization:1,object:1,«else»:1,«var»:1,uses:1,external:1,resourcestring:1,«interface»:1,end:1,finalization:1,«class»:1,asm:1,modtener(«DOMCob)Q.Q}}windo?.Q}}ue|s.Q}};iob)Qi1,pack&&
Error: hljs is not defined
Source File: http://www.linux.org.ru/js/lor.js
Line: 1
Error: $(»#regform").ajaxForm is not a function
Source File: http://www.linux.org.ru/js/lor.js
Line: 1
Как я понял, отныне клавиши вверх/вниз означают перемотку по тредам.
А можно ли это отключить? Я привык проматывать страницу этим способом.
Что лучше использовать? поделитесь опытом, кстати.
Я тут написал два варианта одного и того же модуля для jquery, работают примерно с одинаковой скоростью с точностью до 2% где-то (хотя я думал что xml должен быть медленнее json).
js -27400 байт
xml - 48800 байт
Меня забанили в гугле и я не могу найти с какого фига оно так себя ведёт.
То есть если сделать намеренную синтаксическую ошибку то firefox выводит её. А вот если в процессе исполнения уже что-то происходит, то всё что ломается внутри jquery (я пишу свой модуль для него) - не отображается.
Заинтересовало. Каким образом делается когда (ну например тот же гмейл или ещё где) передаётся ссылка /cgi-bin/test.pl#что-то-там
то есть как это «что-то-там» в cgi вытащить? Как я посмотрел %ENV и параметры CGI() - там этого нету.
Или это через javascript вытаскивается и шлётся на сервер с помощью ajax?
| ← назад | следующие → |