並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 620件

新着順 人気順

"type system"の検索結果1 - 40 件 / 620件

  • PHP: PHP 8.0.0 Release Announcement

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

      PHP: PHP 8.0.0 Release Announcement
    • Introduction - Rust Design Patterns

      Introduction Participation If you are interested in contributing to this book, check out the contribution guidelines. News 2024-03-17: You can now download the book in PDF format from this link. Design patterns In software development, we often come across problems that share similarities regardless of the environment they appear in. Although the implementation details are crucial to solve the tas

      • Consider SQLite

        If you were creating a web app from scratch today, what database would you use? Probably the most frequent answer I see to this is Postgres, although there are a wide range of common answers: MySQL, MariaDB, Microsoft SQL Server, MongoDB, etc. Today I want you to consider: what if SQLite would do just fine? For those who are unfamiliar, SQLite is a implementation of SQL as a library — this means t

        • Announcing TypeScript 4.0 - TypeScript

          Today we are thrilled to announce the availability of TypeScript 4.0! This version of the language represents our next generation of TypeScript releases, as we dive deeper into expressivity, productivity, and scalability. If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by adding syntax for static types. The idea is that by writing down the types of your val

            Announcing TypeScript 4.0 - TypeScript
          • Writing Python like it’s Rust

            I started programming in Rust several years ago, and it has gradually changed the way I design programs in other programming languages, most notably in Python. Before I started using Rust, I was usually writing Python code in a very dynamic and type-loose way, without type hints, passing and returning dictionaries everywhere, and occasionally falling back to “stringly-typed” interfaces. However, a

            • Welcome - 100 Exercises To Learn Rust

              Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana

              • Rust vs. Haskell

                Rust and Haskell don’t shy away from powerful features. As a result, both languages have steep learning curves when compared with other languages. Trying to learn Rust or Haskell can be frustrating, especially in the first couple of months. But if you already know Rust, you have a head start with Haskell; and vice versa. In this article, we want to show how knowledge of one of these languages can

                  Rust vs. Haskell
                • Handbook - The TypeScript Handbook

                  About this Handbook Over 20 years after its introduction to the programming community, JavaScript is now one of the most widespread cross-platform languages ever created. Starting as a small scripting language for adding trivial interactivity to webpages, JavaScript has grown to be a language of choice for both frontend and backend applications of every size. While the size, scope, and complexity

                  • Railsで認証機能を自作する?それともDeviseを使う? - アジャイルSEの憂鬱

                    定期的にDevise批判の話が出てくるので、個人的な考えを書いてみます。 Railsに詳しくないなら、Deviseを使わないべきか? 「認証自作、 Rails 、 Devise」の記事で以下のような記載がある。 「Rails について深い理解がないならば、 Devise は使うな」とあります。この方針は10 年近く前から書かれています。 これ元の英語とあってない気がするんですよね。 If you are building your first Rails application, we recommend you do not use Devise. Devise requires a good understanding of the Rails Framework. In such cases, we advise you to start a simple authenticatio

                      Railsで認証機能を自作する?それともDeviseを使う? - アジャイルSEの憂鬱
                    • Rust Is The Future of JavaScript Infrastructure

                      Rust is a fast, reliable, and memory-efficient programming language. It's been voted the most loved programming language six years in a row (survey). Created by Mozilla, it's now used at Facebook, Apple, Amazon, Microsoft, and Google for systems infrastructure, encryption, virtualization, and more low-level programming. Why is Rust now being used to replace parts of the JavaScript web ecosystem li

                        Rust Is The Future of JavaScript Infrastructure
                      • Domain Modeling Made Functional を読んだ - 詩と創作・思索のひろば

                        最近フロントエンドに限らず TypeScript を書くことが多くなって、これでそれなりの規模のサーバサイドアプリケーションを書くときどうなるんだろう、と気になって読んでみた。いわゆる普通のオブジェクト指向ではなく関数指向な書き方でいきたいとき、どうするのが好ましいのか、というような観点。 名前的にそのものずばり、という本があったので購入した。日本のウェブを検索してみてもいくらか言及があるので価値はありそうだという判断で、大人なので円安でも強行する。 Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# (English Edition) 作者:Wlaschin, ScottPragmatic BookshelfAmazon 自分は PDF で読みたかったので

                          Domain Modeling Made Functional を読んだ - 詩と創作・思索のひろば
                        • Monaspace

                          Since the earliest days of the teletype machine, code has been set in monospaced type — letters, on a grid. Monaspace is a new type system that advances the state of the art for the display of code on screen. Every advancement in the technology of computing has been accompanied by advancements to the display and editing of code. CRTs made screen editors possible. The advent of graphical user inter

                            Monaspace
                          • それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub

                            それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md 前置き この記事は静的型付け言語が理解されないことに業を煮やし……いや、ブチギレてしたためたものです。そのため多少過激な表現を伴います 性質上どうしても特定の人々に攻撃的な内容になります リーナスの下品な発言の引用は非現実的です。わたしが5人くらいいれば現実的なのですが…… Pythonの機械学習分野は例外です。ですがここもいずれ静的型付け言語に取って代わられるべきであると考えています(そもそもFFIが得意と言うだけでPython使われてるだけだし) 「型」の概念が石器時代で止まっている方へ まずはこちらをお読みください。 私と型システムとポエム - The curse of λ https://myuon.github.io/posts/type-system-poem/ 特に「よくある誤解」のこ

                              それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub
                            • Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜

                              Rails アプリケーションの開発において、自分の変更に関係のないテストのせいで CI がコケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです! そんなわけで、日頃不安定なテストを潰している身として知見みたいなものをまとめてみました。 今回利用した環境は次のとおりです。 rails 6.0.0 capybara 3.29.0 selenium-webdriver 3.142.4 rspec-rails 3.8.2 Google Chrome 77.0.3865.75 (headless で使用) ChromeDriver 77.0.3865.40 (f484704e052e0b5

                                Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜
                              • 「React」とFacebookのWeb API「GraphQL」で技術的負債を取り除く方法

                                「Mix Leap Study」はヤフーの独自技術や業界の最先端テクノロジーに触れる勉強会。第59回は「React とその仲間たち」と題して、より実践的にReactを使うための仲間たちにも注目。株式会社Gemcookの藤本卓哉氏が、プロジェクトにGraphQLを採用してみた経験から、いい点、悪い点を語ります。 React + GraphQLで社内の負債を解決した話 藤本卓哉氏:みなさん、こんばんは。ジェムクックの藤本です。『React + GraphQLで社内の負債を解決した話』というタイトルでお話ししたいと思います。よろしくお願いします。 まず簡単にプロフィールです。藤本卓哉と言います。去年(2019年)30歳になって、今年(2020年)31になります。会社の代表兼エンジニアをやっています。会社の代表といったら、経営ガッツリやっているんかなって言われがちなんですけど、僕けっこうエンジニア

                                  「React」とFacebookのWeb API「GraphQL」で技術的負債を取り除く方法
                                • Go: A Documentary

                                  Go: A Documentary by Changkun Ou <changkun.de> (and many inputs from contributors) This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intends to offer a comprehensive reference of the Go history. Disclaimer Most of the texts are written as subjective understanding based on public sources Factual and ty

                                  • TypeScript の型システム / Type system of the TypeScript

                                    TypeScript の型の表現力と、言語設計のシンプルさ・巧みさについて話しました。

                                      TypeScript の型システム / Type system of the TypeScript
                                    • 外からやってくる値から TypeScript の型を守るライブラリ・ツールまとめ - Mobile Factory Tech Blog

                                      こんにちは、新卒エンジニアの id:d-kimuson です 先日 type-predicates-generator という型定義からユーザー定義型ガード・アサーション関数を自動生成するツールをリリースして紹介記事を書いたのですが、感想とかを眺めていたら同じく外部から来た値に安全な型付けをするためのライブラリやツールの情報をいくつも観測しました この辺りのランタイムチェックライブラリの情報ってあまりまとまっていない印象で自分が知らないものもいくつかあったので、調べつつ簡単にまとめられたらなと思ってこのエントリを書きました 外部からやってきた値を型安全にするにはざっくりと 型生成によるアプローチ ランタイムチェック用の独自型を書かせるアプローチ 型情報からランタイムチェック関数を自動生成するアプローチ の 3 つのアプローチがあると思うので、それぞれのアプローチごとに紹介します ① 型定義

                                        外からやってくる値から TypeScript の型を守るライブラリ・ツールまとめ - Mobile Factory Tech Blog
                                      • Best Rust Web Frameworks to Use in 2023

                                        Best Rust Web Frameworks to Use in 2023 In the dynamic landscape of web development, Rust has emerged as a language of choice for building safe and performant applications. As Rust's popularity grows, so does the array of web frameworks designed to harness its strengths. This article compares some of the best Rust frameworks highlighting their respective advantages and drawbacks to help you make i

                                          Best Rust Web Frameworks to Use in 2023
                                        • Dendron

                                          Schemas and templates are the missing type system for general knowledge.

                                            Dendron
                                          • A new Go API for Protocol Buffers - The Go Programming Language

                                            Joe Tsai, Damien Neil, and Herbie Ong 2 March 2020 Introduction We are pleased to announce the release of a major revision of the Go API for protocol buffers, Google’s language-neutral data interchange format. Motivations for a new API The first protocol buffer bindings for Go were announced by Rob Pike in March of 2010. Go 1 would not be released for another two years. In the decade since that fi

                                              A new Go API for Protocol Buffers - The Go Programming Language
                                            • Rust Atomics and Locks by Mara Bos

                                              About this Book The Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries that include lots of concurrent data structures, locks, and more. But implementing those structures correctly can be difficult. Even in the most well-used libraries, memory ordering bugs are not uncommon. In this practical book, Mara Bos, team lead of the Rust library team,

                                                Rust Atomics and Locks by Mara Bos
                                              • TypeScript をより安全に使うために その 2: オブジェクトの具体的な形にアクセスするのを避ける - Object.create(null)

                                                前回はこちら. susisu.hatenablog.com 引き続き環境は以下を前提とします: TypeScript 4.4 (この記事を書いている 2021 年 11 月時点の最新版) strict: true 原則: オブジェクトの具体的な形にアクセスするのを避ける 具体例 in 演算子による型の絞り込み Object.keys の誤った使用 Object.values, Object.entries の使用 リテラルの先頭以外での object sperad 次回 原則: オブジェクトの具体的な形にアクセスするのを避ける ここで「オブジェクトの具体的な形にアクセスする」とは, 静的な型によらずに, 実行時にオブジェクトがどのようなプロパティを持っているかといった情報を取得することを指しています. ある種のリフレクションと呼んでも良いかもしれません. こういった操作には, JavaSc

                                                  TypeScript をより安全に使うために その 2: オブジェクトの具体的な形にアクセスするのを避ける - Object.create(null)
                                                • Announcing PartiQL: One query language for all your data | Amazon Web Services

                                                  AWS Open Source Blog Announcing PartiQL: One query language for all your data Data is being gathered and created at rates unprecedented in history. Much of this data is intended to drive business outcomes but, according to the Harvard Business Review, “…on average, less than half of an organization’s structured data is actively used in making decisions…” The root of the problem is that data is typ

                                                    Announcing PartiQL: One query language for all your data | Amazon Web Services
                                                  • TypeScript をより安全に使うために その 1: オブジェクトの mutable な操作を避ける - Object.create(null)

                                                    ふだん TypeScript のコードレビュー時に参考に貼ったりしている内部ドキュメントがあるのですが, 内部では何かと人目につきにくいので, 内容を整えて公開していきます. TypeScript の型システムは安全ではありません. つまり型検査を通過したコードであっても, 実行時にエラーが発生する可能性があります. TypeScript の設計についてのドキュメントにおいても, non-goals の一つとして Apply a sound or "provably correct" type system. Instead, strike a balance between correctness and productivity. が挙げられており, 完全に安全なものを目指すのではなく, 安全性と利便性とのバランスをとるものとされています. かといって TypeScript を使うなら

                                                      TypeScript をより安全に使うために その 1: オブジェクトの mutable な操作を避ける - Object.create(null)
                                                    • RustConfメモ - Don't Repeat Yourself

                                                      さすがに時差の関係で全部は見られませんでしたが、出席していたのとアーカイブが残っていたので、いくつか気になったものを見てみました。ただ、家事などの合間に聞き流ししていた内容を思い出して書いているので、記憶が曖昧なところがあります。ご了承ください。すべてのセッションの動画リストはこちらにあります。 字幕はいくつか見てみましたが、自動生成でしょうか。second が segment 、toml が thermal になっていたりと少し間違っている箇所はありました。ただ、だいたいあってるので大丈夫そうです。もしよかったら、動画も見てみてください。 Whoops! I Rewrote It in Rust by Brian Martin Supercharging Your Code With Five Little-Known Attributes by Jackson Lewis Fuzz D

                                                        RustConfメモ - Don't Repeat Yourself
                                                      • Parse, don’t validate

                                                        Historically, I’ve struggled to find a concise, simple way to explain what it means to practice type-driven design. Too often, when someone asks me “How did you come up with this approach?” I find I can’t give them a satisfying answer. I know it didn’t just come to me in a vision—I have an iterative design process that doesn’t require plucking the “right” approach out of thin air—yet I haven’t bee

                                                        • GraphQL 2021

                                                          Today marks the first release of the GraphQL spec ratified by the GraphQL Foundation. This is the culmination of three years of work, both technical and procedural. This is a proud moment and one worth celebrating. What took so long?The last ratified spec release was over three years ago, in June 2018. What took so long for this release? Certainly a worldwide pandemic didnʼt help our collective fo

                                                          • EdgeDB 1.0 | EdgeDB Blog

                                                            Check out the discussion of this post on Hacker News. See the recording of the live launch event on YouTube. Today, after several years of building (and a long list of prereleases) we are extremely proud to announce the release of EdgeDB 1.0, the first open source, graph-relational database! 🎊 A brief Q&A is in order. What are the killer features? Modern, lean query language designed to surpass S

                                                              EdgeDB 1.0 | EdgeDB Blog
                                                            • Functional Programming in TypeScript

                                                              Web apps are a mandatory part of every modern application nowadays, no matter how small or complex it is. From one-click apps that convert pictures to Photoshop, everyone wants fast and easy access to the app, and the web is one of the easiest ways to do that. At Serokell, we use TypeScript for writing web applications. But our main programming language is Haskell. And in this article, we want to

                                                                Functional Programming in TypeScript
                                                              • Speculation in JavaScriptCore

                                                                This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine. Speculative compilation is ideal for making dynamic languages, or any language with enough dynamic features, run faster. In this post, we will look at speculation for JavaScript. Historically, this technique or closely related variants has been applied successfully t

                                                                • Introducing Ezno

                                                                  Introducing EznoPublished on Thursday 22nd September 2022 Ezno is an experimental compiler I have been working on and off for a while. In short, it is a JavaScript compiler featuring checking, correctness and performance for building full-stack (rendering on the client and server) websites. This post is just an overview of some of the features I have been working on which I think are quite cool as

                                                                    Introducing Ezno
                                                                  • SwiftUIで使用されているSwift5.1の新機能 - クックパッド開発者ブログ

                                                                    こんにちは。会員事業部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日San Joseで開催されたWorldwide Developers Conference 2019 (WWDC19)に参加し、そこでSwiftUIの発表をうけていくつか調べたことがあるので簡単にまとめておきたいと思います SwiftUIの登場 今年のKeynoteの最後に、SwiftUIという新たなUIフレームワークが発表されました。 SwiftUIはReactやFlutterのような形式でViewを宣言して画面を構築できる、これまで使用されてきたUIKitとは全く異なる形式のフレームワークです (AppleのSwiftUI紹介ページ ) この発表をうけてKeynoteはとても盛り上がっていました。期間中もSwiftUIの話題でもちきりで、セッションも多く開かれてい

                                                                      SwiftUIで使用されているSwift5.1の新機能 - クックパッド開発者ブログ
                                                                    • The State of Ruby 3 Typing

                                                                      The State of Ruby 3 TypingIntroducing RBS, Ruby’s new type signature language We're pleased to announce Ruby 3’s new language for type signatures, RBS. One of the long-stated goals for Ruby 3 has been to add type checking tooling. After much discussion with Matz and the Ruby committer team, we decided to take the incremental step of adding a foundational type signature language called “RBS,” which

                                                                        The State of Ruby 3 Typing
                                                                      • fast.ai - Mojo may be the biggest programming language advance in decades

                                                                        I remember the first time I used the v1.0 of Visual Basic. Back then, it was a program for DOS. Before it, writing programs was extremely complex and I’d never managed to make much progress beyond the most basic toy applications. But with VB, I drew a button on the screen, typed in a single line of code that I wanted to run when that button was clicked, and I had a complete application I could now

                                                                          fast.ai - Mojo may be the biggest programming language advance in decades
                                                                        • Swift 6で来たる並行処理の大型アップデート近況

                                                                          最近、 Swift リポジトリに並行処理関係の Pull Request (PR) が続々とマージされています。 たとえば、次のような PR があります。 Add async to the Swift type system. #33147 Add @asyncHandler attribute. #33476 Import "did" delegate methods as @asyncHandler. #34065 Import Objective-C methods with completion handlers as async #33674 Basic support for actor classes and actor isolation #33906 Swift の並行処理( Concurrency )関連の機能については、 2020 年 1 月に発表された "On th

                                                                            Swift 6で来たる並行処理の大型アップデート近況
                                                                          • Elm at Rakuten | Rakuten Engineering Blog

                                                                            In our team at Rakuten, we have been using Elm1 in production for almost two years now. This post is about our story, the lessons we learned, and our likes and dislikes. This post is quite long so if you prefer to see an overview, feel free to jump to the index. Everything started in the Berlin branch of Rakuten during the summer of 2017. We were maintaining a medium-size single-page application w

                                                                              Elm at Rakuten | Rakuten Engineering Blog
                                                                            • TypeScript で幽霊型っぽいものをつくる

                                                                              この実装だと当然エンコード済みの文字列も渡せてしまい、多重エンコードが起きる。未エンコードの文字列だけが渡ってくることをコンパイラレベルで検出したい。 幽霊型(Phantom Type) こういうとき、他の言語ではよく幽霊型が用いられる。次のリンク先は Scala での実装例を紹介している https://www.slideshare.net/AkinoriAbe1/aja-2016623 // 上記スライドの 6 枚目より class Str[T] (val str: String) trait Normal trait Encoded def encode(x: Str[Normal]) = new Str[Encoded](...) 内部では利用されない型パラメータ( Normal Encoded )を使って、Str[T] にはそういう種類があること、 Str[Normal] と S

                                                                                TypeScript で幽霊型っぽいものをつくる
                                                                              • Domain Modeling Made Functional (DevTernity 2022)

                                                                                (video at https://fsharpforfunandprofit.com/ddd/) Statically typed functional programming languages encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be used in many ways that might not be familiar to OO programmers. Types can be used to represent the domain in a fine-grained, self documenting way. And in many cases, types can even be

                                                                                  Domain Modeling Made Functional (DevTernity 2022)
                                                                                • Linux kernel in-tree Rust support

                                                                                  linux-kernel.vger.kernel.org archive mirror help / color / mirror / Atom feed* Linux kernel in-tree Rust support @ 2020-07-09 18:41 Nick Desaulniers 2020-07-09 20:52 ` Miguel Ojeda ` (5 more replies) 0 siblings, 6 replies; 28+ messages in thread From: Nick Desaulniers @ 2020-07-09 18:41 UTC (permalink / raw) To: alex.gaynor, geofft, jbaublitz, Masahiro Yamada, Linus Torvalds, Greg KH, Miguel Ojeda