プログラミング言語 Go は Google が 2009 年秋にオープンソースで公開した新しいプログラミング言語です。C や C++ のようなコンパイル言語の良さをもちつつ、Python のような動的言語でのプログラムの書き易さを兼ねそなえた特徴をもっています。クラスを使わないオブジェクト指向の言語で、コンカレントに実行するための仕組みもそなえています。 プログラミングをより速く、より生産的に、そしてより楽しくしてくれる新しいプログラミング言語 Go について説明します。
Pyston is a JIT-based implementation of Python 2.7 built using LLVM. It compiles Python code to LLVM IR for optimization and execution via LLVM's JIT engine. Current benchmarks show recursion sees benefits from LLVM JIT, while loops do not, and the implementation is missing major parts of the Python language. Future versions aim to add exceptions, classes, arguments and more.
プログラミング言語 Go は Google が 2009 年秋にオープンソースで公開した新しいプログラミング言語です。C や C++ のようなコンパイル言語の良さをもちつつ、Python のような動的言語でのプログラムの書き易さを兼ねそなえた特徴をもっています。クラスを使わないオブジェクト指向の言語で、コンカレントに実行するための仕組みもそなえています。 プログラミングをより速く、より生産的に、そしてより楽しくしてくれる新しいプログラミング言語 Go について説明します。
Pyston is a JIT-based implementation of Python 2.7 built using LLVM. It compiles Python code to LLVM IR for optimization and execution via LLVM's JIT engine. Current benchmarks show recursion sees benefits from LLVM JIT, while loops do not, and the implementation is missing major parts of the Python language. Future versions aim to add exceptions, classes, arguments and more.
This document summarizes Yoshiki Shibukawa's presentation on building multi-platform GUI applications with Go. Shibukawa explored several approaches: wrapping existing toolkits, creating a new toolkit in Go, and a hybrid C++/Go approach. While wrapping toolkits is intuitive, maintaining wrappers is difficult. Creating a new toolkit in Go allows perfect integration but supporting multiple platforms is challenging. The hybrid approach uses C++ for GUI with Go handling logic, which provides better integration but requires managing inter-process communication. Shibukawa concluded more work is needed to find the best solution and that GUI programming remains difficult, potentially requiring C++ involvement.
- Shinichi Nakagawa is a 36-year-old Pythonista who works at visasQ inc. and uses Python for his work, especially with Agile frameworks like Lean Startup.
- As a Pythonista for 5 years, he has spoken at conferences like PyCon JP in 2014 and 2015 on topics related to Python and Agile practices.
- He advocates getting out of the building to learn Python, providing output and feedback through blogs and social media, and networking with other Python developers.
This document discusses benchmarking deep learning frameworks like Chainer. It begins by defining benchmarks and their importance for framework developers and users. It then examines examples like convnet-benchmarks, which objectively compares frameworks on metrics like elapsed time. It discusses challenges in accurately measuring elapsed time for neural network functions, particularly those with both Python and GPU components. Finally, it introduces potential solutions like Chainer's Timer class and mentions the DeepMark benchmarks for broader comparisons.
The document summarizes a meetup discussing deep learning and Docker. It covered Yuta Kashino introducing BakFoo and his background in astrophysics and Python. The meetup discussed recent advances in AI like AlphaGo, generative adversarial networks, and neural style transfer. It provided an overview of Chainer and arXiv papers. The meetup demonstrated Chainer 1.3, NVIDIA drivers, and Docker for deep learning. It showed running a TensorFlow tutorial using nvidia-docker and provided Dockerfile examples and links to resources.
Python type hints allow annotating function and variable types in Python code. They were introduced in PEP 484 for Python 3.5 and provide documentation of types without runtime enforcement. Using type hints and tools like mypy enables type checking of code without execution, improving code quality and readability. They help with code completion, refactoring Python 2 code to Python 3, and catching type errors during development.
The document discusses a presentation on the benefits of type hints in Python. It provides an outline of the presentation which includes an introduction to type hints, how to use type hints, and the benefits of type hints. Some key benefits mentioned are improved code completion, the ability to catch type errors without running code, and using type hint tools for static type analysis.
Build a RESTful API with the Serverless Frameworkmasahitojp
?
The document discusses how to build a RESTful API using the Serverless framework on AWS. It introduces the Amazon API Gateway for creating API endpoints and AWS Lambda for hosting backend functions. The Serverless framework simplifies deploying Lambda functions by packaging code and dependencies, testing functions locally, and deploying with a single command. It also addresses challenges like installing Python libraries and supporting non-Python modules through Docker.
The document discusses using Python with AWS Lambda. It introduces serverless frameworks like AWS Lambda, Google Cloud Functions, and Microsoft Azure Functions. It then focuses on using Python with AWS Lambda, including how to package dependencies, deploy code, and leverage the Serverless framework to simplify deployments. Logging to CloudWatch Logs and adding unit tests are also covered.
The speaker discussed the benefits of type hints in Python. Type hints allow specifying the expected types of function parameters and return values, improving code readability, enabling code completion in editors, and allowing static type checking tools to analyze the code for type errors. The speaker demonstrated how to write type hints according to PEP 484 and PEP 526 standards and how to retrieve type information. Tools like Mypy were presented for doing static type analysis to catch errors. Using type hints and type checkers in continuous integration was recommended to catch errors early when collaborating on projects. The speaker concluded by explaining how using type hints made it easier for their team to port code from Python 2 to Python 3.
This document discusses Play! Scala, a framework that allows building web applications in Scala on the Play! platform. It can use Scala instead of Java for the Play! framework. Anorm is used to interact with databases instead of JPA/Hibernate. Play! Scala applications can be deployed to PaaS platforms like Heroku and CloudBees. The document provides links for documentation, mailing lists and the GitHub repository for further information.
9. PEP484について軽く説明
PEP 3107 Function Annotations ってのがPythonに入ってPythonの関
数に、任意のメタデータを追加するための構文を導入する
def compile(source: "something compilable",
filename: "where the compilable thing comes from",
mode: "is this a single statement or a suite?"):
PEP3107 では特に意味づけがなかったものを Type Hint として使おうっ
ていうのがPEP484です
def greeting(name: str) -> str:
return 'Hello ' + name
22. NamedTuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(x=1, y=2)
print(p.z) # Error: Point has no attribute 'z'
Python 3.6 で以下のようにかけるようになった
from typing import NamedTuple
class Point(NamedTuple):
x: int
y: int