-
+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
//users.php
public function search_()
{
// --- Поиск по пользователям
$sql_search = mysql_query($this->sql);
$folder = $this->folder;
if (mysql_num_rows($sql_search)>0)
{
$row_search = mysql_fetch_assoc($sql_search);
do
{
$user_id = $row_search["id"];
$sql = mysql_query("SELECT SOCIAL_fotos.picture_mini FROM SOCIAL_fotos WHERE fotoalbum_id = '0' and user_id = '$user_id' LIMIT 1");
if (mysql_num_rows($sql)>0)
{
$row_sql = mysql_fetch_assoc($sql);
$picture_mini = $row_sql["picture_mini"];
}
else
$picture_mini = "picture/empty_mini.jpg";
printf("<p><a href=\"%s\" target=\"_blank\"><img src=\"$folder/%s\">%s</a><br>%s", $row_search["alias"], $picture_mini, $row_search["lfm"], $row_search["city"]);
}
while($row_search = mysql_fetch_assoc($sql_search));
}
}
//funct_prover.php
function prover($con)
{
$element = array("'");
$con = str_replace($element, ";appost;", $con);
return htmlspecialchars(trim($con));
}
//conf_connect.php
$server_con = 'localhost'; // Адрес сервера mysql
$username_con = ''; // Имя пользователя
$password_con = ''; // Пароль
$dbname_con = 'socialdb';
$url = $_SERVER["HTTP_HOST"];
$site1 = 'panzins.ru';
$site2 = 'www.panzins.ru';
if ($url != $site1 and $url != 'localhost' and $url != $site2)
exit();
$url_path = $_SERVER["REQUEST_URI"];
if ($url == $site2)
{
header("Location: http://panzins.ru$url_path");
exit();
}
mysql_connect($server_con, $username_con, $password_con) or die("No connection");
mysql_query('SET NAMES utf8') or die("Set names error");
mysql_select_db($dbname_con) or die("No database");
header('Content-Type:text/html; charset=utf-8');
$table_log = "SOCIAL_log";
$table_alias = "SOCIAL_alias";
$table_user = "SOCIAL_user";
// И еще много няшек
MVC, PDO, Framework, для лохов ибо там избыточный код. Написать свою соц сеть за 30 дней легко. Знакомьтесь, Сергей Панзин, скромный адепт Жопова. http://rutracker.org/forum/viewtopic.php?t=4619804
Сам шидевр. http://panzins.ru/
Keeper,
23 Декабря 2013
-
+135
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
Структура для хранения данных:
typedef struct rs_script_t {
int status; // on/off
int next_stage;
int next_time;
} rs_script_t;
Макросы:
#define SEQ(scr1,t) \
const int scr_zero = __COUNTER__; \
rs_script_t *scr = scr1; \
if ( (scr->status) && (t > scr->next_time) ) { \
switch(scr->next_stage) { \
#define END_SEQ } };
#define SEQ_FIRST \
case 0: \
scr->next_stage = scr_zero;
#define SEQ_DT(dt) \
scr->next_stage = __COUNTER__ + 1; \
scr->next_time += dt; \
break; \
case __COUNTER__: \
#define SEQ_DT_TAGGED(dt,tag) \
scr->next_stage = __COUNTER__ + 1; \
scr->next_time += dt; \
break; \
case __COUNTER__: \
case (100000+tag): \
#define SEQ_LAST_DEFAULT \
scr->status = 0; \
break; \
\
default: \
DEBUG10f(":: ERROR, unknown stage position: %d \n", scr->next_stage); \
break;
#define SEQ_GOTO(dt,tag) \
scr->next_stage = 100000+tag; \
scr->next_time += dt; \
break;
#define SEQ_GOTO_INSTANT(tag) \
scr->next_stage = 100000+tag; \
break;
Пользоваться примерно так:
void process() { // вызывать каждый кадр
SEQ(&scrtest, rs_app.app_time)
SEQ_FIRST
printf("Ноль\n");
SEQ_DT(1000)
printf("Один\n");
SEQ_DT(1000)
printf("Два\n");
SEQ_DT_TAGGED(1000, 555)
printf("Три (метка №555) \n");
SEQ_DT(1000)
printf("Четыре\n");
SEQ_DT(1000)
printf("Пять\n");
SEQ_DT(1000)
printf("Шесть, повторяем с метки №555, если нажат Шифт\n");
if (rs_keyboard_is_key_down(RS_KEY_SHIFT_L)) {
SEQ_GOTO(1000, 555);
};
printf("Завершаем. \n");
SEQ_LAST_DEFAULT
END_SEQ;
};
Страдания по yield
TarasB,
23 Декабря 2013
-
+6
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
#include <iostream>
#include <conio.h>
#include <clocale>
using namespace std;
int files; int disc_D(); int disc_E(); int disc_C();
int resursefunction()
{char s;
cout << "Выберите диск" << endl;
cout <<"1-D:\\" << endl;
cout <<"2-C:\\" << endl;
cout <<"3-E:\\" << endl;
cout <<"0 - рабочий стол" << endl;
cin >> s;
if(s == '1') return disc_D();
if(s == '2') return disc_C();
if(s == '3') return disc_E();
if(s == '0') return main();
_getch();}
int main()
{ char vibor;
setlocale( LC_ALL, "Russian" );
cout << "\t\t\t\tРабочий стол" << endl;
cout << "\n\n";
cout << "1-Управление ресурсами" << endl;
cout << "2-Программы" << endl;
cout << "3-Игры" << endl;
cout << "4-Выход из системы" << endl;
cin >> vibor;
if(vibor == '1') resursefunction();
_getch();
return main();}
int disc_D()
{ int res, a;
char vv;
cout << "D:\\" << endl;
cout << "На диске" << endl;
cout << "5 - папок" << endl;
cout << files << " - файлов" << endl;
cout << "1 - создать файл" << endl;
cout << "2 - удалить файл" << endl;
cout << "0 - назад" << endl;
cin >> vv;
if(vv == '1')
{cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
res = files + a;}
if(vv == '2')
{cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
res = files - a;}
if(vv == '0') return resursefunction();
files = res;
return disc_D();}
int disc_E()
{
int res, a;
char vv;
cout << "E:\\" << endl;
cout << "На диске" << endl;
cout << "7 - папок" << endl;
cout << files << " - файлов" << endl;
cout << "1 - создать файл" << endl;
cout << "2 - удалить файл" << endl;
cout << "0 - назад" << endl;
cin >> vv;
if(vv = '1')
{cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
res = files + a;}
if(vv == '2')
{cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
res = files - a;}
if(vv == '0') return resursefunction();
files = res;
return disc_E();}
int disc_C()
{int res, a;
char vv;
cout << "C:\\" << endl;
cout << "На диске" << endl;
cout << "5 - папок" << endl;
cout << files << " - файлов" << endl;
cout << "1 - создать файл" << endl;
cout << "2 - удалить файл" << endl;
cout << "0 - назад" << endl;
cin >> vv;
if(vv = '1')
{cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
res = files + a;}
if(vv == '2')
{ cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
res = files - a; }
if(vv == '0') return resursefunction();
files = res;
return disc_C();}
Еще нашел на форумах. К сожалению форматирование пришлось убить, иначе оно не помещалось целиком
pelmenka,
23 Декабря 2013
-
+13
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
if (axis[0] == vector[0] && axis[1] == vector[1] && axis[2] == vector[2])
{
this->anglex = 0.0f;
}
else if (vector[1] >= 0.0f)
{
this->anglex = 360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
}
else
{
this->anglex = -360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
}
Часть либы ES3D (http://sourceforge.net/projects/es3d/).
Кто не понял в чем прикол - все переменные имеют тип float.
Pythoner,
23 Декабря 2013
-
+126
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
public Random abstract_logic = new Random();
...
private int ComplexFunctionToDetermineTheNumberOfResults(ObservableCollection<Result> rs)
{
int a = 0;
for (int i = 0; i < rs.Count; i++)
{
a += rs[i].Value;
}
double d = a / Math.PI;
d = Math.Cos(d) * Math.Sin(a) * (Math.Cos(Math.PI) + 1);
return abstract_logic.Next((int)d + 3) + 3;
}
Лаба 2.
Наформашлепствовал 40+ файлов (Сплошной говнокод), в итоге должна получится система тестирования. В конце данной функцией определяю количество выводимых результатов.
maksim_ovcharik,
22 Декабря 2013
-
+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
$s='';
$kfg=new Konfig('');
$kfg('self');
{
$kfg->k1='v1';
$s.=$kfg->k1."\n";
}
{
$kfg->k2->k='v2';
$s.=$kfg->k2->k."\n";
}
{
$kfg->{'k3.k'}='v3';
$s.=$kfg->k3->k."\n";
}
{
$kfg->k4='v4';
$kfg->k4->k='v4';
$s.=$kfg->k4."\n";
$s.=$kfg->k4->k."\n";
}
{
$s.=$kfg->strstr('ab','b');
}
$this->response->body('<pre>'.$s."\n".Debug::dump((string)$kfg)."\n".Debug::dump($kfg).'</pre>');
TDD in Action, Вот так я проверяю работоспособность волшебной во всех местах конфиги.
из личного сайта http://lure0xaos.url.ph/
Lure Of Chaos,
22 Декабря 2013
-
+70
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
package gargoyle.heartsong.pages.test;
import gargoyle.heartsong.annotations.model.InjectDAO;
import gargoyle.heartsong.model.UserEntity;
import gargoyle.heartsong.services.model.i.DAO;
import java.util.List;
public class TestDAO2 {
@InjectDAO(key = Integer.class, value = UserEntity.class)
private DAO<Integer, UserEntity> users;
public List<UserEntity> getUsers() {
return this.users.all();
}
}
дай Люру в руки Tapestry, так он станет программировать на аннотациях.
это вам уже не программирование "на стрелочках", болезнь прогрессирует.
да, аннотация @CommitAfter оборачивает тело метода в транзакцию с коммитом и роллбэком при исключении;
есть аннотация @Notify, которая показывает уведомление, если была ошибка, и меняет возвращаемое значение;
по аннотациям @AdminPage строится меню админки;
и наконец, @RolesRequired ограничивает доступ к странице.
в итоге в классах одни собачки торчат вместо фунциональности. вот, убедитесь сами:
https://github.com/lure0xaos/HeartSong.git
Lure Of Chaos,
22 Декабря 2013
-
+132
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
procedure tmythread.execute;
var i:integer;
begin
bot.postnumber:=topicno; bot.proxy:='220.181.89.72:8000'; bot.login:=copy(vote,1,pos(':',vote)-1); bot.password:=copy(vote,pos(':',vote)+1,length(vote));
case actiontype of
ac_dec:
begin
bot.comment:=false;
try
bot.connect;
except
terminate;
end;
bot.VoteAgainst;
end;
ac_inc:
begin
bot.comment:=false;
try
bot.connect;
except
terminate;
end;
bot.VoteOn;
end;
ac_deccurrent:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
bot.VoteAgainst;
end;
ac_inccurrent:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
bot.VoteOn;
end;
ac_decall:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
for i:=0 to clist.Count-1 do
begin
bot.postnumber:=clist[i];
bot.VoteAgainst;
end;
end;
ac_incall:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
for i:=0 to clist.Count-1 do
begin
bot.postnumber:=clist[i];
bot.VoteOn;
end;
end;
ac_decallc:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
for i:=0 to clist.Count-1 do
begin
bot.postnumber:=clist[i];
bot.VoteAgainst;
end;
end;
ac_incallc:
begin
bot.comment:=true;
try
bot.connect;
except
terminate;
end;
for i:=0 to clist.Count-1 do
begin
bot.postnumber:=clist[i];
bot.VoteOn;
end; end; end; end;
Код Того-На-Кого-Не-Будем-Показывать-Пальцем
ВНИМАНИЕ! Некоторые строки были объединены дабы вместиться в пост
kegdan,
22 Декабря 2013
-
+143
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
string=(char*)malloc(N);
k=fread(string,sizeof(char),N,f);
while (k==N)
{
free(string);
N=N*2;
rewind(f);//возращает в начало файла
string =(char*)malloc(N);
k=fread(string,sizeof(char),N,f);
}
fclose (f);
Сегодня зачоты ставил...
студенты читают из файла. В буфер. Я придираюсь к тому, что размер файла может быть больше размера буфера....
Исправили...
klavdiev,
22 Декабря 2013
-
+128
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
//...
for (int i = 0; i < size; i++)
{
//...
if (i == size + 2) break;
//...
}
//...
Увидел у соседа в коде. Осторожность никогда не помешает :)
MoN,
21 Декабря 2013