Pull to refresh
0
@xeinenread⁠-⁠only

User

Send message

Раздувание кода стало астрономическим

Reading time5 min
Reach and readers100K

Время от времени я пользуюсь одним сервисом: мне нужно загрузить файлы в какое-то место (название сервиса не имеет роли, потому что, откровенно говоря, все они одинаковы). По сути, я просто указываю папку на своём жёстком диске, после чего её содержимое копируется на удалённый сервер, на котором, вероятно, происходит что-то связанное с базами данных — этим файлам присваиваются имена и выполняются проверки того, кто их скачивает.

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

… но по сути, речь идёт о том, что нужно зарегистрировать несколько файлов, считать их, загрузить, а затем закрыть соединение и записать в файл лога, всё ли прошло успешно, а если нет, то что именно случилось. В этом нет ничего сложного, и даже я писал с нуля подобный код при помощи Wininet API и PHP на сервере, общающемся с моей базой данных MySQL. Наверно, моя система была не такой надёжной, как системы уровня энтерпрайза, однако поддерживала сотни тысяч загруженных файлов, их верификацию, скачивание и логирование. Наверно, это работа для одного кодера на две-три недели?

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →

Как я стал разработчиком в Германии и чего мне это стоило (спойлер: ничего). Часть II

Level of difficultyEasy
Reading time6 min
Reach and readers19K

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

Читать далее

Сервер на визитке

Level of difficultyHard
Reading time7 min
Reach and readers34K

Все началось еще лет 10 назад, когда я впервые наткнулся на статью где было описано как эксперт по 3D-технологиям вместил сильно обфрусцированный код рейтрейсера на C++ в размеры своей визитки.

Читать далее

Как проходить собеседования в IT

Level of difficultyEasy
Reading time5 min
Reach and readers18K

Это тема, которая становится наиболее актуальной в последнее время. Множество сильных разработчиков говорят о том что в IT важно уметь проходить собеседования, в IT необходимо приспосабливаться не только к технологиям, но и к рынку. 

Сегодня я и хочу поговорить о таком важном навыке: прохождение собеседований.

Все видели невероятный порог входа на Junior позицию?

Читать далее

Германия — достоинства, недостатки и неповторимое, часть 1

Reading time7 min
Reach and readers76K

Живу в Германии с 2014ого.

От некоторых аспектов страны до сих пор в восторге. От других хочется лезть на стенку и выть "ну почему так?" Постараюсь раскрыть и те, и другие - и раскрыть, почему останусь здесь, скорее всего, до конца жизни.

Зарплаты программистов

Ну как же без этого? Решил вопрос оплаты вынести в самое начало, ведь если он вас разочарует, то ваш интерес к стране может сразу угаснуть.

Читать дальше ->

Автоматическое создание интерактивных карт

Level of difficultyMedium
Reading time7 min
Reach and readers11K

В данной статье будет рассмотрен подход к автоматизированному созданию карт с использованием следующего технологического стека: QGIS, PostgreSQL, Django, Leaflet. Идея родилась ввиду необходимости быстрого создания интерактивных карт из уже созданных проектов в QGIS. Хочу сразу оговорится что проекты создаются без использования локальных слоев, а исключительно с использование БД для их хранения.

Читать далее

Город в бутылке — движок Raycasting всего на 256 байт

Reading time8 min
Reach and readers21K

Привет любителям микро-кодирования. Вот вам кое-что невероятное: крошечный движок raycasting (метод “бросания лучей”) и генератор городов, который помещается в отдельный 256-байтовый HTML-файл.

Читать далее

Как самостоятельно избавиться от тревоги и беспокойства: техники самопомощи

Level of difficultyEasy
Reading time17 min
Reach and readers49K

«Уже семь часов, а она должна была вернуться в шесть. Что случилось? Неужели что-то ужасное?» – тревога гудит в голове и рисует самые ужасные варианты. Как избавиться от тревоги и научиться не переживать без толку. Разбираем способы помочь себе самостоятельно: они помогут от сильной тревоги, тревожных мыслей и привнесут в жизнь больше радости и спокойствия.

Читать далее

React + Three.js. Создаём собственный 3D шутер. Часть 3

Level of difficultyMedium
Reading time9 min
Reach and readers12K

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

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

Фронтенд на Go с использованием библиотеки RUI

Reading time4 min
Reach and readers6.9K

Изначально библиотека RUI разработана для создания клиент-серверных веб приложений на языке go, где вся обработка осуществляется на сервере, а браузер используется только как тонкий клиент.

Однако в последней версии библиотеки (0.10.0) была добавлена поддержка технологии WebAssembly. Теперь стало возможным объединить серверную и клиентскую часть в единый модуль исполняемый в браузере. При этом требуются минимальные изменения в уже существующем проекте использующем библиотеку RUI

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

Читать далее

«Спроси почему, %&@$#?», или как саботажники захватывают власть в коллективе

Reading time7 min
Reach and readers33K

Предыдущая статья про саботажников набрала более 55 тысяч читателей, став одной из самых читаемых на «Хабре». И понятно, почему. Саботажники есть везде – как дырки в сыре, они пронизывают практически любой профессиональный коллектив. Сегодня мы разберём, как саботажники захватывают власть.

Читать далее

Я каждый день рискую запустить восстание машин, но всё ещё жив

Reading time13 min
Reach and readers21K

Я создал чудовище.  

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

Как я дошёл до жизни такой

Как сделать интересно: ещё раз о проблемах вузовского образования

Reading time15 min
Reach and readers9.2K

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

Читать далее

Рисуем генеративные грибы на javascript

Reading time8 min
Reach and readers18K

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

Читать далее

Современное пиратство глазами моряка. Наёмники

Reading time7 min
Reach and readers52K
Здравствуйте.

Как только люди придумали возить товары по морю, сразу же появились те, кто захотел эти товары отобрать. Пираты существуют с незапамятных времён: они были проблемой в Античности, они доставляли неприятности в Средневековье, они захватывали, грабили и жгли корабли во времена Возрождения и они никуда не делись и по сей день. Изменилось снаряжение, тактика, но суть осталась та же — есть в мировом океане места, куда без защиты лучше не соваться.

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


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

Про уровни владения иностранным языком

Reading time4 min
Reach and readers55K

__1. Давайте подумаем, какой уровень у человека, который читает английскую классику почти без словаря?

Я был таким человеком в 2008 году, когда приехал в частную школу английского языка в Лондоне. В школе были группы семи уровней: Beginner, Elementary, Intermediate (и Pre- и Upper-), Advanced, Advanced+. После тестирования меня определили в группу Advanced+. Наверно, у меня было что-то в районе Proficiency, C2?

Ребята-казахи из группы Pre-Intermediate как-то посмеялись надо мной в пабе, потому что меня официант не понял, а их – без проблем. А ещё я не знал некоторых простых разговорных выражений, которые знали люди из групп Intermediate и даже ниже, поскольку в предыдущие пять лет делал упор на чтение классической литературы. И ещё очень, ОЧЕНЬ плохо понимал живую речь на слух. Похоже на С2?

А какой уровень у человека, которого чуть не застрелила полиция в США потому, что он не смог разобрать на слух простые слова “the police”? Это произошло со мной в 2012 году в городе Чарльстон, Южная Каролина. На тот момент, кстати, я как профессионал вырос на голову по сравнению с 2008 годом и уже успел поработать переводчиком. А ведь реально написали бы потом, что был он иностранец, плохо знал язык. Справедливости ради, “the police” проорал афроамериканец с характерным выговором, в гражданской одежде, из автомобиля без полицейской маркировки (“undercover police” это называется).

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

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

Читать далее

Про импортозамещение

Reading time15 min
Reach and readers259K

Давно хотел написать статью на такую интересную и больную тему как импортозамещение. А именно, как это все выглядит и чем пахнет в той сфере, где я работаю – разработка и производство электронной техники, а конкретно – аппаратуры связи. У меня накопилось множество мыслей, занимательных историй, ознакомиться с которыми будет наверняка небезынтересно даже тем людям, кто далек от этой сферы.

Читать далее

Невесомость и пустота

Reading time6 min
Reach and readers14K

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

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

Читать далее

Почему твоя мама всё ещё не прогает?

Reading time11 min
Reach and readers130K

Случай с бомжом

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

Обычно вместо денег я даю попрошайкам-мужчинам телефон отдела кадров одной курьерской компании, которая постоянно нуждается в сотрудниках. Но у него не было ног… Тогда я подумал: «Чувак, у тебя полным полно времени. Работа за компом — лучшее, что может случиться в твоей жизни. Купон со скидкой на курс по PHP — вот, что должны были положить тебе на койку туда, где раньше были ноги, когда ты очнулся после ампутации».

Я решил предложить ему изучить программирование. В его положении он должен был быть чертовски мотивирован. Но получится ли у него?

Читать далее

7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной

Level of difficultyEasy
Reading time12 min
Reach and readers245K

Mac наступает со своим чипом M1. Новичков в этой экосистеме должно заметно прибавиться. Сам я многие годы с уважением смотрел на эти интерфейсы. Слушая какой же Mac удобный, плавный и интуитивный. Какой там великолепный Trackpad, что даже мышь не нужна и бла бла бла. И вот, после 15 лет работы CAD разработчиком, я решил поменять профиль и стать программистом. А чтобы не терять мотивацию в процессе обучения, выбрал для себя наиболее наглядное направление, как мне показалось — iOS разработка. Сказано — сделано. MacBook Pro 16” уже год мой основной компьютер.

Так что же с ним не так?
1

Information

Rating
Does not participate
Registered
Activity