GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.5 (6)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: SRC: здесь можно выкладывать исходники
ams2
Сообщений: 527
На: SRC: здесь можно выкладывать исходники
Добавлено: 03 май 22 23:35
Цитата:
Автор: daner
а по программированию разряды раздают?

- надеялся, что клюнете на развод про КМС, а то и "Чемпион мира"..., справочку приложите...
- чем же тогда измерять профессионализм в программировании?!

1. Количество строк / знаков в месяц?
2. Трудовой стаж в кг распечаток?
3. Пачку сертификатов от учебных курсов?
4. Умение кодить на латыни и фарси (в перфокартах из алюминия)?
5. Количестве опубликованных трудов типа "Программирование для чайникоффф"?
[Ответ][Цитата]
ams2
Сообщений: 527
На: SRC: здесь можно выкладывать исходники
Добавлено: 03 май 22 23:39
Цитата:
Автор: IvanVlaskin1976
Это что бы показать что я тоже вхожу в категорию программистов, а не шарлатан

- Иван, именно шарлатан так бы и сделал- украл чужой код (из книжки) и выдал за свое...
- старый анекдот: "2 студня консерватории встречаются случайно. Первый спрашивает- чего такой хмурый? Приятель отвечает- никак курсовик не написать- ничего в голову не приходит как- то... Дык, возьми курсовую своего шефа и перепиши её с заду- наперед... Не, уже пробовал, Моцарт получается..."
[Ответ][Цитата]
daner
Сообщений: 4593
На: SRC: здесь можно выкладывать исходники
Добавлено: 03 май 22 23:44
Цитата:
Автор: IvanVlaskin1976
Это что бы показать что я тоже вхожу в категорию программистов, а не шарлатан


нееее, не стоило. так еще был шанс, что поверят на слово.
[Ответ][Цитата]
ams2
Сообщений: 527
На: SRC: здесь можно выкладывать исходники
Добавлено: 03 май 22 23:48
Цитата:
Автор: IvanVlaskin1976

Игра Крестики-Нолики написанная на спор за несколько часов
[code]
#include<stdio.h>
void main(void) {
int x,y,i;
char MaccuB[3][3];
...


- я бы обсудил тут алгоритмы игры не 3 х 3, а на бесконечном поле
- очевидно, что при наличии ресурса простым перебором любой "ЕИ_ эксперт" продует компу с сухим счетом
- а вот что есть про битвы сильных алгоритмов- кто что придумал поумнее тупого перебора?
[Ответ][Цитата]
daner
Сообщений: 4593
На: SRC: здесь можно выкладывать исходники
Добавлено: 04 май 22 0:04
Цитата:
Автор: ams2
- надеялся, что клюнете на развод про КМС, а то и "Чемпион мира"..., справочку приложите...
- чем же тогда измерять профессионализм в программировании?!

1. Количество строк / знаков в месяц?
2. Трудовой стаж в кг распечаток?
3. Пачку сертификатов от учебных курсов?
4. Умение кодить на латыни и фарси (в перфокартах из алюминия)?
5. Количестве опубликованных трудов типа "Программирование для чайникоффф"?


ну как и в любой другой профессии, полагаю. профессионал, от слова профессия, т.е. тот кто зарабатывает этим трудом на жизнь. кто-то лучше, кто-то хуже. Тем более, что программирование это не что-то конкретное. направлений много и кто-то умеет лучше одно делать, кто-то другое, но есть некоторый базис, который необходим любому. ну как например, у музыкантов, у всех разные стили, все по разному пишут и играют, на разных инструментах, но нотную грамотность должны знать все.

кстати, способности к олимпиадному программированию это совсем не плохо, просто это как стрельба в биатлоне, и программа военного снайпера.

что же касается перечисленного вами... наверное имеет значение все, кроме количества строк в месяц. как-то была байка (не помню точно как она звучала, но смысл был такой) типа спрашивают навороченного программера, как он измеряет свою производительность? типа сколько строк в день он должен написать, а он отвечает, что измеряет не написанными строками, а тем сколько у него получилось строк удалить, не повредив функциональность.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 06 июн 22 14:07
обновил стол
https://hdd.tomsk.ru/desk/valimvvi#
[Ответ][Цитата]
гость
185.220.101.*
На: SRC: здесь можно выкладывать исходники
Добавлено: 07 июн 22 3:35
Цитата:
Автор: daner
наверное имеет значение все, кроме количества строк в месяц. как-то была байка (не помню точно как она звучала, но смысл был такой) типа спрашивают навороченного программера, как он измеряет свою производительность? типа сколько строк в день он должен написать, а он отвечает, что измеряет не написанными строками, а тем сколько у него получилось строк удалить, не повредив функциональность.
Количество строк — одна из метрик, до сих пор, может не самая существенная, но всё же. В теории конечно главное это решать бизнес задачи, но как надежно оценить их трудоёмкость пока не известно. Что один будет делать месяц в 1000 строк, другой может решить за пару дней в пару сотен строк, это не редкость. Как тут оценить трудоёмкость по какому из исполнителей? А потом спустя годы кого то озарит и он(а) решит туже задачу в 50 строк, прозрачно и элегантно, причем в течении часа, если считать время написания и отладки. А в разработке таких вот микро-озарений полно и сложность\лаконичность\производительность алгоритма может варьироваться на порядки.

Я думаю профессионал разработчик, это тот кто на свой код смог купить хотя бы машину и квартиру.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 07 июн 22 3:48
Цитата:
Автор: гость
Я думаю профессионал разработчик, это тот кто на свой код смог купить хотя бы машину и квартиру.

покайся демон, азмь есть плюс и пробел тоже я
[Ответ][Цитата]
daner
Сообщений: 4593
На: SRC: здесь можно выкладывать исходники
Добавлено: 08 июн 22 19:50
Цитата:
Автор: гость

Количество строк — одна из метрик, до сих пор, может не самая существенная, но всё же. В теории конечно главное это решать бизнес задачи, но как надежно оценить их трудоёмкость пока не известно. Что один будет делать месяц в 1000 строк, другой может решить за пару дней в пару сотен строк, это не редкость. Как тут оценить трудоёмкость по какому из исполнителей? А потом спустя годы кого то озарит и он(а) решит туже задачу в 50 строк, прозрачно и элегантно, причем в течении часа, если считать время написания и отладки. А в разработке таких вот микро-озарений полно и сложность\лаконичность\производительность алгоритма может варьироваться на порядки.

Я думаю профессионал разработчик, это тот кто на свой код смог купить хотя бы машину и квартиру.


я ни разу не встречал, что бы кого-то интересовало кол-во строк. ну... один раз, на курсе Аспектно Ориентированного Программирования, на первой мотивационной лекции, показали как этот подход сокращает кол-во кода. но пожалуй и все.

вот решать задачи, это да. это то что интересует всех, не теоретически, а практически.
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 08 июн 22 21:56
Цитата:
Автор: IvanVlaskin1976
покайся демон, азмь есть плюс и пробел тоже я

я этого в этой теме не писал
похоже кто-то взломал мой аккаунт и написал от моего имени
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 16 июл 22 0:01
Поскольку бандеровец Tester64 похоже создал Информационную Систему повторяю публикацию теории Информационных Систем и исходников УЭС
https://hdd.tomsk.ru/desk/shbwipzq
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 25 июл 22 7:10
Изменено: 25 июл 22 7:13
Полноценный Веб-Сервер с исправленной ошибкой автора в коде

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<netdb.h>
#include<time.h>
#include<unistd.h> // close()
#include<arpa/inet.h> // inet_ntop
#include<sys/socket.h>

// http://localhost:8000

#define SERVER_PORT "8000"
#define MAX_CONNECTION 1000

typedef enum {
eHTTP_UNKNOWN = 0,
eHTTP_CONNECT,
eHTTP_DELETE,
eHTTP_GET,
eHTTP_HEAD,
eHTTP_OPTIONS,
eHTTP_PATCH,
eHTTP_POST,
eHTTP_PUT,
eHTTP_TRACE
}eHTTPMethod;

typedef struct {
eHTTPMethod type;
char path[255];
}sHTTPHeader;

// Client

int create_socket(const char *apstrPort) {
struct addrinfo hints;
struct addrinfo *servinfo;
struct addrinfo *p;

memset(&hints, 0, sizeof(hints));
// IPv4 or IPv6
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;

int r=getaddrinfo(NULL, apstrPort, &hints, &servinfo);
if( r != 0) {
fprintf(stderr,"error getaddrinfo()\n");
return -1;
}

int sock;
int yes;
for(p = servinfo; p != NULL; p = p->ai_next) {
sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol);
if(sock == -1)
continue;
if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1) {
fprintf(stderr,"error setsockopt\n");
close(sock);
freeaddrinfo(servinfo); // all done with this structure
return -2;
}
if(bind(sock, p->ai_addr, p->ai_addrlen) == -1) {
close(sock);
continue;
}
break;
}
freeaddrinfo(servinfo); // all done with this structure

if(p == NULL) {
fprintf(stderr,"failed to find address\n");
return -3;
}

if(listen(sock, MAX_CONNECTION) == -1) {
fprintf(stderr,"error listen\n");
return -4;
}

return sock;
}

void *get_client_addr(struct sockaddr *sa) {
if(sa->sa_family == AF_INET) {
return &(((struct sockaddr_in*)sa)->sin_addr);
}
else {
return &(((struct sockaddr_in6*)sa)->sin6_addr);
}
}

void http_request(int aSock) {
const int request_buffer_size = 65536;
char request[request_buffer_size];

int bytes_recvd = recv(aSock, request, request_buffer_size - 1, 0);

if(bytes_recvd < 0) {
fprintf(stderr,"error recv\n");
return;
}
request[bytes_recvd] = '\0';

printf("request:\n%s\n",request);

sHTTPHeader req;
parse_http_request(request, &req);

if(req.type == eHTTP_GET) {
send_massage(aSock,"sensor 1: 10<br> sensor 2: 20<br><a href=\"http://yandex.ru\">YANDEX</a><br><a href=\"http://google.com\">GOOGLE</a><FORM METHOD=POST ACTION=file01>text<INPUT NAME=\"test1\" VALUE=\"test2\" TYPE=\"text\"><BR>Submit:<INPUT NAME=\"submit1\" VALUE=\"Submit2\" TYPE=\"submit\"><BR></FORM>");
}
else {
send_404(aSock);
}

}

void parse_http_request(const char *apstrRequest, sHTTPHeader *apHeader) {
int type_length = 0;
char type[255] = {0};
int index = 0;

apHeader->type = eHTTP_UNKNOWN;

sscanf(&apstrRequest[index], "%s", type);
type_length = strlen(type);

if(type_length == 3) {
if(type[0] == 'G' && type[1] == 'E' && type[2] == 'T')
apHeader->type = eHTTP_GET;
index += type_length + 1;
sscanf(&apstrRequest[index], "%s", apHeader->path);
}
if(type_length == 4) {
if(type[0] == 'P' && type[1] == 'O' && type[2] == 'S' && type[3] == 'T')
apHeader->type = eHTTP_POST;
index += type_length + 1;
sscanf(&apstrRequest[index], "%s", apHeader->path);
printf("zrequest:\n");
}
}

void send_massage(int aSock, const char *apstrMessage) {
char buffer[65536] = { 0 };

strcat(buffer,"HTTP/1.1 200 OK\n\n");
strcat(buffer,"<h1>");
strcat(buffer,apstrMessage);
strcat(buffer,"</h1>");

int len = strlen(buffer);
send(aSock, buffer, len, 0);
}

void send_404(int aSock) {
const char *buffer = "HTTP/1.1 404 \n\n";
int len = strlen(buffer);
send(aSock, buffer, len, 0);
}


int main() {
int sock;

sock = create_socket(SERVER_PORT);
if(sock<0) {
fprintf(stderr,"error create socket\n");
return -1;
}

printf("server created!\n");

struct sockaddr_storage client_addr;
int client_d;
//char client_ip
while(1) {

socklen_t s_size = sizeof(client_addr);
client_d = accept(sock, (struct sockaddr*)&client_addr, &s_size);

if(client_d == -1) {
fprintf(stderr,"error accept\n");
return -1;
}

// char ip[INET_ADDRSTRLEN];
char ip[46];
inet_ntop(client_addr.ss_family, get_client_addr((struct sockaddr *)&client_addr), ip, sizeof ip);
printf("server: got connection from %s\n", ip);

// read
http_request(client_d);

close(client_d);
}
return 0;
}


Исправленная ошибка -

// char ip[INET_ADDRSTRLEN];
char ip[46];
[Ответ][Цитата]
гость
185.220.101.*
На: SRC: здесь можно выкладывать исходники
Добавлено: 26 июл 22 2:47
Цитата:
Автор: IvanVlaskin1976

Исправленная ошибка -

// char ip[INET_ADDRSTRLEN];
char ip[46];
ну так где результат стараний? адрес веб-программы в студию
[Ответ][Цитата]
IvanVlaskin1976
Сообщений: 9270
На: SRC: здесь можно выкладывать исходники
Добавлено: 26 июл 22 23:24
Цитата:
Автор: гость
ну так где результат стараний? адрес веб-программы в студию

дык там у меня всё поменяно посторонним
это надо ещё с силами собраться чтобы вникать
староват я стал новый код изучать, это мне значительное усилие над собой сделать нада
может он и лучше чем мой, но мне то от этого не легче
[Ответ][Цитата]
гость
51.15.227.*
На: SRC: здесь можно выкладывать исходники
Добавлено: 27 июл 22 3:24
Цитата:
Автор: IvanVlaskin1976


дык там у меня всё поменяно посторонним
это надо ещё с силами собраться чтобы вникать
староват я стал новый код изучать, это мне значительное усилие над собой сделать нада
может он и лучше чем мой, но мне то от этого не легче
Что делает ваш код?
[Ответ][Цитата]
 Стр.5 (6)1  2  3  4  [5]  6<< < Пред. | След. > >>