All streams
Search
Write a publication
Pull to refresh
-19
0
Fortop @Fortop

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

Send message
<?php

use Swoole\Http\Server;
use Swoole\Http\Request;
use Swoole\Http\Response;

$server = new Swoole\HTTP\Server("127.0.0.1", 9501);

$server->on("Start", function(Server $server)
{
    echo "Swoole http server is started at http://127.0.0.1:9501\n";
});

$server->on("Request", function(Request $request, Response $response)
{
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World\n");
});

$server->start();
И никакой тайп-чекер не подскажет, что вот в этом строковом литерале с запросом неправильное название колонки.

image
упс?
Большинство DML запросов принимает параметр where. Чтобы это использовать достаточно раз прочитать мануал.
Второй пример показывает как можно очистить всю таблицу не операцией DELETE FROM а операцией TRUNCATE. Для этого в операции destroy есть параметр truncate.


Т.е. вы даже не понимаете разницы контекста? Беда

DELETE — DML
TRUNCATE — DDL
На коленке за 5 минут. И да, это пхп на ноуте

wrk -c240 -t6 --rate 300000 http://127.0.0.1:9501
Running 10s test @ http://127.0.0.1:9501
6 threads and 240 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.73s 1.02s 3.66s 57.78%
Req/Sec -nan -nan 0.00 0.00%
1916644 requests in 10.00s, 305.25MB read
Requests/sec: 191647.65
Transfer/sec: 30.52MB


Но хайлоад он все же о другом. А не о простеньких наколеночных приложениях.

Я правильно понимаю, что вы только что расписались в отсутствии у вас квалификации?

Вы не знаете как написать на пхп приложение, чтобы оно выдерживало 30млн хитов в сутки?

Спасибо за уточнение.

Т.е интроинспекция будет работать и правильно мне подскажет варианты.

Но возник вопрос, уже скорее не относящийся к самому sequelize.

Я правильно понимаю, что в качестве параметра подобного метода подойдёт объект любого типа, при наличии у него хотя бы одного совпадающего с типом свойства?

Т.е в качестве параметра зайдёт и такое?

interface Something {
    truncate?: boolean;
    other: string;
} 
const something: Something = {
  truncate: true,
  other: "bla-bla-bla" 
};

await User.destroy(something) 

Но что делать, если сборочным инструкциям требуются все файлы, а пересборка должна выполняться при изменении конкретных?

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

Точно точно невозможно?

А слои и наследование образов в докере придумали для дяди Васи?

P. S. И сравнивать в стиле "наша рыба шевелит хвостом (читает собственный формат Stapel), а ваш мальчик (Docker) этого не умеет" - вообще моветон.

И вот, удивительно, оказывается, может быть так, что страна добывает нефть, и бензин у тебя дешевый! Он тут стоит меньше 50 центов за литр.

Как результат — дешевые такси

Не надо таких инсинуаций.
Это арифметика 5го класса.
Внезапно, вопрос не в бензине.

Статистика вот подсказывает цены на бензин
  • Россия 0.75$ (95й)
  • Украина 1$ (95й)
  • Париж 1.9$ (непонятно какая марка)

Какой-нибудь седан за 16к$ и гарантией в 150т км пробега дает вам стоимость амортизации порядка 0.11$ на километр.
Расход возьмем в 10 на 100 в городском цикле (на самом деле может быть меньше).
Сопуствующими расходами пренебрежем, так как автомобиль новый (но они есть и могут повлиять на частности, но не общую картину в целом)

Какая часть стоимости поездки зависит от бенина?
  • В Малайзии из ваших 2.5$ за поездку даже в указанных условиях стоимость бензина не более 30%, амортизация машины к примеру 64%.
  • В Европе (считал для Парижа) поездка 32$ на те же 15км, цена машины та же. Доля ее амортизации в цене 5%, а стоимость бензина в цене поездки аж целых 10%.

Надо ли говорить что Париж в частности и Франция в целом не добывают нефть на своей территории?

Интроинспекция объектов параметров поддерживается ли IDE?

А то вот тут ничерта не понятно

// Удаление пользователя с `id = 2`
await User.destroy({
  where: {
    userId: 2,
  },
})

// Удаление всех пользователей
await User.destroy({
  truncate: true,
})

Почему метод удаления принимает два объекта разной структуры?

Может ли разработчик понять какие вообще структуры примет метод не перечитывая мануалы?

Почитывая данного автора я все больше склоняюсь к мысли, что Ализар-то и неплох в сравнении с этим шлаком в статьях...

В рамках OpenAPI никак — это не его задача (во всяком случае так им декларируется).

Можете попробовать PaCT тестирование, но он ортогонален самому OpenAPI и может быть использован для произвольного API.

Или подвязаться на bitbucket.org/atlassian/swagger-mock-validator/src/master

Но опять же — это про тестирование апи по факту.
Уже миллионы раз обсасывалось.

Самый качественный общий показатель — это средняя продолжительность жизни страты.

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

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


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

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

А тот самый редчайший случай имеет смысл только тогда, когда оба магазина имеют абсолютно одинаковый структуры данных.

Нужно ли говорить насколько это редкий случай?

Можно узнать какую нагрузку держали ваши проекты в контексте хайлоад?

Вот у меня в резюме имеется опыт создания проекта с 30+ млн хитов в сутки. На пхп и первом зенде.

Это достаточный хайлоад или ещё нет?

Или составные ключи вида namespace + id

Где namespace уникален и у каждой связанной базы свой

следующий шаг в направлении дальнейшего снижения налога на инфраструктуру

Я уже хочу матюкаться от этой непрерывной лжи.

Нет снижения. Есть совершенно конские ценники для пользователей.

Выиграть в цене можно только в двух вариантах.

В случае наличия своего персонального большого облака (а не кусочка в амазон, ажур, гугле, яндексе или ещё где). Где вы оптимизируете загрузку железа.

Или же при очень специфическом профиле нагрузки, который дай бог у 0.1% пользователей встречается...

А чем закончился эксперимент из P.S.2?

Information

Rating
Does not participate
Location
Донецкая обл., Украина
Date of birth
Registered
Activity