- 1
- 2
- 3
Оторвемся чуть от политики.
Вопрос у меня такой.
Надо мне зарегать около полу сотни доменных имен. Вот собственно вопрос кто знает регистратор имен. подешевле и что бы мог регать имена из файлика например.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
Оторвемся чуть от политики.
Вопрос у меня такой.
Надо мне зарегать около полу сотни доменных имен. Вот собственно вопрос кто знает регистратор имен. подешевле и что бы мог регать имена из файлика например.
Сразу же улучшу
https://codebabes.com/
+57
typedef deque<uint8_t> bn;
#define cat2(b,e) b##e
#define cat(b,e) cat2(b,e)
#define fsi(i,s,e) for(size_t i(s), cat(i,cat(_fsi_end_,__LINE__))(e); i<cat(i,cat(_fsi_end_,__LINE__)); ++(i))
void ml10(bn& n){
n.push_front(0);
}
uint8_t ni(const bn& n, size_t i){
if(n.size()<=i)
return 0;
else
return n[i];
}
size_t ms(const bn& n1, const bn& n2){
return (max) (n1.size(), n2.size());
}
void pb(uint8_t b1, uint8_t b2, uint8_t lc, uint8_t& r, uint8_t& c){
uint8_t tr = (b1+b2+lc);
r = tr & 1;
c = !!(tr & 2);
}
bn bi(bn n){
reverse(n.begin(), n.end());
return n;
}
bn pl(const bn& n1, const bn& n2){
bn r;
uint8_t c=0,br=0;
fsi(i,0,ms(n1, n2)){
pb(ni(n1,i),ni(n2,i),c,br,c);
r.push_back(br);
}
if (c)
r.push_back(c);
return r;
}
bn ml(bn n1, const bn& n2){
bn r;
fsi(i,0,n2.size()){
if(n2[i])
r=pl(r,n1);
ml10(n1);
}
return r;
}
У меня к вам вопрос парни.
В нашем отделе взяли олимпиадника. За ним не следили. Он написал много кода и ушел в гугл.
Как бы за ним теперь код поправить? Хотябы конструкции языка типа for вернуть вместо например fsi?
Код не из проекта. но его. В проекте похожий и даже хуже.
Нужно типа утилиты препроцессор крестов для части макросов (все разворачивать макросы или инклудить хедеры очевидно нельзя).
+127
Переустановил я, значит, Шиндоус 7 (лицуха), ставлю VS 2012
Все встало без проблем, предупреждений и криков о помощи.
При запуске ВНЕЗАПНО всплыло окошко
"Внимание! Данная программа имеет известные проблемы совместимости с данной версией Windows"
Visual Studio 2012 несовместим с семеркой? Ну охуеть теперь.
+125
static U64 mulU64byU64(U64 a, U64 b, U64 * high)
{
U64 b_high = 0;
U64 r_high = 0, r_low = 0;
U64 bit;
for (bit = 1; bit; bit <<= 1) {
if (a & bit) {
if (r_low + b < r_low)
r_high++;
r_low += b;
r_high += b_high;
}
b_high <<= 1;
b_high |= (b & (1ULL << 63)) >> 63;
b <<= 1;
}
if (high)
*high = r_high;
return r_low;
}
Угадай зачем %D
+125
splitOn :: (a -> Bool) -> [a] -> [[a]]
splitOn _ [] = []
splitOn f xs = removeEmpty $ takeWhile (not . f) xs: splitOn f (dropWhile (f) $ dropWhile (not . f) xs) where
removeEmpty [] = []
removeEmpty (x:xs)
| null x = removeEmpty xs
| otherwise = x: removeEmpty xs
words' :: String -> [String]
words' = splitOn (flip elem " \n\r\f\t\v\160")
Еще один words'
−106
>>> class Foo():
... pass
...
>>> try:
... raise Foo()
... except ExceptionBase as foo:
... print 'foo %s' % foo
... except:
... print 'not an exception'
... else:
... print 'it\'s all good'
...
not an exception
>>>
Чет я как-то призадумался... Питон 2.7. Что делать-та?
+124
BufferedReader file = null;
boolean moreData = true;
//set the parameters
this.textureDir = textureDir;
//open a file
try{
file = new BufferedReader(
new InputStreamReader(
(new FileInputStream(filename))), 50000);
} catch (Exception e) {System.err.println("kan model niet laden"); moreData = false;}
//read shapes until no more data
while(moreData)
{
Shape3D shape = readShape(file);
if(shape != null)
{
tg.addChild(shape);
}
else
{
moreData = false;
}
}
try{
file.close();
file=null;
} catch (IOException e)
{
System.err.println("file " + filename + " could not be closed!");
}
Интересный способ обработки ошибок ввода-вывода.
Естественно, при неудачном открытии файла вываливается по NullPointerException.
+64
$res = mysql_query(...);
if($res == 'true'){
.....
}
Может кому то покажутся знакомы эти строки, но те, кто не знают Е. Попова могут над ним поржать.
+133
fib 1 = 1
fib 2 = 1
fib n = fib(n-1) + fib (n-2)
Хаскель это вам не математика, тут надо и вычислительную сложность учитывать.
+166
#include <dir.h>//ДЛЯ ОПРЕДЕЛЕНИЯ mkdir(ИМЯ ПАПКИ)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <alloc.h>
#include <string.h>
#include <iostream.h>
int ndig(char x)
{if('0'<=x&&x<='9')return 0;else return 1;}
// СТРОКА ВЕДОМОСТИ ДЛЯ ОДНОГО СТУДЕНТА
struct stud
{char fio[122];int b[9],ns
static int nc
,nd;
void out(FILE*fo);stud(){fio[121]=0;}
stud(FILE*fi);
stud(stud&s){*this=s;}
}; //end of stud body
int stud::nc=44;
int stud::nd=5;
stud::stud(FILE *fi)
{fscanf(fi,"%i ",&ns); fgets(fio,nc,fi);
for(int j=1;j<=nd;++j)fscanf(fi,"%i",&b[j]);}
void stud::out(FILE*fo=stdout)
{fprintf(fo,"%3i ",ns);
fputs(fio,fo); for(int j=1;j<=nd;++j)
{if(b[j]>=0&&b[j]<6) fprintf(fo,"%3i",b[j]);
else fprintf(fo," ");}
fprintf(fo,"\n"); if ( fo==stdout) getch();
}//end of stud
//ВЕДОМОСТЬ ОДНОЙ ГРУППЫ
//("МАССИВ СТРОК" ДЛЯ ОТДЕЛЬНЫХ СТУДЕНТОВ)
struct grup{ stud**st;//"МАССИВ СТУДЕНТОВ"
FILE*fi;char title[3][122]//"ШАПКА" ВЕДОМОСТИ
,sf[77];
int ms;//ЧИСЛО СТУДЕНТОВ
void nw();//ПАМЯТЬ ДЛЯ СТУДЕНТОВ
void out(char*sf); void out(FILE*fo);
grup(grup&g);grup(int fms){ms=fms; nw();}
grup(char*sf); grup&operator=(const grup&g);
void deg();~grup(){deg();} grup(); };
//end of grup body
grup::grup(){ms=0;st=0;fi=0;
for(int j=0;j<3;++j)memset(title[j],0,122);}
void grup::nw()
{st=new stud*[ms+1];
if(!st){cout<<"\nst=0 grup::nw()\n";exit(1);}
for(int j=0;j<=ms;++j)
{st[j]=new stud;
if(!st){cout<<"\nst[j]=0\n";exit(1);}
}}
grup::grup(char*fsf)
{strcpy(sf,fsf); char s[77]="\n"; int j;
fi=fopen(sf,"rt");
if(!fi)
{cout<<"\n0)fi=0,sf="<<sf;getch();exit(1);}
ms=0; while(!feof(fi)){fgets(s,77,fi);++ms;}
ms-=3; fclose(fi); fi=fopen(sf,"rt");
if(!fi){cout<<"\nfi\n";exit(1);}
for(j=0;j<3;++j) fgets((title[j]),77,fi);
//ВВОД "СТУДЕНТОВ" ИЗ ФАЙЛА sf
nw();for(j=1;j<=ms;++j){stud stj(fi);*st[j]=stj;}
fclose(fi);
}
grup&grup::operator=(const grup&g)
{if(this==&g)return*this; int j; this->deg();
fi=g.fi; strcpy(sf,g.sf); ms=g.ms;
nw(); for(j=0;j<=ms;++j)*st[j]=*g.st[j];
for(j=0;j<3;++j)strcpy(title[j],g.title[j]);
return*this;
}
grup::grup(grup&g)
{for(int j=0;j<3;++j)strcpy(title[j],g.title[j]);
ms=g.ms; strcpy(sf,g.sf);
nw(); for(j=0;j<=ms;++j)*st[j]=*g.st[j];
}
void grup::deg()
{if(st) {for(int j=0;j<=ms;++j)
if(st[j]){delete st[j];st[j]=0;}delete[]st;st=0;}
}
void grup::out(FILE*fo=stdout)
{if(fo==stdout)cout<<'\n'; int j=0;
for(;j<3;j++) fputs(title[j],fo);
for(j=1;j<=ms;j++) st[j]->out(fo);
}
void grup::out(char*sf)
{FILE*fo=fopen(sf,"wt");
if(!fo){cout<<"\nfo=0\n";exit(1);}
out(fo); fclose(fo);
} //end of grup
Кусок кода с "базовыми классами" для курсовой работы в непоследнем университете Петербурга. Данные "классы" потом по заданию предлагается всячески расширять.
А потом жалуемся, что студенты ничего не умеют. А кто ж их учит?