Обновить
4
@Alex_MEread⁠-⁠only

Пользователь

7
Подписчики
Отправить сообщение

Так дома как раз и арч.

Виртуальный офис? Т.е. напялить на голову дисплей, чтоб на нем нарисовать виртуальный дисплей меньшего размера, который занимает только часть пикселей реального? А из-за 3д трансформации текст явно будет хуже, чем нативный. И это потребует вычислительных мощностей несравненно больше, чем для простого рисования текста.


Можно зайти в обычную кафешку с интернетом, сесть, заказать кофе — и работать, видя перед собой столько мониторов, сколько нужно. Любого размера, настроенных специально под вас, с вашими папками и ярлыками. Всё так же, как если бы вы работали дома или в супер-обустроенном офисе.

У меня арчлинукс с тайловым оконным менеджером. Дайте угадать, я пролетаю, а все это "как дома" работает для тех, у кого дома и так стандартное окружение

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


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

По поводу белого/черного ящика.
Я занимаюсь разработкой на C, и в коде можно встретить выделение памяти с проверкой. Да, это очень простой случай, да, можете сказать, что не всегда нехватка памяти приведет к NULL, но тем не менее, подойдет для примера:


int* array = (int*)malloc(size * sizeof(int));
if (array == NULL) {
    //  handle error
}

Соответственно, если мы хотим проверить, что такой случай обрабатывается, необходимо написать тест. Придется замокать функцию malloc и заствить наш мок вернуть NULL. Все, здесь мы используем уже подход белого ящика. Да, придется править тест при существенном изменении реализации. Щито поделать.


На практике подход тестирования обычно гибридный — какие-то тест кейсы тестируют то, что видно с точки зрения интерфейса (черный ящик), но какие-то тестируют и вот что-то в этом духе.

Лично я считаю unit-тестом всё, что не зависит от "реального мира" — файловых операций, сетей, БД итп итд. Так-то можно всю систему представить как "юнит", замокав только "внешний мир".


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


Более того, я бы добавил, что зависимости между модулями могут быть:


  • зависят — это как пример у автора. Один модуль/сервис взаимодействует тем или иным образом с внешним (с точки зрения модуля) модулем. Например, модуль формирования приветствия и модуль БД.
  • включает — модуль целиком используется "внутри" другого модуля. Сферический пример в вакууме: мы зачем-то решили сделать свой класс строк, и он используется в модуле формирования приветствия. Логичным будет тестировать как класс строки, так и модуль формирования приветствия, при этом при его тестировании мы абстрагируемся от каких-то там строк внутри и тестируем его интерфейс. Мне кажется логичным, что в данном примере не имеет никакого смысла выносить класс строки "вовне", реализовывать принцип портов и мокать его.

ИМХО, в любом сколько-нибудь сложном проекте будут оба типа зависимостей.

Банальная визуализация по резерфордской модели с орбитами и шариками? Банально. Слишком банально и слишком неточно. От гугла можно было бы ожидать более интересный проект.

Например

Я могу ошибаться, чего-то не понимать и не знать, но, ИМХО, сейчас криптовалюты используются в оснлвном не как анонимное децетрализованное платежное средство, а как просто еще один способ зарабатывать самые обыкновенные доллары.

Как мне кажется, основные пользователи крипты - это майнеры и трейдеры. При этом она замкнуты контуром обратной связи: повышение рыночной цены криптовалюты (что есть результат торгов, как я понимаю) привлекает новых людей в майнинг (либо привлекает к наращиванию мощностей) как к способу получения пассивного дохода, а увеличение кол-ва майнеров и общей информационной шумихи поднимают рыночную стоимость.

При этом именно по-настоящему используется (для совершения покупок, сделок итп) крипта либо энтузиастами/гиками, либо для совершения незаконных операций (шифровальщики и все такое).

Да, майнинг не для совсем простых зевак. Но он все еще привлекает в первую очередь тех, кто хочет заработать, а не тех, кто является энтузиастом криптовалют. Да и микроферм на 4-10 карт довольно много и собрать ее вполне по карману многим.

Уже года три, если память не изменяет, слышу про отказ от PoW. Эфир переход на PoS все откладывает и откладывает.


Я правильно понимаю, что переход на PoS снизит доходы майнеров и обесценит всю ту кучу железа? Что им помешает в таком случае сделать форк эфира? Если на него начнут переходить, то и его рыночная стоимость начнет расти, и в какой-то момент все перейдут. Ну или перейдут на какой-то альткоин, к примеру, сейчас ravencoin поднимается, и видеокарты вновь сметают.

  1. Правильно, откуда берется норма на выполнение задачи? Рассмотрим ситуацию даже без намеренного умышленного пинания балды и левака
    1.1. Может, работник очень способен и решает задачи быстрее, чем средний разраб такого же уровня. Или, наоборот, медленнее. Это влияет на время, требуемое для достижения результата
    1.2. Как зависит количество и качество результата от времени работы? Возможно, что существует максимум функции, т.е. определенное время пинания балды приводит к повышению времени продуктивной работы в целом
  2. Все это верно и в обратную сторону — бизнес может ошибаться в оценке ставить задач больше, чем могут выполнить сотрудники за единицу времени, что приводит к переработкам, падению качества итп.

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

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

Просто ради любопытства: какой уровень вы считаете нормальным?

Вот прям скопипастить as is? А ведь у кода со стаковерфлоу есть лицензия (CC, но это не точно), которая может быть не совместима с лицензией вашего продукта

линейные типы, которые позволяют иметь типа-мутабельные вещи в ФП со всеми ништяками

Есть ли у вас направление живительного пинка в гугл, по которому про это можно узнать подробнее? Ну, кроме wiki

В худшем случае у replace сложность O(N) от размера строки (ее придется раздвинуть). И Ваш код имеет сложность O(N^2) (худший случай — замена каждого символа). Правда, по условиям задачи, меньше (замен до 100, длина до 1000).


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

Посыл данной статьи перекликается с этой: Лучшее что вы можете сделать со своими мыслями — это превратить их в текст


Краткая выжимка

И ещё четыре инсайта от человека, который больше 17 лет мыслит с помощью блога в ЖЖ и благодаря этому получает феноменальные результаты.

Оказалось, что уже 17 лет он использует для этого не модные программы по типу TheBrain, а блог в Живом Журнале. Он называется «Лабораторный Журнал»и представляет из себя нескончаемый «лог» всего, что автор узнает, обдумывает и хочет запомнить.

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

В блог попадают не все подряд, а только то, что было осмысленно и собрано в какой-то смысловой ряд. Т.е одна заметка — это чаще всего серия из размышлений, а не одна конкретная мысль.


Изначально мысли копятся в виде заметок\ссылок, а потом собираются в одну статью и выкладываются на публику.


Это то, что Анатолий Игоревич обозначает как «мышление письмом». Когда в процессе выгрузки мыслей из головы на «бумагу» они превращаются из разрозненной каши в то, что имеет ценность и что в будущем можно использовать повторно.

Теги, папки и любая другая структура для персональной базы знаний — это зло

несмотря на то, что в «живом цеттелькастене Левенчука» уже более 6000 полноценных заметок и около 11 000 комментариев (почти каждый из которых тянет на отдельную «карточку»), он без проблем ориентируется в нём за счёт… гугла.


Чтобы найти что-то или освежить память автор просто идет в гугл и делает поиск по своему персональному домену (ailev.livejournal.com: запрос).

В Meshtastic LoRaWAN используется или какие-то собственные технологии поверх LoRa? Прошу прощения, если вопрос глупый, я не очень в LoRaWAN разбираюсь и не знаю, там требуется центральный узел или нет.


В статье (https://habr.com/ru/company/ruvds/blog/556492/) создавался какой-то трекер кота через LoRaWAN и некий The Things Network поверх. Я так и не понял, TTN — это меш или только гейтвей в интернет. Гейтвеем во "внешний мир", как я понял, вы не особо сейчас интересуетесь, но все же.


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


P.S.
Ну, а если мечты мечтать на тему различных децентрализованных сетей, то идеальным вариантом видится некий mesh-transport-over-everything:


  • инфраструктура меш сети сетевого (или транспортного) уровня, которая может работать как поверх различных физических протоколов, таких как LoRa и другие, WiFi (wifi меш возможен и может быть полезен), так и поверх сети (оверлейная сеть)
  • и которая позволяет завернуть в себя различный трафик, будь то датчики, чаты, легкий веб и так далее

Люблю меш-сети, но у меня вопрос: это yet another mesh? Или я не прав, и таких технологий мало? Просто читая новости, создаётся впечатление, что существует больше количество разных несвязанных и несовместимых реализаций меш-сетей, каждая из которых имеет скромное сообщество энтузиастов.

А как вы оценивали величины X, Y, Z?

Информация

В рейтинге
Не участвует
Откуда
Волгоградская обл., Россия
Зарегистрирован
Активность