fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

myStack

myStack

رفتن به کانال در Telegram

Меня зовут Ростислав и я разработчик. Это мой личный блог. Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда. Книги: https://bit.ly/rostislav-books Личка: https://t.me/Rostislaved Сайт: Rostislav.me

نمایش بیشتر
877
مشترکین
-324 ساعت
-47 روز
-730 روز
آرشیو پست ها
Когда оборачиваешь доступ к апи в объект, то можно сделать сперва методы, которые соотносятся с эндпоинтами самого апи 1 к 1.
Когда оборачиваешь доступ к апи в объект, то можно сделать сперва методы, которые соотносятся с эндпоинтами самого апи 1 к 1. А уже потом, используя эти методы создавать публичные методы удобные для всего остального кода. Я раньше так и делал, но неосознанно, а сейчас явно прочитал, что это нормальная идея у Фаулера: Sometimes a good strategy is to build the Gateway in terms of more than one object. The obvious form is to use two objects: a back end and a front end. The back end acts as a minimal overlay to the external resource and doesn’t simplify the resource’s API at all. The front end then transforms the awkward API into a more convenient one for your application to use. This approach is good if the wrapping of the external service and the adaptation to your needs are reasonably complicated, because each responsibility is handled by a single class. Conversely, if the wrapping of the external service is simple, one class can handle that and any adaptation that’s needed.

О, круто! Роберт Мартин называет чистую архитектура архитектурой Якобсона! (Ivar Jacobson)

If you had a J in your name you could get hired as a java programmer https://youtu.be/Nsjsiz2A9mg?t=1350
If you had a J in your name you could get hired as a java programmer
https://youtu.be/Nsjsiz2A9mg?t=1350

(Слайс структур, удовлетворяющих интерфейсу) != (слайс интерфейсов). Пример: https://goplay.space/#BGyrAUzsKAn package main i
(Слайс структур, удовлетворяющих интерфейсу) != (слайс интерфейсов).

Пример: https://goplay.space/#BGyrAUzsKAn
package main

import "fmt"

func main() {
  arr := []SomeStruct{
    {1},
    {2},
  }

  Printer(arr) // нельзя передать
}

// Структура SomeStruct с единственным методом Print
type SomeStruct struct {
  id int
}

func (s SomeStruct) Print() {
  fmt.Println(s.id)
}

// Printer принимает слайс интерфейсов
func Printer(arr []Printable) {
  for _, item := range arr {
    item.Print()
  }
}

type Printable interface {
  Print()
}

можно исправить через дженерики: func Printer[T Printable](arr []T) { for _, item := range arr { item.Print() } } но даже так, если есть метод с ресивером указателем, то слайс структур не передать и надо делать слайс указателей на структуры, а это мне тоже не нравится. Сижу грущу. Другой язык что ли попробовать

Перевод: Выдержка из файла /scripts/web, включенного в состав оригинального netcat в 1995 году. Интернет - отстой. Это могучий унылый клубок, построенный из тысячи крошечных унылых косяков, скрепленных пластырем, и теперь эти допотопные невежественные придурки, которые никогда не слышали о "рукопожатии TCP", хотят запустить *коммерцию через эту чертову штуку. Да боги. Добро пожаловать на телевидение следующего века - шесть миллионов каналов бесполезного дерьма на выбор, и и примерно столько же безопасности, как в сегодняшней кабельной индустрии! Сильно устав от болезненных браузеров в заднице, я решил создать минималистичный клиент. Он не обрабатывает POST, только GET, но большинство обработчиков CGI-форм, очевидно, все равно игнорируют этот метод. Несомненным преимуществом является то, что он не передает никакой другой информации серверу, например, Referer: или информацию о вашей локальной машине, как, например. Netscum пытается это сделать! Со времен первой версии этот клиент стал почти минималистичным, но теперь он экономит много текста. А с netcat в качестве бэкенда, это полностью соответствует требованиям. У вас нет netcat? Возьмите его здесь, в /src/hacks! _H* 950824, обновлено 951009 и далее.

Щека и шея 92-летней женщины, которая в течение 40 с лишним лет пользовалась увлажняющими средствами с УФ-защитой на лице, но
Щека и шея 92-летней женщины, которая в течение 40 с лишним лет пользовалась увлажняющими средствами с УФ-защитой на лице, но не на шее. Клинический осмотр выявил разительную разницу в солнечном повреждении между щекой и шеей. link

Ищу себе нормальны VPN. Нашел крутой, но нет серверов в рф, написал в поддержку и спросил почему. Ответ убил: The reason we d
Ищу себе нормальны VPN. Нашел крутой, но нет серверов в рф, написал в поддержку и спросил почему. Ответ убил: The reason we don’t have servers in Russia is that the Russian government requires anyone who routes Internet traffic to log. Once we found out that they wanted or required us to log we removed our servers from the data center there. It was our choice to remove those data centers because of our strict no logging policy. С одной стороны меня радует подход, но с другой этот впн не закроет все мои потребности

При приеме на работу в Threads на system design секции наверняка просили спроектировать twitter
При приеме на работу в Threads на system design секции наверняка просили спроектировать twitter

Момент (англ. Moment) — средневековая английская мера времени, равная полутора современным минутам в день равноденствия.
Момент (англ. Moment) — средневековая английская мера времени, равная полутора современным минутам в день равноденствия.

Какой классный бесплатный сервис! https://vectorizer.ai Превращает растровую картинку в векторную с помощью AI.
+2
Какой классный бесплатный сервис! https://vectorizer.ai Превращает растровую картинку в векторную с помощью AI.

Хм. Нашел интересное поведение телеги Я обычно стараюсь писать посты в "Saved Messages", редактировать и пересылать их в этот
Хм. Нашел интересное поведение телеги Я обычно стараюсь писать посты в "Saved Messages", редактировать и пересылать их в этот канал. Вчера я сделал точно также с обложкой книги и отзывом на нее. И телеграм не отобразил комментарии ко второму сообщению (отзыв на книгу). Сейачс обнаружил, что так происходит, если пересылать 2 сообщения за раз. Если одно, то секция с комментариями появляется

#книги Vladimir Khorikov - Unit Testing Principles, Practices, and Patterns 17.05.2023 - 01.07.2023 Рекомендую - Книга оказалось гораздо полезнее TDD от Кента Бека. - Также это первая книга, которую я практически полностью читал за компом, а не с мобилы, что позволило делать удобный конспект в обсидиане. Вообще читать с телефона перед сном технически книги, как я теперь понимаю, не очень продуктивно. Книги читаются меньшими частями и восстанавливать контекст при каждом возвращении довольно сложно и вредит общему пониманию. - В первых главах идет некая классификация видов зависимостей и с этой классификацией вышла какая-то каша. Для примера. Автор делит все зависимости на три пересекающихся множества или вводит понятие out-of-process зависимости, и не обозначает, что все зависимости кроме out-of-process есть in-process. Кажется мелочью, но из-за этого первую часть было достаточно сложно воспринимать. - В книге в 7й главе есть полезный пример, который показывает способы рефакторинга плохого кода в код, который более тестируем. Также приводятся различные паттерны, что тоже хорошо - Примеры, которые разбираются в книге позволяют увидеть реальный код с хорошей архитектурой. Что очень полезно. - Из книги узнал про то, как автор использует менеджер транзакций и репозитории

photo content

Такой спам - это что-то новое. Обычно или наркота или крипта
Такой спам - это что-то новое. Обычно или наркота или крипта

photo content

Repost from Dzari
Человеческое тело на 78% состоит из воды. Факт был установлен в середине 1940-х годов. Открытие принадлежит подполковнику япо
Человеческое тело на 78% состоит из воды. Факт был установлен в середине 1940-х годов. Открытие принадлежит подполковнику японской императорской армии руководящим отрядом 731. Эксперимент выглядел так: живого человека привязывали к стулу в замкнутом помещении и нагнетали, нагнетали, нагнетали сухой горячий ветер.Подопытный превращался в высохшую мумию. Умирал он на шестом часу, когда из тела уже испарялась большая часть воды. 22% первоначального веса тела — средний показатель по нескольким десяткам жертв. Любопытно, но очень много из их экспериментов мы сейчас используем. Тот отряд кстати помиловали за их 12 лет экспериментов, за важность полученных открытий. А вы бы их осудили или освободили ?

3 года назад я сделал такую заметку про пароли: https://t.me/myStack/168 Сейчас перечитал и по прежнему со всем согласен, а п
3 года назад я сделал такую заметку про пароли: https://t.me/myStack/168 Сейчас перечитал и по прежнему со всем согласен, а пост пишу потому, что наконец-то пришел к подходу, который в той заметке назвал самым лучшим: 1. Длинные пароли из случайных символов. Уникальные для каждого сайта 2. Программа для их хранения 3. Сильный мастер-пароль для этой программы. Собственно это программа bitwarden. И я ее супер советую. Из плюсов: 1. Клиент для iOS (встраивается в клавиатуру, как родной менеджер паролей). Для андройда тоже есть 2. Плагин для браузера 3. Автоподстановка логинов\паролей на сайтах 4. Синхронизация всех клиентов 5. Возможность селф хостинга базы. 6. Бесплатная и опенсорсная 7. Есть платный функционал, который практически наверняка вам не понадобится, если вы, даже, не используете такие программы, а если понадобится, то он бесплатен в селфхост версии (которая еще и на расте)). В общем, я супер кайфую с того, как у меня теперь организовано и всем советую

Repost from Data is data
Математик Уильям Госсет работал на пивоварне Гиннеса и занимался там передовым датасайенсом того времени - статистикой. Т.к.
+1
Математик Уильям Госсет работал на пивоварне Гиннеса и занимался там передовым датасайенсом того времени - статистикой. Т.к. сотрудникам строжайше запрещено было публиковаться где бы то ни было, он писал статьи под псевдонимом Студент. Поэтому мы знаем критерий и распределение Стьюдента, а не Госсета.

ChatGPT имеет ограничение на длину запроса, который он может обработать. У меня получилось сделать запрос из 7к токенов, что
ChatGPT имеет ограничение на длину запроса, который он может обработать. У меня получилось сделать запрос из 7к токенов, что есть ~15 страниц книги. И для меня это проблема, ибо я хочу задавать вопросы о книгах. Но есть сервис humata.ai, в который можно загрузить pdf и задавать вопросы о содержимом и можно бесплатно грузить 60 страниц! Еще он подсвечивает страницы, где содержится информация из которой он собрал ответ. Удобно