-
+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
-
+83
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
// java.io.FilterOutputStream
public void close() throws IOException {
try {
flush();
} catch (IOException ignored) {
}
out.close();
}
// тестовый код
try (OutputStream os = new BufferedOutputStream(new FileOutputStream("/tmp/little_virtual_fs/1.txt"))) {
byte[] buf = new byte[2028544];
os.write(buf, 0, 2028544); // максимальный размер файла, который влезает на нашу фс
os.write(buf, 0, 5); // и еще немножко
//os.flush();
}
А сейчас, на арене нашего цирка - очередная жабопроблема!
Как думаете, каков результат выполнения тестовой программы?
Запишет 2028549 байт? Хрен там, места маловато.
Выдаст IOException на write()? Хрен там, буферизация.
Выдаст IOException на close()? Хрен там, его сожрала реализация FilterOutputStream.
Результат: файл не дописался, исключения нет.
Решение: всегда дергать flush() перед close() самому или не юзать буферизованный поток.
bormand,
21 Декабря 2013
-
−134
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Функция ПолучитьОбратнуюМетрику(Знач Метрика) Экспорт
ТаблицаКоординат = СоздатьТаблицуКоординат();
ПреобразоватьМетрикуВТаблицуКоординат(Метрика,ТаблицаКоординат);
ТаблицаКоординат.Колонки.Добавить("ПорядковыйНомер");
Сч = 1;
Для каждого СтрокаТаблицаКоординат Из ТаблицаКоординат Цикл
СтрокаТаблицаКоординат.ПорядковыйНомер = Сч;
Сч = Сч + 1;
КонецЦикла;
ТаблицаКоординат.Сортировать("ПорядковыйНомер УБЫВ");
ОбратнаяМетрика = "";
ПреобразоватьТаблицуКоординатВМетрику(ТаблицаКоординат,ОбратнаяМетрика);
Возврат ОбратнаяМетрика;
КонецФункции
TamerlanDE,
20 Декабря 2013
-
−104
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Функция Дистанция(Откуда, Куда) Экспорт
Пи = 3.1415926535897932;
ОткудаШиротаВРадианах = Откуда.Широта * Пи / 180;
ОткудаДолготаВРадианах = Откуда.Долгота * Пи / 180;
КудаШиротаВРадианах = Куда.Широта * Пи / 180;
КудаДолготаВРадианах = Куда.Долгота * Пи / 180;
Аргумент = Sin(КудаШиротаВРадианах) * Sin(ОткудаШиротаВРадианах) +
Cos(КудаШиротаВРадианах) * Cos(ОткудаШиротаВРадианах) * Cos(КудаДолготаВРадианах - ОткудаДолготаВРадианах);
Аргумент = ?(Аргумент > 1, 1, Аргумент);
Аргумент = ?(Аргумент < -1, -1, Аргумент);
Возврат Окр(6378000 * ACos(Аргумент));
КонецФункции
TamerlanDE,
20 Декабря 2013