PageSourceSearch

http://guwi.ru/

html guwi.ru collected 2026-10-05 00:16:35 UTC 28,457 bytes, 623 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ru">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <meta name="description" content="Сайт на CMS v2 GUWi.ru">
7    <title>GUWi.ru</title>
8    <link href="/static/css/bootstrap.min.css" rel="stylesheet">
9    <link rel="stylesheet" href="/static/css/all.min.css">
10    <style>
11        body { background: #edeef0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
12        .vk-header {
13            background: #4a76a8;
14            color: white;
15            padding: 8px 0;
16            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
17            position: sticky;
18            top: 0;
19            z-index: 1000;
20        }
21        .vk-header .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
22        .vk-header .logo a { color: white; text-decoration: none; font-size: 1.4em; font-weight: bold; }
23        .vk-header .user-menu { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
24        .vk-header .user-menu a { color: white; text-decoration: none; }
25        .vk-header .user-menu .user-info { color: #e0e0e0; }
26        .sidebar {
27            position: fixed;
28            top: 60px;
29            left: 0;
30            bottom: 0;
31            width: 220px;
32            background: white;
33            border-right: 1px solid #d3d9de;
34            overflow-y: auto;
35            padding-top: 15px;
36            z-index: 900;
37            transition: left 0.3s ease;
38        }
39        .sidebar ul { list-style: none; padding: 0; margin: 0; }
40        .sidebar ul li { border-bottom: 1px solid #edeef0; }
41        .sidebar ul li a {
42            display: block;
43            padding: 12px 20px;
44            color: #2c5f8a;
45            text-decoration: none;
46            font-size: 14px;
47            font-weight: 500;
48        }
49        .sidebar ul li a:hover { background: #edeef0; }
50        .main-content {
51            margin-left: 240px;
52            padding: 20px;
53            min-height: 100vh;
54        }
55        .menu-toggle {
56            display: none;
57            background: #4a76a8;
58            color: white;
59            border: none;
60            border-radius: 4px;
61            padding: 8px 12px;
62            font-size: 24px;
63            cursor: pointer;
64        }
65        @media (max-width: 768px) {
66            .sidebar {
67                left: -240px;
68                top: 56px;
69            }
70            .sidebar.open { left: 0; }
71            .main-content { margin-left: 0; }
72            .menu-toggle { display: block; }
73        }
74        .card {
75            background: white;
76            border-radius: 8px;
77            box-shadow: 0 1px 0 0 #d3d9de, 0 1px 2px 0 rgba(0,0,0,0.1);
78            margin-bottom: 20px;
79        }
80        .card-header { background: #f8f9fa; border-bottom: 1px solid #edeef0; font-weight: 600; }
81        .btn-primary {
82            background: #4a76a8;
83            border-color: #4a76a8;
84            color: white !important;
85        }
86        .btn-primary:hover,
87        .btn-primary:active,
88        .btn-primary:focus {
89            background: #3a5f8a !important;
90            border-color: #3a5f8a !important;
91            color: white !important;
92        }
93        .btn-read-more {
94            background: #4a76a8;
95            border-color: #4a76a8;
96            color: white !important;
97        }
98        .btn-read-more:hover,
99        .btn-read-more:active,
100        .btn-read-more:focus {
101            background: #4a76a8 !important;
102            border-color: #4a76a8 !important;
103            color: white !important;
104            box-shadow: none;
105        }
106        .flashes { list-style: none; padding: 0; }
107        .flashes li { padding: 10px; border-radius: 4px; margin-bottom: 10px; }
108        .flashes .success { background: #d4edda; color: #155724; }
109        .flashes .danger { background: #f8d7da; color: #721c24; }
110        .flashes .warning { background: #fff3cd; color: #856404; }
111        .post-card {
112            background: white;
113            border-radius: 8px;
114            box-shadow: 0 1px 0 0 #d3d9de, 0 1px 2px 0 rgba(0,0,0,0.1);
115            margin-bottom: 20px;
116            padding: 15px;
117        }
118        .post-header {
119            display: flex;
120            align-items: center;
121            margin-bottom: 10px;
122        }
123        .post-header .avatar {
124            width: 40px;
125            height: 40px;
126            border-radius: 50%;
127            background: #4a76a8;
128            color: white;
129            display: flex;
130            align-items: center;
131            justify-content: center;
132            margin-right: 12px;
133            font-weight: bold;
134            font-size: 18px;
135            flex-shrink: 0;
136        }
137        .post-header .post-info { flex: 1; }
138        .post-header .post-author { font-weight: 600; color: #2c5f8a; text-decoration: none; }
139        .post-header .post-date { font-size: 12px; color: #939393; }
140        .post-content { line-height: 1.5; margin-bottom: 10px; color: #000; }
141        .post-images { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; justify-content: center; }
142        .post-images img { max-width: 100%; max-height: 400px; border-radius: 8px; }
143        .page-content pre, .page-content code {
144            white-space: pre-wrap;
145            font-family: 'Courier New', monospace;
146            background-color: #f4f4f4;
147            border: 1px solid #ddd;
148            border-radius: 4px;
149            padding: 0.5rem;
150            display: block;
151            overflow-x: auto;
152        }
153        .pagination { flex-wrap: wrap; }
154        @media (max-width: 768px) {
155            .main-content { padding: 10px; }
156            .post-header .avatar { width: 30px; height: 30px; font-size: 14px; }
157        }
158        .text-end { text-align: right; }
159        .text-center { text-align: center; }
160        /* Стили для страниц ошибок */
161        .error-page {
162            min-height: 60vh;
163            display: flex;
164            align-items: center;
165            justify-content: center;
166        }
167        .error-page .error-icon {
168            font-size: 6rem;
169            color: #4a76a8;
170            margin-bottom: 1rem;
171        }
172        .error-page h1 {
173            font-size: 5rem;
174            font-weight: 700;
175            color: #4a76a8;
176        }
177        .error-page h3 {
178            margin-bottom: 1rem;
179            color: #2c3e50;
180        }
181        .error-page p {
182            color: #6c757d;
183            max-width: 500px;
184            margin: 0 auto 1.5rem;
185        }
186        .error-page .btn {
187            padding: 0.75rem 2rem;
188            font-size: 1.1rem;
189            border-radius: 50px;
190        }
191        .error-page .card {
192            max-width: 600px;
193            margin: 0 auto;
194            padding: 2rem;
195            text-align: center;
196        }
197    </style>
198</head>
199<body>
200<header class="vk-header">
201    <div class="container">
202        <div style="display: flex; align-items: center; gap: 15px;">
203            <button class="menu-toggle" id="menu-toggle">☰</button>
204            <div class="logo"><a href="/">GUWi.ru</a></div>
205        </div>
206        <div class="user-menu">
207            
208                <a href="/login">Войти</a>
209                
210            
211        </div>
212    </div>
213</header>
214
215<nav class="sidebar" id="sidebar">
216    <ul>
217        <li><a href="/"><i class="fas fa-home"></i> Главная</a></li>
218        
219            
220                <li><a href="/?p=1" target="_self">Портфолио проектов GUWi.ru</a></li>
221            
222        
223            
224                <li><a href="/?p=430" target="_self">Смольняковщина</a></li>
225            
226        
227        
228    </ul>
229</nav>
230
231<main class="main-content">
232    
233        
234    
235    
236<div class="container-fluid">
237    <form method="get" action="/" class="search-form mb-4">
238        <div class="input-group">
239            <input type="text" name="q" class="form-control" placeholder="Поиск по страницам..." value="" required>
240            <button type="submit" class="btn btn-primary">Найти</button>
241            
242        </div>
243    </form>
244
245    
246
247    <div id="pages-container">
248        
249            
250                <div class="post-card">
251    <div class="post-header">
252        <div class="avatar">
253            
254                П
255            
256        </div>
257        <div class="post-info">
258            
259                <a href="/?p=1" class="post-author">Портфолио проектов GUWi.ru</a>
260            
261            <span class="post-date">28.07.2026 18:56</span>
262        </div>
263    </div>
264    
265        <div class="post-content"><!-- ====== НАЧАЛО КОНТЕНТА (видимый текст для превью) ====== -->
266<div class="guwi-projects-container">
267  <h1>🚀 Проекты GUWi.ru</h1>
268  <div class="subhead">
269    Реализованные, тестовые и внутренние сервисы — полный список
270  </div>
271
272  <!-- Реализованные проекты -->
273  <div class="category">
274    <div class="category-title">
275      ✅ Реализованные
276      <span>8</span>   <!-- исправлено: теперь 8 -->
277    </div>
278    <div class="project-grid">
279      <div class="project-card">
280        <div class="project-icon">🌐</div>
281        <a href="http://guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">guwi.ru <small>главный сайт</small></a>
282      </div>
283      <div class="project-card">
284        <div class="project-icon">🌐</div>
285        <a href="http://cms-v1.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">cms-v1.guwi.ru <small>сайт cms-v1</small></a>
286      </div>
287      <div class="project-card">
288        <div class="project-icon">👥</div>
289        <a href="http://x1.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">x1.guwi.ru <small>соцсеть</small></a>
290      </div>
291      <div class="project-card">
292        <div class="project-icon">📁</div>
293        <a href="http://files1.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">files1.guwi.ru <small>файлообменник</small></a>
294      </div>
295      <div class="project-card">
296        <div class="project-icon">✏️</div>
297        <a href="http://doska.guwi.ru:5010/board/PeaktcazdYA" target="_blank" rel="noopener noreferrer" class="project-link">doska.guwi.ru <small>интерактивная доска</small></a>
298      </div>
299      <div class="project-card">
300        <div class="project-icon">💬</div>
301        <a href="http://im1.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">im1.guwi.ru <small>мессенджер</small></a>
302      </div>
303      <div class="project-card">
304        <div class="project-icon">📻</div>
305        <a href="http://radio-m.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">radio-m.guwi.ru <small>интернет-радио Марина А.</small></a>
306      </div>
307      <div class="project-card">
308        <div class="project-icon">📻</div>
309        <a href="http://radio-i.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">radio-i.guwi.ru <small>интернет-радио Илья А.</small></a>
310      </div>
311    </div>
312  </div>   <!-- закрытие категории "Реализованные" -->
313
314  <!-- Тестовые проекты -->
315  <div class="category">
316    <div class="category-title">
317      🧪 Тестовые
318      <span>2</span>
319    </div>
320    <div class="project-grid">
321      <div class="project-card">
322        <div class="project-icon">📊</div>
323        <a href="http://test-crm.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">test-crm.guwi.ru <small>CRM для продаж</small></a>
324      </div>
325      <div class="project-card">
326        <div class="project-icon">📄</div>
327        <a href="http://test-cms-v1.guwi.ru/" target="_blank" rel="noopener noreferrer" class="project-link">test-cms-v1.guwi.ru <small>тестовая CMS v1</small></a>
328      </div>
329    </div>
330  </div>
331
332  <!-- Локальные проекты -->
333  <div class="category">
334    <div class="category-title">
335      🖥️ Локальные (внутренние)
336      <span>4</span>
337    </div>
338    <div class="project-grid">
339      <div class="project-card">
340        <div class="project-icon">🔗</div>
341        <a href="http://10.0.0.7:5102/" target="_blank" rel="noopener noreferrer" class="project-link">Web Proxy <small>10.0.0.7:5102</small></a>
342      </div>
343      <div class="project-card">
344        <div class="project-icon">📈</div>
345        <a href="http://10.0.0.7:5025/" target="_blank" rel="noopener noreferrer" class="project-link">Мониторинг <small>10.0.0.7:5025</small></a>
346      </div>
347      <div class="project-card">
348        <div class="project-icon">🛠️</div>
349        <a href="http://10.0.0.7:5026/" target="_blank" rel="noopener noreferrer" class="project-link">ServiceDesk <small>10.0.0.7:5026</small></a>
350      </div>
351      <div class="project-card">
352        <div class="project-icon">📦</div>
353        <a href="http://10.0.0.7:5101/" target="_blank" rel="noopener noreferrer" class="project-link">Менеджер приложений <small>10.0.0.7:5101</small></a>
354      </div>
355    </div>
356  </div>
357
358  <!-- футер -->
359  <div style="margin-top: 16px; font-size: 0.75rem; color: #94a3b8; text-align: center; border-top: 1px solid #e2e8f0; padding-top: 12px;">
360    Актуально на 2026 г. · Все ссылки открываются в новой вкладке
361  </div>
362</div>
363
364<!-- ====== СТИЛИ (без изменений) ====== -->
365<style>
366  .guwi-projects-container * {
367    box-sizing: border-box;
368    margin: 0;
369    padding: 0;
370  }
371
372  .guwi-projects-container {
373    max-width: 1200px;
374    margin: 0 auto;
375    padding: 12px 15px;
376    font-family: 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
377    color: #1e293b;
378    background: #f8fafc;
379    border-radius: 20px;
380    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
381  }
382
383  .guwi-projects-container h1 {
384    font-size: 1.8rem;
385    font-weight: 600;
386    margin-bottom: 4px;
387    letter-spacing: -0.5px;
388    background: linear-gradient(135deg, #0f172a, #3b82f6);
389    -webkit-background-clip: text;
390    -webkit-text-fill-color: transparent;
391    background-clip: text;
392  }
393
394  .guwi-projects-container .subhead {
395    font-size: 1rem;
396    color: #64748b;
397    margin-bottom: 18px;
398    border-left: 4px solid #3b82f6;
399    padding-left: 14px;
400    font-weight: 400;
401  }
402
403  .guwi-projects-container .category {
404    margin-bottom: 18px;
405  }
406
407  .guwi-projects-container .category-title {
408    font-size: 1.25rem;
409    font-weight: 600;
410    color: #0f172a;
411    margin-bottom: 10px;
412    display: flex;
413    align-items: center;
414    gap: 8px;
415    border-bottom: 2px solid #e2e8f0;
416    padding-bottom: 6px;
417  }
418
419  .guwi-projects-container .category-title span {
420    background: #dbeafe;
421    color: #1e40af;
422    font-size: 0.75rem;
423    font-weight: 700;
424    padding: 2px 10px;
425    border-radius: 30px;
426    margin-left: 8px;
427  }
428
429  .guwi-projects-container .project-grid {
430    display: grid;
431    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
432    gap: 10px;
433  }
434
435  .guwi-projects-container .project-card {
436    background: #ffffff;
437    border-radius: 16px;
438    padding: 12px 14px;
439    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
440    transition: all 0.2s ease;
441    border: 1px solid #eef2f6;
442    display: flex;
443    align-items: center;
444    gap: 10px;
445  }
446
447  .guwi-projects-container .project-card:hover {
448    transform: translateY(-3px);
449    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07);
450    border-color: #b9d0f0;
451    background: #fafcff;
452  }
453
454  .guwi-projects-container .project-icon {
455    font-size: 1.6rem;
456    line-height: 1;
457    flex-shrink: 0;
458    width: 32px;
459    text-align: center;
460    color: #3b82f6;
461  }
462
463  .guwi-projects-container .project-link {
464    text-decoration: none;
465    font-weight: 500;
466    color: #1e293b;
467    font-size: 0.95rem;
468    word-break: break-word;
469    transition: color 0.15s;
470  }
471
472  .guwi-projects-container .project-link:hover {
473    color: #2563eb;
474    text-decoration: underline;
475  }
476
477  .guwi-projects-container .project-link small {
478    font-weight: 400;
479    color: #64748b;
480    font-size: 0.7rem;
481    display: block;
482    margin-top: 2px;
483    opacity: 0.7;
484  }
485
486  @media (max-width: 600px) {
487    .guwi-projects-container .project-grid {
488      grid-template-columns: 1fr;
489    }
490    .guwi-projects-container h1 {
491      font-size: 1.5rem;
492    }
493  }
494</style></div>
495        
496        
497    
498</div>
499            
500                <div class="post-card">
501    <div class="post-header">
502        <div class="avatar">
503            
504                С
505            
506        </div>
507        <div class="post-info">
508            
509                <a href="/?p=430" class="post-author">Смольняковщина</a>
510            
511            <span class="post-date">28.07.2026 18:55</span>
512        </div>
513    </div>
514    
515        <div class="post-content"><!-- Весь контент обёрнут в класс .smolnyakov-article -->
516    <div class="smolnyakov-article">
517
518«Я за любой кипиш кроме голодовки» Е.В. Смольняков.
519
520        <p><strong>Смольняковщина</strong> (далее С.) — стиль управления людьми, основанный в 2013 году Е. В. Смольняковым в одном из подразделений одного предприятия одного провинциального городка. Основной принцип С. — создать движуху; напрячь работников; пусть даже бесцельно и бессмысленно — но они должны куда-то стремиться; куда-то всё время опаздывать. Нередко для обеспечения такой напряжённости начальнику приходится ставить срочную задачу в последний день рабочей недели, под конец рабочего дня.</p>
521
522        <p>Каждый раз руководитель, придерживающийся такого стиля, будет натыкаться на сопротивление исполнителей, приводящих вполне разумные доводы. Поэтому такой руководитель обязан мастерски владеть искусством спора и каждый раз убеждать работников начать суетиться именно сейчас.</p>
523
524        <p>Из-за большого количества откровенной демагогии в подразделении, где царствует С., одно и то же утверждение довольно часто меняет свой статус из правдивого в ложное и обратно, но каждый раз такая смена статуса оправдывается тем, что исполнитель, снова проиграв спор, идёт работать, пусть даже труд этот никому не нужен. Зачастую победа в таких спорах обеспечивается применением термина, который не знаком исполнителю. Ведь в результате работнику приходится спрашивать: «А что это такое?», а в ответ на такое всегда можно сказать: «Вот будешь выполнять — заодно и узнаешь».</p>
525
526        <p>На момент написания статьи сложились своего рода заповеди, которые помогают работникам выживать в тяжёлых условиях С.:</p>
527
528        <ol>
529            <li>
530                <strong>Перенеси срок.</strong> Даже если задача выполнена или отменена — надо сделать всё во имя движухи. Поговорить в общем, как должно быть и как это сделано там-то и там-то, запланировать кучу мероприятий, но только не завершать ничего. Одна из проблем в условиях С. — это отделить реально важные дела от тех, которые направлены на создание движухи. Поэтому лучше не торопиться с выполнением, а следовательно, один раз точно срок придётся переносить. Просто если ты по глупости возьмёшь да и выполнишь задачу в срок или, ещё хуже, раньше срока, то начальник узнает, что где-то движуха остановилась, и её срочно надо возобновить. В результате тебе столько прилетит, что в следующий раз будешь знать, как срок не переносить.
531            </li>
532            <li>
533                <strong>Возрази.</strong> В условиях С. надо уметь спорить — иначе будешь вкалывать как Папа Карло. Поэтому сотрудники постоянно не согласны друг с другом. И так происходит не потому, что они правда не согласны, а потому что если ты не дай бог с кем-то согласишься — то тут же будешь оспорен другими, даже если прав.
534            </li>
535            <li>
536                <strong>Не утверждай.</strong> Особенно если не готов защитить сказанное. Согласно заповеди №2, ты тут же услышишь, что не прав, поэтому перед тем как что-то говорить, лучше запастись парочкой новых терминов, которые помогли бы тебе выиграть предстоящий спор, как минимум против начальника, а то и против всего отдела.
537            </li>
538            <li>
539                <strong>Спроси первым.</strong> Если ты сидишь и спокойно работаешь, и тут видишь, как начальник медленно идёт в твою сторону — будь готов услышать, что ты занимаешься ерундой и надо срочно делать что-то другое. Такие потрясения заставили исполнителей разработать защитный приём «Спроси первым». Обычно он начинается со слов: «О! А я как раз хотел тебя спросить…». Дальше не важно, главное, чтобы было более-менее интересно. Если получится увлечь начальника, то он забудет, зачем изначально к тебе шёл, и уйдёт к себе, а ты продолжишь спокойно работать, либо начнётся регламентированный перерыв (обычно такие разговоры длятся именно до перерыва).
540            </li>
541        </ol>
542
543        <p>Применение С. приводит к некоторым следствиям:</p>
544
545        <ul class="custom-list">
546            <li>Выполнение бесцельных, на первый взгляд, задач в ряде случаев приводит к полезным результатам. Исполнитель всё равно осмыслит даже самую глупую задачу. И пусть приходится делать что-то не совсем приятное, но время-то всё равно жалко. Вот и получается в итоге что-то хорошее. (Если, конечно, дадут доделать.)</li>
547            <li>Огромной проблемой становится согласование док
547ументов внутри отдела. Ведь начальник по натуре своей во всём со всеми не согласен, ему чрезвычайно тяжело поставить визу «Согласовано» даже на самом пустяковом документе. Просто тоннами копятся десятки версий различных документов на стадии разработки.</li>
548            <li>Как следствие — Е.В. Смольняков практически в любом явлении видит, что можно улучшить, как должно быть, но даже если так сделать, то всё равно можно ещё усовершенствовать — а потом ещё и ещё. В результате появляется задача, которая звучит разумно, но кажется невозможной для исполнителя. Вот и приходится каждый раз убеждать, что это возможно. И когда всё получается — со стороны результат кажется идеальным. Да только вот начальник снова видит, что здесь что-то не так…</li>
549        </ul>
550
551        <div class="date">
552            31.01.2020 14:45 «Админ должен быть ленив».
553        </div>
554
555    </div>
556    <!-- Конец контейнера .smolnyakov-article --></div>
557        
558        
559    
560</div>
561            
562        
563    </div>
564
565    
566        
567            
568        
569    
570</div>
571
572
573
574</main>
575
576<script src="/static/js/bootstrap.bundle.min.js" defer></script>
vendor: 1 bytes, line 576
576
577<script>
578    const menuToggle = document.getElementById('menu-toggle');
579    const sidebar = document.getElementById('sidebar');
580    if (menuToggle) {
581        menuToggle.addEventListener('click', function(e) {
582            e.stopPropagation();
583            sidebar.classList.toggle('open');
584        });
585    }
586    document.addEventListener('click', function(e) {
587        if (window.innerWidth <= 768 && sidebar.classList.contains('open')) {
588            if (!sidebar.contains(e.target) && e.target !== menuToggle) {
589                sidebar.classList.remove('open');
590            }
591        }
592    });
593    window.csrfToken = "z2aRyr62aOUDwLH2-uFNg2WWYuxcQLeDIn3VVu5-QlU";
594
595    (function() {
596        var flashContainer = document.getElementById('flash-messages');
597        if (flashContainer) {
598            var delay = parseInt('2') * 1000;
599            setTimeout(function() {
600                var items = flashContainer.querySelectorAll('li');
601                items.forEach(function(item) {
602                    var alert = bootstrap.Alert.getInstance(item);
603                    if (alert) {
604                        alert.close();
605                    } else {
606                        item.style.transition = 'opacity 0.5s';
607                        item.style.opacity = '0';
608                        setTimeout(function() {
609                            item.style.display = 'none';
610                        }, 500);
611                    }
612                });
613                setTimeout(function() {
614                    if (flashContainer.children.length === 0) {
615                        flashContainer.style.display = 'none';
616                    }
617                }, 600);
618            }, delay);
619        }
620    })();
621</script>
621
622</body>
623</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.