@dlangru

Страница 126 из 719
Сергей
12.02.2017
15:25:34
какой метод какие данные? что он должен вернуть? Класс это уже данные

User* user1 = UserManager.GetUser("Admin"); printf(user1.GetFirstName());

если тебя не устраивает по какимто причинам педедача в конструктор

Dmitry
12.02.2017
15:30:43
Я просто пример нашел https://habrahabr.ru/post/310436/ и там структуры были...

Google
Dmitry
12.02.2017
15:31:34
Просто идея какая? Мы принимаем запрос, далем что-то с прилетевшими данными и отдаем ответ так?

Вот допустим при приняли запрос на получение данных пользователя David. Получается мы должны сделать return UserManager.GetUser("Admin") Потом запрос на пользователя Jow приходит и тоже самое мы с ним делаем?

Сергей
12.02.2017
15:35:32
да посмотри ты уже какие ни будь исходники нормальных проектов

Dmitry
12.02.2017
15:43:03
А можно пример таких проектов?

Сергей
12.02.2017
15:43:33
не знаю, ну блин разбираться по хелоуворлдам это зашквар

Dmitry
12.02.2017
17:54:58
@BorMor блин, тоесть ты предлагаешь просто внутри метода сформировать данные и вернуть их не создавая никаких структур? Просто я думал, что структуры будут жить только в этом методе и уничтожаться при выходе из него.

Сергей
12.02.2017
17:55:44
ты хочешь на каждый пук ходить в базу данных?

Dmitry
12.02.2017
17:56:27
ну я для начала хочу два метода сделать. Чтобы по обращению по Rest можно было вернуть данные одного пользователя и список всех пользователей

Сергей
12.02.2017
17:58:06
ну тогда напиши прям там запрос на SQL зачем тебе классы и структуры если ты не хочешь ими пользоваться?)

Dmitry
12.02.2017
17:58:38
Я хочу заполнить структуру и потом ее сереализовать в JSON

после чего вернуть ее как response

Сергей
12.02.2017
17:58:52
ну заполни

Dmitry
12.02.2017
17:59:07
ну т.е. тогда идея со структурами верная?

Google
Dmitry
12.02.2017
17:59:13
так как я сделал

Сергей
12.02.2017
18:00:05
я думаю что не верная, но ты делай как тебе нравится

Dmitry
12.02.2017
18:01:06
а как бы сделал ты?

У меня просто нет опыта. Я сижу и читаю что нахожу

Сергей
12.02.2017
18:01:56
я уже писал

Dmitry
12.02.2017
18:03:39
Хорошо, пока тогда сделаю как я понимаю, а потом уже кто нить покритикует

Еще такой момент по поводу генерации rest интерфейса. Делаю по примеру, но вылетает ошибка:



т.е. как я понимаю генератору Rest-а нужно скормить класс где сам интерфейс описан, верно?

О все, разобрался

Метод REST не должен string возвращать

Суть проблемы в следующем. Почему-то у меня отрабатывает только указанный на скриншоте урл, хотя согласно примеру из документации вместо /test должно было открываться: /iapi/test



Походу проблема в том что я ииспользую вместо registerRestInterface registerWebInterface Кто простыми словами может объяснить зачем нужно одно, а зачем другое?

qwe
13.02.2017
06:52:01
@BorMor отправьте, пожалуйста, пример кода, на котором у Вас возникли проблемы с дебаггером. И инструкцию как воспроизвести

Сергей
13.02.2017
07:03:03
сейчас

Dmitry
13.02.2017
07:03:29
Подскажите, а с точки зрения логики как надо делать. Вот я создаю класс в котором у меня роутинг описан. Там у меня есть следующий метод: Json getSingleUser(string login) { } Я вот не пойму. Мне прям в нем реализовывать логику обращения к БД или нет? По идее вся работ с пользователями должна быть в классе пользователей, а тут только вызов метода и отдача контента? Верно?

В итоге сделал вот так (вроде бы по логике правильно):



в User реализуем всю логику, а тут Router возвращаем данные

Google
qwe
13.02.2017
07:21:44
@BorMor только когда будете отправлять, напишите qwe чтоб я не пропустил. Заранее спасибо!

Сергей
13.02.2017
07:40:12
@qwe вот, у меня работает крайне не стабильно, брекпоинты срабатывают не везде, в отображаемых значениях каша, хотя writeln показывает показывает значения

компилятор LDC

DMD не может simd в x86

qwe
13.02.2017
07:47:14
ах ты ж

я думал dmd)

мне кажется разные компиляторы оставляют разную отладочную инфу

Сергей
13.02.2017
07:48:10
ну на dmd тоже самое в x64 но там вроде писали с виндой проблемы какието с x64

qwe
13.02.2017
07:49:20
ну ладно, так или иначе сегодня посмотрю

спасибо!

Сергей
13.02.2017
07:51:40
ок, пиши если получится)

основная проблема невозможность ходить по перегруженным операторам

Денис
13.02.2017
17:41:54
Всем добрый вечер. Есть 2 контроллера. (stm32 и техас инструменты сс2540). Раньше писал в среде iar под них, которая умеет компилировать си и старый си++ код. Но сейчас я подумал. Реально ли писать на контроллеры на чем-то навороченном, и D кажется лучшим кандидатом на попытку. Какие подводные камни возникнут? Как я понимаю придется отказываться от тяжелых дрантайма и сирантайма. Кто-нибудь пробовал такой лоулевел на д? Вообще как по вашему - стоит пытаться?

Олег
13.02.2017
19:12:40
https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its-runtime.html

Dmitry
14.02.2017
07:11:40
Никак не могу понять, что ему в пути не нравится. Структура каталогов такая: source\app.d source\core\globals.d В app.d я делаю: import core.globals; А оно ругается, что импорт нужно делать так: module globals from file source\core\globals.d must be imported with 'import globals;' Вопрос почему? Вроде бы точка это разделитель каталогов. Или нет?

Evil
14.02.2017
07:54:04
в globals.d Первой строкой пиши module core.globals;

Dmitry
14.02.2017
07:56:49
А... оно иначе глобальный поиск производит?

Evil
14.02.2017
08:00:37
Ты имортируешь модуль по имени, а он по дефолту зовется как имя файла

Dmitry
14.02.2017
08:00:54
а есть разница между override: и override { .. } ?

На сколько правильно\не правильно создавать в main все необходимые классы и передавать их скопом в Роутер? AdminClass adminClass = new AdminClass(database); CustomersClass customersClass = new customersClass(database); PerformersClass performersClass = new PerformersClass(database); router.registerRestInterface(new MyRouter(adminClass, customersClass, performersClass));

Google
Evil
14.02.2017
08:22:25
О.о

Dmitry
14.02.2017
08:24:27
Наркоманию пишу?

Oleg
14.02.2017
08:32:53
Есть в области действия

Разница между override: и override {}

Dmitry
14.02.2017
08:35:34
вариант с двоеточием откуда покуда? как я понимаю если одну функцию надо то можно без двоеточия написать override foo() так?

Oleg
14.02.2017
08:35:46
да

от двоеточия до "перезаписи"

например class X { public: // все объявления public protected: // перезапись // тут уже protected }

Admin
ERROR: S client not available

Oleg
14.02.2017
08:37:33
но дело в том, что они должны работать группами, вроде как (типа public-private-protected)

что в группе с override я не знаю, возможно abstract

Dmitry
14.02.2017
08:43:43
под перезаписью ты имешь ввиду те методы которые трогать нельзя: override: foo() bar() protected: baz() ?

Oleg
14.02.2017
08:55:20
нет

и protected не означает, что трогать нельзя

https://www.ozon.ru/context/detail/id/20216992/

прочитай эту книгу, может станет чуть яснее с классами и ООП в целом

Dmitry
14.02.2017
08:57:06
хорошо, а то если синтаксис языка хоть как-то осилил, то вот по поводу паттернов полный швах

Oleg
14.02.2017
08:58:21
под перезаписью я в этой ситуации имел ввиду, что после двоеточия идёт список объявлений, которые получают этот атрибут (в моём примере модификатор доступа public), то когда встречается другой из группы (protected), следующие уже идут с другим атрибутом

некоторые атрибуты могут использоваться вместе и типа складываются, а некоторые не могут (которые находятся в одной группе)

Grigirii
15.02.2017
10:04:03
Народ, а кто-нибудь собирается на dconf? http://forum.dlang.org/thread/o7vs48$m70$1@digitalmars.com эти новости добавляют конфе интереса

Google
Денис
15.02.2017
16:41:52
Всем привет. А кто-нибудь тут разбирается в криптографии и защите ПО?

Точнее даже не в криптографии, а именно в схемах защиты ПО от взлома и воровства

Dmitry
15.02.2017
16:43:49
Рискну предположить что единственный вариант — вынос части логики на сервер и все

Денис
15.02.2017
16:45:31
Рискну предположить что единственный вариант — вынос части логики на сервер и все
Вот на работе свалилась задача. Сижу, рисую схемы и мне начинает казаться, что да, ты прав. Значительная часть логики должна быть на своём сервере.

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

Поэтому все сервера продавались с гардант-ключом до этого момента.

Dmitry
15.02.2017
16:48:45
А на чем проект пишешь?

Денис
15.02.2017
16:55:44
А на чем проект пишешь?
На плюсах и питоне. На D только экспериментирую для себя.

Dmitry
15.02.2017
16:55:57
А на питоне какая часть?

Денис
15.02.2017
16:58:18
А на питоне какая часть?
Автотесты, всякие утилиты для самой разработки и веб-части. ПО частично облачное, вот куски облака на питоне сделаны.

Dmitry
17.02.2017
11:26:52
А чисто теоретически ctfe нужно для написания ORM. Типа сгенерировать класс по структуре БД. Или как оно по уму должно быть?

А то понял что без ORM тяжело (хотя с ними никогда не работал). Просто нужно что то позволяющее структуру примапить к прилетающему запросу

Pavel
17.02.2017
12:01:15
Есть 2 подхода - когда классы генерятся по структуре БД, и когда сначала пишешь классы, а потом они сами генерят структуру БД

Первый подход намного проще.

Grigirii
17.02.2017
12:02:15
проще в чём? второй точно проще для использования. Можно вообще про базу не думать

Pavel
17.02.2017
12:03:00
Для использования да, но реализация просто адовая. И там все равно не получится генерить оптимальную структуру, так что про базу помнить нужно тоже.

Как там индексы проставлять, как связи организовывать.

Денис
17.02.2017
12:30:35
Для использования да, но реализация просто адовая. И там все равно не получится генерить оптимальную структуру, так что про базу помнить нужно тоже.
Если интересно была реализация второго подхода на D для postgresql только для структур, только не допиленная. База генерилась под структуры.

https://github.com/WowVeryLogin/SQLDBDriver

Pavel
17.02.2017
12:31:15
Угу, но я на D не нашел даже и нормальной реализации первого подхода

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

Страница 126 из 719