Как стать автором
Обновить
-2
0
Алексей @oldcastor

Продолжающий начинать разработчик

Отправить сообщение

Laravel+Docker+Gitlab. С чего начать

Время на прочтение19 мин
Количество просмотров37K
Я обычно всегда обходился без докера и думал, что докер нужен только для больших проектов в больших компаниях. Но однажды я увидел как работает докер в паре с гитлабом у моего товарища и понял, что мне все таки стоит его изучить. Однако, как обычно это бывает, одной подходящей статьи я не нашел — они были либо слишком сложные, либо не полные, либо подразумевали, что вы все знаете само собой. Мне пришлось долго искать различные источники, соединять все это вместе и в итоге у меня получилось сделать простенький проект и CI/CD для него.

Всю работу можно разделить на три части: на локальной машине, на гитлабе и на сервере.

Итак, для реализации проекта нам понадобится аккаунт gitlab и удаленный сервер с виртуализацией KVM или XEN.

Часть 1. Локальная машина


На локальной машине необходимо установить docker.

Замечание
Тут небольшое отступление. Docker можно поставить как на Linux системах (как Ubuntu, например), так и на Windows и MacOS. По поводу macos я ничего сказать не могу, а вот установка под Windows не самая хорошая идея для начинающего. Как минимум из-за того, что все мануалы и документации написаны для linux систем. Так и из-за того, что можно нажить проблем с доступом к различным папкам и файлам. Также докер конфликтует с виртуальной машиной VirtualBox. Поэтому проще и быстрее будет сделать виртуальную машину с Ubuntu и работать под ней
Всего голосов 10: ↑8 и ↓2+12
Комментарии26

Руководство по Git. Часть №1: все, что нужно знать про каталог .git

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



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

В интернете размещена масса руководств по командам Git, но в этой статье работа Git рассмотрена глубже, чем просто изучение команд.

Это первая часть гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions
Читать дальше →
Всего голосов 47: ↑36 и ↓11+42
Комментарии64

Визуализация работы сервис-воркеров

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


Доброго времени суток, друзья!

Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры (Service Workers), которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря популярности прогрессивных веб-приложений (Progressive Web Applications — PWA).

Когда я впервые услышал о них, я задался вопросом: «Когда мы должны использовать сервис-воркеры? В каким сценариях или контексте мы можем их использовать?»

В данной статье мы рассмотрим несколько практических примеров использования сервис-воркеров, что впоследствии, смею надеяться, сделает счастливыми ваших пользователей.

Полагаю, прежде чем разбирать практические примеры, необходимо хотя бы в общих чертах рассмотреть теоретические основы работы сервис-воркеров. Для начинающих разработчиков это послужит хорошим подспорьем в дальнейших начинаниях.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Обзор дешевых VPS-серверов

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

Вместо предисловия


или как так получилось, что появилась эта статья


в котором рассказывается, зачем и почему проводилось это тестирование

Полезно иметь под рукой небольшой VPS сервер, на котором будет удобно тестировать некоторые вещи. Обычно требуется, чтобы он ещё и был круглосуточно доступен. Для этого нужно бесперебойное функционирование оборудования и белый IP-адрес. В домашних условиях порой довольно сложно обеспечить оба этих условия. А учитывая, что стоимость аренды простенького виртуального сервера сопоставима со стоимостью услуги выдачи Интернет-провайдером выделенного IP-адреса, аренда такого сервера вполне может оправдать затраты. Но как выбрать, у кого заказать такой VPS? Доверия к отзывам на разного рода ресурсах мало. Поэтому появилась идея выбрать лучшего поставщика подобных услуг по простому критерию — по производительности арендованного сервера.

Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии89

Как Яндекс научил меня собеседовать программистов

Время на прочтение7 мин
Количество просмотров50K
После того, как я изложил свою историю «трудоустройства» в Яндекс в комменте к нашумевшей заметке «Как я проработала 3 месяца в Я.Маркете и уволилась», было бы несправедливо утаить и ту пользу, которую я вынес из своего опыта Яндекс.Собеседования.

В мои рабочие обязанности входит техническое интервьюирование кандидатов на позицию Fullstack JavaScript/TypeScript Developer, активно этим делом (стоит ли говорить, что слегка поднадоевшим?) я занимаюсь больше года, за плечами более 30 технических интервью.

Раньше на техническом интервью я задавал кандидату довольно бестолковые вопросы аля «что такое замыкание», «как в JavaScript реализуется наследование», «вот есть такая-то таблица в БД с такими-то индексами, расскажите, пожалуйста, как можно ускорить такой-то запрос», которые хоть и помогали выявить инженерные способности кандидата, но совершенно не позволяли сделать вывод о том, насколько хорошо человек сможет решать задачи и насколько быстро он сможет разобраться в уже существующем коде. Что не могло не привести к печальным последствиям…

Но всё поменялось после того, как я прошёл четыре круга технических собеседований в Яндексе.
Читать дальше →
Всего голосов 78: ↑40 и ↓38+2
Комментарии121

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Время на прочтение21 мин
Количество просмотров559K
Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.

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

Итак, поехали.

image
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии32

8 историй о внутреннем Китае. То, что не показывают иностранцам

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

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


Чжунго — самая развивающаяся страна в мире. Во всех сферах: производство, IT, биотехнологии. В прошлом году Китай показал крупнейший в мире валовый продукт, который составил 18% от мирового ВВП.


Китай давно и прочно стал основным экономическим партнёром нашей страны. Россия продаёт Китаю ресурсы: нефть, газ, лес, металлы, продовольствие. Китай продаёт России высокотехнологичную продукцию: станки, электронные приборы, компьютерную и бытовую технику, настоящие швейцарские часы за 50 долларов, спинеры и прочий AliExpress. В прошлом году товарооборот с Китаем превысил 108 миллиардов долларов — за год вырос на четверть.


У российских разработчиков и руководителей IT-бизнеса часто возникает лёгкий шок от делового общения с китайскими товарищами — настолько легко и непринуждённо китайцы кидают партнёров. Но в этом нет ничего удивительного, если понимать, что такое на самом деле Китай, и что именно китайцы скрывают от окружающего мира.



Старинная китайская гравюра. Дядюшка Ляо на прогулке придумывает iPhone 12 c ТВ-приёмником, пятью sim-картами, десятью камерами, термометром, шокером и пылесосом.


Читать дальше →
Всего голосов 276: ↑249 и ↓27+222
Комментарии377

Каково разрешение человеческого глаза (или сколько мегапикселей мы видим в каждый отдельный момент времени)

Время на прочтение5 мин
Количество просмотров215K
Очень часто фотографы, а иногда и люди из других специальностей, проявляют интерес к собственному зрению.

Вопрос, казалось бы, простой на первый взгляд… можно погуглить, и всё станет ясно. Но практически все статейки в сети дают либо «космические» числа — вроде 400-600 мегапикселей (Мп), либо это и вовсе какие-то убогие рассуждения.

Поэтому постараюсь кратко, но последовательно, чтобы никто ничего не упустил, раскрыть эту тему.

Начнём с общей структуры зрительной системы


  1. Сетчатка
  2. Зрительный нерв.
  3. Таламус(ЛКТ).
  4. Зрительная кора.



Сетчатка состоит из трёх типов рецепторов: палочки, колбочки, фоторецепторы(ipRGC).
Читать дальше →
Всего голосов 249: ↑244 и ↓5+239
Комментарии404

Android Camera2 API от чайника

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


Не так давно я возился со своей роботележкой, пытаясь водрузить на нее ANDROID смартфон. Моей, то есть его задачей, было сделать тележку эволюционно продвинутой. Чтобы она, так сказать, чувствовала мир его сенсорами, смотрела его глазом (камерой), слышала микрофоном и ругалась по громкой связи. Ресурсов AVR, понятное дело, на это уже не хватало и поэтому бывший на телеге микроконтроллер переехал на уровень ниже, куда-то в район спинного мозга управлять моторчиками и разными безусловными рефлексами.

Но странное дело, когда я начал писать приложение для смартфона, нехорошая IDE ANDROID STUDIO стала постоянно зачеркивать мой код и называть его устаревшим.

camera = Camera.open();

Особенно, как вы видите, в тех частях, где я пытался работать с камерой. Это было очень обидно, потому что я прочитал в интернете и усвоил множество уроков работы с андроидом и камерой здесь, здесь, здесь и даже здесь. Там ничего не зачеркивалось. И называлось заурядно Camera API. Все там было просто и логично. Но Google упрямо толкал меня к какому-то Сamera2 API.

Я туда посмотрел и просто опупел от количества разных коллбэков, билдеров, хэндлеров и луперов на каждую строчку демонстрационного кода. Было совершенно непонятно с какой стороны к этому подступиться, если ты обычный любитель, а не android developer. Причем в сети даже на сегодня статей на тему Сamera2 API чуть, хотя вышло это обновление вроде как, аж четыре года назад. Но всё что я нашел, это статью в Хакере в 2016, пост в трех частях от украинских братьев того же года, двойной пост на Хабре в 2017 и статью Understanding Camera2 от японского мегагика Томоаки Имаи. И это я ещё имею в виду какую-то структурированную и оформленную информацию, а не раскиданные в интернете обрывки кода типа, «смотрите, как я могу» и простыни в стиле, «посмотрите код плиз, у меня ничего не работает».

А теперь, если вам всё ещё интересно зачем мне потребовалось пилить свой пост на эту тему
уже в 2019, то добро пожаловать под кат.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии21

TCP против UDP или будущее сетевых протоколов

Время на прочтение27 мин
Количество просмотров172K
Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились предпочтения и традиции принятия подобных решений.

По идее, если бы, к примеру, однажды один ленивый разработчик не попробовал развернуть свой ML на Python (потому что только его и знал), мир скорее всего никогда не проникся бы такой любовью к презренному «супер-джава-кодерами» языку. А сегодня слабости этого языка в прошлом контексте применения безоговорочно обеспечивают ему первенство в развертывании и запуске многочисленных майнерских А/Б.

Сравнивать можно многое: ARM с Intel, iOS и Android, а Mortal Kombat с Injustice. И нарваться на космический холивар, поэтому вернемся к теме доставки огромных объемов разноформатного контента.

Десять лет назад все были абсолютно уверены, UDP — это что-то про негарантированную доставку. Если нужен надежный протокол — это TCP. И вопреки традициям в этой статье мы будем сравнивать такие, кажущиеся несравнимыми вещи, как TCP и UDP.


Осторожно, под катом 99 иллюстраций и схем и все важные.
Всего голосов 162: ↑159 и ↓3+156
Комментарии75

Как устроена защита детей от информации — и феерическая история про то, откуда она сначала взялась (18+)

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


Всё началось с американских комиксов после Второй Мировой. Дело в том, что до войны ввели запрет на продажу порнографии, а порнографией нередко занимались бывшие бутлегеры. И вот у них встали печатные станки, и надо было что-то срочно придумывать. Придумались комиксы, поскольку с накалом обстановки из-за войны начала расти потребность в простых штуках (а комиксы тогда делали так, что читать уметь далеко не обязательно) и простых же супергероях, дарящих утешение.

Появились Супермен и его братва. Чуть позже, примерно с появлением Чудо-женщины, всё это эволюционировало обратно к мягкой порнографии (оценочное суждение). Забегая вперёд — доктор психиатрических наук обвинял эту серию в развитии множества половых извращений у малолетних американцев. Почему? Да потому что для аудитории самый естественный сюжет с дамой в трусах поверх остальной не очень богатой одежды — быть в беде. Сексуально. Ну, насколько тогда было возможно.
Читать дальше →
Всего голосов 177: ↑175 и ↓2+173
Комментарии829

Sampler. Консольная утилита для визуализации результата любых shell команд

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

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


Sampler


Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1+296
Комментарии54

Почему не SQL?

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


Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Среди бизнес-приложений процент систем, использующих SQL, вообще стремится к 100%.

При этом большинство существующих материалов о SQL на хабре и других ресурсах сводятся к простым вопросам, вроде: «какие типы соединений бывают», «чем левое соединение отличается от правого», «что такое триггеры» и так далее. Более того, в этих материалах практически ничего не говорится о проблемах SQL (и его реализациях), которых на самом деле очень и очень немало. Поэтому мы решили восполнить оба этих пробела: с одной стороны рассказать, как многие вещи в SQL работают изнутри, а с другой стороны — почему они работают не так как нужно / хотелось бы.

При этом речь в статье пойдет не о «вкусах и цветах фломастеров». Все затрагиваемые проблемы носят фундаментальный характер: присутствуют при разработке практически любой информационной системы и не ограничиваются «красотой кода», а в той или иной степени приводят либо к критическому падению производительности, либо к существенному росту порога вхождения, либо к значительным трудозатратам со стороны разработчика.
Читать дальше →
Всего голосов 92: ↑87 и ↓5+82
Комментарии179

Подборка полезных слайдов от Джулии Эванс

Время на прочтение1 мин
Количество просмотров52K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →
Всего голосов 115: ↑111 и ↓4+107
Комментарии42

Стажировка в JetBrains и как мне почти удалось попасть на неё

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

Как и многие молодые разработчики, когда появляется желание найти работу/стажировку — я смотрю в сторону крутых IT компаний.

Недавно я попробовал попасть в ряды JetBrains и под катом готов поделиться полученным опытом.
Читать дальше →
Всего голосов 51: ↑34 и ↓17+17
Комментарии78

Советские мечты о будущем

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


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Всего голосов 138: ↑136 и ↓2+134
Комментарии144

5 популярных JavaScript-хаков

Время на прочтение4 мин
Количество просмотров66K
Существует несколько JavaScript-хаков, которыми постоянно пользуются опытные программисты. Они не совсем очевидны, особенно для новичков. Эти хаки используют возможности языка, имеющие некоторые побочные эффекты. В этой статье я объясню, как работают 5 таких распространённых хаков.
Читать дальше →
Всего голосов 89: ↑56 и ↓33+23
Комментарии112

9 полезных приёмов для тех, кто программирует на JavaScript

Время на прочтение4 мин
Количество просмотров38K
Автор материала, перевод которого мы сегодня публикуем, рассказывает о девяти полезных приёмах работы, которые могут пригодиться JavaScript-программисту. Он говорит о том, что эти приёмы позволяют экономить время, и о том, что ими пользуются профессионалы.


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

Прокачиваем разработку на Vue с помощью паттернов: HOC

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

Паттерн HOC (Higher Order Component) очень популярен у React-разработчиков. А вот Vue-разработчики его как-то обходят стороной. Очень зря. Попробуем разобраться в этом.

Всего голосов 21: ↑21 и ↓0+21
Комментарии48

Иногда больше — это меньше. Когда уменьшение нагрузки приводит к увеличению задержки

Время на прочтение6 мин
Количество просмотров4.3K
Как и в большинстве постов, появилась проблема с распределённой службой, назовём эту службу Элвин. На этот раз я не сам обнаружил проблему, мне сообщили ребята с клиентской части.

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

Прежде чем отдать Элвина в тестирование, я провёл много экспериментов с 40 тыс. запросов в секунду (QPS), все показали задержку менее 10 мс. Я готов был заявить, что не согласен с их результатами. Но ещё раз взглянув на письмо, я обратил внимание на что-то новое: я точно не тестировал условия, которые они упомянули, их QPS был намного ниже, чем мой. Я тестировал на 40k QPS, а они только на 1k. Я запустил ещё один эксперимент, на этот раз с более низким QPS, просто чтобы ублажить их.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Тирасполь, Молдова, Молдова
Дата рождения
Зарегистрирован
Активность