Das Doomsday-Argument

Unter der Annahme, dass die Anzahl \(Y\) aller Menschen, die jemals geboren wurden und irgendwann geboren werden, begrenzt ist, sei \(x\) Deine absolute Position vom Beginn der Liste. Dann ist \(0 < \frac{x}{Y} \leq 1\). Wir können nun mit einer Wahrscheinlichkeit von \(95\%\) sagen, dass Du unter den letzten \(95\%\) aller jemals geborenen Menschen bist, also \(0,05 < \frac{x}{Y} \leq 1\) und damit \(Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\).

.­.­.

Парадокс алкоголіка

Наступне речення відоме як «парадокс п’яниці»: «У пабі хтось є, тож якщо він або вона п’є, то п’ють усі в пабі». Немає значення, чи ця особа заохочує інших пити, чи існує якийсь інший підхід, як ми побачимо за мить. Це гарний приклад математичної логіки першого порядку.

.­.­.

Відгадування числа

Хлопчик думає про число \(1\) , \(2\) або \(3\) , а дівчинці можна поставити лише одне запитання про це число. Хлопчик може відповідати лише « так », « ні » або « не знаю» . Завдяки кмітливому запиту дівчині вдається назвати правильну цифру, про яку думав хлопець після того, як хлопець їй відповів. Яке Ваше запитання?

.­.­.

Об'єкт без походження

Уявіть, що одного разу ви отримуєте таємничу посилку без відправника. Зацікавившись, ви відкриваєте пакунок і знаходите каблучку, яку даруєте доньці. Через десятиліття саме вона може використовувати червоточину, щоб відправляти об’єкти назад у часі. Вона робить це з кільцем, яке ви їй колись подарували, загорнутим у пакунок, який вона адресує вам. Питання: звідки перстень?

.­.­.

CI з GitHub Actions

Як альтернатива високоцінному Travis CI , GitHub Actions також доступний протягом деякого часу.Як інструмент постійної інтеграції, він дуже добре інтегрований у кодову платформу GitHub і тепер дуже стабільний. Дії GitHub базуються на файлах конфігурації YAML, розміщених у сховищі, де має виконуватися робочий процес.

.­.­.

Парадокс Штейна

У 1961 році Джеймс і Стайн опублікували статтю « Оцінка з квадратичними втратами ». Візьміть нормально розподілені дані з невідомим середнім \(\mu\) і дисперсією \(1\) . Якщо тепер ви вибираєте випадкове значення \(x\) із цих даних і повинні оцінити середнє значення \(\mu\) на основі цього, інтуїтивно зрозуміло, що \(x\) є розумною оцінкою для \(\mu\) (оскільки присутній нормальний розподіл, навмання вибране \(x\) , ймовірно, близько \(\mu\) ).

.­.­.

Доступ за допомогою PHP до Exchange/Office 365

Давно оголошенетепер реальність : з вересня 2022 року Microsoft вимкнула автентифікацію за паролем для певних протоколів в Exchange Online на користь oAuth2. Проблеми GitHub з багатьма бібліотеками та сценаріями резервного копіювання ясно показують, що перехід застав багатьох адміністраторів зненацька. Нижче ми покажемо, як ви можете продовжувати отримувати доступ до вмісту вашої поштової скриньки Exchange за допомогою oAuth2 через PHP через IMAP.

.­.­.

UUID в базах даних

UUID (Ідентифікатори універсальних унікальних ідентифікаторів) ​​це 128-бітні значення, які використовуються в базах даних, серед іншого, для унікальної ідентифікації записів таблиці. Вони представлені у вигляді шістнадцяткового рядка, розділеного на п’ять груп, розділених дефісами (приклад: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). існує численні Дискусії про переваги та недоліки UUID в базах даних - вони незамінні в розподілених системах.

.­.­.

Очистити історію Git, частина 2

Конфіденційні дані або надмірне споживання пам’яті: є вагомі причини змінити історію Git. У цій публікації блогу я пояснив, як очистити файли з історії Git за допомогою BFG . Слабкою стороною BFG є відсутність підтримки прямих шляхів , тому ви не можете спеціально видалити файли чи папки у вкладених папках з історії. З огляду на це, настав час поглянути на альтернативні рішення.

.­.­.

Обмеження пам'яті в WordPress

tl; dr: значення, встановлене вручну, або значення за замовчуванням WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT не мають ефекту, якщо WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT менше або дорівнює обмеженню пам’яті PHP (далі memory_limit називається) є. Вони використовуються для встановлення занадто низьких значень memory_limit динамічно до рекомендованого мінімуму.

.­.­.

Швидка порада: змініть iframe

Якщо ви вставляєте сторонній iframe (наприклад, віджет), ви не зможете отримати доступ до його вмісту за допомогою CSS або JavaScript (через так звану політику того самого походження ). Однак існує дуже проста процедура для зміни будь-якого коду (також в інших файлах, які перезавантажуються в iframe). Для цього ви маршрутизуєте URL-адресу через свій власний проксі-сервер PHP і змінюєте вміст за своїм бажанням.

.­.­.

Монети в додатку ANTON

ANTON – одна з найпопулярніших навчальних програм для учнів 1-10 класів. клас. На перший погляд, гейміфікаційний аспект придбання монет («монет») може здатися дорослим дивним – але він помітно примножує мотивацію не лише моїх дітей. Це навіть заощаджує невелику «подушку» з монет, до яких ви не торкаєтеся.

.­.­.

Про надійність IBAN

Як відомо, німецький IBAN складається з коду країни (DE), двозначної контрольної цифри (відповідно до ISO 7064 ), коду банку (8 цифр) та номера рахунку (включно з номером субрахунка, 10-значні, пропущені цифри заповнені провідними нулями) і тому є 22-значними. Для обчислення контрольної цифри формується так званий BBAN (код банку та номер рахунку), а також цифровий код країни \(1314\) для Німеччини та контрольна цифра \(00\) ).

.­.­.

Математика в грі Dobble

На останньому сімейному вечорі діти з ентузіазмом винесли на стіл гру « Доббл» (у виданні «Гаррі Поттер»). Після 5-го програного раунду (без видимого попадання моєї карти гральною картою) мені, на мій подив, сказали, що кожен гравець завжди може знайти влучення в кожному раунді. Але мою недовіру визнали лише подальші втрачені кола – діти були просто швидше.

.­.­.

Час блокування біткойн

Ви знаєте: очікуваний час між двома блоками біткойнів становить в середньому \(10\) хвилин. Тепер ви робите важливу транзакцію біткойн і з нетерпінням чекаєте, щоб побачити, чи з’явиться вона в наступному блоці та коли:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Корона математика

У щотижневому звіті RKI від 11.11.2021 на стор.22 зазначено, що \(36\%\) хворих на коронавірус старше 60 років у відділенні інтенсивної терапії вже повністю вакциновані. У цій віковій групі \(87\%\) повністю вакциновані на даний момент (див. стор. 18).

.­.­.

Розрахунок індексу видимості SISTRIX

Поряд з Xovi, інструмент SISTRIX є найбільш широко використовуваною програмою аналізу в Німеччині в області SEO. Індекс видимості зарекомендував себе як квазістандарт для видимості сторінки в пошуку Google. Параметри, які входять до його розрахунку , пояснюються , наприклад , тут і тут, і тут, і тут, і тут , але точна формула розрахунку офіційно не опублікована. Нижче наведено результати мого шестимісячного особистого дослідження, які не претендують на повноту чи точність.

.­.­.

Десяткові дроби

Кінцеві десяткові числа називаються десятковими дробами, тому що вони є різним представленням дробів зі степенями десяти в знаменнику. Так і є:

$$\frac{z}{n} = \frac{q_1}{1} + \frac{q_2}{10} + \dots + \frac{q_k}{10^k}$$

з \(k \in \mathbb{N}\) і \(q_k\) \(k-1\) -е місце праворуч після коми.

.­.­.

Швидка порада: Автоматично змінюйте версію вузла

Для швидкої установки та зміни версій вузлів рекомендується використовувати nvm . Якщо ви хочете явно вказати необхідну версію вузла в проекті, ви помістіть файл з назвою .nvmrc з точним номером версії (наприклад, "12.10.0") у ту саму папку, в якій знаходиться package.json . Якщо тепер змінити папку, наступне розширення файлу ~ / .bash_profile для bash виконує команду nvm use , яка автоматично встановлює цю версію:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Використовуйте контейнерні запити сьогодні

З тих пір, як існує адаптивний веб -дизайн, розробники запитують про можливість створення елементів DOM на основі їх фактичного розміру, а не розміру вікна перегляду в браузері (за допомогою медіа -запитів ). Насправді, контейнерні запити (спочатку запити елементів), ймовірно, є найбільш затребуваною функцією CSS, якої браузери досі не мають .

.­.­.

Очистіть історію Git

Конфіденційні дані, такі як паролі, повинні міститися у файлах .env і, якщо це можливо, не потрапляти у сховища Git. Але це, мабуть, траплялося з кожним із нас хоча б раз помилково: Швидко опублікував приємний сценарій JS API Карт Google на GitHub Gists (як "загальнодоступний"), не випадково замаскувавши наш власний приватний ключ API Карт.

.­.­.

Вирізайте SVG із зображень із кліп-контуром

Якщо ви хочете вирізати зображення за допомогою SVG, рекомендується використовувати кліп-шлях властивості CSS. Наступний сценарій викликає нерівності бар'єри: SVG можна зберегти за допомогою Illustrator, ви можете вказати (відносну або абсолютну) URL -адресу SVG (Chrome підтримує досі лише вбудований SVG), а виріз також повністю реагує.

.­.­.

Швидка порада: WP_Query та багаторядкові поля

За допомогою атрибута meta_query у потужному класі WP_Query WordPress можна відфільтрувати повідомлення, які мають певні значення у своїх метаполях. Якщо ви створили багаторядкове метаполе (наприклад, за допомогою розширених користувацьких полів ) і хочете знайти в цьому полі лише повідомлення, що містять певне значення, розділені розривами рядків, рекомендується світ REGEX MySQL.

.­.­.

Вбудуйте анімацію Adobe Animate вбудовано

У попередній статті я описав, як можна легко інтегрувати анімацію з Adobe Animate на веб-сайт, об’їжджаючи експорт APNG. Існує також рідний спосіб експортування полотна HTML5 , але той, хто вже працював із ним, виявить, що він застряг у кожному куточку (недостатня швидка підтримка, громіздка інтеграція в існуючий веб-сайт, відсутність різної частоти кадрів для анімації, тощо).). Бібліотека adobe-animate-embed пропонує тут засіб захисту.

.­.­.

Карти Google без ключа API

Зазвичай, інтегруючи Google Maps, ви працюєте з API Maps Maps JavaScript , який вимагає ключ API і може спричинити витрати, які не слід недооцінювати за допомогою вищих номерів доступу. Є чудові альтернативи, такі як mapbox або OpenStreetMap , але вони ще не досягають різноманітності функцій, пропонованих Google. Сама Google також пропонує спосіб без ключа API за допомогою функції спільного доступу, яку ми можемо використовувати для своїх цілей.

.­.­.

Експорт APNG Adobe Animate

Підтримка браузера для анімованих файлів PNG зараз настільки гарна, що анімацію, створену за допомогою Animate CC, можна легко експортувати в APNG, а потім включити на веб-сайт за допомогою простого тегу <img>. Це проста та якісна альтернатива методу публікації в Animate CC, який генерує JavaScript. Кроки, які слід виконати, описані нижче.

.­.­.

Розгорніть пошук на WordPress

Якщо ви хочете розширити власний пошук WordPress, наприклад, метаполями, бажано поглянути на запущені фільтри . Рекомендується гачок posts_search , щоб пагінація продовжувала працювати і майбутні вдосконалення у пошуку не скасовувались . За допомогою функцій REGEXP та ExtractValue наступний код розширює цей пошук, включаючи повідомлення, які містять одне із слів пошуку, введених у всіх метаполях.

.­.­.

Шедевр Годеля

Коли Курт Гедель опублікував свої знамениті теореми неповноти в 1931 році, це похитнуло основи математичної логіки: він спростував, що всі аксіоми, які можна встановити як можливу основу, є неминуче неповними, щоб довести всі твердження про числа - і знищив це Мрія Гільберта довести узгодженість математичної теорії.

.­.­.

Використовуйте WhatsApp через API

Незважаючи на всі проблеми захисту даних, WhatsApp все ще є улюбленим німецьким додатком месенджера. На додаток до спеціального додатка WhatsApp Business , Facebook також створив офіційний інтерфейс - WhatsApp Business API, щоб зробити його цікавішим для компаній. Якщо ви хочете надсилати повідомлення WhatsApp програмно з веб-програми, є й інші способи.

.­.­.

Розмийте сторінку за накладанням за допомогою CSS

Якщо ви використовуєте такі елементи, як накладання (що є правилом за часів дії GDPR) і хочете, наприклад, пом'якшити область за накладанням, ви часто стикаєтеся з проблемою контексту укладання . Наприклад, якщо у вас є елементи, розташовані абсолютно або у фіксованому положенні, вони раптом відображаються інакше, ніж без застосованого фільтра. Але є засіб.

.­.­.

Швидка порада: Спліт-тестування за допомогою Apache

Вам не потрібно використовувати такий потужний інструмент, як Google Optimize, для простих тестів з розбиттям URL-адрес, ви також можете вирішити Apache за допомогою .htaccess. Наступний фрагмент коду розподіляє своїх відвідувачів рівномірно в обох версіях для двох сторінок https://vielhuber.de/test1.php (варіант 1) та https://vielhuber.de/test2.php (варіант 2). Рандомізація базується на поточному часу сервера.

.­.­.

Через позначення розгалужених функцій

Фігурні дужки використовуються при позначенні визначень функцій з різницею регістрів. Ми переслідуємо просте питання, чи можна це представлення також усунути, а функцію звести до позначення, яке обійдеться без нього. Наприклад, функція

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

за допомогою чотирьох основних арифметичних операцій з використанням однорядкового терміна?

.­.­.

Серія дат у Google Таблицях

При візуалізації даних у Google Таблицях виникає проблема, що вісь \(x\) не може автоматично заповнити відсутні пробіли в текстових значеннях (наприклад, у календарних тижнях). Щоб вирішити проблему, ви створюєте безперервний ряд дат, підраховуєте клітинки, що виникають самостійно, а потім візуалізуєте сукупні суми.

.­.­.

Швидка порада: PHP clearstatcache

Знайдіть помилку:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Злом API перекладу Google

Google пропонує API перекладу Google із структурою витрат на основі використання як частину своєї Google Cloud. Існує також недокументований API, який можна використовувати без ключа , але який відмовляється працювати лише після кількох запитів. При використанні функції перекладу веб-сайтів Google Chrome помітно, що сторінки можна перекладати в дуже хорошій якості без будь-яких помітних обмежень.

.­.­.

Швидка порада: Git автопозначення

Якщо ви пов'язуєте Github з Composer , обов'язково присвоюйте номер версії за допомогою тегу git . Наступна команда командного рядка визначає поточний день і збільшує його (за даними SemVer ) на номер версії. Наприклад, версія 1.1.0 випливає після 1.0.9. Якщо тег не призначений, версія автоматично позначається 1.0.0. Такі інструменти, як неміцні гайки або гачки, скорочують цю пустелю символів.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Редагувати тригер MySQL

На жаль, MySQL не пропонує функції ALTER TRIGGER. Щоб відредагувати існуючий тригер, його потрібно спочатку видалити, а потім відновити. Заяву CREATE TRIGGER можна прочитати побічно через схему information_sche . Це дозволяє нам змінювати тригери через об’їзд. Для цього ви вносите зміни в результат наступної команди SELECT (заздалегідь змініть базу даних та ім'я тригера) і виконуєте запит.

.­.­.

Викликати події зміни у VanillaJS

VanillaJS є нарівні з ветераном jQuery майже у всіх сферах, починаючи з ES6, і зараз значно перевершує. Тож окупається поступова міграція застарілого коду з jQuery. Однак ви повинні бути обережними, запускаючи події ручної зміни. Наприклад, document.addEventListener не запускається на jQuery.change () . Наступний огляд узагальнює спеціальні функції.

.­.­.

Керуйте файлами cookie за допомогою PHP та JS

Налаштування файлів cookie за допомогою власних або сторонніх скриптів можна точно контролювати за допомогою PHP та JavaScript. Хоча це не є достатнім рішенням для впровадження рішень cookie після рішення суду проти Planet49 (тут дуже важливо, щоб інструменти відстеження, такі як Google Analytics, навіть не відстежували і, отже, не встановлювали файли cookie), це може мати сенс бути загалом білим / чорним списком файлів cookie.

.­.­.

Деактивуйте пристрої за допомогою сценарію в Windows

З метою економії електроенергії або зменшення вашої власної параноїї доцільно повністю відключити пристрої, які не використовуються на вашому власному комп’ютері. Такі пристрої, як звукові коробки або веб-камери, можна деактивувати / активувати класичним способом за допомогою диспетчера пристроїв. Все це також працює за допомогою сценарію. Раніше стандартним способом цього було devcon . Windows 10 тепер пропонує більш зручний спосіб зробити це за допомогою PowerShell .

.­.­.

Розмиття фону Skype

Skype має приємну, дещо приховану функцію: у разі передачі відео фон може автоматично розмиватися, натискаючи кнопку відео та функцію " Розмити мій фон ". За допомогою штучного інтелекту це працює з будь-якою камерою навіть без глибокої інформації. Тоді все це виглядає більш професійно і на задньому плані згасає приватне чи незначне.

.­.­.

Експорт SVG з Illustrator

SVG відіграють центральну роль у сучасному Інтернеті. Вони не тільки замінили шрифти значків, але також пропонують можливість маніпуляцій за допомогою CSS або JavaScript. Якщо ви хочете зберегти векторну графіку для Інтернету від Adobe Illustrator як SVG, вам потрібно зробити деякі налаштування, щоб уникнути підводних каменів та скоротити час завантаження, про що я розповім у наступній статті.

.­.­.

Проект Ейлера: Lратчасті шляхи

Проект Ейлера - це низка захоплюючих проблем програмування, часто з математичним досвідом. Проблеми часто ставляться таким чином, що для досягнення мети в розумні терміни доводиться розробляти складні алгоритми. Сьогодні ми вирішуємо задачу 15: Lратчасті шляхи , де ви можете знайти рішення простими комбінаторними засобами.

.­.­.

Автоматичне оновлення WordPress

WordPress впровадив фонові оновлення спочатку з версії 3.7 і автоматично активував їх для незначних випусків. За допомогою фільтрів ви можете більш точно контролювати поведінку, що саме автоматично оновлюється. Постійне, повністю автоматичне встановлення всіх незначних, основних, плагінів, тем та перекладів не передбачається, але це може бути зроблено інакше.

.­.­.

OPcache PHP оптимізація завантаження

Наприклад, для веб-сайтів, які базуються на WordPress , Joomla або Laravel і не мають певного вмісту для користувача, доцільно зберігати всі сторінки в статичному кеші HTML і регенерувати кеш лише вручну (або автоматично), коли зміни вносяться у серверну систему. Однак, якщо сторінка містить динамічний вміст, який залежить від сеансів та файлів cookie, а також від мови та місця розташування, OPcache підходить .

.­.­.

Google Sheets: Розширення формул

Для того, щоб розгорнути формули на цілі стовпці в Google Sheets, ми рекомендуємо використовувати корисну функцію ARRAYFORMULA . На жаль, це не працює в поєднанні з деякими іншими важливими функціями, такими як QUERY або INDIRECT , тому вам доведеться повністю індивідуально програмувати логіку за допомогою Google Apps Script або, навпаки, вручну копіювати формулу до останнього рядка.

.­.­.

Парадокс Сімпсона

Парадокс Сімпсона - одне з легко зрозумілих і водночас дивовижних явищ у статистиці. Це відбувається, коли групи даних демонструють певну тенденцію, але ця тенденція змінюється, коли групи об'єднуються. За допомогою простого прикладу парадокс можна зрозуміти відразу.

.­.­.

Швидка порада: Менеджер тегів Google

Менеджер тегів Google зарекомендував себе як фактичний стандарт інтеграції сценаріїв відстеження. Таким чином, з одного боку, обов'язки (Інтернет-маркетинг проти програмування) акуратно розділені, а з іншого боку, Ви можете швидко налаштувати та змінити відстеження за допомогою додаткового каналу розгортання. Ось дві маленькі поради щодо налаштування тригерів.

.­.­.

Коротка порада: Точка доступу WLAN FRITZ! Box

Починаючи з FRITZ! OS 07.10 і далі, якщо інтернет не вдається, FRITZ! Box може тимчасово використовувати бездротову точку доступу стільникового телефону як резервну. Функція прихована в розділі Інтернет> Дані доступу> Інтернет-провайдер> Існуючий доступ через WLAN . Потім FRITZ! Box працює як маршрутизатор і забезпечує мережу з власним діапазоном адрес. Коли Інтернет знову доступний, ви просто скидаєте налаштування. Мені також довелося перевірити параметри WLAN> Радіомережа> Діапазон частот 2,4 ГГц активний та Інтернет> Дані доступу > IPv6> Підтримка IPv6 активна .

.­.­.

Квітка життя

Квітка життя - це знайомий, схожий на квітку, геометричний візерунок, який протягом тисячоліть був знайдений у храмах, рукописах та протягом певного часу в поп-культурі. Візерунок також відіграє певну роль в езотериці. На даний момент ми ігноруємо все це і концентруємося на простій конструкції геометричної фігури, яка складається з кількох рівномірно розташованих, що перекриваються, кіл.

.­.­.

Затримка електронної пошти в Outlook

Незважаючи на всі пророцтва про приреченість навколо Слабку та Розбрату, електронна пошта асинхронного зв'язку є домінуючим середовищем спілкування у бізнес-секторі у всьому світі. На додаток до Inbox Zero від Merlin Mann, існує безліч інших стратегій боротьби з щоденним потоком електронних листів, включаючи так зване затримку електронної пошти, тобто затримку доставки електронних листів.

.­.­.

Спіраль чисел

Протягом останніх кількох днів я вивчав на StackExchange наступне питання про спіраль цілих чисел. Ми шукаємо замкнуту формулу для координат \(n\) -го елемента в наступній цілочисельній спіралі, яка простягається від початку до зовнішньої сторони і далі, і далі в нескінченність:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16
.­.­.

Права на читання в Google Таблицях

Під час роботи з Google Sheets , точні, орієнтовані на користувача правила редагування робочих аркушів, стовпців і рядків можуть бути визначені в електронній таблиці. На жаль, немає можливості обмежити права на читання. Однак це було б дуже корисно в багатьох сценаріях. Таким чином, ви показуєте своїм клієнтам лише ті квитки, які стосуються їх або співробітників, лише тих проектів, над якими вони працюють.

.­.­.

Пряжа plug'n'play

npm - це менеджер пакунків за замовчуванням для Node.js. Facebook давно розробляє альтернативне рішення для управління пакетами під назвою Пряжа . Здається, пряжа повільно зникає з readmes Github як стандартне рішення, а статистика на офіційному сайті показує, що пряжа здійснює лише частину пакетів. Тим не менш, варто думати нестандартно.

.­.­.

Перетворити PDF на LaTeX


Набірна система \(\TeX\) була розроблена в 1977 році легендарним Дональдом Е. Кнутом . Програмний пакет \(\LaTeX\) досі є частиною стандартного репертуару при створенні наукових робіт. За допомогою наступних двох інструментів уже створені PDF-файли та рукописні примітки можна повністю автоматично перетворити на TeX. Результати дуже багатообіцяючі.

.­.­.

Аргумент моделювання

Аргументація симуляції Ніка Бострома вражаюче проста і зрозуміла. Він не намагається довести, що ми живемо в симуляції, а натомість елегантно формулює три можливості, одна з яких має бути правдивою. Ілон Маск також виступає за подібну тезу, яка зробила цю ідею відомою широкій громадськості. Офіційному документу більше 14 років і стільки ж сторінок коротких. Центральне твердження легко зрозуміти і компактне.

.­.­.

Критична помилка при використанні WPML + ACF

Потужні плагіни WPML для багатомовності та розширені спеціальні поля для власних полів є стандартним обладнанням для багатьох інсталяцій. Прикро, коли несправності та втрата даних трапляються в поєднанні. Повідомлення про помилки на цю тему мають кілька років і без відповіді ( тут і тут, і тут, і тут, і тут ). Я щойно детальніше розглянув проблему.

.­.­.

Завантаження файлів у браузері Facebook In App

На деяких телефонах Android як браузери в додатках Facebook, так і Instagram (станом на сьогодні) поводяться некоректно, якщо в полі завантаження на рекламованій або пов’язаній цільовій сторінці вказано атрибут accept. Тому кнопка була без функцій. Якщо ви відкриваєте сторінку у зовнішньому звичайному браузері за межами програми Facebook, все в порядку. Це дратує (особливо , так як це було повідомлено в протягом тривалого часу ), але може бути вирішена за допомогою обхідного шляху.

.­.­.

Chrome Devtools: переміщення елементів DOM

Інструменти розробника Google Chrome є одними з найпотужніших на ринку браузерів. Щомісяця з’являються нові функції, які Google представляє у стислій формі на YouTube . Але часто в житті радують дрібниці. Якщо ви хочете видалити елементи DOM у Google Chrome, ви можете зробити це за допомогою клавіші видалення. Але лише сьогодні я помітив, що елементи DOM також можна легко переміщати за допомогою перетягування:

.­.­.

Швидка порада: git status --r

Золотим правилом у всесвіті git є: "Робіть комісії рано і часто". Якщо ніч була трохи довшою, або якщо ви просто хочете оглянути поточну ситуацію на власному комп’ютері, команда прийме вас

d8a38f92d0baa14f9d4568826c13ad46

"git status" для всіх сховищ, які знаходяться в поточній папці або в будь-якій підпапці, і накопичує значення в хорошому огляді:

.­.­.

Стек LAMP у підсистемі Windows для Linux

У пошуках оптимального середовища для розробки Windows 10 пропонує цілісні рішення, такі як XAMPP , WAMP та MAMP , власну інсталяцію вручну та рішення для віртуалізації, такі як Vagrant ( Scotch Box ) та Docker ( Devilbox , Laradock ). Але через мої вимоги, такі як безкоштовна конфігурація, справжні підстановочні SSL-сертифікати, доступ з усіх кінцевих пристроїв у локальній мережі, а також висока стабільність та продуктивність, усі рішення не вдались - крім одного.

.­.­.

Хитрощі для красномовних відносин Laravel

Однією з сильних сторін Laravel є його елегантний синтаксис. Якщо у вас багато моделей та відносин у Laravel (через велику кількість таблиць у базі даних), обхід часто може закінчитися менш елегантним кодом. З часом три невеликі розширення довели свою користь для мене, про що я хотів би коротко представити нижче. Ми просто використовуємо деякі спадщини, магічні методи та власні колекції.

.­.­.

Заборонити публічний доступ до .git

Управління версіями Git зараз є стандартом майже в кожному веб-проекті та в будь-якому середовищі (включаючи виробництво). Git завжди створює підпапку .git, і якщо це на рівні загальної папки веб-сайту, ви можете публічно отримати доступ до конфіденційних файлів (наприклад, виклик /.git/logs/HEAD показує останні коміти) . У ньому детально пояснено, як ви можете клонувати стороннє (!) Сховище Git без списку каталогів.

.­.­.

Node.js / npm / Composer без кореня

У попередньому дописі в блозі я описав, як безкоштовно розмістити Node.js за допомогою Heroku . Зараз я покажу вам спосіб, як ви можете встановити Node.js , npm та Composer на будь-який інший спільний хост без прав користувача з декількома рядками коду. За допомогою нього ви можете встановлювати пакети, розгортати програми Vue.js або просто запускати сервер Express.js. Ми завжди працюємо в каталозі користувачів і використовуємо nvm - менеджер пакетів вузлів.

.­.­.

Помилка в асоціативних масивах у PHP <7.2

У PHP <7.2 ви можете створювати масиви, до яких більше не можна отримати належний доступ:

91367d1c4636fd753b381406024e303c

Ви можете робити з цим деякі речі.

.­.­.

Виконуйте команди безпосередньо після з'єднання SSH

Наступна команда встановлює підключення до сервера через SSH, виконує деякі команди (наприклад, змінює підкаталог і надсилає статус git ) і залишає оболонку відкритою. Завантажується файл .bashrc, який дозволяє кольорові підшелушки. Фокус полягає в тому, щоб зберегти тимчасовий файл / tmp / initfile з потрібними командами, запустити під оболонку (у нашому випадку bash) за допомогою команди --init-file. У цьому файлі ініціалізації той самий файл знову негайно видаляється, щоб не залишати слідів.

.­.­.

Мережевий диск як адміністратор

Якщо ви інтегруєте мережевий диск у Провідник Windows, це не стосується загальносистемної системи, а лише для поточного облікового запису користувача. Це означає, що ви не можете отримати доступ до цього мережевого диска в програмі, яка працює з правами адміністратора. Це можна легко змінити: Створіть новий DWORD (32-бітний) з назвою EnableLinkedConnections зі значенням 1 у реєстрі в розділі HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System та перезапустіть. Потім інтегровані мережеві диски видно скрізь.

.­.­.

Швидка порада: включіть папку як привід

Якщо ви хочете швидко перейти до локальної папки під Windows, яку ви використовуєте знову і знову, ви можете просто призначити їй власну букву диска. Через "Підключення мережевого диска" є лише об’їзд, оскільки ви не можете вказати шлях C: \ Users \ David \ Downloads, наприклад. Рішенням є так звана адміністративна частка накопичувача, яка існує за замовчуванням для кожної папки: У наведеному вище прикладі це буде \\ localhost \ c $ \ Users \ David \ Downloads .

.­.­.

Ловити жаб

Жаба стрибає по цифровій лінії, і ви намагаєтеся її зловити. Стрибки та лови завжди чергуються. Жаба починається з положення \(s \in \mathbb{Z}\) і з кожним ходом стрибає на відстань \(z \in \mathbb{Z}\) (якщо \(z>0\) , вона стрибає праворуч, інакше якщо ліворуч). \(z\) однаковий для кожного стрибка. Прив'язка складається із зазначення цілочисельної позиції. Не відомо ні \(z\) ні \(s\) . Ми показуємо, що існує спосіб завжди зловити жабу.

.­.­.

Довгі імена файлів у Windows 10

Не лише під час використання npm під Windows ви стикаєтесь із обмеженням, якому вже майже 30 років, що обмежує шляхи до папок та файлів максимум 255 символів. Це не вина NTFS, а LFN . Це призводить до надокучливих помилок та несумісності між операційними системами. За часів WSL це стан, на яке ви шкодуєте, і на щастя ви можете на деякий час виправити себе в реєстрі.

.­.­.

Черги Laravel на localhost

У рамках PHP Laravel у виробничих середовищах працівники та керівники забезпечують обробку робочих місць, що зберігаються в Redis, наприклад. Якщо ви хочете бути повністю незалежним від цього на localhost, ви або використовуєте драйвер синхронізації, щоб завжди виконувати завдання негайно. Це має той недолік, що поточний процес PHP блокується, а запит зависає, доки завдання не буде оброблено.

.­.­.

Короткий підказка: об’єднайте цілі в Google Analytics

За допомогою бібліотеки JavaScript analytics.js від Google Analytics можна відстежувати будь-які події на веб-сайтах. Ці події - це, наприклад, точне вимірювання тривалості перебування, максимальної глибини прокрутки відвідувачів або інші окремі дії, такі як подання форм. Наприклад, якщо ви хочете оцінити рекламні кампанії або провести A / B-тести пізніше, ви створюєте так звані цільові проекти.

.­.­.

Прагматична інвалідність кешу

Візуалізація на стороні сервера зараз є частиною стандартного репертуару веб-сайтів та програм. Такі браузери, як Google Chrome, також мають тенденцію кешувати якомога більше, щоб мінімізувати час завантаження подальших дзвінків. Недійсність кешу файлів CSS / JS / зображень може бути вирішена за допомогою mod_pagespeed , Expires / Cache control header, кеш-маніфесту або дуже прагматично і безпосередньо через окремі параметри після імені файлу.

.­.­.

Ключі Bitbucket та SSH

Постачальник Bitbucket не пропонує (навіть у стандартних та преміальних тарифах, що базуються на платі ) можливості зберігати SSH-ключі з дозволами на запис на рівні сховища. Зберігання вашого особистого ключа SSH на робочому сервері не є можливим, інакше ви зможете отримати доступ до всіх інших проектів, над якими ви зараз працюєте. Існують так звані ключі доступу , але вони дозволяють лише права на читання.

.­.­.

Windows Sysinternals через мережевий диск

Інструменти від Sysinternals Марка Руссіновича не повинні бути відсутніми на жодному комп’ютері Windows. Якщо ви завжди хочете мати під рукою останню версію, ви можете інтегрувати її як мережевий диск. Команди net use s: \\ live.sysinternals.com \ DavWWWRoot у командному рядку достатньо (як звичайному користувачеві). Потім на S-диску доступні такі приємні інструменти, як PsList, PsKill або Process Explorer.

.­.­.

Швидка порада: Google Таблиці та Тижні календаря

Виводячи календарні тижні на певну дату, ви повинні бути обережними в Google Sheets (так само, як у Microsoft Excel). Функція = КАЛЕНДАРНИЙ ТИЖДЕНЬ (СЬОГОДНІ ()) обчислює за американським стандартом, для якого перший день року завжди призначається календарному тижні 1. У Німеччині це визначається по- різному: тут перший календарний тиждень - це тиждень, з якого щонайменше 4 дні припадають на новий рік. В Google Sheets ви можете вирішити проблему (разом з іншими захоплюючими альтернативами, такими як = SHORTEN ((TODAY () - DATE (YEAR (TODAY () - REST (TODAY () - 2; 7) +3); 1; REST (TODAY ( ) -2; 7) -9)) / 7) та модифікований = КАЛЕНДАРНИЙ ТИЖДЕНЬ (СЬОГОДНІ (); 21) ) легко за допомогою спеціально розробленої функції = ISOWEEKNUM (СЬОГОДНІ ()) .

.­.­.

Самопідписані сертифікати SSL у Chrome 58

З часів Let's Encrypt зашифровані веб-сайти тепер є стандартними. Навіть при локальній розробці, SSL-сертифікати є необхідними (наприклад, Navigator.geolocation вимагає локального шифрування SSL). Починаючи з версії 58 Chrome, підтримку CN (Загальна назва) відмовлено, а SAN (Тема Альтернативна назва) стала обов’язковою. Як результат, Chrome раптом більше не приймає всіх традиційно створених сертифікатів SSL.

.­.­.

Двічі у віці двох людей

Розглянемо двох людей \(A\) та \(B\) які не народилися в один день і \(A\) молодший за \(B\) . Покажіть, що існує рівно два вікові сузір’я \(a,b \in \mathbb{N}\) , для яких застосовується таке: \(2\cdot a = b\) . Спочатку ми встановлюємо \(d \in \mathbb{R}^+\) як різницю у віці між \(A\) та \(B\) при народженні \(A\) допомогою \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Тепер ми розглянемо довільний момент часу \(x \in \mathbb{R}^+\) після народження \(A\) з \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git і порожні папки

Оскільки Git не знає папок, лише файли, порожні структури папок не потрапляють у сховище. Однак, оскільки багатьом структурам та проектам це абсолютно потрібно, вони повинні там опинитися. Типовою практикою є створення так званих файлів заповнювачів (часто їх називають .gitkeep), які неявно визначають структуру папок. Ці файли можна легко створити, а також, за бажанням, також забезпечити ігнорування інших файлів у папках.

.­.­.

Безкоштовний хостинг Node.js на Heroku

Хостинг для Node.js все ще не дуже поширений, особливо в німецькомовних країнах. Американська хмарна компанія Heroku пропонує тут рішення - і навіть безкоштовне . Ви завжди помічаєте парадигму "Створення додатків ... а не інфраструктури", і при цьому навряд чи є якісь обмеження. Як приклад, ми реалізуємо невелике завдання cron на основі PhantomJS , яке щодня обробляє веб-сайт і надсилає заголовок сторінки електронною поштою.

.­.­.

Функція сполучення Кантора

На додаток до діагональних аргументів , Георг Кантор також розробив функцію спарення Кантора \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , що кодує будь-які два числа \(x,y \in \mathbb{N}\) у новому числі \(z \in \mathbb{N}\) . Наприклад, \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) унікальне кодування чисел \(3\) та \(4\) у номері \(31\) . Показати: Набір значень \(\mathbb{W} = \mathbb{N}\) , тобто \(z\) приймає всі натуральні числа.

.­.­.

Земля і горох

\(r_1 = 6370km\) на землю (як сферу з \(r_1 = 6370km\) ) та горошину (як сферу з \(r_2 = 2mm\) ) і \(r_2 = 2mm\) мотузку над екватором так, щоб вона щільно лежала на поверхні. Тепер ви подовжуєте обидві мотузки на один метр кожна. Тепер обидві мотузки повинні знову лежати повністю витягнутими над екватором - вони більше не лежать повністю на поверхні, а висять над екватором. Як високо над поверхнею мотузка пливе над землею, як високо над горохом?

.­.­.

Ймовірності на аналоговому годиннику

У якому відсотку часу доби всі три стрілки аналогового годинника знаходяться в правій половині циферблата? Спочатку подивіться на годинну стрілку, яка знаходиться праворуч кожні 12 з 24 годин (50%). З цього часу хвилинна стрілка буде знаходитися на правій стороні через 6 з 12 годин (25%). З цих 6 годин секундна стрілка проводить 3 години на правому боці (12,5%).

.­.­.

Laravel: Робота з красномовними відносинами

Laravel значно полегшує спілкування з базою даних за допомогою Eloquent. Під час роботи з промовистими відносинами , під час виклику динамічних змінних (за допомогою магічних методів PHP), слід пам’ятати, що екземпляри моделей не відображають нових змін, але зберігаються постійно при їх першому викликанні.

.­.­.

Bitbucket: Видалити папку з історії Git

При розміщенні Git на Bitbucket існує жорсткий ліміт 2 ГБ - якщо це перевищено, ви маєте доступ лише до читання до сховища. Для запобігання цьому, наприклад, ви можете ретроспективно видалити великі папки або файли зі своїх комітів. Але також і в інших випадках (якщо дані доступу увійшли в історію або node_modules повернулися до майстра), вам доведеться ретроспективно маніпулювати історією Git, всупереч її природі.

.­.­.

Інтегруйте сертифікат SSL від DomainFactory на IIS

У епоху Let's Encrypt зашифровані веб-сайти зараз є стандартними. Однак часто потрібні також узагальнюючі та розширені сертифікати з особливо надійним підтвердженням власника. Постачальник DomainFactory пропонує недорогі сертифікати SSL, які також можна використовувати зовні. Налаштування поточного IIS вдається без CSR за допомогою OpenSSL . Далі я коротко покажу, які кроки для цього потрібні.

.­.­.

Парадоксальна стратегія перемоги при відгадуванні цифр

Томас М. Кавер задав таке дивовижне запитання в 1987 р. У "Відкритих проблемах у зв'язку та обчисленнях": Гравець \(X\) записує два різні і випадково обрані натуральні числа \(A\) та \(B\) до двох різних Шматок паперу і покладіть його лицем вниз на стіл. Гравець \(Y\) тепер випадковим чином вибирає один із цих аркушів паперу, бачить номер і тепер повинен вирішити, чи менший він чи більший за інший номер, який все ще є на столі.

.­.­.

Футбол та лінійна алгебра

Коли починається футбольний матч, м'яч лежить у центрі поля, а потім переміщується по полю протягом 45 хвилин, переміщуючи та повертаючи. На початку другого тайму м'яч знову знаходиться в центрі поля. Ми показуємо простими засобами лінійної алгебри, що або нескінченна кількість точок на поверхні завжди знаходиться в абсолютно однаковому положенні, як у вихідному стані, або рівно 2.

.­.­.

Laravel: Налагодження шаблону леза

При налагодженні шаблонів леза в Laravel 5. * ви часто отримуєте безглузді повідомлення про помилки, що посилаються на кешовані подання. Раніше всім було краще: подання налагодження у версії 4 містило більше корисних функцій, а також було візуально приємніше. За допомогою кількох рядків коду ви можете повернути цю функцію за допомогою упсу ("Помилки PHP для крутих дітей").

.­.­.

Гармонійне відображення логотипів за допомогою JavaScript

Будь то посилання, партнери чи клієнти - є багато випадків, коли ви хочете гармонійно відображати кілька логотипів поруч. Пропорції логотипів здебільшого суперечливі. Ви часто дотримуєтесь свого інстинкту кишечника щодо представлення розміру в дизайні, але існує також точний метод розрахунку для візуально привабливого подання, прирівнюючи площі логотипів. У наступному прикладі ви можете зробити це лише за допомогою декількох рядків JavaScript.

.­.­.

Перевірте наявність змінних у PHP / JS

При щоденній роботі зі змінними в PHP та JavaScript часто трапляється запит, чи порожня змінна. Для перевірки варто знати власні функції та їх відмінності. Прикро, що немає простого способу інтуїтивно перевірити, чи є змінна чи ні. Наведена нижче матриця уточнює, що мається на увазі під цим. Однак те, що ви хочете, можна модернізувати за допомогою невеликих допоміжних функцій.

.­.­.

Масові телефонні дзвінки за допомогою sipgate.io

За допомогою sipgate.io Sipgate створив захоплюючий хмарний API, за допомогою якого існує безліч варіантів Інтернет-телефонії. Обліковий запис безкоштовний, а також є можливість встановити будь-який безкоштовний номер відправника в магазині функцій. Документацію sipgate.io все ще можна розширювати, але, трохи прочитавши офіційний API Sipgate, можна швидко зрозуміти захоплюючі речі.

.­.­.

Рекурсія в SQL

Реляційні системи управління базами даних на основі SQL лише частково підходять для ієрархічних або рекурсивних запитів. Інші системи, такі як ArangoDB, тут кращі (про це чудово говорили на GOTO 2016 ). Але ви також можете створювати рекурсивні запити в SQL за допомогою загальних виразів таблиць і таким чином запитувати класичні батьківські / дочірні таблиці для всіх предків і нащадків.

.­.­.

WordPress: вимкніть архівні сторінки

За даними w3techs.com , в даний час близько 27,4% всіх веб-сайтів у всьому світі працюють за допомогою WordPress. У дуже багатьох випадках це не блоги. WordPress автоматично генерує численні, часто невикористовувані URL-адреси та виробляє стільки посилань, що індексуються Google, що у оператора веб-сайту навіть не було на екрані. Все це можна деактивувати простою командою.

.­.­.

Перейменуйте поля PDF-форми в груповому режимі

Якщо, як і я, ви зіткнетеся з проблемою перейменування тисяч імен полів форм, консоль JavaScript, включена в Acrobat, ідеально підходить. У цьому ви можете не тільки виконати будь-який код JavaScript, але й отримати доступ до всього вмісту в PDF (включаючи поля форми). Оскільки в JS API немає власної функції для перейменування, поля форми копіюються з усіма їх властивостями та отримують нову назву.

.­.­.

Магазин: зміни варіанту ремонту

У Shopware 5 відома проблема досі не вирішена: якщо ви створюєте статтю із взаємозалежними варіантами із взаємовиключними параметрами конфігурації, може статися так, що деякі комбінації неможливо вибрати у фронт-енді, а тому їх не можна замовити. За допомогою плагіна на даний момент проблему можна легко вирішити.

.­.­.

Один рядок для нескінченності простих чисел

Існує безліч доказів нескінченності простих чисел - відома теорема Евкліда з Книги Елементів не відсутня в жодному базовому курсі теорії чисел. В « Американському математичному щомісячнику» (випуск 122) у 2015 році Сем Нортшилд опублікував не менш елегантний доказ протиріччя у вигляді однорядкового рядка, якого я не хочу відмовляти вам (з короткими коментарями).

.­.­.

Світліше командний рядок Windows

Похмурий командний рядок Windows можна візуально оновити за кілька простих кроків. Таким чином, ви можете не тільки адаптувати колір і розмір командного рядка, але і функціонально розширити його (збільшивши буфер, встановивши великий набір інструментів UNIX). Незважаючи на те, що командний рядок не наближається до PowerShell 6.0 або нової оболонки Bash Windows 10 , йому не потрібно ховатися для повсякденних завдань.

.­.­.

Динамічні URL-адреси в Joomla

У системах управління вмістом URL-адреси часто не завжди фіксуються заздалегідь і, отже, не створюються статично заздалегідь (як внесок або пункт меню), а адресують об’єкти з бази даних. Подібно до WordPress ( як описано тут ), у Joomla також можна створювати динамічні структури URL (незалежно від внутрішньої системи псевдонімів). Тут можна використовувати або JRouter, або можна скористатися одношаровим вкладишем у .htaccess.

.­.­.

JavaScript PasteJacking

Сучасні браузери можуть використовувати JavaScript для читання та запису в буфер обміну користувача, а це означає, що вони також можуть ним керувати. Основна технологія - це вже стара капелюх, але лише недавно в мережі розповсюджується все більше і більше атак (під назвою "PasteJacking"), які використовують цю опцію для недосвідченого користувача. Реалізація в JavaScript є банальною.

.­.­.

Поміняти місцями стовпці в PostgreSQL

Заміна стовпців таблиці SQL є частиною стандартного репертуару з MySQL - це (поки) не підтримується PostgreSQL. Хоча офіційна вікі присвячує проблемі власну статтю , вона не містить жодного практичного рішення, яке також підтримує погляди, індекси та тригери. Наступний клас виконує цю роботу (як для MySQL, так і для PostgreSQL) або в командному рядку - або безпосередньо в Laravel 5.

.­.­.

Коротка порада для Провідника Windows

Якщо ви хочете швидко відкрити командний рядок у папці у Провіднику Windows, клацніть (на один рівень вище) правою кнопкою миші та утримуйте клавішу Shift у папці, а потім у контекстному меню виберіть "Відкрити командний рядок тут". Я щойно знайшов інший, швидший метод, коли ви знаходитесь всередині папки: тут ви клацнете на поточний шлях до папки, введіть "cmd" і підтвердите за допомогою Enter.

.­.­.

Категорії WordPress: Перегляд дерева / спадкування

Якщо ви працюєте з ієрархічними категоріями (таксономіями) у WordPress, ви помітите, що, з одного боку, відображення перевірених категорій у серверній панелі викликає заплутаність, а з іншого боку, публікації не потрапляють автоматично в батьківську категорію, якщо вони розміщені в дочірній категорії. І те, і інше можна виправити лише за допомогою декількох рядків коду, використовуючи потужну гач-систему (у формі дії та фільтра).

.­.­.

PHP 7 та оператор космічного корабля

На додаток до нових функцій, таких як підказка типу для скалярних типів даних або оптимізована продуктивність , PHP 7 також містить багато нових, корисних розширень мови. "Оператор космічного корабля" нарешті потрапив у світ PHP (програмісти Ruby та Perl знають це давно). \($a <=> $b\) повертає \(0\) тоді і тільки тоді, коли обидва операнди рівні, \(1\) якщо лівий більший, а \(-1\) інакше.

.­.­.

Час очікування IIS 7.5 PHP FastCGI

Якщо ви інтегруєте PHP через FastCGI на IIS 7.5, кожен сценарій за замовчуванням переривається через 600 секунд (тобто 10 хвилин). Зміна добре відомої змінної "max_execution_time" у php.ini не впливає на це, вам (також) доведеться налаштувати налаштування FastCGI. IIS пропонує зручний інтерфейс для управління відповідними змінними.

.­.­.

Парадокс стохастики

Умовна теорія ймовірності тягне за собою красиві завдання з протиінтуїтивними рішеннями. Окрім відомої проблеми брата або сестри , я зараз коротко розгляну ще один приклад: "Зараз у мене двоє дітей. Один з них хлопчик і народився в четвер. Яка ймовірність того, що друга дитина теж хлопчик?"

.­.­.

Git, Shopware та порожні папки

Система керування версіями файлів Git є простою, швидкою та портативною. Git завжди обробляє об'єкти, а саме файли. Папки створюються, лише якщо в них є файли, інакше Git навіть не буде їх записувати. Це має неприємні побічні ефекти у деяких проектах. Наприклад, система магазину Shopware покладається на суворе дотримання структури папок, щоб функціонувати.

.­.­.

Покупки: Індивідуальні витрати на доставку

Магазин має потужний модуль витрат на доставку, в який ви можете спеціально втрутитися в розрахунок. У нашому випадку ми хочемо реалізувати наступний сценарій: Витрати на доставку за товар спочатку визначаються відповідно до ваги товару (обмеження ваги вказані). Лише за особливими винятками можна встановити фіксовані витрати на доставку для кожного товару.

.­.­.

Динамічні постійні посилання в WordPress

Систему постійного посилання WordPress можна дуже добре адаптувати до власних потреб за допомогою тегів структури . Встановлення% postname% - це, мабуть, найпоширеніше та практичне рішення. Однак, якщо ви хочете реалізувати реальні динамічні посилання, спочатку потрібно розширити систему за допомогою власного коду.

.­.­.

Пошкоджені гіперпосилання у програмах Word та Excel

Можна подумати, що коли гіперпосилання відкриваються з документа Word / Excel, стандартний браузер запускається з потрібною URL-адресою. Як не дивно, але це не так - це призводить до неприємних побічних ефектів і робить неможливими посилання на сторінки, захищені входом в систему, засновані на сеансах / файлах cookie.

.­.­.

Парадокс для Дня батька

Сьогодні до Дня батька дочка дарує батькові фотографію, яку вона намалювала сама, про що батько так прагнув до неї. Донька каже: "Я подарую тобі картину, яку ти побажав, і мій подарунок стане сюрпризом". Батько вражений і розмірковує над правдивістю цього твердження.

.­.­.

Інтегруйте динамічні сценарії з HTTPS та без нього

Якщо ви включите незашифровані сценарії в область <head> і викликаєте сторінку із наявним зашифрованим сертифікатом SSL, ці сценарії заблокуються і тому не виконуються. Якщо ви просто опустите протокол, усі сценарії автоматично викликаються в зашифрованому вигляді, якщо веб-сайт отримує доступ через https: // - інакше незашифрований.

.­.­.

Юзабіліті в випадаючих меню

Під час роботи з багатовимірними випадаючими меню часто виникає проблема, що випадково відкриваються неправильні підменю або випадково закривається потрібне підменю. Цей ефект виникає, коли вказівник миші залишає відповідне меню на верхньому рівні під час переходу до вже розширеного підменю.

.­.­.

Покупки: Вимкніть варіанти автоматично

У Shopware вся стаття деактивується у випадку реального замовлення, якщо всі варіанти мають рівень запасу менше або дорівнює 0. Для того, щоб реалізувати це на варіантній основі, я запрограмував невеликий плагін, Bootstrap.php, який я надаю нижче.

.­.­.

Подвійний запит пароля за допомогою SSL

Наступне сузір’я завжди має неприємний побічний ефект: якщо ви захищаєте свій сайт за допомогою htaccess / htpasswd і одночасно примусовуєте з'єднання SSL, вам завжди потрібно вводити один і той же пароль двічі (один раз для http і знову після успішного входу для https). За допомогою розділів конфігурації, представлених в Apache 2.4, проблему можна легко вирішити.

.­.­.

Багаторядні рядки в JavaScript

При програмуванні на JavaScript часто натрапляє на неможливість реалізації багаторядкових рядків, вводячи їх у кілька рядків у коді. Хоча завдання іншими мовами, такими як PHP або Ruby, не є проблемою, з JavaScript ви спочатку можете обійтися лише обхідними шляхами, використання яких вирішується особистим смаком або підтримкою браузера.

.­.­.

mail () у PHP з UTF-8 та озвучуванням

Надсилання електронних листів за допомогою PHP найкраще реалізовувати за допомогою потужних класів, таких як PHPMailer . Зручні функції обгортки дозволяють використовувати вміст в UTF-8, вбудовувати зображення та надсилати зашифровані вкладення лише за допомогою декількох рядків коду. Якщо ви хочете заощадити накладні витрати та використовувати функцію PHP mail () всупереч рекомендаціям, пізніше у вас виникнуть проблеми при використанні umlauts та UTF-8.

.­.­.

Google PageSpeed ​​Insights проти Google Analytics

Інструменти перевірки, такі як служба перевірки розмітки W3C або Google PageSpeed ​​Insights , корисні для об’єктивної оцінки коду та ефективності веб-сайту. Google, зокрема, впливає на цілу галузь такими концепціями, як у верхній частині сторінки, а також забезпечує суворі, але корисні вказівки щодо стиснення та кешування зображень. Але може трапитися так, що Google наступає на ноги.

.­.­.

Вітаємо JavaScript 2.0

JavaScript домінує в Інтернеті та ECMAScript, ядро ​​мови зростає. Нова специфікація (ES6 або JS2), яка очікується в середині цього року, містить у собі численні нововведення, які можна випробувати сьогодні. Наразі Firefox має найкращу підтримку , але можливі і полізаповнення за допомогою так званих транпіляторів, таких як Google Traceur . Далі наводиться короткий огляд нових функцій ES6.

.­.­.

0,99999... = 1?

Будь то в школі чи в університеті: Цікаве питання, яке \( 0,99999... = 1 \) раз, включає питання, чи відповідає наступне рівняння: \( 0,99999... = 1 \) . Хоча нескінченність \(0,99999... = A\) в лівій частині рівняння, ми даємо їй назву: \(0,99999... = A\) . Після множення на множник \(10\) та простих алгебраїчних перетворень ми отримуємо перше дивовижне розуміння.

.­.­.

SQL: низька продуктивність, незважаючи на індекс

Я щойно зіткнувся з такою проблемою продуктивності бази даних SQL: У таблиці SQL під назвою «користувачі» із ~ 1 000 000 записів визначення кількості реєстрацій сьогодні зайняло неприйнятні 28 секунд. Час реєстрації зберігався у форматі "Ymd H: i: s" у стовпці "створено".

.­.­.

Невелика шахова проблема

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

.­.­.

Файли, доступні в Інтернеті за допомогою OneDrive

Якщо OneDrive, Dropbox, Google Drive, OwnCloud, Box.net: Незалежно від того, в якому вікні ви зберігаєте свої файли - послуги майже однакові. Клієнти, доступні для всіх настільних та мобільних систем, стандартні незашифровані файли та параметри спільного доступу лише незначно відрізняються. Але OneDrive, який назавжди інтегрований в систему з Windows 8.1, має особливість: лише файли, доступні в Інтернеті.

.­.­.

PHP: доступ до файлів за допомогою висловлювань під Windows

Файли на веб-серверах завжди повинні бути без пробілів (не "це картинка.jpg"), без відмінок або спеціальних символів (не "football.jpg"), без зворотних скісних рисок (не "Arbeit \ Auto.jpg") і малими літерами (не " test.JPG "). Однак нещодавно мені довелося отримати доступ і обробити велику кількість попередньо встановлених файлів з будь-яким ім’ям для проекту замовника.

.­.­.

Запит SQL для визначення рейтингового списку

Сьогодні я зіткнувся з таким завданням під час роботи над клієнтським проектом: Візьміть таблицю SQL "користувач" із стовпцями "id" та "score" та визначте рейтинговий список усіх користувачів, відсортованих за "score", в якому користувачі з отримати однаковий рейтинг з однаковим балом. Це завдання можна вирішити інтуїтивно та легко за допомогою користувацьких змінних .

.­.­.

Facebook SDK: Перевірте маркери на стороні сервера

При роботі з Facebook SDK (точніше при реалізації функції входу в систему Facebook в інтерфейсі REST) ​​переданий маркер, отриманий клієнтом від Facebook, повинен спочатку перевірятися сервером на дійсність перед подальшими операціями .

.­.­.

Chrome DevTools: адресація елементів DOM

Незалежно від того, чи це Chrome, Firefox, Opera, Safari чи навіть Internet Explorer: Хоча добре спроектовані інструменти для розробників були унікальною точкою продажу Firefox і популярним плагіном Firebug ще кілька років тому, потужні інструменти для розробників зараз є частиною стандартної сфери кожного браузера, в якому є що відкрити. дає.

.­.­.

Доступ до файлової системи за допомогою SQL

Я щойно натрапив на приємний варіант у MySQL зачепити файлову систему та отримати цінну інформацію, наприклад про існування файлів та папок чи їх вміст. Це може бути дуже корисно як альтернатива функції php file_exists , оскільки інформація про існування файлу (файлів) все ще може використовуватися у запиті для подальших функцій сортування та агрегування.

.­.­.

Анімовані фони з полотном

Анімовані векторні фони можуть внести різноманітність у веб-пейзаж, що характеризується повноекранними фотографіями та відео. Було б непогано, якби це було поруч із часом завантаження та широкою технічною та програмною підтримкою. Одним із рішень є: полотно. Елемент HTML, керований JavaScript, підтримується всіма поточними браузерами і відтворюється з високою продуктивністю на мобільних пристроях.

.­.­.

Виправлено співвідношення сторін для елементів HTML

Як веб-розробнику, часто соромно працювати з елементами HTML, які самі по собі - на відміну від елемента img, наприклад - не мають ні фіксованого розміру, ні фіксованого співвідношення сторін. Часто потрібно домогтися того, щоб ці об'єкти поводились чуйно, але пропорція між шириною та висотою зберігалася. CSS за замовчуванням не пропонує тут інтуїтивного рішення. Але за допомогою властивості вертикального заповнення ви можете досягти своєї мети.

.­.­.

Рішення суду щодо використання стокових фотографій

Після того, як минулого тижня Кельнський обласний суд відреагував на скандал з RedTube і йому ніколи не дозволили схвалити здачу спірних IP-адрес, він виносить ще одне вкрай суперечливе та сумнівне рішення з рішенням 14 O 427/13: Автор Stock- Фотографії певного агентства зображень також мають бути названі шляхом прямого доступу до їх фотографій за їхньою URL-адресою.

.­.­.

До побачення, блок і вбудований - вітаємо HTML5

Нововведення специфікації HTML5 численні, і багато з них вже підтримуються більшістю середовища браузера - нижче я хочу підкреслити цікаву зміну правил вкладання елементів. HTML завжди розрізняв блокові та вбудовані елементи. Визначення типу документа HTML4, наприклад, називає h1, p та div як елементи блоку, а a, span, img як вбудовані елементи.

.­.­.

Журналювання HTTP у IIS та Apache

Як Apache в Unix, так і IIS в системах Windows реєструють HTTP-запити нестандартно у вигляді файлу. Запити на ваш власний веб-сайт повинні не тільки регулярно оцінюватися та аналізуватися вручну та автоматично (наприклад, за допомогою аналізаторів файлів журналів, таких як AWStats ), щоб захистити від хакерських атак. Шляхи відповідних файлів журналів у широко використовуваних конфігураціях, наприклад, такі, як показано нижче:

  • /var/log/apache2/access.log (Приклад: Ubuntu 12.04, Apache 2.2)
  • C:\inetpub\logs\LogFiles\W3SVC1\u_ex<YYMMDD>.log (Приклад: Windows Server 2012 R2, IIS 8.5)
.­.­.

Joomla, IIS і права на каталог

При інтеграції Joomla 3.2 на Windows Server 2008 R2 з IIS 7.5 часто виникають проблеми з правами каталогів, які часто неадекватно вирішуються із занадто щедрими налаштуваннями. Наступне рішення є безпечним та повноцінним:

  • Група IIS_IUSRS потребує прав на C: \ inetpub \ wwwroot \: читання та виконання, показ вмісту папки, читання, запис
  • Група IIS_IUSRS потребує прав на C: \ Windows \ Temp \: читання та виконання, показ вмісту папки, читання, запис
  • Користувач IUSR повинен бути в групі IIS_IUSRS (Керування комп'ютером> Локальні користувачі та групи> Групи)

Якщо вам потрібні додаткові спеціальні права на каталог для всіх файлів, завантажених через PHP (наприклад, для SSH або FTP), ви можете також встановити їх для папки C: \ Windows \ Temp \. Якщо ви завантажуєте файл через PHP, PHP спочатку копіює цей файл у тимчасовий, а потім у кінцевий шлях. Якщо файл потрапив у тимчасовий каталог, він успадковує свої права та зберігає їх після переміщення до останнього каталогу.

.­.­.

Анонімний Інтернет: неможливо?

У часи скандалу з АНБ не тільки розумні в мережі користувачі задаються питанням, чи можна і як можна анонімно орієнтуватися в мережі, щоб уникнути манії збору даних влади та спецслужб. Однак це часто призводить до помилок та неправильних припущень. Центральною помилкою є зведення анонімності до забруднення IP-адреси.

.­.­.

McFIT - новий логотип, новий образ

Дисконтна фітнес-мережа McFIT запропонувала собі макіяж. У той час, як яскраво-жовтий талісман у вигляді банана прикрашав блакитні написи, жовтий бант на тлі антрацитового кольору вміло закріплений один за одним і таким чином утворює абстрактну структуру. Кольори FDP, синій та жовтий, поступаються місцем не лише логотипу, але й усім іншим елементам друку марки McFIT.

.­.­.

Photoshop: подорож у минуле

Коли брати Томас та Джон Нолл почали розробляти Adobe Photoshop у 1987 році, я ще не народився. Сьогодні, у 2013 році, програмне забезпечення є однією з найпопулярніших програм загалом і безперечним лідером на ринку обробки зображень. Завдяки Adobe та Музею комп’ютерної історії програмне забезпечення тепер буде зберігатися для нащадків у дуже особливій формі.

.­.­.

Цікавинки у грі королів

Шахи зачаровували людей століттями - його правила легко засвоїти, а неймовірна глибина доступна лише досвідченим гравцям (на жаль, я не один з них). Далі я розгляну два короткі запитання: чи можна за допомогою правильної послідовності ходів дійти до положення, коли чорного короля атакують дві білі королеви одночасно? Чи можливо це також з двома білими вежами?

.­.­.

Документ-мило замість блокбастера: 48 кадрів в секунду

Зазвичай фільми записуються та відтворюються зі швидкістю 24 кадри в секунду, але, здається, майже 100-річний стандартний формат "24p" хитається. Для того, щоб запобігти неприємним побічним ефектам (наприклад, сильному поштовху під час середньошвидких панорам камери) проекції 24 кадрів в секунду, протягом тривалого часу проводилась робота з подвоєння частоти кадрів до 48 кадрів в секунду і більше.

.­.­.

Перевірте правопис на веб-сайтах

Автоматизована перевірка орфографії та граматики зараз є стандартним обладнанням для програм обробки текстів, але перевірка правопису веб-сайту автоматично до цього часу була досить громіздкою. Google Chrome робить перший крок у цьому напрямку завдяки інтегрованій перевірці в багаторядкових полях введення (текстове поле). Зараз існує послуга, яка робить це можливим для цілих веб-сайтів.

.­.­.

Номери телефонів у посиланнях - ризик безпеки?

Кілька тижнів тому я повідомив про те, як ви можете дозволити своїм відвідувачам відкривати телефонну програму на мобільних пристроях, натискаючи номер телефону. Тепер з’явилася можливість безповоротно заблокувати SIM-карту або скинути пристрій до заводських налаштувань, не користувачеві нічого робити.

.­.­.

Цікаві цікавинки електронної пошти

Чи повинні доменні імена та адреси електронної пошти завжди бути малими, щоб переконатися, що ви потрапили туди, куди хочете? Або це абсолютно неактуально? Наприклад, поштові сервери Google мають дивні налаштування з цікавими ефектами, про які я коротко розповім у наступній статті.

.­.­.

Дизайн біржових цін у щоденних темах

Я пильно стежу за розробкою різних програм на німецькому телебаченні. Навряд чи будь-яка трансляція зберігає свій корпоративний дизайн назавжди. Вечірній ритуал зустрічі перед телевізійним екраном о 22:15 на теми дня останнім часом викликає у мене біль у животі: ось уже кілька місяців для представлення поточних біржових цін обирають абсолютно заплутану кольорову гаму.

.­.­.

Правильно зв’яжіть номери телефонів

Якщо ви оптимізуєте власний веб-сайт для мобільних пристроїв, вам слід не лише звертати увагу на різні розміри екрану, оптимізований час завантаження та спеціальні функції в роботі (наприклад, ефекти наведення), а й враховувати спеціальні можливості пристроїв. Сюди також входить (деякі люди, можливо, забули) здійснення телефонних дзвінків.

.­.­.

Повторюваний вміст у блогах

Багато випадків Google карає за один і той же вміст на різних веб-сайтах - тим не менш алгоритм Google є розумним і розпізнає, чи залишаються незмінними елементи у верхньому та нижньому колонтитулі, чи цілі тестові уривки можна досягти двічі за різними URL-адресами. Хвилююче питання полягає в тому, як Google поводиться зі сторінками огляду статей у блозі.

.­.­.

Підвищення рівня безпеки WordPress

Безпеку найпопулярнішої в даний час системи управління вмістом WordPress можна значно підвищити, повернувши два маленькі гвинти. Це займає всього 5 хвилин і два рядки коду. Хоча проблему також можна вирішити за допомогою великої кількості плагінів, я навмисно обмежуюсь рішеннями без плагінів.

.­.­.