[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 19666)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером до 10000 кБ.
  • Ныне 3017 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
15241877094.png-(426.24KB, 720×720, junior_developer_popukko.png)
19666
No. 19666 Закреплено watch    
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Пополняемая база знаний: http://pastebin.com/AGhLZppH

Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда.
Не знаете, где клиент, а где сервер? Вам сюда.
Не понимаете, что такое ООП? Вам сюда.
Написали код, и не понимаете, почему не работает? Вам сюда.
Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда.
Не знаете, как подступиться к проблеме? Вам обязательно сюда.

Другие тематические нити (периодически обновляется): https://pastebin.com/psy43ibG

Примеры кода лучше выкладывать в виде ссылок на http://pastebin.com или http://ideone.com
Фронтендные вещи лучше выкладывать на http://jsfiddle.net

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

Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

Если здесь поселится достаточное количество программистов на одном языке / одной сферы, можно будет их выделить в отдельную нить, а в этой оставить на неё ссылку.
По мере поступления вопросов можно составлять FAQ и базу знаний.

Архив нитей:
http://410chan.org/dev/arch/res/14160.html
http://410chan.org/dev/arch/res/15681.html
http://410chan.org/dev/arch/res/17424.html

Прошлая нить пока тонет тут: >>/dev/17424
27 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 19785    
Хочу поступать на кафедру искусственного интеллекта. Есть вопрос: насколько реально после выпуска заработать на этом? Не в этой стране, так за границей.
No. 19786    
>>19785
Смотря в какой АИ-связанной сфере ты хочешь заработать. Сейчас вот все увлеченно ищут специалистов по машинному обучению. Если у тебя есть навык, то можешь начинать и без поступления на кафедры, работая удаленно.
No. 19994    
что не так сделал
public class Its_alive {
public static void main(String[] args) {
System.out.println ("Its Alive!");
}
}

Compilation error
Main.java:1: error: class Its_alive is public, should be declared in a file named Its_alive.java
public class Its_alive {
^
1 error

Please do not declare public classes.

пишет не объявляете открытые классы что это значит не врубаюсь вот идиот по ход
No. 19995    
>>19994
>Main.java:1: error: class Its_alive is public, should be declared in a file named Its_alive.java
Ну, компилятор тебе всё написал. Жаве не нравится, когда имя файла и имя класса не совпадают. Переименуй файл в Its_alive.java, или переименуй класс в Main, и всё у тебя станет лучше.
No. 19996    
>>19995 уже пробовал пишет
Compilation error
Main.java:1: error: '{' expected
public class Its_alive.java {
^
1 error
No. 19997    
>>19995 ну ответь
No. 19998    
>>19995 ебать я долбоеб был
No. 20001    
>>19998
Разобрался с созданием класса?
No. 20004    
152697055514.jpg-(81.97KB, 540×720, 15230838174210-b.jpg)
20004
>Не знаете, как подступиться к проблеме? Вам обязательно сюда.
Здравствуйте. Дело такое, что я в целом не понимаю как подступиться к 3д. Цель - наваять какой-нить примитивный, очень простой 3д шутер. Потом его допиливать. Прикрутить сеть LAN/Ethernet, и т.д.
Гуглил много инфы по directx, но ничего не понятно. Вернее там 99% всего нагугленного состояло из "делаем сложную штуку, объяснять как работает и что значат команды буду в уроке 2, который я никогда не напишу".

Я очень устал. Мне уже кажется, что между hello world и любым нормальным приложением с каким-нить API просто непреодолимая пропасть. Поэтому прошу подкинуть хоть какую-нить инфу, может книги/статьи, которые помогли именно вам в этой сфере.

Интересует именно использование directx/opengl, скажем, с с++.
No. 20005    
>>20004
Всё зависит в первую очередь зависит от опыта.
В твоём случае, когда ты хочешь просто собрать простой шутер, или можно сказать, рабочий прототип шутера, а также хочешь прикрутить к нему какие-то достаточно абстрактные фичи (вроде мультиплеера по LAN), то создаётся впечатление, что тебе надо как можно быстрее прыгнуть в работу непосредственно над самой игрой, а не созданием движка для неё. Созданием движка можно будет заняться уже потом, когда будет понятно, как игра должна работать.

И в этом контексте, очень хочется вспомнить про Unity, который достаточно быстро позволяет создать что-то типа такого: https://my.mixtape.moe/oplint.mp4

Есть только одна загвоздка, в то время как Unity поддерживает С++ для написания плагинов, основной используемый язык там С# альтернативно, JavaScript. Если само по себе это не является препятствием, то продолжай читать дальше.

Для Unity существует достаточно много туториалов, их можно найти много где, включая официальный сайт.

Вот например, туториал конкретно о том как создать шутер с мультиплеером: https://unity3d.com/learn/tutorials/topics/multiplayer-networking/merry-fragmas-30-multiplayer-fps-foundation
Это первая часть из трёх, тут закладывается базис игры.

А вот детальный список туториалов по сетевому коду, где в том числе есть список по вышеупомянутому шутеру: https://unity3d.com/learn/tutorials/s/multiplayer-networking

Также Unity удобен тем, что может помочь тебе получить какие-нибудь тривиальные модельки (оружие, контейнеры, бочки, столы) через встроенный магазин ассетов, где есть в том числе и всякое бесплатное.

Если же хочется поработить именно с С++, то из готовых движков стоит смотреть в сторону Unreal Engine 4. Он достаточно популярен, хотя и имеет своеобразный "блок-схемный" подход к созданию и управлению сценой. Если работать с Unity тебе не захочется, или он тебе попросту не понравится, напиши мне и я постараюсь принести тебе материлов по UE4.
No. 20006    
>>20005
Мне кажется, что анон выше имел в виду, что ему хочется прям с нуля создать шутер используя именно directx/opengl. А ты предлагаешь ему по сути готовый вариант всего того что он хотел бы создать сам.
No. 20007    
>>20004
Теперь, если тебе хочется непосредственно пощупать и потрогать 3д-графику за всякое, и понять как она работает то стоит посмотреть в сторону книги:
>Андре Ламот
>Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации
https://vk.com/wall-54530371_660

Конечно, она уже старая, но по крайней мере поможет тебе разобраться в базе, и упростит понимание более совеременных технологий.

Теперь, если тебе хочется потрогать такие вещи, как АИ противников, обработка управления, работа со звуком, многопоточность, физика (к сожалению про сетевой код там нет, в качестве мультиплеера они рассматривают разве что сплит-скрин)
>Андре Ламот
>Программирование трехмерных игр для Windows. Советы профессионала. Второе издание.
http://www.cosmic-rays.ru/books61/20036101Ламот.pdf

Опять же, сама книга уже старая, но в данном случае это может помочь разобраться, как же это всё делается.

По сетевому коду, пока могу найти только общие вводные статьи:
https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/
No. 20008    
>>20006
Написав свой ответ, я тоже так подумал, поэтому приложил ему материалы, которые помогут создать эти вещи с нуля в >>20007, пусть не самые современные, но достаточные для того чтобы их потом можно было осовременить. Найти бы теперь такое же детальное описание сетевого кода, это ж очень влияющая на архитектуру игры вещь.
No. 20009    
>>20005
>>20006
>>20007
>>20008
Ребят, спасибо, вы лучшие.
С Андре Ламота и начну. За информацию по движкам тоже спасибо, но почему-то мне кажется, что прежде чем с ними работать, нужно попробовать сделать свое, понять, как это работает.
No. 20010    
>>20009
>мне кажется
Скажи мне, ты, перед тем как есть, создаёшь вселенную, моделируешь планеты, проводишь эволюцию, находишь нужных растений и животных и убиваешь и готовишь их самостоятельно, попутно добывая и обрабатывая ресурсы на стол, стул, ложку, тарелку и вилку, или идёшь есть приготовленное дома и купленное в магазине?

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

Дело твоё, но >>20005-совет лучше описывает процесс, если тебе интересно в первую очередь сделать игру, а не. Плюс, движки тоже требуют времени на изучение, и понимание того, как они работают, учит каким-то концепциям ничуть не хуже велосипединга. А ещё лучше читать книжки о базе, чтобы понять теорию, отпракать на чём попроще, а потом не возвращаться без необходимости.
No. 20011    
Ищу совета доброго анонима.
Есть желание и способности работать в it. Правда такая проблема: на кого лучше поступать и кем работать? Ведь действительно хочется быть всем везде.
Для себя самым оптимальным вижу прикладное программирование, ну или машинное обучение и ИИ (после: работа в крупных компаниях или инди-разработка какого-либо ПО, последнее вряд ли прокатит с ИИ).
No. 20013    
>>20011
>на кого лучше поступать и кем работать
На туда, кого берут в твоём регионе.
>хочется быть всем везде
Иди в software engineering, будешь потом пробиваться в тимлиды/менеджеры и пить смуззи.
No. 20014    
>>20011
По вопросу, чем конкретно заняться, возможно, тебе поможет такая информация из пополняемой базы знаний: https://pastebin.com/AGhLZppH

>>Я хочу программировать, но не понимаю, куда можно приложить усилия
http://410chan.org/dev/arch/res/14160.html#14354

>>Я ищу свой стек / хочу переквалифицироваться / поменять стек
http://410chan.org/dev/arch/res/14160.html#14188
http://410chan.org/dev/arch/res/14160.html#14265
http://410chan.org/dev/arch/res/14160.html#15233
http://410chan.org/dev/arch/res/14160.html#14968

>на кого лучше поступать и кем работать
Поправь, если данные устарели, но по-моему многие ИТ-специальности в наших краях выпускают тебя почти всегда одинаково, как инженера-программиста. Плюс некий общий ИТ-курс до непосредственных занятий по специальности ты всё равно пройдешь. Надо понимать, что в универе обычно учат плохо и старому. Хотя дела могут быть лучше, если в универе есть кафедра открытая местной ИТ-компанией, чтобы дергать оттуда новых сотрудников.

В любом случае, надеяться на то, что можно сначала тупо учиться, а потом с тем "багажом" искать работу совершенно нельзя, искать работу и работать тебе надо будет прямо пока учишься, это позволит тебе получить настоящую квалификацию и нормальную работу потом.

Что подводит к ответу на вопрос
>кем работать
Без опыта ты сможешь пойти работать скорее всего только как джуниор. Это очень сужает твой круг возможностей, т.к. большую часть времени ты будешь заниматься всякими мелочами и просто работать над мелкими и средними задачами которые приедут тебе сверху. Но если ты будешь работать пока учишься, как я тебе и предлагаю, то это всё не очень критично, т.к. доход как для студента это всё равно даст немалый, и поможет достичь главной цели - получение опыта и необходимой квалификации, чтобы устроиться туда, куда ты захочешь. Если к моменту окончания универа у тебя уже будет пару-тройку лет опыта, ты уже будешь в курсе того, что там в индустрии на тот момент круто и куда бы ты хотел себя подать. Главное, не иди "программистом" в какую-то непрофильную шарашку, устраивайся именно как разработчик в софтвер контору, продуктовую или аутсорс - не так важно.
No. 20018    
>>20011
> работа в крупных компаниях или инди-разработка какого-либо ПО, последнее вряд ли прокатит с ИИ
Вот и решай уже сейчас, продавать свою жизнь крупной компании или инди-разрабатывать для инди-разработки, скорее всего, потребуются и другие таланты и умения кроме программирования.
>>20013
> На туда, кого берут в твоём регионе.
Игнорируй этот совет, если ты живешь в СНГ.
>>20014
> пару-тройку лет опыта, ты уже будешь в курсе того, что там в индустрии на тот момент круто
Конечно, он обязательно должен за это время освоить стек из модных фреймворков и получить опыт agile-разработки в крупной компании, накопив портфолио проектов.
No. 20019    
хуёня не объяснимая кто нибудь поможет решить вот это
Реализуйте метод, возвращающий true, если среди четырех его аргументов ровно два истинны (любые). Во всех остальных случаях метод должен возвращать false.

Воспользуйтесь шаблоном кода, который предлагает система. Ввод-вывод будет сделан за вас. Вам надо только проанализировать переданные в метод booleanExpression значения (a, b, c, d) и вернуть результат. Попробуйте составить формулу с использованием булевых операторов. Если не получается, вернитесь к этому заданию после просмотра степов про условные операторы и циклы.

При записи сложных выражений рекомендуется использовать скобки, чтобы не запутаться в порядке применения операторов.

В качестве примера уже указано заведомо некорректное решение задачи. Исправьте его.

Совет тем, у кого не проходит какой-то из тестов. В данной задаче возможно всего 16 комбинаций значений входных параметров. Их можно выписать на бумажку, посчитать для них правильные ответы и сравнить с тем, что выдает ваше решение. Попробуйте самостоятельно проделать это, найти ошибку и исправить решение.
Sample Input 1:
false false false false
Sample Output 1:
false
Sample Input 2:
true true true true
Sample Output 2:
false
Sample Input 3:
false false true true
Sample Output 3:
true
No. 20021    
public static boolean booleanExpression(boolean a, boolean b, boolean c, boolean d) {
return a & b & c & d;
}
No. 20024    
>>20019
Выпиши таблицу истинности булевой функции, по этой таблице построй формулу в дизъюнктивной нормальной форме; опционально можешь упростить формулу, применяя законы булевой алгебры.
No. 20025    
Анон!!! Помоги, пожалуйста. В oracle sql вообще не разбираюсь. Заставили на работе срочно посчитать количество записей за один определенный месяц, причем количество по значению типа. Вообщем на сколько я смог додуматься это
select type, count()
from table
where time >= to_date('01.01.2017')
and time < to_date('01.02.2017')
group by type;
Но блин проблема в том, что уже несколько часов считает, а результата нет.
Там таблица по секвенциям разбита, например я знаю что можно сделать запрос по одной секвенции
select from table partition(p_01_01_2017)
но как сделать запрос по нескольким секвенциям??? Или как иначе можно ускорить?? Я должен успеть до утра посчитать
No. 20026    
>>20025
https://stackoverflow.com/questions/19523061/select-from-several-partitions-at-once
>>20025
> Или как иначе можно ускорить??
Создать индексы по нужным колонкам. Только не нужно создавать их сейчас, а то точно не успеешь. Посмотреть какие задержки ввода/вывода, использование памяти и обновить железо при необходимости.
No. 20027    
>>20019
>>20021
На скорую руку решение видится как-то так:
https://ideone.com/1ELQep
Наверняка есть более элегантное, но уж что пришло в голову.
No. 20033    
>>20026
Кароче успел. Вообщем ночью придумал запрос выполнять по каждому фрагменту таблицы по отдельности. Прикинул что в одном месяце 30 дней, то есть 30 фрагментов. И сидел запускал 30 раз ночью такой запрос:

select /+ parallel(32) /type, count(*)
from table partition(p_01_01_2017)
group by type;

Потом результат каждого вставлял в librecalc. В конце в librecalc просуммировал формулой всех 30 дней значения и получил результат за месяц. Для ускорения использовал parallel, хотя его запрещают использовать почему то. Надо все таки как то фундаментально этот sql выучить, а то так запаришься.

Ну, вообщем от души Анон по-братски, спасибо за поддержку.
No. 20047    
хочу выложить свой asp.net mvc сайтик на гитхаб, чтобы обновлять было удобнее, но меня волнует безопасность данных... на сайте можно регистрироваться и логиниться (Forms authentication), после чего добавлять/удалять картинки. мне вот интересно, может ли как-нибудь пользователь получить контроль над данными другого пользователя? например, печеньку авторизации подделать и поудалять все, или еще что.

вот так выглядит метод удаления: https://pastebin.com/SvXCFxKP

меня интересует правильно ли я делаю проверку на то, принадлежит ли картинка пользователю. возможно, стоит делать как-то по-другому?
No. 20048    
>>20047
Если тебе нужен гит и не хочется выкладывать в общий доступ, то можешь создать репозиторий на bitbucket
>вот так выглядит метод удаления:
>https://pastebin.com/SvXCFxKP
Не очень информативно.
Обычно делают так: при авторизации клиент получает от сервера cookie с идентификатором случайным сессии, а на сервере в базе хранится информация связанная с сессией (id пользователя и т. д.), ассоциированная с этим идентификатором. При такой реализации куки подделать нельзя, только своровать.
No. 20049    
>>20048
в базе я храню только логин-пароль пользователя, но данные сессии/авторизации не сохраняю.
вот метод логина: https://pastebin.com/nzyfEtu3
может, это
> клиент получает от сервера cookie с идентификатором случайным сессии, а на сервере в базе хранится информация связанная с сессией
делает метод "FormsAuthentication.RedirectFromLoginPage(model.Login.Trim(), true);"?

мсдн пишет, что второй параметр "true to create a durable cookie (one that is saved across browser sessions); otherwise, false.". это не оно?
No. 20055    
Привет, это снова я.
Что нужно знать, чтобы претендовать на позицию джуниора, если а) профильной вышки нет б) опыта нет в) мне 26 (так ли это важно?)

Сейчас
  • по алгоритмам: как реализовать сортировки быструю, слиянием, выбором, вставкой и хипсорт; понимаю как они работают
  • по структурам данных: как реализовать стэк, очередь, кучи (min и max)
  • по Джанго: прочитаны туториал Джанго и Obey the Testing Goat; знаю как писать темплейты, виды, модели (слабовато), юниттесты средставами из коробки, функциональные тесты применительно к Файрфоксу с помощью Селениум и Геккодрайвер.
  • по git: простейшие понятия и операции вроде состояний файлов (modified/staged), создания и удаление ветвей, фаст-форвард коммитов, тегов.
Не знаю ничего о SQL-запросах, базах данных; контейнерах, виртуализации, Докере и деплое вообще; rebase, tracking ветви и многое другое, а самое главное — мало опыта. В большинстве случаев я имею представление как делать и откуда начинать поиск решения в случае чего, а не именно знаю как делать.

Извините, если это глупый вопрос, но так как я не в отрасли даже на чуть-чуть, я не могу оценить свой уровень объективно. Понятно, что это мало и слабо, но мало и слабо может быть разным.
No. 20056    
>>20055
Насколько я понял, ты спрашиваешь про питон, поэтому я могу ответить только на твои общие вопросы.

>а) профильной вышки нет
ничего страшного, если только ты не хочешь прямо сейчас эмигрировать
>б) опыта нет
для джуниора - ничего страшного
>в) мне 26 (так ли это важно?)
не важно

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

>алгоритмы
Мне кажется, это не так важно, как базовые знания целевого языка, типа как в нем из коробки работают коллекции, какой метод сортировки (раз уж ты её упомянул) использует в них стандартная библиотека, етц.

Что для джуниора важнее в контексте конкретно алгоритмов, так это понимание оценки сложности алгоритмов, т.е. та самая Big-O Notation: http://bigocheatsheet.com/

>структуры данных: как реализовать стэк, очередь, кучи (min и max)
Добавь сюда еще связанный список, но в то время как это могут спросить на собеседовании, в реальности тебе врядли придётся самому реализовывать эти структуры. Обычно любят спрашивать про различия между разными типами коллекций.

>Не знаю ничего
>о SQL-запросах, базах данных;
Не уверен, что тебе надо связываться именно с SQL, это надо смотреть по желаемому месту работы, но базово, тебе как джуниору надо уметь самое простое - создать/удалить базу, уметь создать/удалить в ней таблицу/коллекцию, уметь делать к ней CRUD-запросы: создание сущности, выборка сушности, обновление поля в сущности, удаление сущности.

>Не знаю ничего
>о контейнерах, виртуализации, Докере и деплое вообще
Это тебе как джуниору и НЕ девопсу знать не нужно. Об особенностях местного деплоя тебе местный девопс / админ / деплой инженер обязательно расскажет.

>по git
>Не знаю ничего о rebase, tracking ветви и многое другое
Это достаточно простые вещи, которыми легко овладеть если ты сделаешь какой-нибудь свой микропроект с использованием системы контроля версий. Но базово, от джуниора хотят чтобы он своими действиями с репозиторием не портил репозиторий, а поскольку для отдельных фич разработчики обычно создают отдельные ветки в репозитории, которые по окончании работы они сначала обновляют (например, делая rebase на master), потом отправляют на код ревью, а потом, по результатам код ревью, мержат в целевой бранч (например master), то тебе действительно стоит понимать суть базовых операций в системе контроля версий, особенно направление в котором они происходят (ты не представляешь, сколько людей мержат мастер в свой бранч, вместо того чтобы мержить свой бранч в мастер). Соответственно, кроме простейших операций тебе надо в контексте git знать про checkout, fetch, pull, rebase, cherry-pick, merge, push.

>самое главное — мало опыта
Вот поэтому мы и говорим о джуниорской позиции, там и не ожидают что у тебя есть много опыта, там обычно ожидают что
>я имею представление как делать и откуда начинать поиск решения в случае чего

Теперь подождем кого-то кто сможет тебе прокомментировать твой пункт про Джангу.
No. 20079    
Здесь есть программисты на qt? Можете подсказать такой момент. Допустим у меня программа будет состоять из нескольких файлов исходников. В интернете рекомендуют собирать так, зайти в корень исходников и выполнить qmake --project; qmake; make. Что происходит когда я редактирую один файл исходников? Все cpp файлы перекомпилируются по новой, или только один, измененный?

Просто раньше, когда писал на крестах, использовал свой скрипт, который следил за изменениями, пересобирал только измененные cpp, а остальные .o оставлял нетронутыми. В qt все сложно, и свой велосипед к qmake уже не применить.
No. 20083    
>>20079
Make для того и придумали, чтобы заново генерировать только те объектные файлы, которые устарели. Если в Makefile правильно описаны зависимости, то лишних перекомпиляций не происходит. При сборке с использованием qmake определение зависимостей и генерирование Makefile происходят автоматически.
No. 20086    
>>20055
Больше, чем я?
No. 20087    
>>20083
Тогда я доверюсь qmake, спасибо!
No. 20090    
152914263364.png-(90.52KB, 1530×456, wewrt.png)
20090
Почему может не работать этот floodFill()? Программа просто завершает работу, ничего не говорит ни про стек, ни про ошибки сегментации.
No. 20091    
15291426764.png-(21.26KB, 753×87, srdytfug.png)
20091
>>20090
Пример запуска
No. 20092    
>>20090
Я не сишник, но сделаю осторожное предположение, что такое поведение будет если у тебя никогда не срабатывает условие:
if (c_current_color == c_old_color) {}

И тогда твой код считает что выполнение уже успешно завершено, т.к. семпл цвета не является цветом, который надо заменить. Проверь с помощью дебага, срабатывает ли это условие, попадаешь ли ты внутрь. Можешь по-настоящему брейкпоинтов поставить и завести дебаггер, можешь просто натыкать выводов в консоль в нужных местах (например, вывести c_current_color, потом c_old_color, потом результат операции их сравнения, может чего-то из этого нет или ты их неправильно сравниваешь)
No. 20093    
152917106428.png-(78.62KB, 1519×292, ertyrjyrtuy.png)
20093
>>20092
Нет, похоже это таки ошибка переполнения стека. Вообще код, тоже с ошибкой, но я ее пофиксил, один фиг - тот же результат. На маленьких изображениях, до 300х300, все работает. Больше - программа молча завершается. Видимо какой-то внутренний баг, и не выпадает сообщение о переполненном стеке. Надо переходить на другой алгоритм, с очередью или еще чем.
No. 20094    
>>20093
Ну, здесь не совсем понятно, зачем тебе рекурсия нужна как таковая. Ты можешь просто взять и линейно пройтись по всем пикселям картинки, и поменять им цвет, так? Если хочешь параллелизации, можно сделать дополнительный кусок кода который разобьет обработку на чанки по количеству ядер.
No. 20095    
>>20093
Каждый ход внутрь рекурсии кладёт (в теории) в стек все аргументы функции и ещё по мелочи. Делай заливку обходом в ширину.
И то, на ещё больших полотнах может быть проще закрашивать сразу большими квадратами, а потом уточнять.
No. 20096    
152921636142.png-(102.94KB, 1716×493, qe.png)
20096
>>20094
>>20095
Я взял алгоритм с очередью. Он не вылетает, и работает вполне себе быстро.
No. 20099    
152934992673.png-(46.21KB, 1366×768, 2018-06-18_22-19-47.png)
20099
asp.net mvc. метод Html.DisplayFor не отображает объекты типа short, когда использую рефлексию.
все это дело выглядит так: https://pastebin.com/uYcN4x5x

что я делаю не так?
No. 20100    
>>20099
Вижу такое:
>Html.DisplayFor() will render the DisplayTemplate that matches the property's type.
Т.е. когда ты ей даешь
>объекты типа short
Она ищет темплейт для вывода этого типа (скорее всего что-то типа short.cshtml), а его по какой-то причине нет. Думаю, что тебе надо или сконвертировать значение в строку, или создать темплейт для нужного типа. Подробнее тут: https://stackoverflow.com/a/6365658
No. 20104    
>>20100
> сконвертировать значение в строку
в таком случае все будет отображаться в виде строки, даже объекты типа bool, которые выводятся как миленькие чекбоксы будут строками (тру/фолс)
> или создать темплейт для нужного типа
выглядит слишком сложно. прикол в том, что без использования рефлексии числа нормально выводятся. и даже если я создам темплейт short.cshtml, вполне возможно, что все остальные числовые типы данных выводиться не будут...
пока сделал такую заглушку:
@if (propValue!=null && propValue.GetType().Equals(typeof(short)))

{
    @:@propValue
}

No. 20105    
>>20099
Там для каждого свойства из item возвращается голый object, из-за чего DisplayFor паникует и не знает что делать. По идее, у тебя вообще ничего отображаться не должно.
No. 20106    
>>20105
а можно как-то голый object распаковать в нужный (неизвестный) тип и скормить DisplayFor?
пытался делать что-то типа "var xxx = Convertor.ChangeType(propValue, prop.Type)", но метод возвращает object
No. 20107    
Посоветуйте .NET библиотеку по искусственным нейросетям. Многослойный перцептрон нужен.
No. 20108    
>>20106
Нельзя. Нужно вызывать DisplayFor для каждого свойства вручную.
No. 20112    
>>2010
Как минимум во фреймворке AForge.NET была библиотека для этого, но сам фреймворк уже довольно протух
Удалить сообщение []
Пароль  
[Mod]