Как стать автором
Обновить
1863.01
Сначала показывать

Настраиваем GitLab Container Registry

Время на прочтение 3 мин
Количество просмотров 24K

В этой статье мы рассмотрим, как настроить реестр образов GitLab Container Registry, находящийся за обратным прокси сервером NGINX. Предполагается, что у вас уже установлен GitLab с помощью пакета Omnibus. Согласно документации, Container Registry можно настроить на том же домене, на котором работает сам GitLab, но в случае работы GitLab за прокси сервером, необходимо завести отдельный домен для реестра образов, чтобы избежать конфликта доменных имен при настройке виртуальных хостов в GitLab Nginx.

Реестр образов будет доступен по адресу: registry.example.com. Добавляем А запись для домена реестра в DNS. Приводим конфиг виртуального хоста на сервере обратного прокси к следующему виду:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 3

10 самых популярных бесплатных туториалов по Figma

Время на прочтение 2 мин
Количество просмотров 19K


Figma — это как Adobe Illistrstrator, только проще, в браузере и проекты можно шарить для совместной работы. И бесплатно.

Если вы обладаете Adobe Illistrstrator, то автоматом сможете в Figma. Если вы не знаете, с чего начать осваивать векторную графику, Figma — легкий вариант для старта.

Я сделала подборку самых популярных бесплатных обучалок по Figma с YouTube. Кстати, не обязательно в совершенстве знать английский, чтобы шаг за шагом повторять то, что чуваки показывают на скринкасте. Все понятно из видеоряда.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown

Время на прочтение 20 мин
Количество просмотров 24K


Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-какие из моих рассуждений спасут вашу.


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


Это первая часть. Первые шаги в нашем нелегком пути. И в этой статье мы попробуем достичь следующих целей:


  • Выработаем понимание структуры и жизненного цикла приложения.
  • Формализуем наше представление жизненного цикла на языке go.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 19

Реверс-инжиниринг необычной модемной платы IBM 1965 года

Время на прочтение 9 мин
Количество просмотров 8.3K

На винтажной плате IBM ниже есть большой металлический блок, который привлек мое внимание, поэтому я подробно разобрался в ней. Оказалось, что плата — это часть модема, а большая металлическая коробка - трансформатор. Этот материал рассказывает о том, что я в итоге узнал об этой плате, а также немного об истории модемов.

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 37

Big data. Математика на службе биологии

Время на прочтение 15 мин
Количество просмотров 8.1K
Автор сообщества Фанерозой, биотехнолог, Людмила Хигерович.

image
Так или иначе, каждый человек, использующий масс-медиа, краем уха слышал о “биг дата”. Однако что это такое на самом деле, за границами ИТ мало кто представляет. И еще меньше людей знают о том, насколько сильно наш сегодняшний мир, каким мы его знаем, зависит от этого малопонятного термина. При этом речь идет не только об обработке больших потоков данных новостей или запросов браузера, или социальных сетей. Сегодня мы расскажем вам о том, как технологии Big Data помогают расширять границы науки.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 13

Что AT&T отправляет на номер 1111340002?

Время на прочтение 6 мин
Количество просмотров 31K

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

Весной 2021 года судебные представители обратились ко мне по поводу загадочного СМС на номер 1111340002. Это СМС-сообщение фигурировало в деле о причинении смерти по неосторожности с обвинениями в отвлечении внимания во время вождения. Вот, что я обнаружил…

TL;DR: драйвер AT&T СИМ-карты отправил СМС на номер 1111340002 с отчетом о том, что на телефоне было установлено автоматическое обновление ПО. Отправка сообщения не требовала никаких действий со стороны водителя. Чтобы разобраться в этом, потребовалось вызвать AT&T в суд и провести анализ в лабораторных условиях.

Читать далее
Всего голосов 69: ↑61 и ↓8 +53
Комментарии 80

Next.js: подробное руководство. Итерация первая

Время на прочтение 35 мин
Количество просмотров 192K


Привет, друзья!


Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится).


Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных приложений.


Как известно, основным недостатком SPA являются проблемы с индексацией страниц таких приложений поисковыми роботами, что негативно влияет на SEO.


Впрочем, по моим личным наблюдениям, в последнее время ситуация стала меняться к лучшему, по крайней мере, страницы моего небольшого SPA-PWA-приложения нормально индексируются.


Кроме того, существуют специальные инструменты, такие как react-snap, позволяющие превратить React-SPA в многостраничник путем предварительного рендеринга приложения в статическую разметку. Метаинформацию же можно встраивать в head с помощью таких утилит, как react-helmet. Однако Next.js существенно упрощает процесс разработки многостраничных и гибридных приложений (последнего невозможно добиться с помощью того же react-snap). Он также предоставляет множество других интересных возможностей.



Обратите внимание: данная статья предполагает, что вы обладаете некоторым опытом работы с React. Также обратите внимание, что заметки не сделают вас специалистом по Next.js, но позволят получить о нем исчерпывающее представление.


Заметки состоят из 2 частей. Это часть номер раз.


Итерация вторая.

Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 3

JavaScript: заметка о requestAnimationFrame и requestIdleCallback

Время на прочтение 10 мин
Количество просмотров 44K


Привет, друзья!


Можете ли вы ответить на вопрос о том, в чем заключается разница между requestAnimationFrame и requestIdleCallback?


Если можете, то я завидую глубине ваших знаний. Я не смог, когда меня об этом спросили. Более того, в тот момент я даже не знал о существовании интерфейса requestIdleCallback. Теперь знаю и хочу с вами этими знаниями поделиться.


Сразу уточним, что названные интерфейсы предоставляются браузером и к ECMAScript отношения не имеют.


Что касается поддержки, то с requestAnimationFrame все хорошо, а с requestIdleCallback, в основном из-за Safari, этого современного IE, ситуация хуже.


Рассматриваемые интерфейсы позволяют разработчикам получать доступ к процессу рендеринга страницы. Также они очень тесно связаны с циклом событий (event loop) браузера.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 6

Apple TV 1st generation. Вторая жизнь 15 лет спустя

Время на прочтение 14 мин
Количество просмотров 18K

В моем распоряжении оказалось достаточно раритетное устройство родом из Купертино. Этот представитель технологической истории не имел широкого распространения и популярности на наших просторах в те годы, оттого желание прикоснуться к нему было еще больше. Немного поностальгируем, рассмотрим, чем являлось Apple TV в 2007 и попробуем найти применение в 2021 году.

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 16

Цветущий георгин. Тестируем Dahlia OS

Время на прочтение 4 мин
Количество просмотров 10K


Около месяца назад я провел эксперимент с установкой на старенький субноутбук облачной операционной системы CloudReady. Опыт в целом можно назвать успешным, однако меня немного напрягло то обстоятельство, что эта платформа целиком и полностью строится вокруг браузера Chromium, а рекомендуемый софт представляет собой в основном веб-приложения. И вот в комментариях читатели посоветовали попробовать ОС под называнием Dahlia. Что ж, дважды меня упрашивать не нужно: качаем «Дахлию»! Пациент все тот же: Acer Aspire One с 1 Гбайтом оперативной памяти и китайским SSD на 120 Гбайт.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 30

Ontol про Kotlin: подборка 28 самых полезных бесплатных курсов и видео на Youtube

Время на прочтение 13 мин
Количество просмотров 17K
image

На английском


freeCodeCamp — лучший и при этом бесплатный канал для самообучения программированию. Многие платные школы просто делают «рерайт» их программ и продают за 100К руб.


850 000 просмотров
2,5 часа
курс для начинающих 2019 года

Содержание
(0:00:50) Create Your First Kotlin Project
(0:04:23) Hello World
(0:06:33) Working With Variables
(0:11:04) Type System
(0:15:00) Basic Control Flow
(0:21:31) Basic Kotlin Functions
(0:27:12) Function Parameters
(0:32:52) Arrays
(0:35:28) Iterating with forEach
(0:41:17) Lists
(0:42:47) Maps
(0:45:05) Mutable vs Immutable Collections
(0:49:24) Vararg Parameters
(0:54:21) Named Arguments
(0:56:26) Default Parameter Values
(1:00:27) Create A Simple Class
(1:03:35) Adding Class Properties
(1:05:15) Class Init Block
(1:06:40) Accessing Class Properties
(1:07:32) Primary Constructor Properties
(1:08:17) Secondary Constructors
(1:09:50) Working With Multiple Init Blocks
(1:11:30) Default Property Values
(1:11:59) Properties With Custom Getters/Setters
(1:16:52) Class Methods
(1:20:12) Visibility Modifiers — Public/Private/Protected/Public
(1:22:30) Interfaces
(1:24:21) Abstract Classes
(1:26:13) Implementing An Interface
(1:26:35) Overriding Methods
(1:28:30) Default Interface Methods
(1:29:30) Interface Properties
(1:31:40) Implementing Multiple Interfaces
(1:32:57) Type Checking And Smart Casts
(1:36:18) Inheritance
(1:43:07) Object Expressions
(1:45:06) Companion Objects
(1:49:51) Object Declarations
(1:52:41) Enum Classes
(1:58:16) Sealed Classes
(2:00:07) Data Classes
(2:12:25) Extension Functions/Properties
(2:16:40) Higher-Order Functions
(2:29:07) Using The Kotlin Standard Library
(2:00:07) Data Classes

Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Комментарии 15

Когда, как и зачем физики визуализировали звук

Время на прочтение 22 мин
Количество просмотров 16K


Всю школу и универ я прошла с установкой «точные науки — не моё». Сейчас мне интересно «доучиться», закрыть пробелы в математике, химии, физике.

Школьная физика для меня — это задачи, где надо выписать дано, привести единицы измерения, записать решение и ответ. О физике с точки зрения «когда и как люди до этого дошли», я не задумывалась, пока не наткнулась на лекцию физика-теоретика Игоря Иванова «Звучащий мир: голос, ультразвук, терагерцы». Я сделала конспект его лекции.
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Комментарии 7

Ontol: 58 бесплатных онлайн-курсов по кибербезопасности, криптографии и blockchain от лучших университетов мира

Время на прочтение 4 мин
Количество просмотров 24K
image

Реклама платных курсов лезет из всех щелей, но мало кто знает, что есть тонны бесплатных онлайн-курсов и, порой, более качественных, чем платные.

Предлагаю вашему вниманию 58 бесплатных онлайн-курсов от ведущих университетов мира. (Если есть чем дополнить — пишите в личку или комментарии)
Читать дальше →
Всего голосов 34: ↑30 и ↓4 +26
Комментарии 0

Разбираемся в сортах реактивности

Время на прочтение 27 мин
Количество просмотров 35K

Здравствуйте, меня зовут Дмитрий Карловский и я… прилетел к вам на турбо-реактивном самолёте. Основная суть реактивного двигателя изображена на картинке.



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


Это — текстовая расшифровка выступления на SECON.Weekend Frontend'21. Вы можете посмотреть видео запись, прочитать как статью, либо открыть в интерфейсе проведения презентаций.

Читать дальше →
Всего голосов 66: ↑58 и ↓8 +50
Комментарии 55

pfBlockerNG для домашней сети

Время на прочтение 4 мин
Количество просмотров 12K

pfBlockerNG - пакет pfSense для фильтрации IP трафика и DNSBL блокировки по готовым фидам с некоторыми дополнительными функциями и обширными возможностями по конфигурированию в целом.

И если в предыдущей статье было в деталях расписано устройство и каждая опция, для настройки в целом, то в данной статье будет приведён пример настройки для домашней сети.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 13

Как работает React: подробное руководство

Время на прочтение 22 мин
Количество просмотров 43K


Привет, друзья!


В этой статье я покажу вам, с чего начинается React.


Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код:


import '../style.scss'
import MyReact from './my-react'

const buttonStyles = {
 border: 'none',
 outline: 'none',
 padding: '0.3rem 0.5rem',
 marginLeft: '0.5rem',
 backgroundImage: 'linear-gradient(yellow, orange)',
 borderRadius: '2px',
 boxShadow: '0 1px 2px rgba(0, 0, 0, 0.2)',
 cursor: 'pointer'
}

/** @jsx MyReact.createElement */
function Counter() {
 const [value, setValue] = MyReact.useState(1)
 const [count, setCount] = MyReact.useState(1)

 return (
   <section>
     <h1 className='title'>Hello from MyReact!</h1>
     <div className='box'>
       <input
         style='width: 80px; padding: 0.15rem 0.5rem;'
         type='number'
         value={value}
         onInput={(e) => {
           setValue(Number(e.target.value))
         }}
       />
       <button
         style={buttonStyles}
         onClick={() => {
           setCount((count) => count + value)
         }}
       >
         Increment
       </button>
     </div>
     <h2 className='subtitle'>
       Count: <span className='count-value'>{count}</span>
     </h2>
     <ul className='list'>
       {['React', 'from', 'scratch'].map((item) => (
         <li>{item}</li>
       ))}
     </ul>
   </section>
 )
}

MyReact.render(<Counter />, document.getElementById('app'))

Как вы могли догадаться, наша версия будет называться MyReact.


Исходный код проекта.


Скриншот:





Песочница:

При разработке мы будем придерживаться архитектуры исходного кода React. Вместе с тем, следует отметить, что за последние 2 года исходный код React претерпел значительные изменения, поэтому некоторые вещи, которые мы будем рассматривать, помечены в нем как legacy. Несмотря на это, общие принципы и подходы остаются прежними.

Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 5

Поднимаем прозрачный прокси Squid на FreeBSD 13.0

Время на прочтение 4 мин
Количество просмотров 13K

Хочу поделиться информацией по поднятию прозрачного HTTP и HTTPS прокси сервера Squid с фильтрацией сайтов и без подмены сертификатов на FreeBSD 13.0 RELEASE. На Хабре уже есть похожая статья по настройке прозрачного прокси сервера Squid с фильтрацией ресурсов и без подмены сертификатов на Linux. Решил актуализировать информацию на свежо установленной ОС FreeBSD 13.0 и поделиться с вами.

При использовании действий «peek-and-splice», сквид выдергивает имя ресурса с помощью SNI и клиент дальше работает с ресурсом. Т.е. не происходит подмена сертификата. Этот режим подходит для нашего прозрачного прокси.

Ставить Squid мы будем из портов, так как необходимо включить некоторые параметры в сборку, также для заворачивания трафика на порт прокси мы будем использовать пакетный фильтр PF.

Для начала скачиваем порты:

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 15

Задачи с чемпионата мира по программированию ICPC 2021

Время на прочтение 3 мин
Количество просмотров 19K
В 2021 году финал чемпионата мира по программированию среди университетских команд ICPC (International Collegiate Programming Contest) прошел в Москве в начале октября.

Участникам нужно было решить 15 задач на трёх компьютерах (раньше было меньше задач и 1 компьютер).

image Золото
1) ННГУ (Нижний Новгород)
2) Seoul National University (Корея)
3) ИТМО (Санкт-Петербург)
4) МФТИ (Москва)

Серебро
5) University of Wroclaw (Польша)
6) University of Cambridge (США)
7) Беларусский государственный университет (Минск)
8) University of Bucharest (Румыния)

Бронза
9) Massachusetts Institute of Technology (США)
10) ХНУРЭ (Харьков)
11) University of Illinois at Urbana-Champaign (США)
12) НИУ ВШЭ (Москва)

13) СПбГУ (Санкт-Петербург)
14) University of Warsaw (Польша)
15) Utrecht-Leiden University (Нидерланды)
16) Harvard University (США)
17) University of Central Florida (США)
18) National Taiwan University (Тайвань)
19) Питерский филиал ВШЭ (Санкт-Петербург)
20) МГУ (Москва)
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Комментарии 4

Кино и космос

Время на прочтение 10 мин
Количество просмотров 14K

Недавно благополучно завершился полет киноэкипажа в составе режиссера и оператора Клима Шипенко и актрисы Юлии Пересильд. Они стартовали на “Союзе МС-19” с командиром Антоном Шкаплеровым 5 октября и приземлились на “Союзе МС-18” с командиром Олегом Новицким 17 октября. Отснятое на орбите станет первыми кинокадрами, снятыми профессиональной съемочной группой с участием профессиональных актеров в космосе. А такое громоздкое определение получается из-за того, что в истории кино и космонавтики есть кино, снятое в космосе, кино, снятое космонавтами, кино с участием космонавтов, кино, снятое автоматическими космическими аппаратами, кино с настоящей невесомостью, но снятое в пределах земной атмосферы, и много еще разных вариантов. Наш сегодняшний разговор о кино в космосе и космосе в кино.

Читать далее
Всего голосов 45: ↑40 и ↓5 +35
Комментарии 66

Как создавались первые бортовые ЭВМ для советской космической программы

Время на прочтение 5 мин
Количество просмотров 15K
С развитием космонавтики перед конструкторами всё острее вставал вопрос — а при помощи чего управлять космическими «пегасами» будущих покорителей пространства-времени? Где взять подходящую ЭВМ, которая будет успешно действовать в стеснённых условия космического аппарата (КА)? Как защитить тонкую технику от перегрузок, возможного перегрева? В конце концов, сколько энергии потребуется потенциальной бортовой цифровой вычислительной машине (БЦВМ) и где эту энергию взять?

Вопросы, надо сказать, не праздные. Ибо имеющиеся на тот момент «наземные» ЭВМ как-то не особо вписывались в концепцию будущего бортового компьютера — компактного, надёжного и экономичного.

Тем не менее кое-что имелось-таки. Советские наука и техника в 50-е годы сумели внедрить в производство (пусть и мелкосерийное) целый спектр ЭВМ. И некоторые из них на момент своего появления оказались вполне, что называется, «на уровне». Например, в 1953-м было признано, что рабоче-крестьянская БЭСМ — наиболее быстродействующая ЭВМ в Европе. Постоянно велись работы по усовершенствованию и удешевлению этой машины без потери быстродействия. Уже на БЭСМ-2 был произведён расчёт траектории полёта на Луну.


Читать дальше →
Всего голосов 48: ↑41 и ↓7 +34
Комментарии 56

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud