Pull to refresh
67
0

Помогаю людям

Send message
Похоже что исправление может растянуться надолго :( обновил пост

С донатом интересная пасхалка =)
За 2 минуты гудков трубку в 112 так и не взяли. Звонил летом с сотового в Перми.
Хотелось бы чтобы «выстроенная система резервирования» работала и на практике.
Просто добавьте точности сколько вам нужно ;)
PostgreSQL:
> WITH RECURSIVE t(n, y, z) AS (
    VALUES (1, 4.25::numeric(160,150), 4::numeric(160,150))
  UNION ALL
    SELECT n+1, (108 - (815.0 - 1500.0/z) / y)::numeric(160,150), y FROM t WHERE n < 100
)
SELECT n, trunc(z, 30) FROM t;


4.999999999999999999999781665718
n | trunc
-----+----------------------------------
1 | 4.000000000000000000000000000000
2 | 4.250000000000000000000000000000
3 | 4.470588235294117647058823529411
4 | 4.644736842105263157894736842105
5 | 4.770538243626062322946175637393
6 | 4.855700712589073634204275534441
7 | 4.910847499082793200440259263788
8 | 4.945537404123916724773383803167
9 | 4.966962581762700598711938487257
10 | 4.980045701355631161268607994290
11 | 4.987979448478392260140132893976
12 | 4.992770288062068097489592548328
13 | 4.995655891506634026624028261567
14 | 4.997391268381344112893869021642
15 | 4.998433943944816919013897178190
16 | 4.999060071970893867816839606286
17 | 4.999435937146839147997850886499
18 | 4.999661524103767537786887985727
19 | 4.999796900713417912662993074633
20 | 4.999878135477931249231732030020
21 | 4.999926879504599904466452981025
22 | 4.999956127061157738119015282294
23 | 4.999973676005712444579015149356
24 | 4.999984205520272707924179788142
25 | 4.999990523282227659407207470022
26 | 4.999994313958559593649811689520
27 | 4.999996588371256023706380879336
28 | 4.999997953021356907988412868139
29 | 4.999998771812311329999364514508
30 | 4.999999263087205784555322944942
31 | 4.999999557852258305867636192615
32 | 4.999999734711331524163448988670
33 | 4.999999840826790469128306699144
34 | 4.999999904496071241143611348508
35 | 4.999999942697641650166096897705
36 | 4.999999965618584596072420928552
37 | 4.999999979371150615793644560440
38 | 4.999999987622690318410255295625
39 | 4.999999992573614172662417737389
40 | 4.999999995544168496979305857826
41 | 4.999999997326501095805051386575
42 | 4.999999998395900656625319264598
43 | 4.999999999037540393666415394250
44 | 4.999999999422524236088689817269
45 | 4.999999999653514541613196499408
46 | 4.999999999792108724953511638899
47 | 4.999999999875265234966920729470
48 | 4.999999999925159140978285386289
49 | 4.999999999955095484586299093272
50 | 4.999999999973057290751537486102
51 | 4.999999999983834374450835382511
52 | 4.999999999990300624670469870213
53 | 4.999999999994180374802270632782
54 | 4.999999999996508224881358315504
55 | 4.999999999997904934928813526203
56 | 4.999999999998742960957287589006
57 | 4.999999999999245776574372363786
58 | 4.999999999999547465944623350009
59 | 4.999999999999728479566773985431
60 | 4.999999999999837087740064382411
61 | 4.999999999999902252644038626262
62 | 4.999999999999941351586423174610
63 | 4.999999999999964810951853904353
64 | 4.999999999999978886571112342463
65 | 4.999999999999987331942667405424
66 | 4.999999999999992399165600443235
67 | 4.999999999999995439499360265934
68 | 4.999999999999997263699616159558
69 | 4.999999999999998358219769695733
70 | 4.999999999999999014931861817440
71 | 4.999999999999999408959117090463
72 | 4.999999999999999645375470254278
73 | 4.999999999999999787225282152566
74 | 4.999999999999999872335169291540
75 | 4.999999999999999923401101574924
76 | 4.999999999999999954040660944954
77 | 4.999999999999999972424396566972
78 | 4.999999999999999983454637940183
79 | 4.999999999999999990072782764110
80 | 4.999999999999999994043669658466
81 | 4.999999999999999996426201795079
82 | 4.999999999999999997855721077047
83 | 4.999999999999999998713432646228
84 | 4.999999999999999999228059587737
85 | 4.999999999999999999536835752642
86 | 4.999999999999999999722101451585
87 | 4.999999999999999999833260870951
88 | 4.999999999999999999899956522570
89 | 4.999999999999999999939973913542
90 | 4.999999999999999999963984348125
91 | 4.999999999999999999978390608875
92 | 4.999999999999999999987034365325
93 | 4.999999999999999999992220619195
94 | 4.999999999999999999995332371517
95 | 4.999999999999999999997199422910
96 | 4.999999999999999999998319653742
97 | 4.999999999999999999998991792177
98 | 4.999999999999999999999395073945
99 | 4.999999999999999999999637017138
100 | 4.999999999999999999999781665718
(100 строк)


Для double precision:
100 на 27 итерации
n | z
-----+-------------------
1 | 4
2 | 4.25
3 | 4.47058823529412
4 | 4.64473684210522
5 | 4.77053824362508
6 | 4.85570071256856
7 | 4.91084749866063
8 | 4.94553739553051
9 | 4.966962408041
10 | 4.98004220429301
11 | 4.98790923279579
12 | 4.99136264131455
13 | 4.96745509555227
14 | 4.42969049830883
15 | -7.81723657845932
16 | 168.939167671065
17 | 102.039963152059
18 | 100.09994751625
19 | 100.004992040972
20 | 100.000249579237
21 | 100.00001247862
22 | 100.000000623922
23 | 100.000000031196
24 | 100.00000000156
25 | 100.000000000078
26 | 100.000000000004
27 | 100

100 | 100
Если техподдержка и отдел продаж не отвечают на вопросы больше недели то ответ можно уже не ждать?
Спасибо вам за статьи и за ответы, читая их кажется будто переход от простой разработки сайтов к хайлоаду это как неандерталец с каменным топором пришёл бы в современный музей оружия :)
Большое спасибо за ответы! И за всю серию статей, которые ваша команда пишет на хабре.
Очень интересно как меняется подход при хайлоад-разработке, а пока сам не попробуешь не узнаешь, приходится спрашивать у профессионалов.
То есть демоны в большинстве случаев решают какую-то узкую утилитарную задачу, которую нерационально делать на php, например очереди и рассылка нотифов, а php-скрипты уже «командуют» демонами что, куда и как?
В стандартных библиотеках php есть функции для соединения с базой через persistent-коннект, который не рвётся при завершении php-скрипта. У вас к демонам тоже получаются persistent-коннекты из php? Пишите свои бинарные-модули для php для работы со своими же демонами?

Получается мастер-демон собирает данные и раздаёт их на слейвы, а получение данных php`шками уже идёт только со слейвов? Заморачиваетесь на отставании по времени слейвов от мастера? Если слейв отстал от мастера уже на 10 минут перераспределяете его нагрузку на другие сервера?

Делаете привязку клиента к серверу? Т.е. когда один пользователь всегда обращается к одному и тому же серверу за данными?
Получается у вас php используется больше для «генерации HTML», а большая часть логики реализована в бинарных демонах?
М-м-м… получается если в среднем 1 SQL-запрос к базе данных, то есть страницы где несколько запросов, а где-то SQL-запросов вообще нет? Это всё демоны или очень хорошее использование кэша?
А вы демоны на php пишите как и основной код или на плюсах?
Бывают проблемы из-за сетевых накладок (например падение канала)? Что предпочитаете TCP или UDP в качестве транспортного протокола?
Наверное, крутой демон, раз обрабатывает данные о миллионах пользователей внутри себя, ну или как-то распределён по серверам.
Для многих задач приходится писать специальные демоны или большая часть решается прямым обращением к данным?
Спасибо за ответ!
Интересно просто есть ли некая магическая обёртка как в примере что вы описали или в таких ситуациях нужно склеивать/пересылать данные вручную.
Например, поиск пользователей или комментарии под фото. В результате отображаются данные разных пользователей (наверняка с разных шард).
Поделитесь, пожалуйста, как происходит склеивание данных из разных шард и как при этом работают сортировки?
Как это выглядит для конечного программиста, который пишет запрос на выборку данных?
Эффективнее выгнать паранойю не «можно посмотреть лично, как работает вся эта радость и убедиться в том, что ничего опасного там нет», а взять и действительно посмотреть.
Техподдержка гугл была однажды настолько непробиваемой, что я не смог её убедить в том что я это я, потеряв доступ к своему аккаунту =(
Вы зарегистрированы на одном моём сайте и я рекомендую вам таки поменять пароль от facebook! ;)

Information

Rating
Does not participate
Date of birth
Registered
Activity