
Maxim
04.09.2017
10:37:10
а я бы остановился на похапе7)

Pavel
04.09.2017
10:37:24

Dmitry
04.09.2017
10:37:45
а не мог бы рассказать про минусы?
Просто из того что я смотрел там все же плюсов в разы больше.

Google

qwerty
04.09.2017
10:41:15

Pavel
04.09.2017
10:43:29
https://medium.com/@dolphin278/%D0%B2%D0%B0%D0%BC-%D0%BD%D0%B5-%D0%BD%D1%83%D0%B6%D0%BD%D1%8B-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B-1d6ac1747515

Ievgenii
04.09.2017
10:44:41

Pavel
04.09.2017
10:46:13
Я бы сказал что в 90% случаев там где пытаются напихать микросервисы, они не нужны.
И только добавляют страданий.
В частности вот и в моем проекте тоже куча боли. Взяли распилили 1 проект на проект + 3 микросервиса. И мы всегда делаем в 3 раза больше инфраструктурной работы.

Dmitry
04.09.2017
10:48:07
а какого рода работы стало больше?

Pavel
04.09.2017
10:48:56
Вместо деплоя одного приложения надо задеплоить 4. Вместо правки одной строчки кода в проекте надо править эту строчку в 4х проектах и делать 4 коммита. Вместо единой базы моделейЮ работающих с БД, получаем 4 версии одного и того же класса в проектах, либо общий репозиторий с зоопарком версий.
+ это все обросло кучей менеджеров и контроллеров для распаковки/запаковки запроса в HTTP
У нас уже есть куски системы где сервисы друг к другу ходят по 3 раза прежде чем соберется вся нужная информация для реализации бизнес-логики.

Dmitry
04.09.2017
10:50:46
И это было на PHP написано??

Pavel
04.09.2017
10:51:34
Там еще это все вросло в AWS инфраструктуру
Но у меня и на прошлой работе был опыт с сервисами, часть на nodejs, команда была грамотнее но все равно не намного лучше получилось.

Google

Pavel
04.09.2017
10:53:55
И это было на PHP написано??
Да, но от языка не зависит на самом деле. В той статье что я дал, там есть заметка о том что это все уже было в начале 2000х, написано на джаве, C++ и всех других возможных языках. И все провалилось.

Dmitry
04.09.2017
12:11:52
Ребят, я до книжки добрался. Привидите мне пример когда auto полезен. Желательно простой и наглядный.

Maxim
04.09.2017
12:14:19
да в принципе, auto полезен в любом месте, где, например, возвращаемое из функции значение присваивается объявляемой переменной

Dmitry
04.09.2017
12:14:52
если его просто пихать везде то читабельность падает
ИМХО
во всяком случае @Lord_Evil бил по рукам меня за это

Maxim
04.09.2017
12:15:25
жизнь — это цепь компромиссов)

Dmitry
04.09.2017
12:15:37
@Lord_Evil не терпит компромиссов)

Maxim
04.09.2017
12:15:52
это уже личные проблемы @Lord_Evil )

Dmitry
04.09.2017
12:16:20
size_t на 64 битах равен 64 битам?

Maxim
04.09.2017
12:16:34
да
я так понимаю, в D size_t для amd64 — это алиас на ulong

Dmitry
04.09.2017
12:17:06
если написать "равен размеру машинного слова" это же не правильно будет? машинное слово же вроде что-то другое

Maxim
04.09.2017
12:17:43
«равен размеру указателя» будет ближе к истине, наверное)

Dmitry
04.09.2017
12:18:55
Несколько слов нужно сказать о типе size_t. Данный тип был введен в Си-подобные языки с появлением 64-битных процессоров. Если во времена 32-битных процессоров тип int совпадал по размеру с размером указателя и был равен 32 битам, то с появлением 64-битных процессоров возникли определенные сложности с портированием программного обеспечения, т.к. размер указателя на 64-битных системах стал равен 64-битам. В итоге был введен новый беззнаковый тип size_t, который привязан к битности процессора. На 32 битной системе он равен 32 битам, на 64 битной — 64. Иными словами size_t - это максимальный целочисленный тип для данной платформы. Если компилятор будет запущен на 128 битном процессоре, size_t будет равен 128 битам.
так норм?

Maxim
04.09.2017
12:20:10
как-то сомнительно)

qwerty
04.09.2017
12:21:23
чтоб не писать шаблоны с их аргументами

Dmitry
04.09.2017
12:22:05

Oleg
04.09.2017
12:22:30

Maxim
04.09.2017
12:22:53
size_t в D — это вообще alias, прописанный в object.d, а не отдельный тип)

Google

Dmitry
04.09.2017
12:23:07

Maxim
04.09.2017
12:23:13
но его размер зависит от размера указателя платформы

Oleg
04.09.2017
12:23:15
я имею ввиду, что это не указатель по смыслу

Maxim
04.09.2017
12:23:25
в чистом си это, скорее всего #define

Oleg
04.09.2017
12:23:27
это типа размера

Dmitry
04.09.2017
12:24:10
Данный тип был введен в Си-подобные языки с появлением 64-битных процессоров. Если во времена 32-битных процессоров тип int совпадал по размеру с размером указателя и был равен 32 битам

Maxim
04.09.2017
12:24:13
но с чистым Си в этом плане вообще проблемы, ибо стандартом размеры short, int и long определяются в зависимости от платформы
а size_t, по сути, это максимальный индекс массива на платформе, который зависит от размера указателя

Oleg
04.09.2017
12:24:55

Maxim
04.09.2017
12:24:58
такое вот перепетии судьбы)

Oleg
04.09.2017
12:25:02
так как беззнаковый

Oleg
04.09.2017
12:25:06
тфу
знаковый

Andrey
04.09.2017
12:25:20
а для чего писать эту историческую справку, раз столько толкований? (: мб просто написать, как устроено в D?

Dmitry
04.09.2017
12:25:22
у указателя знак может быть?

Oleg
04.09.2017
12:25:31
а size_t беззнаковый, и алгебру указателей на нём не очень делать
у самого указателя нет, а у разницы да
если ты вычисляешь смещение относительно чего-то то можешь получить минус

Pavel
04.09.2017
12:26:19

Google

Maxim
04.09.2017
12:26:21
короче, суть size_t — максимальный размер индекса, ptrdiff_t — разница между индексами, я так понимаю)

Pavel
04.09.2017
12:26:28
Да

Oleg
04.09.2017
12:26:33
+

Dmitry
04.09.2017
12:26:45
Так как предложение то переписать:
Данный тип был введен в Си-подобные языки с появлением 64-битных процессоров. Если во времена 32-битных процессоров тип int совпадал по размеру с размером указателя и был равен 32 битам

Maxim
04.09.2017
12:26:47
но весь это зоопарк, опять же, упирается в размер указателя платформы)

Dmitry
04.09.2017
12:26:57

Pavel
04.09.2017
12:27:06
Я читал что ptrdiff_t для адресной арифметики, когда один указатель можно вычесть из другого. А если просто нужен указатель как адрес ячейки памяти, то size_t подойдет.

Oleg
04.09.2017
12:27:18
согласен
учебник для кого? не для историков же)

Pavel
04.09.2017
12:28:44

Admin
ERROR: S client not available

Oleg
04.09.2017
12:28:56
но это всё словоблудие и на практике я редко где встречал адресную арифметику

Dmitry
04.09.2017
12:29:49
Блин, может тупо напистать что size_t это максимальный целочисленный тип для данной платформы?

Oleg
04.09.2017
12:30:04
не правильно будет
потому что 64-битные данные можно ворочить и на 32х битах
только это 4 операции будет вместо одной (если не ошибаюсь)
всмысле не для тебя 4, а для процессора

Andrey
04.09.2017
12:31:11
а вот что писали в далеком 2003 году на форуме D
In most compilers, 'size_t' is a type definition (typedef) specifying the kind of integer variable returned by the 'sizeof' operator. It is used because the exact type returned by 'sizeof' can vary from implementation to implementation.
For portability, it's a good idea to use 'size_t' when you want a variable that represents the size of something.

Oleg
04.09.2017
12:31:16
ты заметишь падение производительности, если делаешь это в buttle-neck

Google

Dmitry
04.09.2017
12:31:20
ну это понятно, но вроде бы фраза верна? можно добавить "реальный\истинный размер"

Andrey
04.09.2017
12:31:21
http://forum.dlang.org/post/2m7vjvglnc4r9l6q3g1nuvd9gt1brbrdqu@4ax.com

Maxim
04.09.2017
12:33:05
короче, в D size_t соответствует максимально доступному размеру массива, и все)

Oleg
04.09.2017
12:33:24
не массива, скорее всего

Dmitry
04.09.2017
12:33:33
целочисленной переменной

Maxim
04.09.2017
12:33:34
для x86 — это 32 бита, для amd64 — это 64 бита

Oleg
04.09.2017
12:33:36
а памяти, занимаемой массивом
терминология блин
короче пиши меньше слов)))

Maxim
04.09.2017
12:34:08
ну вообще, наверное, да)

Dmitry
04.09.2017
12:34:30
никак в толк не возьму почему про массив то речь если это вроде для целочисленных?

Oleg
04.09.2017
12:34:42
ох

Maxim
04.09.2017
12:34:55
короче, достоверно известно, что size_t будет равен размеру указателя на уровне машинных кодов)
для конкретной архитектуры

Oleg
04.09.2017
12:35:24
вот мне кажется эта формулировка немного может сбить с толку
размер size_t, а не сам size_t

Maxim
04.09.2017
12:35:35
можно написать, что дальше археологи еще не раскопали)

Oleg
04.09.2017
12:35:50

Maxim
04.09.2017
12:36:09
пора уже вводить новую дисциплину: компьютерная археология)

Oleg
04.09.2017
12:36:12
больше шути и будет веселей читать тем, для кого веселье при изучении языка является важным аспектом)

Maxim
04.09.2017
12:36:46
в этой дисциплине можно изучать кобол и режимы работы процессоров intel)

Dmitry
04.09.2017
12:38:34
я тут прочитал что в С++ размер указателя зависит не от архитектуры, а от компилятора %)
https://www.viva64.com/ru/k/0044/