Pull to refresh
1
0

Системотехник

Send message

Функциональный Powershell с классами — не оксюморон, я гарантирую это

Reading time6 min
Views6.1K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Functional PowerShell with Classes.
I promise it’s not an oxymoron"
автора Christopher Kuech.


Объектно-ориентированная и функциональная парадигмы программирования могут казаться не в ладах друг с другом, но обе в равной мере поддерживаются в Powershell. Практически все программные языки, функциональные и нет, имеют средства расширенного связывания имён и значений; Классы, подобно struct-ам и record-ам, это всего лишь один подход. Если мы ограничим использование Классов связыванием имён и значений и станем избегать таких "тяжёлых" объектно-ориентированных программных концепций, как наследование, полиморфизм, или изменяемость (mutability), мы сможем использовать их преимущества, не усложняя наш код. Далее, добавляя неизменяемые (immutable) методы преобразования типов, мы можем обогатить Классами наш функциональный код.


Магия кастов


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

Читать дальше →
Total votes 6: ↑5 and ↓1+8
Comments2

Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование

Reading time3 min
Views23K
Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать.

1. Выбрать тему приложения


Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стремимся быть Биллом Гейтсом. Это наше первое приложение, наш первый шаг.

Я уже как лет 7-8 болею спортом, потому идеей моего первого приложения было — база тренировок для поддержания себя в тонусе, с упражнениями для спины, рук, попы, ну и в целом, чтобы не скучно было.

2. На каком языке писать?


Я перепробовала несколько разных языков и разных SDK, мой выбор пал на Flutter и, собственно, язык на котором он обслуживается — dart, потому что:

  • Dart — легкий в изучении язык. Вам не составит труда ознакомиться с ним, в интернете полно информации и уроков. Скорость выполнения операций на нем сравнима с Objective-C, Swift, Kotlin, Java, а с последним у них очень много общего.
  • Flutter может компилировать и под Android, и под iOS. (Еще может в Fuchsia, но нам оно пока вряд ли нужно).
  • Удобство в работе с виджетами, гибкость и простота в использовании.

Виджеты бывают двух типов: StatefulWidget и StatelessWidget.

Грубо говоря, те, которым можно задать состояние и те, кому нет.
Читать дальше →
Total votes 36: ↑20 and ↓16+16
Comments24

Как программисту переехать в Нидерланды

Reading time26 min
Views69K
Disclaimer: Эта статья была начата еще летом. Не так давно на хабре был всплеск статей на тему поиска работы за рубежом и переезда. Каждая из них придавала моей пятой точке некоторое ускорение. Что в итоге заставило меня перебороть свою лень и сесть написать, а точнее дописать, очередную статью. Часть материала может повторять статьи других авторов, но с другой стороны, у каждого свои фломастеры.



Итак, перед вами часть третья, и на данный момент последняя, о похождениях блудного попугая программиста. В первой части я уехал жить и работать на Кипр. Во второй части я пытался устроиться в Google и переехать в Швейцарию. В третьей части (вот этой самой) я устроился на работу и переехал в Нидерланды. Сразу скажу, что про поиск работы будет мало, так как его фактически не было. В основном будет про обустройство и жизнь в Нидерландах. В том числе про детей и покупку дома, что не было подробно описано в недавних статьях других авторов.
Так что кому интересно, прошу под кат.
Total votes 85: ↑75 and ↓10+65
Comments330

Почему я уехал из Питера в Пензу

Reading time3 min
Views21K
Привет, люблю по понедельникам писать что-нибудь интересное и полезное сообществу. Сегодня хотел бы рассказать историю про то, как живётся айтишнику в Пензе после Питера, и почему я не очень хочу возвращаться в самый красивый город России.
Читать дальше →
Total votes 74: ↑42 and ↓32+10
Comments159

Книжная абстиненция

Reading time10 min
Views23K
В конце статьи, по традиции, есть краткое содержание.

Вы читаете книги по саморазвитию, бизнесу или повышению эффективности? Нет? Прекрасно. И не начинайте.

Всё-таки читаете? Не делайте того, что в этих книгах предлагается. Пожалуйста. Иначе станете наркоманом. Как я.
Читать дальше →
Total votes 76: ↑59 and ↓17+42
Comments113

Крыша поехала: как понять, что пора к психотерапевту, и как его найти

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

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

image
Читать дальше →
Total votes 39: ↑25 and ↓14+11
Comments68

Как я начал уметь в маркетинг

Reading time19 min
Views8.6K


Всем привет! Я хотел бы рассказать о своем прошлом – замечательном проекте Withme, но «без купюр».

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

Сейчас, смотря на всю эту ситуацию со стороны, я понимаю, что могу рассказать о странн(ш)ых вещах, которые встретились мне во время работы над моим первым проектом в жизни. Я считаю, что своим небольшим рассказом я могу помочь молодым энтузиастам, начинающим свой путь разработчикам мобильных приложений в России или только мечтающим об этом. Излагать буду в формате небольшой истории (даже с «частями-главами»), с попыткой сохранить хронологию. Ну, поехали.
Читать дальше →
Total votes 30: ↑20 and ↓10+10
Comments27

Сколько стоит App построить

Reading time4 min
Views9.8K
Я фриланс, и потому «и швец, и жнец, и на дуде игрец». И значительная часть рабочего времени уходит на переговоры с потенциальными заказчиками. Вот то базовое непонимание, которое я наблюдаю у людей в 50% случаев:
Проект по разработке приложения стоит столько, сколько он стоит. И в эпоху глобализации и Интернета, вы не можете получить кастомное ПО по стоимости значительно ниже, чем оно стоит по рынку.



Простой пример для наглядности. У меня бывшая одноклассница выращивает курей на домашней ферме. Ей это очень нравится и она в этом спец. И вот я у нее интересуюсь:

— Н., а чего так курятина подорожала в последнее время?
— Так корма подорожали, вот и курятина подорожала. А поставщики кормов мотивируют это подорожанием топлива и электроэнергии.

Это всем знакомо, и это все понимают, да. Но когда речь заходит о софтверной продукции, то понималка у многих людей почему-то отказывает. Вот их мотивация:
— Ну, тебе же это на 5 минут работы! Тут же все очень просто!

Ну, так и делайте сами, если это настолько просто.
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments23

Почему карма на Хабре — это хорошо?

Reading time3 min
Views14K
Заканчивается неделя постов про карму. В очередной раз разжевано, почему карма — плохо, в очередной раз предлагаются изменения. Давайте прикинем, почему карма — это хорошо.

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

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

У авторов должна быть мотивация писать посты. Вариантов несколько.

  1. Деньги. Это редакция, возможно, потоковые переводчики.
  2. Проф-заказ. В основном, статьи в корпоративных блогах.
  3. Личность. Хочется поделиться чем-то важным (или интересным), структурировать собственные знания, показать себя перед условным будущим работодателем.
Читать дальше →
Total votes 137: ↑100 and ↓37+63
Comments812

Джинн

Reading time37 min
Views3.6K

Незнакомец


— Погоди, ты всерьез считаешь, что генетика ничего не дает?
— Нет, конечно. Ну сам по суди. Ты помнишь наш класс двадцать лет назад. Кому-то легче давалась история, кому-то физика. Кто-то побеждал на олимпиадах, кто-то нет. По твоей логике призеры все поголовно должны иметь более крутую генетическую платформу, хотя это не так.
— Однако практически все победители с классом С как минимум, если мне не изменяет память
— Это мы вряд ли проверим. К тому же В-шек у нас не было, насколько я помню. А D-шки были в основном не из самых благополучных семей, так что тут генетика имеет опосредованное значение.
— Да, ты прав. Проверить сложно. Однако разве ты не замечал, что простые работяги с вон того завода за окном говорят так, словно воспроизводят цепь маркова: взял N слов, по ним просто по памяти вывел M слов. Например, после фразы "союз советских" они продолжат автоматом "социалистических республик", так как это наиболее вероятное продолжение.
— Неудачный пример, если честно.
— Да, согласен, надо повспоминать еще…
— К тому же твои слова отдают некой ноткой фашизма. Ты взял и огульно обозвал целую группу людей "недоразвитыми". Хотя я частично с тобой согласен, я сам замечал подобное раньше.
— Вот-вот!
— Скорее речь некоторых людей похожа на ответы Джона Сёрла из эксперимента с китайской комнатой.
— Это тот, который не знает иероглифов, однако отвечает по заданному алгоритму? Ну по сути он выдает не осознавая ни вопроса, ни даже своего ответа.
— Да-да, тот самый. Однако я и за собой иногда замечаю подобное. Потому и считаю, что генетика не так важна. Скорее уж человека определяет характер, чем некая генетическая платформа

Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments8

Тестовые задания на собеседовании разработчика — есть ли в них смысл?

Reading time4 min
Views21K
За свою долгую IT-карьеру я успел побывать по обе стороны собеседований и увидеть весь блеск, нищету, маразм и здравые мысли тестовых заданий, выдаваемых на технических собеседованиях разработчиков ПО.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments163

Google закручивает гайки

Reading time4 min
Views59K
Последние годы компания Google в отношении своей операционной системы Android – все больше “закручивает гайки”: запрещает ранее работающие функции, ограничивает изменение настроек системы из приложений. И старые приложения перестают работать на новых версиях Android.

Кроме этого, их магазин приложений Google Play Store (“Маркет”, короче говоря) уже так же перенасыщен приложениями, и старыми и новыми на любые темы. Найти что-то нужное все сложнее и сложнее, вновь созданное приложение если просто опубликовать там, и не заниматься рекламой и раскруткой – практически не найдет своих пользователей.

И Google также все активнее “чистит” свой Маркет.
Читать дальше →
Total votes 62: ↑48 and ↓14+34
Comments162

Книга «Kotlin. Программирование для профессионалов»

Reading time7 min
Views28K
image Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использовать его возможности, а также позволяют освоить среду разработки IntelliJ IDEA от JetBrains.

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

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments16

Как я ушел из IT в психологию

Reading time16 min
Views66K
[Опыт перехода в психологию]. На Хабре довольно много статей о том, как стать программистом, сисадмином, сетевиком и много ещё кем. Материалов о том, как уйти из IT, гораздо меньше, и сегодня я постараюсь восполнить этот пробел.


ППКС. Источник: t.me/smallpharm/559

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

И да, под катом опять очень много букв.
Читать дальше →
Total votes 78: ↑68 and ↓10+58
Comments213

Дзен изолированных компонентов в Android-архитектуре

Reading time10 min
Views7.7K


Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некорректных состояний: в простых сценариях это легко, но чем сложнее система, тем сложнее поддерживать её в корректном виде и тем проще пропустить баг. 

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

Наш коллега Zsolt Kocsi (Medium, Twitter) из лондонского офиса рассказал, каким образом с помощью MVI мы строим независимые компоненты, которые легко переиспользовать, какие преимущества мы получаем и с какими недостатками нам пришлось столкнуться при использовании этого подхода.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments13

Что мне не нравится в Windows 10

Reading time5 min
Views116K
Встретил тут очередной список «10 причин, которые сподвигли перейти с Windows 10 на Linux» и решил составить свой список того, что мне не нравится в Windows 10 — ОС, которой я пользуюсь сегодня. Переходить на Linux я не собираюсь в обозримом будущем, но это совсем не значит, что я доволен всем, что меняется в операционной системе.

Сразу отвечу на вопрос «а почему бы не продолжать использовать Windows 7, если что-то не нравится в 10?»

Моя работа связана с технической поддержкой, в том числе и компьютеров с десятками. Потому выгодней жить на актуальной версии ОС, а не отмазываться от заданий под соусом «я этой вашей десяткой не пользуюсь». На семёрке я жил, я её помню-знаю, с тех времён там ничего не изменилось. А вот десятка постоянно меняется, чуть задержишься с обновлениями — и настройки какие-то переползут в другое место, логика поведения изменится и т.п. Потому, чтобы не отстать от жизни, в повседневном использовании у меня именно Windows 10.



А теперь расскажу, что я в ней не люблю. Поскольку я не только пользователь, но и админ, то нелюбовь будет с двух точек зрения. Кто сам не пользуется, а только админит — тот не встретит половину вещей, а простой пользователь не встретит вторую.
Читать дальше →
Total votes 123: ↑92 and ↓31+61
Comments793

Я написал эту статью, ни разу не посмотрев на клавиатуру

Reading time5 min
Views117K
В начале года я почувствовал, что упёрся в потолок как инженер. Вроде бы читаешь толстые книжки, решаешь на работе сложные задачи, на конференциях выступаешь. А всё не то. Поэтому я решил вернуться к корням и по очереди закрыть навыки, которые когда-то в детстве считал базовыми для программиста.

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


Читать дальше →
Total votes 138: ↑116 and ↓22+94
Comments301

Как относятся к сотрудникам и организуют рабочий процесс в крупных IT-компаниях

Reading time6 min
Views19K
Здравствуйте, уважаемые читатели Хабра!

Я бывший студент МИФИ, в этом году закончил бакалавриат ПМИ. На третьем курсе активно искал возможности стажировки/работы, в общем, практического опыта, о чём и пойдёт речь. Неопытность, жулики, взаимовыручка.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments27

Комфортный офис — помогает работать или мешает и отвлекает? Ответят Sidenis, Alternativa Games и FunBox

Reading time9 min
Views12K


Есть люди, которые в гневе закрывают вакансию при виде фразы «у нас есть печеньки». Есть люди, которые отказываются от новой дико интересной работы с высокой зарплатой, потому что в офисе не будет бесплатных обедов. Есть люди, которые увольняются, потому что устали сидеть в опенспейсе.

Это превращается в обыденность, когда ИТ-компании вкладывают миллионы и миллионы, чтобы создать комфортные условия труда. Комфорт входит в привычку, когда рабочий день сотрудников состоит из чемпионата по кикеру утром, обеда в офисной столовой, чтения книги в релакс-руме и вечерних настолок с коллегами.

Мы обсудили эти вопросы с сотрудниками компаний Sidenis, Alternativa Games и FunBox, которые получили самую высокую оценку по критерию «комфортные условия» в нашем рейтинге лучших работодателей в ИТ. Они описали свои офисы, сравнили их с самыми ужасными воспоминаниями и порассуждали о роли комфорта в рабочих буднях.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments12

«Гори, гори ясно, пока не погасло», или Чем чревато эмоциональное выгорание ваших сотрудников

Reading time10 min
Views57K
Как я хотела прикинуть, что дешевле – уволить выгоревшего сотрудника, «вылечить» или вовсе стараться не допускать выгорания, и что из этого получилось.

Сейчас небольшое вступление, откуда родилась эта тема.

Я почти что разучилась писать. Сначала нет времени; потом кажется, что все, о чем ты можешь/хочешь написать – это очевидно, а потом ты слышишь историю от коллеги из одной известной компании, который рассказывает, что в пятницу в 10 часов вечера их генеральный на полном серьезе уточняет: «Я тут побывал в департаменте разработки 5 минут назад. Почему еще только 10 вечера, а в офисе уже никого нет?»

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

image
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments311

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity