
? animufag ?
06.12.2017
17:39:17
можно тогда наверное сделать ещё определение <i8, i8> for i32

illiatshurotshka❄️
06.12.2017
17:39:22
да

andretshurotshka?❄️кде
06.12.2017
17:39:27
ой все

illiatshurotshka❄️
06.12.2017
17:39:37
<i32>::cast(1i8): i8

Google

? animufag ?
06.12.2017
17:40:15
impl Cast<i8, i8> for i32 {
fn cast(x : i8) -> i8 {
x + 32
}
}

illiatshurotshka❄️
06.12.2017
17:40:29
impl<T> . for T то и делает
имплементирует для всех типов
Cast<i8, i8> for i8, Cast<i8, i8> for i32, Cast<i8, i8> for String ...

? animufag ?
06.12.2017
17:41:17
да норм
надо с полифорфизмом реализовывать
для каждого типа разная реализация каста i8 -> i8

kana
06.12.2017
17:42:08
лол

andretshurotshka?❄️кде
06.12.2017
17:42:20
struct Cast;
trait CastT<A, B> {
fn cast(A) -> B;
}
impl CastT<i8, i8> for Cast {
fn cast(x : i8) -> i8 {
x
}
}
fn main() {
let a: i8 = 2;
let x: i8 = Cast::cast(a);
println!("{}", x);
}
так норм

kana
06.12.2017
17:42:33
хуя ты

andretshurotshka?❄️кде
06.12.2017
17:42:35
похоже на элм
как заимплементить трейт для глобального скоупа?

Google

? animufag ?
06.12.2017
17:43:44
а можно в трейте сказать where Self = Cast?

kana
06.12.2017
17:44:07
for Cast это оно и есть

? animufag ?
06.12.2017
17:44:27
не это impl
я про ограничение для трейта

andretshurotshka?❄️кде
06.12.2017
17:45:07
кароч ваши тайпклассы не нужны интерфейсы ftw
struct Cast;
impl Cast {
fn cast(x : i8) -> i8 {
x
}
}
fn main() {
let a: i8 = 2;
let x: i8 = Cast::cast(a);
println!("{}", x);
}

illiatshurotshka❄️
06.12.2017
17:45:23
да не

andretshurotshka?❄️кде
06.12.2017
17:45:26
а лол
ето не то

kana
06.12.2017
17:45:32
бля, всегда читаю ftw как for the web

? animufag ?
06.12.2017
17:47:27

illiatshurotshka❄️
06.12.2017
17:48:05
struct Cast<A, B> { a: PhantomData<A>, b: PhantomData<B> }
impl Cast<i32, i64> {
fn cast(x : i32) -> i64 {
x.into()
}
}
?

andretshurotshka?❄️кде
06.12.2017
17:50:57
оно не работает
только что пробовал

illiatshurotshka❄️
06.12.2017
17:51:23
работает
https://play.rust-lang.org/?gist=99ad78d0324fe04dc74c8f5c956a02a5&version=stable

Google

andretshurotshka?❄️кде
06.12.2017
17:53:08
use std::marker::PhantomData;
struct Cast<A, B> {
a: PhantomData<A>,
b: PhantomData<B>
}
trait CastT<A, B> {
fn cast(A) -> B;
}
impl Cast<i8, i8> {
fn cast(x : i8) -> i8 {
x
}
}
impl Cast<i32, i64> {
fn cast(x : i32) -> i64 {
x.into()
}
}
fn main() {
let a: i8 = 2;
let x: i8 = Cast::cast(a);
let b: i32 = 31;
let y: i64 = Cast::cast(b);
println!("{} {}", x, y);
}
https://play.rust-lang.org/?gist=f0e1a0e53d391a2e53e9ff79b63868bc&version=nightly

illiatshurotshka❄️
06.12.2017
17:54:30
потому что
let a = 2;
let x = <Cast<i8, i8»::cast(a);
let b = 31;
let y = <Cast<i32, i64»::cast(b);
по моему коду это должно было быть видно

andretshurotshka?❄️кде
06.12.2017
17:56:49
мем

Bohdan
06.12.2017
18:41:47
филиал фп в ооп

andretshurotshka?❄️кде
06.12.2017
18:41:59
это случайность

Bohdan
06.12.2017
18:42:07
не, я не против
чем больше знаешь - тем дороже стоишь

Артур Евгеньевич
06.12.2017
18:47:21
Парни, когда нибудь переводили/писали статьи об архитектуре? Как считаете, стоит ли переводить подобноые термины:
Dependency Inversion Principle (DIP)
Domain Model
Data Access
?
вот вместо DIP никогда не видел чтобы ПИЗ писали)))

Bohdan
06.12.2017
19:01:47
переводить имеет смысл в том месте, где ты впервые применяешь термин
а дальше я бы использовал английскую аббревиатуру

Alex
06.12.2017
19:03:47
Вопрос по ES: Есть ли смысл хранить события каждого аггрегата в отдельной таблице?

Артур Евгеньевич
06.12.2017
19:09:11

Sergey
06.12.2017
19:18:48
если ты находишь это удобным - то почему бы и нет

Артур Евгеньевич
06.12.2017
19:19:50

Sergey
06.12.2017
19:19:57

Google

Sergey
06.12.2017
19:20:08

Артур Евгеньевич
06.12.2017
19:21:21
или ты про оригинал?

Sergey
06.12.2017
19:22:40
1. про что статья, раз там много раз DIP (гескагоналка? сам DIP?)
2. хоть как)

Артур Евгеньевич
06.12.2017
19:23:17
вообще я себя поймал на мысле что англоязыне статьи просто пробегаю мельком, и половину смысла не усваиваю, вот решил совмещать английский и архитектруное раазвитие

Sergey
06.12.2017
19:24:04
если на хабр будешь писать перевод по гесагоналкам - не заценят)

Артур Евгеньевич
06.12.2017
19:24:13
Почему?)
ну если не оценят будет повод наконецто создать свой блог и туда херачить))

Sergey
06.12.2017
19:24:52
ну так, опыт есть
вот я хз куда писать... свой блог не хочу, медиум разве что
на хабр постить желания нету вообще

Артур Евгеньевич
06.12.2017
19:29:40
Попробуй свой блог но как бы корпоративный. То есть де факто ты будешь туда писать один, но возможность черкануть будет у всех. Как подраскрутится чуток, может и желающие появятся. У тебя же все равно есть неммного аудитории, с телеги, с конференций с хабра того же) Мне кажется костяк "экспертов" даже с этой группы собрать небольшой, было бы интереснее чем в формате чата читать. То есть в блоге были бы статья(наброс) и тематическое обсудение в комментах)
Чат же многим нравится читать
а вот гексагон назвать шестигранником или как лучше?

Bohdan
06.12.2017
20:08:28
гексагональной ее вроде все называют
можно и шестиугольной, если хочешь полностью перевести)

Google

Sergey
06.12.2017
20:08:49

Bohdan
06.12.2017
20:08:50
но не шестигранник (это стереометрия уже)
так вообще перфекто)

Sergey
06.12.2017
20:09:01

Артур Евгеньевич
06.12.2017
20:09:26
порты и адаптеры)
там есть строчка что Гексагон не имеет ничего общего с гексагональной архитектурой)

Sergey
06.12.2017
20:09:27

Артур Евгеньевич
06.12.2017
20:09:40
да и эта маленькая и онятная показалась

Sergey
06.12.2017
20:09:54
ну так автор говорит) который кокберн
http://alistair.cockburn.us/Hexagonal+architecture

Dmitry
06.12.2017
20:11:17
+1 за блог фесора

Sergey
06.12.2017
20:12:02
> The hexagon is not a hexagon because the number six is important, but rather to allow the people doing the drawing to have room to insert ports and adapters as they need, not being constrained by a one-dimensional layered drawing. The term ‘’hexagonal architecture’’ comes from this visual effect.

Артур Евгеньевич
06.12.2017
20:12:39
да, получается что автор заблуждался) ну напишу примечаание))

Sergey
06.12.2017
20:14:00
ну как, общее только название, количество граней не важно

Артур Евгеньевич
06.12.2017
20:14:03
но с такой же логикой он мог ее назвать равностороннетреуглоьной архитектурой))

Sergey
06.12.2017
20:14:39
ну видимо когда он схемки рисовал выходили шестиугольники) ну и они симетричные... там где-то в комментах было что он расстроился что спустя годы все же понял что "не симметричная концепция". Я не помню к чему там это было

Борис
06.12.2017
20:54:35

f4rt~
06.12.2017
20:56:22

Sergey
06.12.2017
20:57:05