Search
Write a publication
Pull to refresh
0
0
Ласкин Дмитрий @eshimischi

Fullstack разработчик

Send message

5 примечательных IT-компаний из Вьетнама

Level of difficultyEasy
Reading time3 min
Views2.6K

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

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

Читать далее

Как получить визу таланта О-1 в США: требования, критерии, личный опыт

Level of difficultyMedium
Reading time11 min
Views21K

На сегодняшний день виза О-1 — это самый простой и надежный способ переехать в США для профессионалов. Получить ее намного проще, чем EB-1 или H1B, при этом нет привязки к работодателю и количество выдаваемых виз не квотируется государством, а процент одобрения сейчас на уровне 96% от всех поданных заявлений.

Читать далее

Постановка задач в очередь Laravel сторонними сервисами

Level of difficultyEasy
Reading time3 min
Views3.3K

При работе над проектом (будь-то хайповые микросервисы или монолит) довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача довольно тривиальная, если на обеих сторонах используется один и тот же фреймворк. Но все становится намного интересней, когда на стороне подписчика допустим Laravel со своим дефолтным форматом, а на стороне издателя что‑то модное на Go.

Читать далее

Любите ли вы Rust, как люблю его я?

Level of difficultyEasy
Reading time3 min
Views6.7K

Привет, коллеги.

На самом деле ещё несколько месяцев назад я ненавидел Rust и задавался лишь одним вопросом: какого чёрта я вообще с ним связался? Но сегодня - сегодня всё иначе. И про это я хочу предложить немного доводов разобрать с ним.

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

Он безопасный. Это, правда, не совсем так, но если взять условного новичка, который напишет программу на C и условного новичка, который напишет программу на Rust - шанс, что вторая выйдет более безопасной окажется существенно выше. По крайней мере, атака через переполнение буфера, почти гарантировано, провалится (не станем отрицать наличие дарований, которые даже там, где это почти невозможно, смогут заложить уязвимость).

Он необычный. Уверен, вы сталкивались со странными языками программирования. Такими, которые ломают привычную парадигму и заставляют мыслить иначе. Например, люди, всю жизнь работающие с объектно-ориентированным подходом, нередко, теряются, когда сталкиваются с функциональным программированием, т.к. там иной подход. Да даже далеко ходить не надо; столкновение с попыткой воспользоваться OpenGL из привычного C++, в какой-то момент, рвёт все шаблоны и в воздухе повисает лишь два вопроса: "какого..." и "зачем вы так со мной". Это, разумеется, проходит, но не сразу.

Читать далее

GUI для Git: подборка популярных решений

Level of difficultyEasy
Reading time7 min
Views86K

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

В этой статье собраны самые популярные графические интерфейсы Git. Есть как бесплатные инструменты с открытым исходным кодом, так и проприетарные решения с дорогими лицензиями. Некоторыми клиентами из статьи я пользовался сам, чтобы в итоге выбрать удобный вариант для своих задач.

Читать далее

Стартап виза в Испанию

Level of difficultyEasy
Reading time10 min
Views11K

Недавно я получила одобрение своего бизнес плана от испанской компании Enisa (которая выдает официальное резюме вашему проекту) и вместе с ним ВНЖ Испании на 3 года.

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

История закона о стартапах

Этот закон существует с 2013 года, и много наших соотечественников получали по нему ВНЖ, но 21 декабря 2022 года в него внесли некоторые изменения.

Во‑первых функцию ревью и оценки бизнес‑плана передали в Enisa, во‑вторых увеличили срок выдаваемого ВНЖ(с 1 года до 3 лет). До апреля у Enisa не было новых регламентов, а когда они появились, началась некоторая чехарда (и продолжается до сих пор), но мой стартап был одобрен как раз во время этой пересменки.

С новым регламентом добавились еще изменения — теперь нужно показывать на счету фаундера совсем другие суммы (суммы выросли, но зато появилась возможность демонстрировать другие активы, не только деньги на счетах), сократятся сроки приема (через полгода после принятия регламентов, сейчас сроки еще плавают), и бизнес‑план теперь загружается не в свободной форме, а по форме Enisa, у них на сайте.

Читать далее

Свой NPM репозитарий Verdaccio + GitLab + Docker

Level of difficultyMedium
Reading time3 min
Views5.9K

Требовалось кешировать используемые в разных проектах NPM пакеты (+ хранить свои пакеты) на отдельном сервере.

Было решено делать это с помощью репозитария Verdaccio (по нему есть достаточно хорошая офф. дока), крутится это все должно в Docker, а разворачиваться на отдельном сервере через GitLab CI/CD.

Т.к. реализация данной схемы заняла у меня некоторое время (Хотелось бы и по меньше), решил написать короткий туториал по этой теме, с описание нюансов, которые для меня казались не очевидными.

Читать далее

Diceroller — разбор реального проекта на Rust

Reading time8 min
Views3.7K

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

Читать далее

Как мы продукт на PostgreSQL переводили

Level of difficultyEasy
Reading time7 min
Views8.9K

Все побежали, и я побежал… Строго говоря, историю о том, как мы научили наше приложение работать с СУБД PostgreSQL и провели первую миграцию боевой системы одного из наших заказчиков, можно было рассказать ещё три года назад. Именно тогда мы это сделали впервые. Сейчас за нашими плечами уже 11 внедрений «Единого клиента» на PostgreSQL. Две миграции на эту СУБД с Oracle пройдут в этом году. 

В статье поделюсь нашими наработками. Будет полезно тем, кто только собирается пойти по такому пути. Если тема интересна, можете посмотреть и выступление моего коллеги Вадима Зайцева на CDI Tech Conf.

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

Как правильно подходить к UI/UX дизайну

Reading time4 min
Views5.4K

Если верить статистике, можно утверждать, что к 2050 году количество пользователей мобильных устройств по всему миру будет превышать 8,3 млрд человек.

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

Читать далее

Алгоритмы поиска подстроки на JavaScript

Level of difficultyMedium
Reading time5 min
Views12K

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

Как говорит Википедия «Поиск подстроки в строке — одна из простейших задач поиска информации», но это не совсем так, ниже я расскажу про разные алгоритмы решения и покажу примеры их реализации. Начнем!

Читать далее

Приложения и сервисы в Docker

Reading time5 min
Views18K

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

Читать далее

Теперь я Project Manager – что делать?

Reading time3 min
Views3.2K

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

Читать далее

Сокращение типизации с помощью Util Types в Typescript

Level of difficultyEasy
Reading time5 min
Views7.4K

В данной публикации рассмотрим как можно сократить количество типов/интерфейсов в Typescript, сделать их более лаконичными и сэкономить время себе и своей команде. Все это будем делать с помощью Util Types - специальных типов, которые предоставляет Typescript.

Вперед под кат!

Оптимизация автотестов Cypress с помощью  циклов JavaScript

Reading time7 min
Views6.6K

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

За последние несколько лет работы с командами тестировщиков ПО в России и США мне довелось столкнуться с различными подходами к организации тестирования, разнообразными паттернами построения тестовых сценариев и разработки автоматических тестов. При этом нередко случалось, что приходя на проект и анализируя имеющуюся тестовую базу выяснялось, что существующие автотесты нуждались в серьезной доработке или вовсе переработке в целях обеспечения их надежности и сокращения времени на их выполнение. Преимущественно это касалось этапа сквозного (e2e) тестирования, и по моим наблюдениям очень часто причиной тому было не столько незнание тестировщиками встроенных команд тестового фреймворка, сколько неумение применить в тестах базовые возможности используемого языка программирования.

Это подтолкнуло меня к написанию пары статей, в которых я делюсь некоторыми наработками по оптимизации автотестов Cypress, основываясь на простых и в основном известных возможностях JavaScript. Изначально статьи были опубликованы на английском языке в моем блоге "Testing with Cypress" на Medium.

Читать далее

Обзор Arachni: фреймворк для поиска уязвимостей в веб-приложениях

Reading time6 min
Views7.3K

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

Читать далее

Камино-де-Сантьяго на минималках: как мы прошли 200 км за 5 дней и сколько это стоило

Level of difficultyEasy
Reading time10 min
Views26K

Если вы чувствуете профессиональное выгорание, то возможно лучший ответ на это... пойти в паломничество! Рассказываю о мало известном маршруте Камино-де-Сантьяго через Португалию, о том сколько стоит такой поход и о том почему паломничество это вообще один из лучших способов путешествовать. Хотя, по правде говоря, паломничество - это больше чем просто путешествие…

Buen Camino!

Как багхантеру искать XSS-уязвимости через наложение парсеров: исследование Positive Technologies

Reading time21 min
Views7.7K

Привет, Хабр! Меня зовут Игорь Сак-Саковский, и я уже семь лет занимаюсь безопасностью веб-приложений в команде PT SWARM в компании Positive Technologies. В этой статье расскажу о моем недавнем исследовании, которое вошло в топ-10 методов веб-хакинга 2021 года по версии PortSwigger.

При общении в сети мы постоянно используем смайлики и выделяем текст в сообщениях. В Телеграме, Википедии, на GitHub и форумах это реализовано при помощи BBCode, MediaWiki и других языков разметки, использующих парсеры. Парсеры находят в сообщениях специальный код, тег или символ и преобразуют его в красивый текст с помощью HTML. А как известно, везде, где есть HTML, могут быть и XSS-атаки.

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

В статье вас ждет:

• вводная теория о том, что такое XSS и чем он опасен;

• советы, как искать XSS при отправке красивых сообщений;

• способы тестирования сообщений: перечислю уже известные техники, а еще поделюсь свежей идеей;

• список уязвимостей, которые я обнаружил в продуктах известных вендоров в процессе исследований, и чем они грозили;

• способы защиты приложений при разработке и как, по моему мнению, следует правильно защищаться: объясню наглядно, почему способ, которым пользуется большинство, — неверный.

Welcome под кат!

Два прихлопа, два притопа: как я делал раннер со звуковым управлением на JS

Level of difficultyEasy
Reading time11 min
Views2.2K

Привет, Хабр! Как-то раз после работы мне захотелось взять и написать небольшую компьютерную игру. А почему бы и нет? Играть я люблю, программировать — тоже. Захотелось проверить, можно ли сделать что-то прикольное на уровне современных AAA-игр, не изучая дополнительных языков программирования, а также избежать банального повторения тех же «велосипедов», которые уже 100500 раз выложены на различных стримах и, конечно, не раз разбирались на Хабре. В этом посте я хотел бы поделиться с вами своим небольшим экспериментом в области GameDev на базе JS и обсудить возможности, которые есть у любознательного программиста с бэкграундом в сфере JavaScript.

Читать далее

Овладейте всем потенциалом анимирования с Vue

Level of difficultyMedium
Reading time7 min
Views11K

Vue позволяет разработчикам писать более гибкий и переиспользуемый код за счёт наличия дополнительных возможностей для организации компонентов. И одной из областей применения этих возможностей являются анимации. В текущей статье мы разберём использование Composition API для создания анимаций в Vue с помощью CSS и JS библиотеки GSAP (GreenSock Animation Platform).

Примечание пер.: статья содержит крупные GIF-анимации.
Читать дальше →

Information

Rating
Does not participate
Location
Калининградская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Web Developer