Pull to refresh
0
0
Send message

Как ChatGPT поможет заменить репетитора по английскому для айтишников

Level of difficultyEasy
Reading time1 min
Views12K

По мотивам нашей прошлой статьи «Как айтишникам быстро выучить английский с помощью ChatGPT? » мы решили написать продолжение и чуть побольше раскрыть эту тему, раз она так залетела.

Несколько лет назад мы бесповоротно влюбились в теорию Стивена Крашена. О ней можно чуть подробнее, но на английском прочитать у нас тут.

Если вкратце, то речь о том, что круче всего учить английский вникая в контент максимально нативно, словно ребенок, который изучает с детства свой первый язык. Он ведь не относится к процессу как 45 минутному уроку в школе, он погружается в него, находясь в максимально располагающей к этому среде.

Читать далее
Total votes 19: ↑10.5 and ↓8.5+2
Comments11

Обобщенные фабрики тайпгардов в TypeScript

Level of difficultyMedium
Reading time10 min
Views5.1K

Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?

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

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

Читать далее
Total votes 34: ↑36 and ↓-2+38
Comments6

Неадекватная стоимость исходящего трафика у некоторых облачных хостеров

Level of difficultyMedium
Reading time6 min
Views7.4K


Пользователи часто поднимают вопрос неадекватной стоимости исходящего трафика (egress) у отдельных облачных провайдеров.

Если обычные хостеры не тарифицируют этот трафик, то некоторые другие сервисы устанавливают специальные тарифы. Как показывает практика, это может стать неприятным сюрпризом для клиентов.
Читать дальше →
Total votes 29: ↑34 and ↓-5+39
Comments18

Больше ИИ-инструментов, хороших и разных: Google представила помощника для написания кода

Reading time3 min
Views5.9K

Всё больше компаний создают разнообразные ИИ-модели, и, конечно, крупные корпорации — впереди планеты всей. На днях Google представила свой новый проект — Gemini Code Assist, инструмент, который помогает разработчикам писать код. О том, что это за новинка и какие ей дали возможности — читайте под катом.

Читать далее
Total votes 8: ↑9.5 and ↓-1.5+11
Comments7

Если покупка — это не владение, то пиратство — не воровство

Reading time6 min
Views49K

Двадцать лет назад я ввязался в публичную перепалку (дружескую) с Крисом Андерсоном, работавшим тогда главным редактором Wired. Я публично выразил своё разочарование публикуемыми в Wired радужными обзорами отягощённых DRM цифровых устройств. Андерсон сказал, что я идеалист, если жду, что журнал откажется от обзоров гаджетов из-за DRM:

https://longtail.typepad.com/the_long_tail/2004/12/is_drm_evil.html

Я публично ответил, сказав ему, что он неправильно меня понял. Дело было не в идеологической чистоте, а в добросовестности обзоров. Wired призывал покупать продукт, потому что у него имелись функции x, y и z, но в любой момент в будущем производитель мог отключить любые из этих функций:

https://memex.craphound.com/2004/12/29/cory-responds-to-wired-editor-on-drm/
Читать дальше →
Total votes 214: ↑227 and ↓-13+240
Comments701

Красавица и HTML Injection. Почему HTMLi не только про дефейс

Level of difficultyMedium
Reading time27 min
Views4.3K

Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об XSS'ках, а об HTML-инъекциях?

Сегодня я попробую рассказать про большую часть интересных векторов, которые мы можем использовать при ограничении в применении JS. Не стесняйтесь пользоваться оглавлением, потому что статья подготовлена для разного уровня читателей. Чтобы не обделять новичков, я достаточно подробно описал работу HTML, ее структуры и даже то, как HTML парсится браузером!

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments2

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение

Level of difficultyMedium
Reading time9 min
Views9.4K

Что вам может дать продуктовый подход к pet-проекту? Если смотреть на pet-проект не как на лабораторную работу, а как на будущий продукт, начинаешь лучше понимать весь цикл разработки. При таком подходе ты сперва выступаешь в роли заказчика: определяешь, какую задачу пользователя решаешь, как это сделать наилучшим образом, а потом подбираешь технологии, которыми легче всего реализовать функционал или которые хочется попробовать. В тексте я расскажу о развитии моего pet-проекта по созданию музыкального стримингового веб-приложения и чему удалось научиться, используя данный подход.

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments29

5 способов писать эффективный код на Go: от названий переменных до архитектуры

Level of difficultyEasy
Reading time8 min
Views9.9K

Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разработки в команде Go-программистов: они расскажут, как называть переменные, составлять документацию и продумывать архитектуру так, чтобы специалистам в команде и смежных отделах было легко работать с написанным кодом. 

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

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments8

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

Reading time8 min
Views4K


В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Читать далее
Total votes 19: ↑18 and ↓1+17
Comments2

Как работает NDA в разработке приложений? + шаблон НДА

Level of difficultyEasy
Reading time3 min
Views1.1K

Текущий информационный мир полон не только возможностей, но и ограничений. Если вы работает в B2B и B2G, то не раз встречались с NDA от заказчика. Я расскажу о своем опыте в сфере аутсорсинг‑разработки: как выгодно пользоваться этим документом.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments4

Самая богатая бедная страна

Level of difficultyEasy
Reading time7 min
Views54K

Я переехал в Анголу в 2012 году, через 10 лет после окончания гражданской войны. Помню как мы ехали по Луанде и на многих билбордах был портрет президента с подписью "архитектор мира". И это на самом деле было очень неплохой пропагандой, тот кто придумал это мотто по своему гениален, эти два слова выражали два главных чаяния ангольцев - они хотели мира и восстановления, отстраивания страны... это мой рассказ о тех преобразованиях, которые сейчас происходят в Анголе с точки зрения человека, который жил в Анголе много лет.

Читать далее
Total votes 149: ↑135 and ↓14+121
Comments154

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views137K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 506: ↑498 and ↓8+490
Comments351

А ты хорошо знаешь Go? Держи пару полезностей по оптимизации кода

Reading time12 min
Views8.9K

Привет, Хабр!

Эта статья — моя подборка приёмов и техник, которые помогут писать лаконичный и производительный код на Go без лишних костылей и велосипедов.

Речь пойдёт о:

полезностях для конкурентного программирования

приёмах в Go в целом, таких как использование iota, работа с ошибками, вывод интерфейса и т.д.

методах оптимизации работы со слайсами

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

Читать далее
Total votes 22: ↑19 and ↓3+16
Comments11

Как я обработал один миллиард строк в PHP

Level of difficultyMedium
Reading time12 min
Views19K

Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга.

Моё участие в проекте было мотивировано присутствием в нём двух моих коллег, которые достигли лидирующих позиций.

PHP не известен своими выдающимися скоростными показателями. Тем не менее, учитывая, что я работаю над профайлером PHP, я решил исследовать его производительность на примере этого вызова.

Читать далее
Total votes 76: ↑74 and ↓2+72
Comments33

Как я случайно превратила свой сокращатель ссылок в приманку для мошенников

Level of difficultyMedium
Reading time7 min
Views59K

Пару месяцев назад я запустила сервис y.gy, навороченный сокращатель URL. Вызвано это было личной нуждой: в другом моём проекте, getwaitlist.com, используется множество реферальных ссылок, а доступные сервисы сокращения url не внушали мне доверия. В итоге я решила создать собственный инструмент, который наверняка окажется полезен не только мне.

Я разработала лучший в своём роде сокращатель со всеми возможными примочками, начиная с обширной кастомизации и заканчивая хорошей аналитикой трафика. Это всё, что мне было нужно. По аналогии со многими аналогичными инструментами я разместила интерфейс «Shorten Link» по центру домашней страницы. Регистрация для использования сервиса не требуется. Я сделала доступ бесплатным и неограниченным, опираясь на принцип: «бесплатность – лучшая маркетинговая стратегия». Закончив с настройкой, я без громких заявлений сделала релиз и начала потихоньку продвигать свой проект.
Читать дальше →
Total votes 146: ↑142 and ↓4+138
Comments70

Мини-ПК для «тяжелых» и не очень задач: 5 моделей начала весны 2024 года

Reading time3 min
Views22K

В это как-то трудно поверить, но уже весна, причем 2024 года. Вроде только Новый Год праздновали, и вот — весна. Производители миниатюрных ПК, тем не менее, продолжают работу, так что сейчас появилось несколько интересных моделей, о которых стоит узнать подробнее. О них поговорим под катом.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments9

Исследование безопасности десктопных приложений на основе Electron

Level of difficultyEasy
Reading time15 min
Views3.1K


Electron — фреймворк с открытым исходном кодом для создания кросс-платформенных десктопных приложений с помощью JavaScript, HTML и CSS. Это крутая технология, но с ней связаны многие ИБ-риски.


В статье я разберу основы безопасной работы с этим фреймворком и расскажу:


  • как анализировать структуру десктоп-приложений на Electron и находить в них уязвимости;
  • какие распространенные ошибки допускают при работе с фреймворком и насколько он защищен.

Начнем с инструментов и методов, с помощью которых я провожу анализ кода приложений. Затем продемонстрирую конкретные примеры эксплуатации уязвимостей на примере специальных приложений-мишеней: DVEA, Electro-xxs и Notable.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments0

Не стоит недооценивать HTML

Level of difficultyEasy
Reading time6 min
Views23K

«HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения.

И очень часто они вызывали у меня грусть.

Дело в том, что бо́льшую часть времени я проводила за написанием фронтенда, включая работу с HTML, CSS и JavaScript (по факту в основном TypeScript). Когда кто-нибудь говорит мне о «простоте» моей работы, я начинаю думать, что мои навыки не представляют высокой ценности, и меня может легко заменить любой разработчик…

В статье же я решила описать свои размышления, которые рождались в течение последних двух лет во время работы с людьми из разных команд с разным опытом в HTML-разработке и фронтенд-технологиях в целом. Здесь я озвучу несколько основных своих вопросов «Почему?», сопроводив их возможными ответами.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments94

Февральские мини-ПК: 5 разных моделей для работы и развлечений

Reading time3 min
Views20K

Продолжаем мониторить рынок миниатюрных ПК, стараясь выбрать наиболее интересные модели. Часть подходит лишь для офисных задач, часть — вполне себе производительные, их можно использовать и для игр. Под катом — подборка устройств, которые нам понравились больше всего. Если у вас есть, что порекомендовать помимо представленных моделей — пишите в комментариях, обсудим.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments15

Как стать VPN провайдером за один вечер

Level of difficultyMedium
Reading time13 min
Views59K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Total votes 71: ↑70 and ↓1+69
Comments142

Information

Rating
Does not participate
Registered
Activity