並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 541件

新着順 人気順

object-orientedの検索結果321 - 360 件 / 541件

  • 【OOUI】デザインにオブジェクト指向を適用する【 #ooc_2020】

    家族アルバムみてね というサービスでiOSをメインに開発しているエンジニアの ロクネム(@_rockname) です。 本記事では、OOUIについてエンジニア目線で考察したことをまとめます。 この記事は、Object Oriented Conference 2020 にて発表したトーク「デザインにオブジェクト指向を適用する」を記事にしたものです。 1. まずは「わかりにくいUI」を見てみよう私が開発に携わっている「家族アルバムみてね」をテーマに、いわゆる「わかりにくいUI」を設計してみます。 その前にまずはどんなサービスなのかをざっくり説明させてください。 家族アルバムみてね子どもの写真や動画を家族で共有できる、家族アルバムアプリです。 600万ユーザーも突破しています。

      【OOUI】デザインにオブジェクト指向を適用する【 #ooc_2020】
    • Useful Front-End Boilerplates And Starter Kits — Smashing Magazine

      We don’t need to write everything from scratch every single time. With boilerplates and starter kits, we can set up our projects faster, and get to work immediately. We’ve also just recently covered CSS auditing tools, CSS generators, accessible front-end components and VS code extensions — you might find them useful, too. Today, we’re shining the spotlight on boilerplates and starter kits for all

        Useful Front-End Boilerplates And Starter Kits — Smashing Magazine
      • Why solve a problem twice? Design patterns let you apply existing solutions to your code - Stack Overflow

        The most satisfying problems in software engineering are those that no one has solved before. Cracking a unique problem is something that you can use in job interviews and talk about in conferences. But the reality is that the majority of challenges you face will have already been solved. You can use those solutions to better your own software. Software design patterns are typical solutions for th

          Why solve a problem twice? Design patterns let you apply existing solutions to your code - Stack Overflow
        • Real World OCaml

          PrologueWhy OCaml?A Brief HistoryThe Base Standard LibraryThe OCaml PlatformAbout This BookWhat to ExpectInstallation InstructionsCode ExamplesContributorsPart 1: Language Concepts1. A Guided TourBase and CoreOCaml as a CalculatorFunctions and Type InferenceType InferenceInferring Generic TypesType Errors Versus ExceptionsTuples, Lists, Options, and Pattern MatchingTuplesOperators in Base and the

          • TDD Boot Camp 2020 Online #1 基調講演/ライブコーディングをもっと楽しむための副読リンク集 - PoohSunny's blog

            はじめに これは Recruit Engineers Advent Calendar 2020 - Adventar および テスト駆動開発 Advent Calendar 2020 - Qiita の10日のエントリーです。 コミュニティでの活動としてTDDBCのお手伝いをしてるのですが、twadaさんの基調講演&ライブコーディングはすごいですよね。何度聞いても日々バージョンアップがあって新鮮。 で、先日 TDD Boot Camp 2020 Online #1 - connpass が実施された時1に、YoutubeLiveで公開された基調講演&ライブコーディングのコメントでの質問回答を YASUI Tsutomu (@yattom) | Twitter さんとさせていただいたのですが、その時に、これまで何度も基調講演聞かせてもらったおかげか、twadaさんが喋ってる内容がある程度予知

              TDD Boot Camp 2020 Online #1 基調講演/ライブコーディングをもっと楽しむための副読リンク集 - PoohSunny's blog
            • LaravelにDDDを導入して1年経った所感(達成したこと / 課題点 / モデリングの難しさなど) - Qiita

              背景 昨年公開したこちらの記事「Laravel でドメイン駆動設計(DDD)を実践し、Eloquent Model 依存の設計から脱却する」の続編です。 弊社で開発している「オンライン家庭教師マナリンク」の実装に DDD のアプローチを用いています。導入して 1 年が経過したので、いろいろと所感を述べていきます。 目次 どうして DDD を導入したか DDD で達成できたこと まだ難しいと思うこと 結局モデリングが一番難しい どうして DDD を導入したのか? 導入した当初の動機は Laravel で Eloquent Model 中心に実装するアーキテクチャに嫌気が差したからです。 Eloquent Model 中心に実装するとあちこちにドメイン知識が散らばって、実装した自分ですらよくわからない、という状態によく陥りました。弊社はベンチャー企業で、トラフィックの多さを設計で考慮することは

                LaravelにDDDを導入して1年経った所感(達成したこと / 課題点 / モデリングの難しさなど) - Qiita
              • Announcing Dart 2.12

                Today we’re announcing Dart 2.12, featuring stable versions of sound null safety and Dart FFI. Null safety is our latest major productivity feature, intended to help you avoid null errors, a class of bugs that are often hard to spot, as detailed in this video introduction. FFI is an interoperability mechanism that lets you invoke existing code written in the C programming language, such as calling

                  Announcing Dart 2.12
                • 12 Languages in 12 Months

                  I stumbled across Exercism last year and was immediately charmed. It's a website devoted to teaching programming languages. It's got a great UI, offers free mentoring (by a human!), and is entirely open source. Last January, they announced a new program called 12in23, where they challenged participants to try 12 new programming languages in 2023. Each month would have a theme (such as "Analytical

                    12 Languages in 12 Months
                  • Object Oriented Conference に行ってきました #ooc_2020 - s平面の左側

                    2/16(日)に Object Oriented Conference 2020 に行ってきました。 募集は随分前でしたが、ずっと楽しみにしていたカンファレンスでした。 ooc.dev 聴講セッション keynote: Object-Oriented Diversity DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか Chatworkのドメインをモデリングした VOYAGE GROUP流開発文化 READYFORにおける複雑なドメインとレガシーシステムとの戦い方 数理的システム設計-ビジネスと技術制約を繋ぐ手法- 概念投影によるオブジェクト指向設計の考え方とその方法 「モジュールとしてのマイクロサービス」と「分割単位としてのドメイン」について考える オブジェクト指向プログラミングの現在・過去・未来 感想など 聴講セッション 聞きながらのメモ等はツイートに返信してい

                      Object Oriented Conference に行ってきました #ooc_2020 - s平面の左側
                    • Introducing Services: Build Composable, Distributed Applications on Cloudflare Workers

                      Introducing Services: Build Composable, Distributed Applications on Cloudflare Workers2021-11-16 First, there was the Worker script. It was simple, yet elegant. With just a few lines of code, you could rewrite an HTTP request, append a header, or make a quick fix to your website. Though, what if you wanted to build an entire application on Workers? You’d need a lot more tools in your developer too

                        Introducing Services: Build Composable, Distributed Applications on Cloudflare Workers
                      • 世界は言語オブジェクトでできている(言語オブジェクト指向言語モデル言語シミュレーションについての考察)|落合陽一

                        言語が3回ついたよ.ちょっと色々考えて論文書くか,という感じになったのだけれど,考えをあらかじめまとめておこうと思って書き始めた. 世界は抽象的な言語オブジェクトでできている.口笛言語でもよければ,手話言語でも良い.見立ての記号でできている.シニフィアン(能記)とシニフィエ(所記)の話が,抽象的な定義を共有することで数理的なオブジェクトを利用することができるようになった.ルンバが猫がいます,といえば具体的な指示内容がプログラム言語で出力される.猫:「猫を回避する」といったオブジェクト言語上のクラス名(シニフィアン)も猫を回避するメソッドやプロパティ(シニフィエ)も互いに推測し合って乗り入れ可能になった.時折,いれちがう.ただ,曖昧なまま進めるのはイノベーションである.人が定義してきたあらゆるものは,名前づけと説明で成り立っていたのなら,その抽象的な,大雑把な定義を交換できるようになったこと

                          世界は言語オブジェクトでできている(言語オブジェクト指向言語モデル言語シミュレーションについての考察)|落合陽一
                        • 受け入れテストを日本語で書ける Jest 拡張 "Jest-gauge" を公開しました

                          先日 Daniel North の記事を訳していて、この記事がドラフトのままになっているのを思い出したので、加筆して公開することにしました。 概要 Gauge のように受け入れテストを日本語で書いて、 Jest を採用しているプロジェクトで受け入れテスト駆動開発 (ATDD) を実現できる Jest 拡張 "jest-gauge" を公開しました。 受け入れテスト駆動開発 (ATDD) とは 受け入れテスト駆動開発 (ATDD) とは、テスト駆動開発 (TDD) の延長線上にあるソフトウェア開発技法のひとつで、TDDが比較的にミクロにクラスやモジュールの動作への期待を書くことに注目するのに対して、ATDDはよりマクロな視点で、システムやサブシステム全体の受け入れ基準を記述することに注目しています。 かなり大雑把にいえば、TDDは単体テストに近いレイヤで、ATDDはE2Eテストに近いレイヤで

                            受け入れテストを日本語で書ける Jest 拡張 "Jest-gauge" を公開しました
                          • Ohm: a user-friendly parsing toolkit for JavaScript and Typescript

                            OhmA JavaScript library for building parsers, interpreters, compilers, and more. Ohm is a parsing toolkit consisting of a library and a domain-specific language. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages. The Ohm language is based on parsing expression grammars (PEGs), which are a formal way of describing syntax, sim

                            • Common Lisp VS Racket. Feedback from (common) lispers.

                              Common Lisp VS Racket - testimonies.md Developer experience, libraries, performance… (2021/11) I'll preface this with three things. 1. I prefer schemes over Common Lisps, and I prefer Racket of the Schemes. 2. There is more to it than the points I raise here. 3. I assume you have no previous experience with Lisp, and don't have a preference for Schemes over Common Lisp. With all that out of the wa

                                Common Lisp VS Racket. Feedback from (common) lispers.
                              • dbs-002.dvi

                                Foundations and Trends R � in Databases Vol. 1, No. 2 (2007) 141–259 c � 2007 J. M. Hellerstein, M. Stonebraker and J. Hamilton DOI: 10.1561/1900000002 Architecture of a Database System Joseph M. Hellerstein1 , Michael Stonebraker2 and James Hamilton3 1 University of California, Berkeley, USA, hellerstein@cs.berkeley.edu 2 Massachusetts Institute of Technology, USA 3 Microsoft Research, USA Abstra

                                • Design Patterns In JavaScript

                                  I was recently asked by a developer friend of mine what design patterns I use in my job. The question threw me off a bit because I didn't actually know the answer, even though I know that there are definitely patterns that I've used. Do those patterns have names? And why are the patterns I have been using better than others? For today's post, I will be writing down my notes and thoughts as I learn

                                    Design Patterns In JavaScript
                                  • The Wonderfully Terrible World of C and C++ Encoding APIs (with Some Rust)

                                    Last time we talked about encodings, we went in with a C++-like design where we proved that so long as you implement the required operations on a single encoding type, you can go between any two encodings on the planet. This meant you didn’t need to specifically write an e.g. SHIFT-JIS-to-UTF-8 or UTF-EBCDIC-to-Big5-HKSCS pairwise function, it Just Worked™ as long as you had some common pivot betw

                                      The Wonderfully Terrible World of C and C++ Encoding APIs (with Some Rust)
                                    • Few lesser known tricks, quirks and features of C

                                      Mini-post: Digraphs and Trigraphs | ENOSUCHBLOG C alternative tokens - Wikipedia Why are there digraphs in C and C++? - Stack Overflow Purpose of Trigraph sequences in C++? Designated initializer # These allow you to specify which elements of an object (array, structure, union) are to be initialized by the values following. The order does not matter! struct Foo { int x, y; const char *bar; }; void

                                      • Preparing Yourself for OMSCS | Online Master of Science in Computer Science (OMSCS)

                                        Preferred qualifications for admitted OMSCS students are an undergraduate degree in computer science or related field (typically mathematics, computer engineering or electrical engineering) with a cumulative GPA of 3.0 or higher. Applicants who do not meet these criteria will be evaluated on a case-by-case basis. In these cases, the Admissions Committee is looking for a demonstrated, objectively d

                                        • PyTorch for Deep Learning: A Quick Guide for Starters

                                          In 2019, the war for ML frameworks has two main contenders: PyTorch and TensorFlow. There is a growing adoption of PyTorch by researchers and students due to ease of use, while in industry, Tensorflow is currently still the platform of choice. Some of the key advantages of PyTorch are: Simplicity: It is very pythonic and integrates easily with the rest of the Python ecosystem. It is easy to learn,

                                            PyTorch for Deep Learning: A Quick Guide for Starters
                                          • Why Flutter is the most popular cross-platform mobile SDK - Stack Overflow

                                            Life revolves around our mobile devices and applications. Worldwide, there are currently more than six billion smartphone subscriptions. In addition, between the Google Play Store and the Apple App Store, there are nearly five million mobile applications available for download. Although the mobile application market is increasingly competitive, this is where many startups and developers focus thei

                                              Why Flutter is the most popular cross-platform mobile SDK - Stack Overflow
                                            • From First Principles: Why Scala?

                                              Scala, first appearing in 2004, is neither an old stalwart nor a new player in the programming language market. This post will discuss the unique combination of features that Scala provides and how it compares to other languages on the market, diving beneath the superficial experience to explore the fundamentals of the language. From this, you will learn why you might consider including Scala as a

                                              • How Big Technical Changes Happen at Slack - Slack Engineering

                                                Most new things in technology turn out to be fads: patterns of talking and doing that come and go without leaving a permanent mark. Microkernels; EPIC architectures like IA-64; object request brokers; and 1990s’-style neural nets are gone, and will not return. Sorry for the deep throwbacks; only time proves which things are fads, so for uncontroversial examples we have to reach pretty far back. Wh

                                                  How Big Technical Changes Happen at Slack - Slack Engineering
                                                • Color.js: Let’s get serious about color • Color.js

                                                  Fully color space aware Each color belongs to a color space; operations are color space agnostic. Modules for a wide variety of color spaces, including Lab/LCh, OKLab/OKLCh, sRGB and friends (HSL/HSV/HWB), Display P3, Jzazbz, REC.2100 and many more. Doesn't gloss over color science Actual gamut mapping instead of naïve clipping, multiple DeltaE methods (76, CMC, 2000, Jz), multiple chromatic adapt

                                                  • どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT

                                                    2024年3月24日に開催されたObject-Oriented Conference 2024でのLT大会の登壇資料です https://ooc.dev/2024/

                                                      どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
                                                    • Alan Kay on the context and catalysts of personal computing

                                                      Alan Kay is a prolific computer scientist often referred to as the “father of personal computers." He's best known for his work on object-oriented programming languages, windowing graphical user interface design (also known as GUIs) and for leading the team that developed Smalltalk. Over the course of his career he spent time at Apple, Atari, Disney, Xerox PARC, and Hewlett Packard, where he worke

                                                        Alan Kay on the context and catalysts of personal computing
                                                      • What is a Rails model? - Code with Jason

                                                        In the model-view-controller pattern that Rails is built on, it’s pretty clear what views and controllers are, but models are a little less clear. In my years with Rails I’ve had the opportunity to come across a number of different conceptions regarding what models are. These conceptions often overlap but often don’t share the same exact contours. Our conception of what a model is is super importa

                                                          What is a Rails model? - Code with Jason
                                                        • Matt Roelle | Fennel: The Practical Lisp

                                                          04/08/2022 Fennel? Around 6 months ago, I discovered a little lisp called Fennel. It compiles to Lua, meaning it's extremely portable since Lua runs basically anywhere. Lua interop is seamless. It runs flawlessly on desktop, in the web, on mobile devices, gaming consoles and on microcontrollers to name a few. Lua is written in portable C code and embeddable by design, extending any game engine wit

                                                          • ICONIX を使ったオブジェクトモデリング

                                                            OOC = Object-Oriented Conference でお世話になった hiro さん(@hirodragon112)の、#astah セミナーシリーズに参加してきました。 hiroさん(イメージ) ICONIX プロセス 最近アジャイルばかりの話題を書いていて、ソフトウェアデザインの話題は久しぶりです。当日のスライドはこちら。 hiro さんはゆっくり「オブジェクト指向」という言葉の意味や捉え方かたはじめ、 「外部知識が捕捉される」モデルの重要性 を前半で、後半でユースケース分析、ロバストネス分析、を通じてドメインモデルが洗練されていく様子を解説していただきました。(Akaponさんのマインドマップによるレポート) 【メモ】ICONIXプロセスから学ぶオブジェクト指向モデリング ドメインモデルの構築(ドメインモデルが、ユースケースモデリング、ロバストネス分析を通して、どんどん

                                                              ICONIX を使ったオブジェクトモデリング
                                                            • 「エンタープライズアプリケーションアーキテクチャパターン」を読んだ - $shibayu36->blog;

                                                              ソフトウェア設計に関する知識が昔のままで止まっていて、最近の設計のためのワードはぼんやりと理解できるものの、はっきりと分かっていないなと感じていた。そこでまだ読んでいなかった設計に関する本を読もうと思い、まずは「エンタープライズアプリケーションアーキテクチャパターン」を読んだ。 エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION) 作者:マーチン・ファウラー翔泳社Amazon これまでプログラムを書いていた経験からか、全く知らないパターンというのは少なかったのだけど、これまでの経験知に名前付けを出来たのは良かった。特にシングルテーブル継承、具象テーブル継承、クラステーブル継承の話は面白く、どれも見たことあるしメリット・デメリット分かる!という気持ちになった。 次は エリック・エヴァンスのドメイン駆動設計 (IT Architect

                                                                「エンタープライズアプリケーションアーキテクチャパターン」を読んだ - $shibayu36->blog;
                                                              • 思弁的実在論と加速主義 - かぐらかのん

                                                                * ポスト・ヒューマニズムの時代 14世紀のルネッサンス期に起源を持つ「ヒューマニズム」という言葉は、これまで「人文主義」や「人道主義」や「人間中心主義」などといった微妙に異なるニュアンスで用いられてきましたが、いずれにせよ「ヒューマニズム」はこの世界における「人間」という存在の優位性を示す自明の原理として近代社会における確固たる基盤を形成していました。 ところが20世紀後半以降における情報テクノロジーや生物工学の急速な進化はこのような従来の意味での「ヒューマニズム」の自明性を揺るがす「ポスト・ヒューマニズム」というべき事態を招来することになります。 ポスト・ヒューマニズム テクノロジー時代の哲学入門 NHK出版新書 作者:岡本 裕一朗 NHK出版 Amazon こうした現代における「ポスト・ヒューマニズム」を体現する哲学的潮流として「思弁的実在論」と「加速主義」があります。両者はどのよう

                                                                  思弁的実在論と加速主義 - かぐらかのん
                                                                • How I organize my Rails apps - Code with Jason

                                                                  Overview Influenced by the experiences I’ve had last over many years of building and maintaining Rails applications, combined with my experiences using other technologies, I’ve developed some ways of structuring Rails applications that have worked out pretty well for me. Some of my organizational tactics follow conventional wisdom, like keeping controllers thin. Other of my tactics are ones I have

                                                                    How I organize my Rails apps - Code with Jason
                                                                  • 半年で会社全体をアジャイルになるまでやったこと|Yuichi Sato

                                                                    外部の人含め30人ほどのスタートアップに転職して、開発組織から会社全体までをアジャイルになるまでやったことをnoteにまとめてみました。アジャイルって結局なんなんだろうと思っているエンジニアの人に少しでも何か考える参考になれば嬉しいです。 (注)コロナ前で対面コミュニケーションができていた頃の話となります。 (注)スクラムに関連する用語については説明していません 転職前転職前は電子書籍サイトを運営している会社でシステム開発の責任者をしていました。組織的にはサービスを考える部署とシステム開発をする部署が明確に分かれた職能別組織で、社内受発注的な関係で開発を回していました。 WEBディレクターがパワーポイントに画面仕様などをまとめ、エンジニアは技術的に出来る出来ないを判断し開発・テストをしていました。 これまで私は複数社転職を経験していますが、このスタイルに特に不満を感じておらず、開発組織とし

                                                                      半年で会社全体をアジャイルになるまでやったこと|Yuichi Sato
                                                                    • 50 Years of Pascal – Communications of the ACM

                                                                      The Pascal programming language creator Niklaus Wirth reflects on its origin, spread, and further development. In the early 1960s, the languages Fortran (John Backus, IBM) for scientific, and Cobol (Jean Sammet, IBM, and DoD) for commercial applications dominated. Programs were written on paper, then punched on cards, and one waited a day for the results. Programming languages were recognized as e

                                                                      • LaravelにDDDを導入して1年経った所感(達成したこと / 課題点 / モデリングの難しさなど) | 株式会社NoSchool

                                                                        概要※こちらの記事 を転載しています 昨年公開した「Laravel でドメイン駆動設計(DDD)を実践し、Eloquent Model 依存の設計から脱却する」の続編です。 2020年12月現在、弊社で開発している「オンライン家庭教師マナリンク」の実装に DDD のアプローチを用いています。導入して 1 年が経過したので、いろいろと所感を述べていきます。 目次どうして DDD を導入したかDDD で達成できたことまだ難しいと思うこと結局モデリングが一番難しいどうして DDD を導入したのか?導入した当初の動機は Laravel で Eloquent Model 中心に実装するアーキテクチャに嫌気が差したからです。 Eloquent Model 中心に実装するとあちこちにドメイン知識が散らばって、実装した自分ですらよくわからない、という状態によく陥りました。弊社はベンチャー企業で、トラフィッ

                                                                          LaravelにDDDを導入して1年経った所感(達成したこと / 課題点 / モデリングの難しさなど) | 株式会社NoSchool
                                                                        • Object-oriented Programming in Python

                                                                          You must know the power of Object-oriented programming if you have ever worked with object-oriented languages like Java, C#, and much more. Python also supports object-oriented programming, and we can define a class in Python. Let’s explore more about how to achieve this in Python. In the post Getting Started with Python, I have covered the essentials required before becoming a data scientist. In

                                                                            Object-oriented Programming in Python
                                                                          • 【徹底解説まとめ】 継承、抽象クラスとインターフェイスの違い、ついでにSOLID【Java】 - Qiita

                                                                            初めに 本記事は、私のブログにある『継承・インターフェイス・抽象クラス』シリーズ』を一つの記事にまとめたものです。全部で 106,227文字ありました...。この記事では 25,000文字くらいでお話しできればと思います。 なるべく簡潔にまとめたいと思います。詳細を知りたい方は以下のブログを読んでいただければと思います。 デザインパターンを勉強している時に、「は?インターフェイス?抽象クラス?何が違うの?」とか「継承ってなんか解ったような解らんような感じなんよな〜」って感じました。調べてみると、ほんとに期待した記事は出ませんでした。 interface を implements すると、クラスにメソッドの実装を強制できる よく見ます。「で??だからなんなん??いつ使うんや!」という気持ちでした。構文とかルールを公式ドキュメントから切り貼りしただけでしかない記事ばかりで結局は使い所がわからず

                                                                              【徹底解説まとめ】 継承、抽象クラスとインターフェイスの違い、ついでにSOLID【Java】 - Qiita
                                                                            • Red Hat Enterprise Linux の PAYGインスタンスから EUS リポジトリをサブスクライブしてみた | DevelopersIO

                                                                              Red Hat Enterprise Linux の PAYGインスタンスから EUS リポジトリをサブスクライブしてみた EUSを使いたい こんにちは、のんピ(@non____97)です。 皆さんはRed Hat Enterprise Linux (以降RHEL)の pay-as-you-go (以降PAYG)のEC2インスタンスでEUSを使いたいなと思ったことはありますか? 私はあります。 EUSとはExtended Update Supportのことで、事前に定義された特定のマイナーリリースに影響度が高いセキュリティ更新と優先度が緊急と判断されたバグフィックスのバックポートを提供するオプションです。 通常、各マイナーリリースのプログラム修正は次のマイナーリリースの提供開始までですが、EUSを使用することで最大2年間同じマイナーリリースで先述したパッケージを適用することが可能です。 R

                                                                                Red Hat Enterprise Linux の PAYGインスタンスから EUS リポジトリをサブスクライブしてみた | DevelopersIO
                                                                              • Making sense of TypeScript using set theory

                                                                                I've been working with TypeScript for a long long time. I think I'm not too bad at it. However, to my despair, some low-level behaviors still confuse me: Why does 0 | 1 extends 0 ? true : false evaluate to false? I'm very ashamed, but I sometimes confuse "subtype" and "supertype". Which is which? While we're at it, what are type "narrowing" and "widening", and how do they relate to sub/supertypes?

                                                                                  Making sense of TypeScript using set theory
                                                                                • Write Unbreakable Python – Software, Fitness, and Gaming – Jesse Warden

                                                                                  In this article, I’ll show you how to write Python with no runtime exceptions. This’ll get you partway to writing code that never breaks and mostly does what it’s supposed to do. We’ll do this by learning how to apply functional programming to Python. We’ll cover: ensure functions always work by learning Pure Functionsavoid runtime errors by return Maybesavoid runtime errors in deeply nested data