DevNotes Live
6 subscribers
84.2K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Forwarded from Shock Design
Вдохновение новым дизайном сухого молока Them 1888 от датского агентства Simply.

📙 Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Адовый UX
Если вы увидели, что одну из ваших карт захватил некий Нэсп Д., не пугайтесь

Это просто бюрократическая аббревиатура, оформленная, как имя и фамилия
Forwarded from Адовый UX
👩‍💻 HTTP-ответ с таймером самоуничтожения

Реализуйте простой HTTP-сервер на Node.js, который возвращает уникальные одноразовые ссылки (вида /once/abc123) и сам удаляет их после одного использования или по истечении 60 секунд — в зависимости от того, что наступит раньше.

При повторном доступе к использованной или истекшей ссылке сервер должен возвращать 410 Gone.

Поведение:

GET-запрос на /create создаёт новую одноразовую ссылку, возвращает её клиенту.

При первом запросе к этой ссылке (/once/<id>) возвращается " Valid link" и она становится недействительной.

Если никто не обратился к ссылке за 60 секунд — она автоматически удаляется, и возвращается "410 Gone" при попытке перейти.


Решение задачи🔽

const http = require('http');
const crypto = require('crypto');

const PORT = 3000;
const links = {}; // { id: { createdAt: timestamp, used: bool } }

function generateId() {
return crypto.randomBytes(6).toString('hex');
}

function cleanupLinks() {
const now =
Date.now();
for (const id in links) {
if (now - links[id].createdAt > 60000 || links[id].used) {
delete links[id];
}
}
}

setInterval(cleanupLinks, 5000); // чистим каждые 5 сек

const server = http.createServer((req, res) => {
const url = new URL(req.url, `http://${
req.headers.host}`);

if (url.pathname === '/create') {
const id = generateId();
links[id] = { createdAt:
Date.now(), used: false };
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end(`/once/${id}`);
return;
}

const match = url.pathname.match(/^\/once\/([a-z0-9]+)$/);
if (match) {
const id = match[1];
const record = links[id];

if (!record || record.used || (
Date.now() - record.createdAt > 60000)) {
res.writeHead(410, { 'Content-Type': 'text/plain' });
res.end('🔒 410 Gone: Link expired or used');
} else {
links[id].used = true;
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end(' Valid link');
}
return;
}

res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found');
});

server.listen(PORT, () => {
console.log(`Server running at http://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Адовый UX
Разрешено

Запрещено
Forwarded from Адовый UX
Forwarded from Denis Sexy IT 🤖
Некий Никита Л. хорошо расписал на реддите, как Альтман играет в 5d шахматы, чтобы высвободить компанию от влияния Microsoft (по капитализации – самой богатой компании мира), короткая версия:

В 2019 году OpenAI едва сводила концы с концами, и Microsoft спасла её: дала ~1$ млрд и свои дата-центры, но взамен получила почти все права на разработки и эксклюзивное право продавать их через Azure. Пока ChatGPT взлетал, союз казался выгодным обоим, но к 2024 году другие ИИ-стартапы догнали по качеству, и жёсткие условия договора превратились для OpenAI в «золотую клетку». Ситуацию резко изменил подписанный летом 2025 контракт Пентагона на $200 млн: теперь OpenAI официально участвует в создании ИИ для обороны США, поэтому её способность свободно развиваться и быстро внедрять новшества объявлена «критически важной для национальной безопасности». Любая структура, которая может замедлить или заблокировать эти работы - даже такой крупный партнёр, как Microsoft, - автоматически попадает под прицел Конгресса и Минобороны.

Сэм Альтман воспользовался новой картой: Он начал «партию в корпоративные шахматы»: покупает стартапы только за акции OpenAI, втягивает в капитал фонды Саудовской Аравии, ОАЭ, Индии и SoftBank - все требуют хостинга за пределами Azure, усиливая аргумент, что монополия Microsoft мешает глобальной (а теперь и оборонной) миссии OpenAI. Логика проста: если Microsoft настаивает на исключительных правах, Альтман выдвигает противопоставление - «вы душите проект, связанный с защитой США». Взамен он предлагает софт-ультиматум: Microsoft остаётся с блокирующим пакетом в 33 %, но отказывается от эксклюзивов; в противном случае - расследование антимонопольных органов, где угрозу национальной безопасности будут рассматривать уже государственные юристы. Так «приватная» контрактная ссора превращается в политический вопрос, а OpenAI старается и «пирог съесть» (сохранить мощности Azure) и «независимость не потерять»


🍿
Please open Telegram to view this post
VIEW IN TELEGRAM