Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Я заплатил сорок шесть тысяч долларов за редизайн и жалею об этом

Reading time15 min
Views84K
Два года назад я сделал вебсайт для своего бизнеса. Сочетание моих собственных нулевых навыков дизайна и приличного шаблона дало на выходе сайт, который выглядел более-менее. Я сказал себе, что если дело пойдет в гору, я найму настоящего дизайнера, чтобы всё смотрелось профессионально.



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

В результате редизайна я получил следующее:
Читать дальше →

Архитектура Android. Понятно и подробно

Level of difficultyMedium
Reading time15 min
Views33K

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

Читать правила

Учимся бесплатно деплоить Java (и не только) приложения (Docker, CircleCI, Google Cloud)

Level of difficultyMedium
Reading time9 min
Views13K

Всех приветствую. В последнее время все чаще задумывался о том какую бы еще полезную статью написать. Параллельно этому постоянно видел в интернетах рекламу о "крутых" курсах в IT, обещают сделать из вас Java, Python и какого угодно разработчика за полгода/год, и ладно с ним, допустим за год они чему-то вас обучат и, возможно, где-то вы попадете на бесплатную стажировку (что еще тоже под воросом, учитывая нынешний рынок). Но когда рекламируют "крутые курсы DevOps'ов", я уже начинаю задаваться вопросом, как можно стать ДевОпсом, не имея опыта программирования, не опробовав самому весь цикл разработки на хоть каком-то языке, не опробовав различные настройки сборки приложений, не опробовав Линукс, со всеми его утилитами, докер, кубер, git и т.д. в работе, а просто "обучиться" этому в обособленности от всего и ожидать, что тебя куда-то возьмут, а если и возьмут, то к чему-то серьезному подпустят? Ответа на этот вопрос я так и не нашел у себя в голове.

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

Задеплоить

Рождение и проверка временем Sid Meier's Civilization II

Level of difficultyEasy
Reading time11 min
Views7.5K
Сейчас пятилетний перерыв между играми одной серии не кажется слишком большим: почти с таким интервалом выходили, к примеру, Anno 2070, 2205 и 1800. Но в 90-е темп разработки был совсем иным, ведь создание игры с нуля занимало не больше года. Так почему же вторая часть «Цивилизации» увидела свет только в 1996-ом году?

image

После выхода в 1991-ом году Sid Meier's Civilization офис MicroProse был завален письмами фанатов с предложениями новых механик. Эксперимент Сида Мейера удался: Civilization высоко оценили как критики, так и простые игроки. Идея о продолжении витала в воздухе, но «Цивилизация» казалась идеальной игрой, которую нет смысла переделывать. Да и сам Сид Мейер хотел переключиться на новый проект C.P.U. Bach – интерактивную музыкальную игру, генерирующую композиции в стиле Иоганна Себастьяна Баха.
Читать дальше →

Делаем web сервер из старого Android смартфона, без root

Reading time4 min
Views36K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее

Я потратил на свое расширение для Chrome два года и заработал двести долларов. Что дальше?

Level of difficultyEasy
Reading time2 min
Views6K


Если вкратце: Два года назад я взялся за разработку расширения для Chrome, потерял на этом много денег и пока сумел на нем заработать только двести долларов. Соль здесь в том, что вся моя «прибыль» пришла на этой неделе в виде чаевых.

Моя история началась два с лишним года назад, когда я запустил первую версию Zecento. Zecento – это расширение для Chrome, которое помогает людям принимать выгодные решения о покупках и экономить деньги на Amazon. На сегодняшний день расширение работает только в Италии, но в скором времени я планирую запустить его в Канаде и США.

По сути, расширение подсказывает пользователю, удачный ли сейчас момент для совершения покупки, проводя анализ изменений в информации о продукте или продавце, а затем посылает ему оповещение, когда цена снижается (или другой продавец предлагает тот же товар по более выгодной цене).
Читать дальше →

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views25K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

Самостоятельный робот-пылесос Dreame L10s Ultra. Пробуем подключать к водопроводу и канализации

Level of difficultyMedium
Reading time6 min
Views32K
Идея полностью самостоятельных домашних смарт-устройств была давно. Но только сейчас появились роботы-пылесосы, которые умеют не просто сбрасывать мусор после уборки, но и мыть салфетки, сушить мокрые салфетки, заливать чистую воду, а грязную воду сливать в отдельный контейнер. Такой робот наиболее автономен, так как обслуживать его нужно раз в месяц и реже. Что у меня вышло из подключения к канализации и к водопроводу — под катом.


Читать дальше →

JavaScript. WebRTC. Соединение браузеров напрямую без сервера, peer-to-peer

Level of difficultyEasy
Reading time2 min
Views10K

WebRTC позволяет браузерам обмениваться информацией напрямую без сервера. Можно передавать видео, звук и данные.

Читать далее

Clickhouse — непростая жизнь в продакшене

Level of difficultyHard
Reading time13 min
Views22K

Около двух лет назад вышла небольшая статья Kafka Streams — непростая жизнь в production, в которой я описывал сложности, с которыми наша команда столкнулась при попытке решить задачи проекта с помощью kafka-streams. Эксперимент вышел неудачным, и мы в итоге совсем отказались от этой технологии. Вместо нее решили попробовать Clickhouse (CH), и сейчас уже можно сказать, что эта база нам очень хорошо подошла и отлично решает почти все задачи, которые нам ставит бизнес. В этой статье я расскажу об особенностях использования CH.

Читать далее

Нагрузочный поединок между Tarantool 2.10 и Hazelcast 4.5.4

Level of difficultyMedium
Reading time13 min
Views2.5K

Привет! Меня зовут Денис Макаров, я бэкенд-тимлид в KTS.

В прошлый раз мы сравнили Tarantool с Redis, а в этой статье решили провести тесты с Hazelcast.

Так же, как в прошлой статье, мы рассматриваем вариант Tarantool как замены: берём типичные кейсы работы с Hazelcast и реализуем такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами.

Читать далее

Джоэл (и снова) о программировании — моя любимая книга

Level of difficultyEasy
Reading time3 min
Views4.4K

Был отпуск и решил что-нибудь взять почитать. Наткнулся на книгу "Джоэл о программировании". Выбрал ее.

Изначально думал, что это самая обычная скучная книжка: написана на определенную тему, полно воды, много терминов и др. Спустя 2 главы свое мнение поменял. И вот почему.

Читать далее

«Подарил удочки и попрощался с друзьями на год»: как я стал Android-разработчиком, отказавшись даже от прогулок

Level of difficultyEasy
Reading time6 min
Views56K

Всем привет! Меня зовут Пётр Гнесный, я студент и стажёр на финишной прямой — вот-вот окончу курс «Android-разработчик» в Практикуме и стажировку в американском медтех-стартапе RE.DOCTOR. В этом тексте я расскажу, как написал первый фрагмент кода, занимаясь биржевой торговлей, какие три вещи на самом деле важны в обучении программированию и почему 1 октября случится кое-что важное — я впервые за год пойду на рыбалку.

Читать далее

Эволюция блокировщиков рекламы. Технологическое противостояние

Reading time3 min
Views19K


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

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

Парадокс Гранди. Как современные школьники повторяют ошибку Лейбница и Эйлера

Reading time4 min
Views95K

Было у отца два сына. И оставил он им наследство — камень драгоценный. А чтобы никого не обидеть, поставил он перед сыновьями условие: нельзя тот камень ни пилить, ни продавать. Можно только по очереди владеть им. И повелось так — каждый год камень переходил от одного брата к другому. Потом камнем по очереди владели их потомки, потом потомки их потомков… И длилось так вечно.

Этой притчей итальянский математик, монах и философ Гвидо Гранди пытался объяснить решение задачи, которую сам же и сформулировал. В 18 веке её считали парадоксом и предлагали разные варианты решения. Долгое время она не давала покоя математикам.

Задача Гранди формулируется очень просто: какой результат мы получим, если будем до бесконечности складывать 1 и -1?

Читать далее

Как стать гуру или WiFi Cheat Sheet

Level of difficultyMedium
Reading time21 min
Views51K

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться

Модельно-Ориентированная Java, или Навстречу Дизайну ПО

Level of difficultyMedium
Reading time21 min
Views5.5K

Модельно-ориентированный метод (MDE) широко применяется во многих сферах современной инженерии; в программировании он позволяет разделить деятельность, направленную на создание универсального описания продукта, от деятельности по написанию кода, который бы эту модель воплощал в реальность. На практике, в мире Java эти деятельности по-сути совмещены воедино языком программирования, так как мы определяем интерфейсы на том же языке, на котором потом и пишем реализацию, поэтому грань между моделью и кодом может быть не так очевидна. Однако, она отчетливо проявляется, когда требуется интегрировать нашу программу в работу более сложных систем: например, я бы хотел запускать мою CLI утилиту как сервис, доступ к которому можно было бы получить через любой язык программирования по сокетам, сохранив при этом хороший Dev-X с автозаполнением полей и описанием опций. Сделаем это в 3 этапа под катом: во-первых, сконвертируем существующий Java-класс, который описывает флаги, в модельно-ориентированный XML, затем из него сгенерируем protobuf файлы для бинарного обмена данными и в завершение скомпилируем их для JavaScript и Java, обернув в приличный JSDoc. В конце обсудим все преимущества работы "на модель" и будущее роли дизайна при разработке ПО.

Читать далее

Задетектить и промаркировать: машинный контент не могут выявить сами машины. И это проблема

Reading time4 min
Views3.3K

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

Всё это хорошо, но в некоторых случаях важно знать, где написанное или нарисованное «вручную», а где — сгенерированный контент (тут ждём искромётных шуток в комментариях по поводу самой этой статьи). Зачем? Это важно в случае научной работы, студенческой дипломной работы, рисунков для разного рода конкурсов. И сервисы выявления машинного контента вроде бы есть. Но вот беда — они не работают. Почему и что с этим делать?

Читать далее

Made at Intel. Эпилог

Level of difficultyEasy
Reading time8 min
Views33K

Несколько дней назад я закончил последнюю главу саги Made at Intel. Напоследок хочу поделиться с вами несколькими мыслями, посетившими меня по ходу ее написания. Они обращены в прошлое, настоящее и немного в будущее.

Читать далее

Как рассказать о сайте поисковой системе

Level of difficultyEasy
Reading time5 min
Views6.3K

Сайт написан, домен куплен, так почему же я до сих пор не вижу его в Google/Yandex?

В этой статье Вы узнаете как поисковые системы определяют ваш сайт и как же его добавить в поиск.

Читать далее

Information

Rating
Does not participate
Registered
Activity